From 50a9cf97c2219d295a36e850ec23aa0cebf01be9 Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:28:38 -0700 Subject: [PATCH 1/7] chore: regenerate Java SDK from latest Rootly OpenAPI spec Regenerated using openapi-generator v7.13.0 against the latest Rootly swagger.json. Strips Object.validateJsonElement calls from generated sources. --- .openapi-generator/FILES | 988 +- README.md | 455 +- api/openapi.yaml | 67977 ++++++++-------- docs/ActionItemTriggerParams.md | 16 + docs/AddMicrosoftTeamsChatTabTaskParams.md | 24 + docs/Alert.md | 18 +- docs/AlertEvent.md | 6 + docs/AlertEventList.md | 1 + docs/AlertEventsApi.md | 4 +- docs/AlertField.md | 17 + docs/AlertFieldList.md | 15 + docs/AlertFieldListDataInner.md | 23 + docs/AlertFieldResponse.md | 13 + docs/AlertFieldResponseData.md | 23 + docs/AlertFieldsApi.md | 376 + docs/AlertGroup.md | 9 +- docs/AlertGroupConditionsInner.md | 55 + docs/AlertGroupConditionsInnerValuesInner.md | 14 + docs/AlertGroupsApi.md | 22 +- docs/AlertList.md | 1 + docs/AlertResponseData.md | 4 + docs/AlertRoute.md | 17 + docs/AlertRouteList.md | 15 + docs/AlertRouteResponse.md | 13 + docs/AlertRouteResponseData.md | 23 + docs/AlertRoutesApi.md | 441 + docs/AlertRoutingRule.md | 4 +- docs/AlertRoutingRuleCondition.md | 47 + docs/AlertRoutingRuleConditionGroup.md | 18 + docs/AlertRoutingRuleConditionGroupsInner.md | 17 + ...RuleConditionGroupsInnerConditionsInner.md | 46 + docs/AlertRoutingRuleDestination.md | 5 +- docs/AlertRoutingRuleList.md | 1 + docs/AlertRoutingRuleTarget.md | 26 + docs/AlertRoutingRulesApi.md | 24 +- docs/AlertSourcesApi.md | 62 +- docs/AlertTriggerParams.md | 24 + ...tTriggerParamsAlertFieldConditionsInner.md | 31 + ...lertTriggerParamsAlertPayloadConditions.md | 24 + ...msAlertPayloadConditionsConditionsInner.md | 32 + docs/AlertUrgencyList.md | 1 + docs/AlertsApi.md | 235 +- docs/AlertsSource.md | 71 +- docs/AlertsSourceList.md | 1 + docs/ApiKey.md | 32 + docs/ApiKeyList.md | 15 + docs/ApiKeyResponse.md | 13 + docs/ApiKeyResponseData.md | 23 + docs/ApiKeyWithTokenResponse.md | 13 + docs/ApiKeyWithTokenResponseData.md | 23 + docs/ApiKeyWithTokenResponseDataAttributes.md | 33 + docs/ApiKeysApi.md | 475 + docs/Audit.md | 27 + docs/AuditsList.md | 1 + docs/AuthorizationList.md | 1 + docs/BuiltinField.md | 22 + docs/CatalogChecklistTemplate.md | 45 + docs/CatalogChecklistTemplateFieldsInner.md | 24 + docs/CatalogChecklistTemplateList.md | 15 + docs/CatalogChecklistTemplateOwnersInner.md | 23 + docs/CatalogChecklistTemplateResponse.md | 13 + docs/CatalogChecklistTemplateResponseData.md | 23 + docs/CatalogChecklistTemplatesApi.md | 445 + docs/CatalogEntitiesApi.md | 28 +- docs/CatalogEntity.md | 2 + docs/CatalogEntityChecklist.md | 48 + ...alogEntityChecklistChecklistFieldsInner.md | 13 + ...EntityChecklistChecklistFieldsInnerData.md | 23 + ...klistChecklistFieldsInnerDataAttributes.md | 21 + ...alogEntityChecklistChecklistOwnersInner.md | 13 + ...EntityChecklistChecklistOwnersInnerData.md | 23 + ...klistChecklistOwnersInnerDataAttributes.md | 16 + docs/CatalogEntityChecklistList.md | 15 + docs/CatalogEntityChecklistResponse.md | 13 + docs/CatalogEntityChecklistResponseData.md | 23 + docs/CatalogEntityChecklistsApi.md | 163 + docs/CatalogEntityList.md | 1 + docs/CatalogEntityPropertiesApi.md | 10 +- docs/CatalogEntityProperty.md | 2 + docs/CatalogEntityPropertyList.md | 2 + docs/CatalogEntityPropertyResponse.md | 1 + docs/CatalogField.md | 18 +- docs/CatalogFieldList.md | 1 + docs/CatalogFieldResponseData.md | 2 +- docs/CatalogList.md | 1 + docs/CatalogPropertiesApi.md | 347 + docs/CatalogProperty.md | 46 + docs/CatalogPropertyList.md | 15 + docs/CatalogPropertyResponse.md | 13 + docs/CatalogPropertyResponseData.md | 23 + docs/CatalogsApi.md | 20 +- docs/Cause.md | 1 + docs/CauseList.md | 1 + docs/CausesApi.md | 172 +- docs/CommunicationsGroup.md | 35 + ...pCommunicationExternalGroupMembersInner.md | 16 + docs/CommunicationsGroupResponse.md | 13 + docs/CommunicationsGroupResponseData.md | 23 + docs/CommunicationsGroupsApi.md | 377 + docs/CommunicationsGroupsResponse.md | 15 + docs/CommunicationsStage.md | 18 + docs/CommunicationsStageResponse.md | 13 + docs/CommunicationsStageResponseData.md | 23 + docs/CommunicationsStagesApi.md | 372 + docs/CommunicationsStagesResponse.md | 15 + docs/CommunicationsTemplate.md | 21 + ...emplateCommunicationTemplateStagesInner.md | 13 + ...ateCommunicationTemplateStagesInnerData.md | 23 + ...cationTemplateStagesInnerDataAttributes.md | 20 + ...esInnerDataAttributesCommunicationStage.md | 14 + ...nnerDataAttributesCommunicationTemplate.md | 14 + ...CommunicationsTemplateCommunicationType.md | 14 + docs/CommunicationsTemplateResponse.md | 13 + docs/CommunicationsTemplateResponseData.md | 23 + docs/CommunicationsTemplatesApi.md | 373 + docs/CommunicationsTemplatesResponse.md | 15 + docs/CommunicationsType.md | 19 + docs/CommunicationsTypeResponse.md | 13 + docs/CommunicationsTypeResponseData.md | 23 + docs/CommunicationsTypesApi.md | 371 + docs/CommunicationsTypesResponse.md | 15 + ...CreateAnthropicChatCompletionTaskParams.md | 24 + ...eAnthropicChatCompletionTaskParamsModel.md | 15 + docs/CreateCodaPageTaskParams.md | 1 + docs/CreateCodaPageTaskParamsDoc.md | 15 + docs/CreateEdgeConnectorActionRequest.md | 13 + .../CreateEdgeConnectorActionRequestAction.md | 24 + ...dgeConnectorActionRequestActionMetadata.md | 15 + ...ionRequestActionMetadataParametersInner.md | 27 + docs/CreateEdgeConnectorRequest.md | 13 + docs/CreateEdgeConnectorRequestData.md | 22 + ...reateEdgeConnectorRequestDataAttributes.md | 25 + docs/CreateGithubIssueTaskParams.md | 3 + docs/CreateGithubIssueTaskParamsIssueType.md | 15 + ...ateGoogleGeminiChatCompletionTaskParams.md | 24 + ...ogleGeminiChatCompletionTaskParamsModel.md | 15 + docs/CreateGoogleMeetingTaskParams.md | 12 + docs/CreateIncidentTaskParams.md | 8 +- docs/CreateJsmopsAlertTaskParams.md | 43 + docs/CreateMicrosoftTeamsChatTaskParams.md | 33 + ...icrosoftTeamsChatTaskParamsMembersInner.md | 14 + docs/CreateMicrosoftTeamsMeetingTaskParams.md | 12 + docs/CreateMistralChatCompletionTaskParams.md | 27 + ...ateMistralChatCompletionTaskParamsModel.md | 15 + docs/CreateNotionPageTaskParams.md | 1 + docs/CreateOpenaiChatCompletionTaskParams.md | 50 + ...eateOpenaiChatCompletionTaskParamsModel.md | 15 + docs/CreateOutlookEventTaskParams.md | 1 + docs/CreateSubIncidentTaskParams.md | 23 + docs/CreateWatsonxChatCompletionTaskParams.md | 25 + ...ateWatsonxChatCompletionTaskParamsModel.md | 15 + docs/CreateWebexMeetingTaskParams.md | 12 + docs/CreateZoomMeetingTaskParams.md | 12 + docs/CustomField.md | 39 +- docs/CustomFieldList.md | 1 + docs/CustomFieldOptionList.md | 1 + docs/CustomForm.md | 2 +- docs/CustomFormList.md | 1 + docs/CustomFormsApi.md | 14 +- docs/DashboardList.md | 1 + docs/DashboardPanelList.md | 1 + docs/DashboardsApi.md | 24 +- docs/DeleteAlertRoute200Response.md | 13 + docs/DeleteAlertRoute200ResponseData.md | 15 + ...leteAlertRoute200ResponseDataAttributes.md | 13 + docs/EdgeConnector.md | 13 + docs/EdgeConnectorAction.md | 13 + docs/EdgeConnectorActionData.md | 23 + docs/EdgeConnectorActionDataAttributes.md | 50 + ...ctorActionDataAttributesParametersInner.md | 28 + docs/EdgeConnectorActionsApi.md | 346 + docs/EdgeConnectorData.md | 23 + docs/EdgeConnectorDataAttributes.md | 34 + docs/EdgeConnectorsApi.md | 344 + docs/Environment.md | 1 + docs/EnvironmentList.md | 1 + docs/EnvironmentsApi.md | 172 +- docs/EscalateAlert.md | 13 + docs/EscalateAlertData.md | 22 + docs/EscalateAlertDataAttributes.md | 14 + docs/EscalationPoliciesApi.md | 6 +- docs/EscalationPolicyLevel.md | 2 +- docs/EscalationPolicyLevelList.md | 1 + docs/EscalationPolicyList.md | 1 + docs/EscalationPolicyPath.md | 336 +- docs/EscalationPolicyPathList.md | 1 + docs/FormField.md | 7 +- docs/FormFieldList.md | 1 + docs/FormFieldOption.md | 7 +- docs/FormFieldOptionList.md | 1 + docs/FormFieldOptionResponseData.md | 2 +- docs/FormFieldPlacement.md | 1 + docs/FormFieldPlacementCondition.md | 1 + docs/FormFieldPlacementConditionList.md | 1 + docs/FormFieldPlacementList.md | 1 + docs/FormFieldPlacementsApi.md | 4 +- docs/FormFieldPositionList.md | 1 + docs/FormFieldsApi.md | 18 +- docs/FormSet.md | 2 +- docs/FormSetConditionList.md | 1 + docs/FormSetList.md | 1 + docs/FormSetsApi.md | 14 +- docs/FunctionalitiesApi.md | 178 +- docs/Functionality.md | 6 +- docs/FunctionalityList.md | 1 + docs/GetAlertFieldIdParameter.md | 12 + docs/GetTeamIdParameter.md | 12 + docs/Heartbeat.md | 7 +- docs/HeartbeatList.md | 1 + docs/HeartbeatsApi.md | 19 +- docs/Incident.md | 90 +- docs/IncidentActionItem.md | 3 +- docs/IncidentActionItemList.md | 1 + docs/IncidentCustomFieldSelectionList.md | 1 + docs/IncidentEventFunctionalityList.md | 1 + docs/IncidentEventList.md | 1 + docs/IncidentEventServiceList.md | 1 + docs/IncidentFeedbackList.md | 1 + docs/IncidentFormFieldSelection.md | 3 + docs/IncidentFormFieldSelectionList.md | 1 + docs/IncidentList.md | 1 + docs/IncidentPermissionSet.md | 2 +- docs/IncidentPermissionSetBooleanList.md | 1 + docs/IncidentPermissionSetList.md | 1 + docs/IncidentPermissionSetResourceList.md | 1 + docs/IncidentPermissionSetsApi.md | 12 +- docs/IncidentPostMortemList.md | 1 + docs/IncidentRetrospectivesApi.md | 44 +- docs/IncidentRoleList.md | 1 + docs/IncidentRoleTaskList.md | 1 + docs/IncidentRolesApi.md | 18 +- docs/IncidentStatusPageEvent.md | 1 - docs/IncidentStatusPageEventList.md | 1 + docs/IncidentSubStatusList.md | 1 + docs/IncidentTriggerParams.md | 14 + docs/IncidentType.md | 1 + docs/IncidentTypeList.md | 1 + docs/IncidentTypesApi.md | 172 +- ...dentZoomMeetingGlobalDialInNumbersInner.md | 17 + docs/IncidentsApi.md | 212 +- docs/LiveCallRouter.md | 30 +- docs/LiveCallRouterList.md | 1 + docs/LiveCallRoutersApi.md | 8 +- docs/MeetingRecording.md | 49 + docs/MeetingRecordingList.md | 14 + docs/MeetingRecordingListDataInner.md | 23 + docs/MeetingRecordingsApi.md | 627 + docs/Meta.md | 18 + docs/NewAlertDataAttributes.md | 15 +- ...tributesAlertFieldValuesAttributesInner.md | 14 + docs/NewAlertDataAttributesLabelsInner.md | 2 +- .../NewAlertDataAttributesLabelsInnerValue.md | 13 + docs/NewAlertField.md | 13 + docs/NewAlertFieldData.md | 22 + docs/NewAlertFieldDataAttributes.md | 13 + docs/NewAlertGroupDataAttributes.md | 7 +- ...AlertGroupDataAttributesConditionsInner.md | 54 + ...NewAlertGroupDataAttributesTargetsInner.md | 5 +- docs/NewAlertRoute.md | 13 + docs/NewAlertRouteData.md | 22 + docs/NewAlertRouteDataAttributes.md | 17 + docs/NewAlertRouteDataAttributesRulesInner.md | 17 + ...ttributesRulesInnerConditionGroupsInner.md | 14 + ...nnerConditionGroupsInnerConditionsInner.md | 53 + ...taAttributesRulesInnerDestinationsInner.md | 25 + docs/NewAlertRoutingRuleDataAttributes.md | 3 +- docs/NewAlertsSourceDataAttributes.md | 15 + ...ributesAlertSourceFieldsAttributesInner.md | 14 + ...sAlertSourceUrgencyRulesAttributesInner.md | 21 + ...eDataAttributesResolutionRuleAttributes.md | 20 + ...RuleAttributesConditionsAttributesInner.md | 20 + ...eAttributesFieldMappingsAttributesInner.md | 1 + docs/NewApiKey.md | 13 + docs/NewApiKeyData.md | 22 + docs/NewApiKeyDataAttributes.md | 29 + docs/NewCatalogChecklistTemplate.md | 13 + docs/NewCatalogChecklistTemplateData.md | 22 + ...wCatalogChecklistTemplateDataAttributes.md | 42 + ...cklistTemplateDataAttributesFieldsInner.md | 23 + ...cklistTemplateDataAttributesOwnersInner.md | 23 + docs/NewCatalogEntityDataAttributes.md | 2 + ...alogEntityDataAttributesPropertiesInner.md | 14 + docs/NewCatalogEntityProperty.md | 1 + .../NewCatalogEntityPropertyDataAttributes.md | 2 + docs/NewCatalogField.md | 1 + docs/NewCatalogFieldData.md | 2 +- docs/NewCatalogFieldDataAttributes.md | 25 + docs/NewCatalogProperty.md | 14 + docs/NewCatalogPropertyData.md | 22 + docs/NewCatalogPropertyDataAttributes.md | 51 + docs/NewCauseDataAttributes.md | 1 + docs/NewCauseDataAttributesPropertiesInner.md | 15 + docs/NewCommunicationsGroup.md | 13 + docs/NewCommunicationsGroupData.md | 22 + docs/NewCommunicationsGroupDataAttributes.md | 32 + ...sCommunicationExternalGroupMembersInner.md | 15 + ...ibutesCommunicationGroupConditionsInner.md | 30 + docs/NewCommunicationsStage.md | 13 + docs/NewCommunicationsStageData.md | 22 + docs/NewCommunicationsStageDataAttributes.md | 15 + docs/NewCommunicationsTemplate.md | 13 + docs/NewCommunicationsTemplateData.md | 22 + ...NewCommunicationsTemplateDataAttributes.md | 17 + ...municationTemplateStagesAttributesInner.md | 17 + docs/NewCommunicationsType.md | 13 + docs/NewCommunicationsTypeData.md | 22 + docs/NewCommunicationsTypeDataAttributes.md | 16 + docs/NewCustomFormDataAttributes.md | 1 - ...dPanelDataAttributesParamsDatasetsInner.md | 2 +- ...aramsDatasetsInnerFilterInnerRulesInner.md | 2 + ...ataAttributesParamsDatasetsInnerGroupBy.md | 24 + ...tributesParamsDatasetsInnerGroupByOneOf.md | 24 + docs/NewEdgeConnector.md | 13 + docs/NewEdgeConnectorAction.md | 13 + docs/NewEdgeConnectorActionAction.md | 24 + docs/NewEdgeConnectorActionActionMetadata.md | 35 + docs/NewEdgeConnectorEdgeConnector.md | 25 + docs/NewEnvironmentDataAttributes.md | 1 + ...lationPolicyDataAttributesBusinessHours.md | 313 +- .../NewEscalationPolicyLevelDataAttributes.md | 2 +- docs/NewEscalationPolicyPathDataAttributes.md | 334 + ...ationPolicyPathDataAttributesRulesInner.md | 333 +- ...PolicyPathDataAttributesRulesInnerOneOf.md | 22 + ...olicyPathDataAttributesRulesInnerOneOf1.md | 22 + ...olicyPathDataAttributesRulesInnerOneOf2.md | 40 + ...olicyPathDataAttributesRulesInnerOneOf3.md | 46 + ...olicyPathDataAttributesRulesInnerOneOf4.md | 22 + ...olicyPathDataAttributesRulesInnerOneOf5.md | 334 + ...tributesRulesInnerOneOf5TimeBlocksInner.md | 23 + ...PathDataAttributesTimeRestrictionsInner.md | 44 + docs/NewFormFieldDataAttributes.md | 5 + docs/NewFormFieldOptionDataAttributes.md | 6 +- ...rmFieldPlacementConditionDataAttributes.md | 1 + docs/NewFormFieldPlacementDataAttributes.md | 1 + docs/NewFunctionalityDataAttributes.md | 6 +- docs/NewHeartbeatDataAttributes.md | 6 +- docs/NewIncidentActionItemDataAttributes.md | 1 + docs/NewIncidentDataAttributes.md | 25 +- ...ncidentFormFieldSelectionDataAttributes.md | 3 + .../NewIncidentPermissionSetDataAttributes.md | 1 - ...ewIncidentStatusPageEventDataAttributes.md | 1 - docs/NewIncidentTypeDataAttributes.md | 1 + docs/NewLiveCallRouterDataAttributes.md | 35 +- ...AttributesEscalationPolicyTriggerParams.md | 3 +- ...lRouterDataAttributesPagingTargetsInner.md | 26 + docs/NewOnCallPayReport.md | 13 + docs/NewOnCallPayReportData.md | 22 + docs/NewOnCallPayReportDataAttributes.md | 15 + docs/NewOnCallRoleDataAttributes.md | 63 +- docs/NewPlaybookDataAttributes.md | 12 +- docs/NewPostMortemTemplateDataAttributes.md | 2 +- docs/NewPulseDataAttributes.md | 6 +- docs/NewPulseDataAttributesLabelsInner.md | 14 + ...tesRetrospectiveProcessMatchingCriteria.md | 6 +- ...trospectiveProcessMatchingCriteriaOneOf.md | 2 +- ...rospectiveProcessMatchingCriteriaOneOf1.md | 2 +- ...rospectiveProcessMatchingCriteriaOneOf2.md | 2 +- docs/NewRoleDataAttributes.md | 86 +- docs/NewScheduleDataAttributes.md | 5 +- docs/NewScheduleDataAttributesSlackChannel.md | 14 + ...NewScheduleDataAttributesSlackUserGroup.md | 4 +- docs/NewScheduleRotationDataAttributes.md | 3 + ...aAttributesScheduleRotationMembersInner.md | 24 + docs/NewServiceDataAttributes.md | 11 +- ...viceDataAttributesAlertBroadcastChannel.md | 15 + ...eDataAttributesIncidentBroadcastChannel.md | 15 + docs/NewSla.md | 13 + docs/NewSlaData.md | 22 + docs/NewSlaDataAttributes.md | 97 + docs/NewSlaDataAttributesConditionsInner.md | 52 + ...tributesNotificationConfigurationsInner.md | 24 + docs/NewStatusPageDataAttributes.md | 42 +- docs/NewStatusPageTemplateDataAttributes.md | 2 +- docs/NewSubStatusDataAttributes.md | 1 - docs/NewTeamDataAttributes.md | 6 + docs/NewUserEmailAddress.md | 13 + docs/NewUserEmailAddressData.md | 22 + docs/NewUserEmailAddressDataAttributes.md | 13 + docs/NewUserNotificationRuleDataAttributes.md | 1 + docs/NewUserPhoneNumber.md | 13 + docs/NewUserPhoneNumberData.md | 22 + docs/NewUserPhoneNumberDataAttributes.md | 13 + docs/NewWebhooksEndpointDataAttributes.md | 1 + ...kflowCustomFieldSelectionDataAttributes.md | 1 + docs/NewWorkflowDataAttributes.md | 1 - .../NewWorkflowDataAttributesTriggerParams.md | 45 + ...orkflowFormFieldConditionDataAttributes.md | 4 + ...NewWorkflowTaskDataAttributesTaskParams.md | 96 +- docs/OnCallPayReport.md | 51 + docs/OnCallPayReportList.md | 15 + docs/OnCallPayReportResponse.md | 13 + docs/OnCallPayReportResponseData.md | 23 + docs/OnCallPayReportsApi.md | 372 + docs/OnCallRole.md | 64 +- docs/OnCallRoleList.md | 1 + docs/OnCallShadowsList.md | 1 + docs/OnCallsApi.md | 97 + docs/OverrideShift.md | 1 + docs/OverrideShiftList.md | 1 + docs/OverrideShiftsApi.md | 11 +- docs/PageJsmopsOnCallRespondersTaskParams.md | 41 + docs/PageRootlyOnCallRespondersTaskParams.md | 3 +- docs/PatchAlertRoute.md | 13 + docs/PatchAlertRouteData.md | 22 + docs/PatchAlertRouteDataAttributes.md | 17 + ...PatchAlertRouteDataAttributesRulesInner.md | 19 + ...ttributesRulesInnerConditionGroupsInner.md | 16 + ...nnerConditionGroupsInnerConditionsInner.md | 55 + ...taAttributesRulesInnerDestinationsInner.md | 27 + docs/PhoneVerificationResponse.md | 14 + docs/Playbook.md | 12 +- docs/PlaybookList.md | 1 + docs/PlaybookTaskList.md | 1 + docs/PostMortemTemplate.md | 2 + docs/PostMortemTemplateList.md | 1 + docs/PostMortemTriggerParams.md | 15 + docs/PublishIncidentTaskParams.md | 1 - docs/Pulse.md | 2 +- docs/PulseList.md | 1 + docs/PulseTriggerParams.md | 3 + docs/RetrospectiveConfiguration.md | 6 +- docs/RetrospectiveProcessGroupList.md | 1 + docs/RetrospectiveProcessGroupStepList.md | 1 + docs/RetrospectiveProcessList.md | 1 + docs/RetrospectiveStepList.md | 1 + docs/RetrospectiveTemplatesApi.md | 16 +- docs/Role.md | 87 +- docs/RoleList.md | 1 + docs/RolesApi.md | 12 +- docs/RotateApiKey.md | 13 + docs/RotateApiKeyData.md | 22 + docs/RotateApiKeyDataAttributes.md | 14 + docs/Schedule.md | 5 +- docs/ScheduleList.md | 1 + docs/ScheduleRotation.md | 2 + docs/ScheduleRotationActiveDayList.md | 1 + docs/ScheduleRotationList.md | 1 + docs/ScheduleRotationUserList.md | 1 + docs/ScheduleSlackChannel.md | 15 + docs/ScheduleSlackUserGroup.md | 4 +- docs/SecretList.md | 1 + ...SendMicrosoftTeamsChatMessageTaskParams.md | 23 + docs/Service.md | 11 +- docs/ServiceAlertBroadcastChannel.md | 15 + docs/ServiceIncidentBroadcastChannel.md | 15 + docs/ServiceList.md | 1 + docs/ServicesApi.md | 188 +- docs/SeveritiesApi.md | 12 +- docs/SeverityList.md | 1 + docs/Shift.md | 4 +- docs/ShiftList.md | 1 + docs/ShiftListDataInner.md | 1 + docs/ShiftRelationships.md | 15 + docs/ShiftRelationshipsAssignee.md | 14 + docs/ShiftRelationshipsAssigneeData.md | 14 + docs/ShiftRelationshipsShiftOverride.md | 13 + docs/ShiftRelationshipsShiftOverrideData.md | 22 + docs/ShiftRelationshipsUser.md | 13 + docs/ShiftRelationshipsUserData.md | 22 + docs/ShiftsApi.md | 20 +- docs/Sla.md | 49 + docs/SlaConditionsInner.md | 28 + docs/SlaList.md | 15 + docs/SlaNotificationConfigurationsInner.md | 27 + docs/SlaResponse.md | 13 + docs/SlaResponseData.md | 23 + docs/SlasApi.md | 373 + docs/SnoozeAlert.md | 13 + docs/SnoozeAlertData.md | 22 + docs/SnoozeAlertDataAttributes.md | 13 + docs/Status.md | 19 + docs/StatusList.md | 15 + docs/StatusPage.md | 44 +- docs/StatusPageList.md | 1 + docs/StatusPageTemplate.md | 1 + docs/StatusPageTemplateList.md | 1 + docs/StatusPagesApi.md | 19 +- docs/StatusResponse.md | 13 + docs/StatusResponseData.md | 23 + docs/StatusesApi.md | 164 + docs/SubStatus.md | 2 + docs/SubStatusList.md | 1 + docs/SubStatusesApi.md | 14 +- docs/Team.md | 6 + docs/TeamList.md | 1 + docs/TeamsApi.md | 190 +- docs/TiptapBlockSchema.md | 15 + docs/TiptapBlockSchemaFollowupComponent.md | 25 + docs/TiptapBlockSchemaTimelineComponent.md | 14 + docs/UpdateAlertDataAttributes.md | 12 +- docs/UpdateAlertEvent.md | 1 + docs/UpdateAlertField.md | 13 + docs/UpdateAlertFieldData.md | 22 + docs/UpdateAlertFieldDataAttributes.md | 13 + docs/UpdateAlertGroupDataAttributes.md | 7 +- docs/UpdateAlertRoute.md | 13 + docs/UpdateAlertRouteData.md | 22 + docs/UpdateAlertRouteDataAttributes.md | 17 + docs/UpdateAlertRoutingRuleDataAttributes.md | 1 + ...ertRoutingRuleDataAttributesDestination.md | 5 +- docs/UpdateAlertsSourceDataAttributes.md | 15 + docs/UpdateApiKey.md | 13 + docs/UpdateApiKeyData.md | 22 + docs/UpdateApiKeyDataAttributes.md | 15 + docs/UpdateCatalogChecklistTemplate.md | 13 + docs/UpdateCatalogChecklistTemplateData.md | 22 + ...eCatalogChecklistTemplateDataAttributes.md | 16 + docs/UpdateCatalogEntityDataAttributes.md | 2 + docs/UpdateCatalogEntityProperty.md | 1 + ...dateCatalogEntityPropertyDataAttributes.md | 1 + docs/UpdateCatalogFieldData.md | 2 +- docs/UpdateCatalogFieldDataAttributes.md | 26 +- docs/UpdateCatalogProperty.md | 13 + docs/UpdateCatalogPropertyData.md | 22 + docs/UpdateCatalogPropertyDataAttributes.md | 50 + docs/UpdateCauseDataAttributes.md | 1 + docs/UpdateCommunicationsGroup.md | 13 + docs/UpdateCommunicationsGroupData.md | 22 + ...UpdateCommunicationsGroupDataAttributes.md | 32 + ...sCommunicationExternalGroupMembersInner.md | 16 + ...ibutesCommunicationGroupConditionsInner.md | 31 + docs/UpdateCommunicationsStage.md | 13 + docs/UpdateCommunicationsStageData.md | 22 + ...UpdateCommunicationsStageDataAttributes.md | 15 + docs/UpdateCommunicationsTemplate.md | 13 + docs/UpdateCommunicationsTemplateData.md | 22 + ...ateCommunicationsTemplateDataAttributes.md | 17 + ...municationTemplateStagesAttributesInner.md | 17 + docs/UpdateCommunicationsType.md | 13 + docs/UpdateCommunicationsTypeData.md | 22 + .../UpdateCommunicationsTypeDataAttributes.md | 16 + docs/UpdateConfluencePageTaskParams.md | 27 + .../UpdateConfluencePageTaskParamsTemplate.md | 15 + docs/UpdateCustomFieldDataAttributes.md | 1 - docs/UpdateCustomFormDataAttributes.md | 1 - docs/UpdateDatadogNotebookTaskParams.md | 39 + ...UpdateDatadogNotebookTaskParamsTemplate.md | 15 + docs/UpdateDropboxPaperPageTaskParams.md | 25 + docs/UpdateEdgeConnector.md | 13 + docs/UpdateEdgeConnectorAction.md | 13 + docs/UpdateEdgeConnectorActionRequest.md | 13 + .../UpdateEdgeConnectorActionRequestAction.md | 24 + docs/UpdateEdgeConnectorRequest.md | 13 + docs/UpdateEdgeConnectorRequestData.md | 23 + ...pdateEdgeConnectorRequestDataAttributes.md | 25 + docs/UpdateEnvironmentDataAttributes.md | 1 + ...dateEscalationPolicyLevelDataAttributes.md | 2 +- ...pdateEscalationPolicyPathDataAttributes.md | 334 + ...ationPolicyPathDataAttributesRulesInner.md | 333 +- ...PathDataAttributesTimeRestrictionsInner.md | 44 + docs/UpdateFormFieldDataAttributes.md | 5 + docs/UpdateFormFieldOptionDataAttributes.md | 6 +- ...rmFieldPlacementConditionDataAttributes.md | 1 + .../UpdateFormFieldPlacementDataAttributes.md | 1 + docs/UpdateFunctionalityDataAttributes.md | 6 +- docs/UpdateGithubIssueTaskParams.md | 13 + docs/UpdateGithubIssueTaskParamsRepository.md | 15 + docs/UpdateHeartbeatDataAttributes.md | 6 +- .../UpdateIncidentActionItemDataAttributes.md | 1 + docs/UpdateIncidentDataAttributes.md | 26 +- ...ncidentFormFieldSelectionDataAttributes.md | 3 + ...dateIncidentPermissionSetDataAttributes.md | 1 - .../UpdateIncidentPostMortemDataAttributes.md | 2 +- ...teIncidentStatusPageEventDataAttributes.md | 1 - docs/UpdateIncidentTaskParams.md | 8 +- docs/UpdateIncidentTypeDataAttributes.md | 1 + docs/UpdateJiraIssueTaskParams.md | 1 + docs/UpdateLinearIssueTaskParams.md | 2 +- docs/UpdateLinearIssueTaskParamsState.md | 15 + docs/UpdateLiveCallRouterDataAttributes.md | 31 +- ...AttributesEscalationPolicyTriggerParams.md | 3 +- docs/UpdateNotionPageTaskParams.md | 1 + docs/UpdateOnCallPayReport.md | 13 + docs/UpdateOnCallPayReportData.md | 22 + docs/UpdateOnCallPayReportDataAttributes.md | 15 + docs/UpdateOnCallRoleDataAttributes.md | 61 +- docs/UpdateOpsgenieIncidentTaskParams.md | 1 + docs/UpdatePlaybookDataAttributes.md | 12 +- .../UpdatePostMortemTemplateDataAttributes.md | 2 +- docs/UpdatePulseDataAttributes.md | 6 +- docs/UpdateQuipPageTaskParams.md | 26 + ...etrospectiveConfigurationDataAttributes.md | 6 +- docs/UpdateRoleDataAttributes.md | 88 +- docs/UpdateScheduleDataAttributes.md | 3 + docs/UpdateScheduleRotationDataAttributes.md | 3 + docs/UpdateServiceDataAttributes.md | 11 +- docs/UpdateSharepointPageTaskParams.md | 25 + docs/UpdateSla.md | 13 + docs/UpdateSlaData.md | 22 + docs/UpdateSlaDataAttributes.md | 97 + docs/UpdateStatusPageDataAttributes.md | 42 +- .../UpdateStatusPageTemplateDataAttributes.md | 2 +- docs/UpdateSubStatusDataAttributes.md | 1 - docs/UpdateTeamDataAttributes.md | 6 + docs/UpdateUserEmailAddress.md | 13 + docs/UpdateUserEmailAddressData.md | 22 + docs/UpdateUserEmailAddressDataAttributes.md | 13 + ...pdateUserNotificationRuleDataAttributes.md | 1 + docs/UpdateUserPhoneNumber.md | 13 + docs/UpdateUserPhoneNumberData.md | 22 + docs/UpdateUserPhoneNumberDataAttributes.md | 13 + docs/UpdateWebhooksEndpointDataAttributes.md | 1 + ...kflowCustomFieldSelectionDataAttributes.md | 1 + docs/UpdateWorkflowDataAttributes.md | 1 - ...orkflowFormFieldConditionDataAttributes.md | 4 + ...ateWorkflowTaskDataAttributesTaskParams.md | 96 +- docs/UserEmailAddress.md | 17 + docs/UserEmailAddressList.md | 15 + docs/UserEmailAddressResponse.md | 13 + docs/UserEmailAddressResponseData.md | 23 + docs/UserEmailAddressesApi.md | 506 + docs/UserFlatResponse.md | 22 + docs/UserList.md | 1 + docs/UserNotificationRule.md | 11 + docs/UserNotificationRuleList.md | 1 + docs/UserPhoneNumber.md | 19 + docs/UserPhoneNumberList.md | 15 + docs/UserPhoneNumberResponse.md | 13 + docs/UserPhoneNumberResponseData.md | 23 + docs/UserPhoneNumbersApi.md | 365 + docs/UsersApi.md | 6 +- docs/VerifyPhoneNumberRequest.md | 13 + docs/WebhooksDeliveryList.md | 1 + docs/WebhooksEndpoint.md | 3 +- docs/WebhooksEndpointList.md | 1 + docs/WebhooksEndpointsApi.md | 8 +- docs/WorkflowCustomFieldSelection.md | 1 + docs/WorkflowCustomFieldSelectionList.md | 1 + docs/WorkflowFormFieldCondition.md | 4 + docs/WorkflowFormFieldConditionList.md | 1 + docs/WorkflowFormFieldConditionsApi.md | 4 +- docs/WorkflowGroupList.md | 1 + docs/WorkflowList.md | 1 + docs/WorkflowRunsApi.md | 2 +- docs/WorkflowRunsList.md | 1 + docs/WorkflowTaskList.md | 1 + docs/WorkflowsApi.md | 26 +- .../java/com/rootly/client/ApiCallback.java | 2 +- .../java/com/rootly/client/ApiClient.java | 2 +- .../java/com/rootly/client/ApiException.java | 4 +- .../java/com/rootly/client/ApiResponse.java | 2 +- .../java/com/rootly/client/Configuration.java | 4 +- .../rootly/client/GzipRequestInterceptor.java | 2 +- src/main/java/com/rootly/client/JSON.java | 315 +- src/main/java/com/rootly/client/Pair.java | 4 +- .../rootly/client/ProgressRequestBody.java | 2 +- .../rootly/client/ProgressResponseBody.java | 2 +- .../rootly/client/ServerConfiguration.java | 4 +- .../com/rootly/client/ServerVariable.java | 4 +- .../java/com/rootly/client/StringUtil.java | 4 +- .../com/rootly/client/api/AlertEventsApi.java | 14 +- .../com/rootly/client/api/AlertFieldsApi.java | 827 + .../com/rootly/client/api/AlertGroupsApi.java | 69 +- .../com/rootly/client/api/AlertRoutesApi.java | 945 + .../client/api/AlertRoutingRulesApi.java | 71 +- .../rootly/client/api/AlertSourcesApi.java | 120 +- .../rootly/client/api/AlertUrgenciesApi.java | 2 +- .../java/com/rootly/client/api/AlertsApi.java | 579 +- .../com/rootly/client/api/ApiKeysApi.java | 1077 + .../java/com/rootly/client/api/AuditsApi.java | 2 +- .../rootly/client/api/AuthorizationsApi.java | 2 +- .../api/CatalogChecklistTemplatesApi.java | 958 + .../rootly/client/api/CatalogEntitiesApi.java | 99 +- .../api/CatalogEntityChecklistsApi.java | 406 + .../api/CatalogEntityPropertiesApi.java | 77 +- .../client/api/CatalogPropertiesApi.java | 706 + .../com/rootly/client/api/CatalogsApi.java | 67 +- .../java/com/rootly/client/api/CausesApi.java | 384 +- .../client/api/CommunicationsGroupsApi.java | 830 + .../client/api/CommunicationsStagesApi.java | 810 + .../api/CommunicationsTemplatesApi.java | 814 + .../client/api/CommunicationsTypesApi.java | 806 + .../com/rootly/client/api/CustomFormsApi.java | 41 +- .../rootly/client/api/DashboardPanelsApi.java | 2 +- .../com/rootly/client/api/DashboardsApi.java | 69 +- .../api/DeprecatedCustomFieldOptionsApi.java | 2 +- .../client/api/DeprecatedCustomFieldsApi.java | 2 +- ...catedIncidentCustomFieldSelectionsApi.java | 2 +- ...catedWorkflowCustomFieldSelectionsApi.java | 2 +- .../client/api/EdgeConnectorActionsApi.java | 739 + .../rootly/client/api/EdgeConnectorsApi.java | 720 + .../rootly/client/api/EnvironmentsApi.java | 384 +- .../client/api/EscalationLevelsApi.java | 2 +- .../client/api/EscalationLevelsPathApi.java | 2 +- .../api/EscalationLevelsPoliciesApi.java | 2 +- .../rootly/client/api/EscalationPathsApi.java | 2 +- .../client/api/EscalationPoliciesApi.java | 28 +- .../client/api/FormFieldOptionsApi.java | 2 +- .../api/FormFieldPlacementConditionsApi.java | 2 +- .../client/api/FormFieldPlacementsApi.java | 18 +- .../client/api/FormFieldPositionsApi.java | 2 +- .../com/rootly/client/api/FormFieldsApi.java | 57 +- .../client/api/FormSetConditionsApi.java | 2 +- .../com/rootly/client/api/FormSetsApi.java | 41 +- .../rootly/client/api/FunctionalitiesApi.java | 396 +- .../com/rootly/client/api/HeartbeatsApi.java | 61 +- .../client/api/IncidentActionItemsApi.java | 2 +- .../api/IncidentEventFunctionalitiesApi.java | 2 +- .../client/api/IncidentEventServicesApi.java | 2 +- .../rootly/client/api/IncidentEventsApi.java | 2 +- .../client/api/IncidentFeedbacksApi.java | 2 +- .../api/IncidentFormFieldSelectionsApi.java | 2 +- .../api/IncidentPermissionSetBooleansApi.java | 2 +- .../IncidentPermissionSetResourcesApi.java | 2 +- .../client/api/IncidentPermissionSetsApi.java | 33 +- .../api/IncidentRetrospectiveStepsApi.java | 2 +- .../client/api/IncidentRetrospectivesApi.java | 137 +- .../client/api/IncidentRoleTasksApi.java | 2 +- .../rootly/client/api/IncidentRolesApi.java | 59 +- .../api/IncidentStatusPageEventsApi.java | 2 +- .../client/api/IncidentSubStatusesApi.java | 2 +- .../rootly/client/api/IncidentTypesApi.java | 384 +- .../com/rootly/client/api/IncidentsApi.java | 461 +- .../com/rootly/client/api/IpRangesApi.java | 2 +- .../rootly/client/api/LiveCallRoutersApi.java | 10 +- .../client/api/MeetingRecordingsApi.java | 1238 + .../client/api/OnCallPayReportsApi.java | 810 + .../com/rootly/client/api/OnCallRolesApi.java | 2 +- .../rootly/client/api/OnCallShadowsApi.java | 2 +- .../com/rootly/client/api/OnCallsApi.java | 284 + .../rootly/client/api/OverrideShiftsApi.java | 42 +- .../rootly/client/api/PlaybookTasksApi.java | 2 +- .../com/rootly/client/api/PlaybooksApi.java | 2 +- .../java/com/rootly/client/api/PulsesApi.java | 2 +- .../api/RetrospectiveConfigurationsApi.java | 2 +- .../RetrospectiveProcessGroupStepsApi.java | 2 +- .../api/RetrospectiveProcessGroupsApi.java | 2 +- .../client/api/RetrospectiveProcessesApi.java | 2 +- .../client/api/RetrospectiveStepsApi.java | 2 +- .../client/api/RetrospectiveTemplatesApi.java | 49 +- .../java/com/rootly/client/api/RolesApi.java | 33 +- .../api/ScheduleRotationActiveDaysApi.java | 2 +- .../client/api/ScheduleRotationUsersApi.java | 2 +- .../client/api/ScheduleRotationsApi.java | 2 +- .../com/rootly/client/api/SchedulesApi.java | 2 +- .../com/rootly/client/api/SecretsApi.java | 2 +- .../com/rootly/client/api/ServicesApi.java | 438 +- .../com/rootly/client/api/SeveritiesApi.java | 33 +- .../java/com/rootly/client/api/ShiftsApi.java | 68 +- .../java/com/rootly/client/api/SlasApi.java | 814 + .../client/api/StatusPageTemplatesApi.java | 2 +- .../com/rootly/client/api/StatusPagesApi.java | 61 +- .../com/rootly/client/api/StatusesApi.java | 410 + .../com/rootly/client/api/SubStatusesApi.java | 41 +- .../java/com/rootly/client/api/TeamsApi.java | 442 +- .../client/api/UserEmailAddressesApi.java | 1065 + .../client/api/UserNotificationRulesApi.java | 2 +- .../client/api/UserPhoneNumbersApi.java | 786 + .../java/com/rootly/client/api/UsersApi.java | 10 +- .../client/api/WebhooksDeliveriesApi.java | 2 +- .../client/api/WebhooksEndpointsApi.java | 34 +- .../api/WorkflowFormFieldConditionsApi.java | 18 +- .../rootly/client/api/WorkflowGroupsApi.java | 2 +- .../rootly/client/api/WorkflowRunsApi.java | 10 +- .../rootly/client/api/WorkflowTasksApi.java | 2 +- .../com/rootly/client/api/WorkflowsApi.java | 73 +- .../com/rootly/client/auth/ApiKeyAuth.java | 4 +- .../rootly/client/auth/Authentication.java | 4 +- .../com/rootly/client/auth/HttpBasicAuth.java | 2 +- .../rootly/client/auth/HttpBearerAuth.java | 4 +- .../client/model/AbstractOpenApiSchema.java | 4 +- .../client/model/ActionItemTriggerParams.java | 38 +- .../client/model/AddActionItemTaskParams.java | 4 +- ...AddActionItemTaskParamsAssignedToUser.java | 4 +- ...temTaskParamsPostToSlackChannelsInner.java | 4 +- .../AddMicrosoftTeamsChatTabTaskParams.java | 360 + .../model/AddMicrosoftTeamsTabTaskParams.java | 4 +- .../client/model/AddRoleTaskParams.java | 4 +- .../AddRoleTaskParamsAssignedToUser.java | 4 +- .../model/AddSlackBookmarkTaskParams.java | 4 +- .../rootly/client/model/AddSubscribers.java | 4 +- .../client/model/AddSubscribersData.java | 4 +- .../model/AddSubscribersDataAttributes.java | 4 +- .../client/model/AddTeamTaskParams.java | 4 +- .../client/model/AddToTimelineTaskParams.java | 4 +- .../java/com/rootly/client/model/Alert.java | 249 +- .../com/rootly/client/model/AlertEvent.java | 20 +- .../rootly/client/model/AlertEventList.java | 39 +- .../client/model/AlertEventResponse.java | 4 +- .../client/model/AlertEventResponseData.java | 4 +- .../com/rootly/client/model/AlertField.java | 337 + .../rootly/client/model/AlertFieldList.java | 294 + .../client/model/AlertFieldListDataInner.java | 328 + .../client/model/AlertFieldResponse.java | 214 + .../client/model/AlertFieldResponseData.java | 327 + .../com/rootly/client/model/AlertGroup.java | 106 +- .../model/AlertGroupConditionsInner.java | 685 + .../AlertGroupConditionsInnerValuesInner.java | 245 + .../rootly/client/model/AlertGroupList.java | 4 +- .../client/model/AlertGroupResponse.java | 4 +- .../client/model/AlertGroupResponseData.java | 4 +- .../com/rootly/client/model/AlertList.java | 39 +- .../rootly/client/model/AlertResponse.java | 4 +- .../client/model/AlertResponseData.java | 12 +- .../com/rootly/client/model/AlertRoute.java | 375 + .../rootly/client/model/AlertRouteList.java | 294 + .../client/model/AlertRouteResponse.java | 214 + .../client/model/AlertRouteResponseData.java | 328 + .../rootly/client/model/AlertRoutingRule.java | 111 +- .../model/AlertRoutingRuleCondition.java | 630 + .../model/AlertRoutingRuleConditionGroup.java | 354 + .../AlertRoutingRuleConditionGroupsInner.java | 354 + ...leConditionGroupsInnerConditionsInner.java | 630 + .../AlertRoutingRuleConditionsInner.java | 4 +- .../model/AlertRoutingRuleDestination.java | 12 +- .../client/model/AlertRoutingRuleList.java | 39 +- .../model/AlertRoutingRuleResponse.java | 4 +- .../model/AlertRoutingRuleResponseData.java | 4 +- .../client/model/AlertRoutingRuleTarget.java | 304 + .../client/model/AlertTriggerParams.java | 238 +- ...riggerParamsAlertFieldConditionsInner.java | 354 + ...rtTriggerParamsAlertPayloadConditions.java | 316 + ...AlertPayloadConditionsConditionsInner.java | 381 + .../com/rootly/client/model/AlertUrgency.java | 4 +- .../rootly/client/model/AlertUrgencyList.java | 39 +- .../client/model/AlertUrgencyResponse.java | 4 +- .../model/AlertUrgencyResponseData.java | 4 +- .../com/rootly/client/model/AlertsSource.java | 739 +- .../rootly/client/model/AlertsSourceList.java | 39 +- .../client/model/AlertsSourceResponse.java | 4 +- .../model/AlertsSourceResponseData.java | 4 +- .../java/com/rootly/client/model/ApiKey.java | 555 + .../com/rootly/client/model/ApiKeyList.java | 294 + .../rootly/client/model/ApiKeyResponse.java | 214 + .../client/model/ApiKeyResponseData.java | 328 + .../client/model/ApiKeyWithTokenResponse.java | 214 + .../model/ApiKeyWithTokenResponseData.java | 328 + ...ApiKeyWithTokenResponseDataAttributes.java | 586 + ...chiveMicrosoftTeamsChannelsTaskParams.java | 4 +- .../model/ArchiveSlackChannelsTaskParams.java | 4 +- .../rootly/client/model/AssignRoleToUser.java | 4 +- .../client/model/AssignRoleToUserData.java | 4 +- .../model/AssignRoleToUserDataAttributes.java | 4 +- .../com/rootly/client/model/AttachAlert.java | 4 +- .../rootly/client/model/AttachAlertData.java | 4 +- .../model/AttachAlertDataAttributes.java | 4 +- .../AttachDatadogDashboardsTaskParams.java | 4 +- .../java/com/rootly/client/model/Audit.java | 88 +- .../com/rootly/client/model/AuditsList.java | 39 +- .../client/model/AuditsListDataInner.java | 4 +- .../rootly/client/model/Authorization.java | 4 +- .../client/model/AuthorizationList.java | 39 +- .../client/model/AuthorizationResponse.java | 4 +- .../model/AuthorizationResponseData.java | 4 +- .../AutoAssignRoleOpsgenieTaskParams.java | 4 +- .../AutoAssignRolePagerdutyTaskParams.java | 4 +- .../model/AutoAssignRoleRootlyTaskParams.java | 4 +- .../AutoAssignRoleVictorOpsTaskParams.java | 4 +- .../com/rootly/client/model/BuiltinField.java | 297 + .../client/model/CallPeopleTaskParams.java | 4 +- .../rootly/client/model/CancelIncident.java | 4 +- .../client/model/CancelIncidentData.java | 4 +- .../model/CancelIncidentDataAttributes.java | 4 +- .../java/com/rootly/client/model/Catalog.java | 4 +- .../model/CatalogChecklistTemplate.java | 661 + .../CatalogChecklistTemplateFieldsInner.java | 334 + .../model/CatalogChecklistTemplateList.java | 296 + .../CatalogChecklistTemplateOwnersInner.java | 292 + .../CatalogChecklistTemplateResponse.java | 214 + .../CatalogChecklistTemplateResponseData.java | 328 + .../rootly/client/model/CatalogEntity.java | 90 +- .../client/model/CatalogEntityChecklist.java | 695 + ...ogEntityChecklistChecklistFieldsInner.java | 208 + ...tityChecklistChecklistFieldsInnerData.java | 322 + ...istChecklistFieldsInnerDataAttributes.java | 452 + ...ogEntityChecklistChecklistOwnersInner.java | 208 + ...tityChecklistChecklistOwnersInnerData.java | 322 + ...istChecklistOwnersInnerDataAttributes.java | 296 + .../model/CatalogEntityChecklistList.java | 296 + .../model/CatalogEntityChecklistResponse.java | 214 + .../CatalogEntityChecklistResponseData.java | 328 + .../client/model/CatalogEntityList.java | 39 +- .../client/model/CatalogEntityProperty.java | 12 +- .../model/CatalogEntityPropertyList.java | 43 +- .../model/CatalogEntityPropertyResponse.java | 8 +- .../CatalogEntityPropertyResponseData.java | 9 +- .../client/model/CatalogEntityResponse.java | 4 +- .../model/CatalogEntityResponseData.java | 4 +- .../com/rootly/client/model/CatalogField.java | 150 +- .../rootly/client/model/CatalogFieldList.java | 39 +- .../client/model/CatalogFieldResponse.java | 4 +- .../model/CatalogFieldResponseData.java | 6 +- .../com/rootly/client/model/CatalogList.java | 39 +- .../rootly/client/model/CatalogProperty.java | 643 + .../client/model/CatalogPropertyList.java | 294 + .../client/model/CatalogPropertyResponse.java | 214 + .../model/CatalogPropertyResponseData.java | 328 + .../rootly/client/model/CatalogResponse.java | 4 +- .../client/model/CatalogResponseData.java | 4 +- .../java/com/rootly/client/model/Cause.java | 58 +- .../com/rootly/client/model/CauseList.java | 39 +- .../rootly/client/model/CauseResponse.java | 4 +- .../client/model/CauseResponseData.java | 4 +- .../ChangeSlackChannelPrivacyTaskParams.java | 4 +- .../client/model/CommunicationsGroup.java | 728 + ...ommunicationExternalGroupMembersInner.java | 296 + .../model/CommunicationsGroupResponse.java | 214 + .../CommunicationsGroupResponseData.java | 328 + .../model/CommunicationsGroupsResponse.java | 296 + .../client/model/CommunicationsStage.java | 376 + .../model/CommunicationsStageResponse.java | 214 + .../CommunicationsStageResponseData.java | 328 + .../model/CommunicationsStagesResponse.java | 296 + .../client/model/CommunicationsTemplate.java | 490 + ...plateCommunicationTemplateStagesInner.java | 208 + ...eCommunicationTemplateStagesInnerData.java | 322 + ...tionTemplateStagesInnerDataAttributes.java | 432 + ...InnerDataAttributesCommunicationStage.java | 236 + ...erDataAttributesCommunicationTemplate.java | 236 + ...mmunicationsTemplateCommunicationType.java | 236 + .../model/CommunicationsTemplateResponse.java | 214 + .../CommunicationsTemplateResponseData.java | 328 + .../CommunicationsTemplatesResponse.java | 296 + .../client/model/CommunicationsType.java | 407 + .../model/CommunicationsTypeResponse.java | 214 + .../model/CommunicationsTypeResponseData.java | 328 + .../model/CommunicationsTypesResponse.java | 296 + .../CreateAirtableTableRecordTaskParams.java | 4 +- ...eateAnthropicChatCompletionTaskParams.java | 359 + ...nthropicChatCompletionTaskParamsModel.java | 236 + .../model/CreateAsanaSubtaskTaskParams.java | 4 +- .../model/CreateAsanaTaskTaskParams.java | 4 +- .../model/CreateClickupTaskTaskParams.java | 4 +- .../model/CreateCodaPageTaskParams.java | 40 +- .../model/CreateCodaPageTaskParamsDoc.java | 236 + .../CreateCodaPageTaskParamsTemplate.java | 4 +- .../model/CreateConfluencePageTaskParams.java | 4 +- ...teConfluencePageTaskParamsIntegration.java | 4 +- .../CreateDatadogNotebookTaskParams.java | 4 +- .../CreateDropboxPaperPageTaskParams.java | 4 +- .../CreateEdgeConnectorActionRequest.java | 208 + ...reateEdgeConnectorActionRequestAction.java | 331 + ...eConnectorActionRequestActionMetadata.java | 285 + ...nRequestActionMetadataParametersInner.java | 392 + .../model/CreateEdgeConnectorRequest.java | 214 + .../model/CreateEdgeConnectorRequestData.java | 297 + ...ateEdgeConnectorRequestDataAttributes.java | 371 + .../model/CreateGithubIssueTaskParams.java | 133 +- .../CreateGithubIssueTaskParamsIssueType.java | 236 + .../model/CreateGitlabIssueTaskParams.java | 4 +- .../model/CreateGoToMeetingTaskParams.java | 4 +- .../CreateGoogleCalendarEventTaskParams.java | 4 +- .../model/CreateGoogleDocsPageTaskParams.java | 4 +- ...CreateGoogleDocsPermissionsTaskParams.java | 4 +- ...eGoogleGeminiChatCompletionTaskParams.java | 359 + ...leGeminiChatCompletionTaskParamsModel.java | 236 + .../model/CreateGoogleMeetingTaskParams.java | 96 +- .../CreateIncidentPostmortemTaskParams.java | 4 +- ...eIncidentPostmortemTaskParamsTemplate.java | 4 +- .../model/CreateIncidentTaskParams.java | 12 +- .../model/CreateJiraIssueTaskParams.java | 4 +- .../CreateJiraIssueTaskParamsIntegration.java | 4 +- .../CreateJiraIssueTaskParamsIssueType.java | 4 +- .../CreateJiraIssueTaskParamsPriority.java | 4 +- .../CreateJiraIssueTaskParamsStatus.java | 4 +- .../model/CreateJiraSubtaskTaskParams.java | 4 +- .../model/CreateJsmopsAlertTaskParams.java | 665 + .../CreateLinearIssueCommentTaskParams.java | 4 +- .../model/CreateLinearIssueTaskParams.java | 4 +- .../CreateLinearIssueTaskParamsProject.java | 4 +- .../CreateLinearIssueTaskParamsState.java | 4 +- .../CreateLinearIssueTaskParamsTeam.java | 4 +- .../CreateLinearSubtaskIssueTaskParams.java | 4 +- ...CreateMicrosoftTeamsChannelTaskParams.java | 4 +- .../CreateMicrosoftTeamsChatTaskParams.java | 444 + ...rosoftTeamsChatTaskParamsMembersInner.java | 236 + ...CreateMicrosoftTeamsMeetingTaskParams.java | 108 +- ...CreateMistralChatCompletionTaskParams.java | 446 + ...eMistralChatCompletionTaskParamsModel.java | 236 + .../model/CreateMotionTaskTaskParams.java | 4 +- .../model/CreateNotionPageTaskParams.java | 36 +- .../CreateNotionPageTaskParamsParentPage.java | 4 +- .../CreateOpenaiChatCompletionTaskParams.java | 624 + ...teOpenaiChatCompletionTaskParamsModel.java | 236 + .../model/CreateOpsgenieAlertTaskParams.java | 4 +- .../model/CreateOutlookEventTaskParams.java | 33 +- ...CreatePagerdutyStatusUpdateTaskParams.java | 4 +- .../model/CreatePagertreeAlertTaskParams.java | 4 +- .../model/CreateQuipPageTaskParams.java | 4 +- .../CreateServiceNowIncidentTaskParams.java | 4 +- ...erviceNowIncidentTaskParamsCompletion.java | 4 +- .../model/CreateSharepointPageTaskParams.java | 4 +- .../model/CreateShortcutStoryTaskParams.java | 4 +- .../model/CreateShortcutTaskTaskParams.java | 4 +- .../model/CreateSlackChannelTaskParams.java | 4 +- .../model/CreateSubIncidentTaskParams.java | 328 + .../model/CreateTrelloCardTaskParams.java | 4 +- ...CreateTrelloCardTaskParamsArchivation.java | 4 +- .../CreateTrelloCardTaskParamsBoard.java | 4 +- .../model/CreateTrelloCardTaskParamsList.java | 4 +- ...CreateWatsonxChatCompletionTaskParams.java | 390 + ...eWatsonxChatCompletionTaskParamsModel.java | 236 + .../model/CreateWebexMeetingTaskParams.java | 108 +- .../CreateZendeskJiraLinkTaskParams.java | 4 +- .../model/CreateZendeskTicketTaskParams.java | 4 +- .../model/CreateZoomMeetingTaskParams.java | 108 +- .../com/rootly/client/model/CustomField.java | 485 +- .../rootly/client/model/CustomFieldList.java | 39 +- .../client/model/CustomFieldOption.java | 4 +- .../client/model/CustomFieldOptionList.java | 39 +- .../model/CustomFieldOptionResponse.java | 4 +- .../model/CustomFieldOptionResponseData.java | 4 +- .../client/model/CustomFieldResponse.java | 4 +- .../client/model/CustomFieldResponseData.java | 4 +- .../com/rootly/client/model/CustomForm.java | 15 +- .../rootly/client/model/CustomFormList.java | 39 +- .../client/model/CustomFormResponse.java | 4 +- .../client/model/CustomFormResponseData.java | 4 +- .../com/rootly/client/model/Dashboard.java | 4 +- .../rootly/client/model/DashboardList.java | 39 +- .../rootly/client/model/DashboardPanel.java | 4 +- .../client/model/DashboardPanelList.java | 39 +- .../client/model/DashboardPanelResponse.java | 4 +- .../model/DashboardPanelResponseData.java | 4 +- .../client/model/DashboardResponse.java | 4 +- .../client/model/DashboardResponseData.java | 4 +- .../model/DeleteAlertRoute200Response.java | 208 + .../DeleteAlertRoute200ResponseData.java | 268 + ...teAlertRoute200ResponseDataAttributes.java | 203 + .../client/model/DuplicateIncident.java | 4 +- .../client/model/DuplicateIncidentData.java | 4 +- .../DuplicateIncidentDataAttributes.java | 4 +- .../rootly/client/model/EdgeConnector.java | 214 + .../client/model/EdgeConnectorAction.java | 214 + .../client/model/EdgeConnectorActionData.java | 329 + .../EdgeConnectorActionDataAttributes.java | 638 + ...orActionDataAttributesParametersInner.java | 434 + .../client/model/EdgeConnectorData.java | 329 + .../model/EdgeConnectorDataAttributes.java | 626 + .../com/rootly/client/model/Environment.java | 56 +- .../rootly/client/model/EnvironmentList.java | 39 +- .../client/model/EnvironmentResponse.java | 4 +- .../client/model/EnvironmentResponseData.java | 4 +- .../com/rootly/client/model/ErrorsList.java | 4 +- .../client/model/ErrorsListErrorsInner.java | 4 +- .../rootly/client/model/EscalateAlert.java | 208 + .../client/model/EscalateAlertData.java | 292 + .../model/EscalateAlertDataAttributes.java | 234 + .../rootly/client/model/EscalationPolicy.java | 4 +- .../client/model/EscalationPolicyLevel.java | 10 +- .../model/EscalationPolicyLevelList.java | 39 +- .../EscalationPolicyLevelListDataInner.java | 4 +- .../model/EscalationPolicyLevelResponse.java | 4 +- .../EscalationPolicyLevelResponseData.java | 4 +- .../client/model/EscalationPolicyList.java | 39 +- .../client/model/EscalationPolicyPath.java | 976 +- .../model/EscalationPolicyPathList.java | 39 +- .../EscalationPolicyPathListDataInner.java | 4 +- .../model/EscalationPolicyPathResponse.java | 4 +- .../EscalationPolicyPathResponseData.java | 4 +- .../model/EscalationPolicyResponse.java | 4 +- .../model/EscalationPolicyResponseData.java | 4 +- .../com/rootly/client/model/FormField.java | 57 +- .../rootly/client/model/FormFieldList.java | 39 +- .../rootly/client/model/FormFieldOption.java | 44 +- .../client/model/FormFieldOptionList.java | 39 +- .../client/model/FormFieldOptionResponse.java | 4 +- .../model/FormFieldOptionResponseData.java | 6 +- .../client/model/FormFieldPlacement.java | 35 +- .../model/FormFieldPlacementCondition.java | 6 +- .../FormFieldPlacementConditionList.java | 39 +- .../FormFieldPlacementConditionResponse.java | 4 +- ...rmFieldPlacementConditionResponseData.java | 4 +- .../client/model/FormFieldPlacementList.java | 39 +- .../model/FormFieldPlacementResponse.java | 4 +- .../model/FormFieldPlacementResponseData.java | 4 +- .../client/model/FormFieldPosition.java | 4 +- .../client/model/FormFieldPositionList.java | 39 +- .../model/FormFieldPositionResponse.java | 4 +- .../model/FormFieldPositionResponseData.java | 4 +- .../client/model/FormFieldResponse.java | 4 +- .../client/model/FormFieldResponseData.java | 4 +- .../java/com/rootly/client/model/FormSet.java | 15 +- .../rootly/client/model/FormSetCondition.java | 4 +- .../client/model/FormSetConditionList.java | 39 +- .../model/FormSetConditionResponse.java | 4 +- .../model/FormSetConditionResponseData.java | 4 +- .../com/rootly/client/model/FormSetList.java | 39 +- .../rootly/client/model/FormSetResponse.java | 4 +- .../client/model/FormSetResponseData.java | 4 +- .../rootly/client/model/Functionality.java | 162 +- .../client/model/FunctionalityList.java | 39 +- .../client/model/FunctionalityResponse.java | 4 +- .../model/FunctionalityResponseData.java | 4 +- .../model/GetAlertFieldIdParameter.java | 263 + .../client/model/GetAlertsTaskParams.java | 4 +- .../model/GetGithubCommitsTaskParams.java | 4 +- .../model/GetGitlabCommitsTaskParams.java | 4 +- .../client/model/GetPulsesTaskParams.java | 4 +- ...lsesTaskParamsParentMessageThreadTask.java | 4 +- .../client/model/GetTeamIdParameter.java | 263 + .../com/rootly/client/model/Heartbeat.java | 81 +- .../rootly/client/model/HeartbeatList.java | 39 +- .../client/model/HeartbeatResponse.java | 4 +- .../client/model/HeartbeatResponseData.java | 4 +- .../client/model/HttpClientTaskParams.java | 4 +- .../rootly/client/model/InTriageIncident.java | 4 +- .../client/model/InTriageIncidentData.java | 4 +- .../com/rootly/client/model/Incident.java | 2813 +- .../client/model/IncidentActionItem.java | 69 +- .../client/model/IncidentActionItemList.java | 39 +- .../model/IncidentActionItemResponse.java | 4 +- .../model/IncidentActionItemResponseData.java | 4 +- .../model/IncidentCustomFieldSelection.java | 4 +- .../IncidentCustomFieldSelectionList.java | 39 +- .../IncidentCustomFieldSelectionResponse.java | 4 +- ...identCustomFieldSelectionResponseData.java | 4 +- .../rootly/client/model/IncidentEvent.java | 4 +- .../model/IncidentEventFunctionality.java | 4 +- .../model/IncidentEventFunctionalityList.java | 39 +- .../IncidentEventFunctionalityResponse.java | 4 +- ...ncidentEventFunctionalityResponseData.java | 4 +- .../client/model/IncidentEventList.java | 39 +- .../client/model/IncidentEventResponse.java | 4 +- .../model/IncidentEventResponseData.java | 4 +- .../client/model/IncidentEventService.java | 4 +- .../model/IncidentEventServiceList.java | 39 +- .../model/IncidentEventServiceResponse.java | 4 +- .../IncidentEventServiceResponseData.java | 4 +- .../rootly/client/model/IncidentFeedback.java | 4 +- .../client/model/IncidentFeedbackList.java | 39 +- .../model/IncidentFeedbackResponse.java | 4 +- .../model/IncidentFeedbackResponseData.java | 4 +- .../model/IncidentFormFieldSelection.java | 125 +- .../model/IncidentFormFieldSelectionList.java | 39 +- .../IncidentFormFieldSelectionResponse.java | 4 +- ...ncidentFormFieldSelectionResponseData.java | 4 +- .../com/rootly/client/model/IncidentList.java | 39 +- .../client/model/IncidentPermissionSet.java | 15 +- .../model/IncidentPermissionSetBoolean.java | 4 +- .../IncidentPermissionSetBooleanList.java | 39 +- .../IncidentPermissionSetBooleanResponse.java | 4 +- ...identPermissionSetBooleanResponseData.java | 4 +- .../model/IncidentPermissionSetList.java | 39 +- .../model/IncidentPermissionSetResource.java | 4 +- .../IncidentPermissionSetResourceList.java | 39 +- ...IncidentPermissionSetResourceResponse.java | 4 +- ...dentPermissionSetResourceResponseData.java | 4 +- .../model/IncidentPermissionSetResponse.java | 4 +- .../IncidentPermissionSetResponseData.java | 4 +- .../client/model/IncidentPostMortem.java | 4 +- .../client/model/IncidentPostMortemList.java | 39 +- .../model/IncidentPostMortemResponse.java | 4 +- .../model/IncidentPostMortemResponseData.java | 4 +- .../rootly/client/model/IncidentResponse.java | 4 +- .../client/model/IncidentResponseData.java | 4 +- .../model/IncidentRetrospectiveStep.java | 4 +- .../IncidentRetrospectiveStepResponse.java | 4 +- ...IncidentRetrospectiveStepResponseData.java | 4 +- .../com/rootly/client/model/IncidentRole.java | 4 +- .../rootly/client/model/IncidentRoleList.java | 39 +- .../client/model/IncidentRoleResponse.java | 4 +- .../model/IncidentRoleResponseData.java | 4 +- .../rootly/client/model/IncidentRoleTask.java | 4 +- .../client/model/IncidentRoleTaskList.java | 39 +- .../model/IncidentRoleTaskResponse.java | 4 +- .../model/IncidentRoleTaskResponseData.java | 4 +- .../client/model/IncidentStatusPageEvent.java | 6 +- .../model/IncidentStatusPageEventList.java | 39 +- .../IncidentStatusPageEventResponse.java | 4 +- .../IncidentStatusPageEventResponseData.java | 4 +- .../client/model/IncidentSubStatus.java | 4 +- .../client/model/IncidentSubStatusList.java | 39 +- .../model/IncidentSubStatusResponse.java | 4 +- .../model/IncidentSubStatusResponseData.java | 4 +- .../client/model/IncidentTriggerParams.java | 34 +- .../com/rootly/client/model/IncidentType.java | 56 +- .../rootly/client/model/IncidentTypeList.java | 39 +- .../client/model/IncidentTypeResponse.java | 4 +- .../model/IncidentTypeResponseData.java | 4 +- ...ntZoomMeetingGlobalDialInNumbersInner.java | 326 + ...viteToMicrosoftTeamsChannelTaskParams.java | 4 +- ...nviteToSlackChannelOpsgenieTaskParams.java | 4 +- ...viteToSlackChannelPagerdutyTaskParams.java | 4 +- .../InviteToSlackChannelRootlyTaskParams.java | 4 +- .../model/InviteToSlackChannelTaskParams.java | 4 +- ...viteToSlackChannelVictorOpsTaskParams.java | 4 +- .../com/rootly/client/model/IpRanges.java | 4 +- .../rootly/client/model/IpRangesResponse.java | 4 +- .../client/model/IpRangesResponseData.java | 4 +- .../java/com/rootly/client/model/Links.java | 14 +- .../rootly/client/model/LiveCallRouter.java | 192 +- .../client/model/LiveCallRouterList.java | 39 +- .../client/model/LiveCallRouterResponse.java | 4 +- .../model/LiveCallRouterResponseData.java | 4 +- .../rootly/client/model/MeetingRecording.java | 657 + .../client/model/MeetingRecordingList.java | 264 + .../model/MeetingRecordingListDataInner.java | 328 + .../java/com/rootly/client/model/Meta.java | 365 + .../rootly/client/model/MitigateIncident.java | 4 +- .../client/model/MitigateIncidentData.java | 4 +- .../model/MitigateIncidentDataAttributes.java | 4 +- .../com/rootly/client/model/NewAlert.java | 4 +- .../com/rootly/client/model/NewAlertData.java | 4 +- .../client/model/NewAlertDataAttributes.java | 110 +- ...ibutesAlertFieldValuesAttributesInner.java | 245 + .../NewAlertDataAttributesLabelsInner.java | 20 +- ...ewAlertDataAttributesLabelsInnerValue.java | 323 + .../rootly/client/model/NewAlertEvent.java | 4 +- .../client/model/NewAlertEventData.java | 4 +- .../model/NewAlertEventDataAttributes.java | 4 +- .../rootly/client/model/NewAlertField.java | 214 + .../client/model/NewAlertFieldData.java | 297 + .../model/NewAlertFieldDataAttributes.java | 214 + .../rootly/client/model/NewAlertGroup.java | 4 +- .../client/model/NewAlertGroupData.java | 4 +- .../model/NewAlertGroupDataAttributes.java | 83 +- ...ertGroupDataAttributesAttributesInner.java | 4 +- ...ertGroupDataAttributesConditionsInner.java | 635 + ...wAlertGroupDataAttributesTargetsInner.java | 14 +- .../rootly/client/model/NewAlertRoute.java | 208 + .../client/model/NewAlertRouteData.java | 292 + .../model/NewAlertRouteDataAttributes.java | 375 + ...NewAlertRouteDataAttributesRulesInner.java | 364 + ...ributesRulesInnerConditionGroupsInner.java | 259 + ...erConditionGroupsInnerConditionsInner.java | 634 + ...AttributesRulesInnerDestinationsInner.java | 304 + .../client/model/NewAlertRoutingRule.java | 4 +- .../client/model/NewAlertRoutingRuleData.java | 4 +- .../NewAlertRoutingRuleDataAttributes.java | 45 +- ...tingRuleDataAttributesConditionsInner.java | 4 +- .../rootly/client/model/NewAlertUrgency.java | 4 +- .../client/model/NewAlertUrgencyData.java | 4 +- .../model/NewAlertUrgencyDataAttributes.java | 4 +- .../rootly/client/model/NewAlertsSource.java | 4 +- .../client/model/NewAlertsSourceData.java | 4 +- .../model/NewAlertsSourceDataAttributes.java | 245 +- ...butesAlertSourceFieldsAttributesInner.java | 248 + ...lertSourceUrgencyRulesAttributesInner.java | 250 +- ...DataAttributesAlertTemplateAttributes.java | 4 +- ...ataAttributesResolutionRuleAttributes.java | 218 +- ...leAttributesConditionsAttributesInner.java | 220 +- ...rceDataAttributesSourceableAttributes.java | 16 +- ...ttributesFieldMappingsAttributesInner.java | 6 +- .../com/rootly/client/model/NewApiKey.java | 214 + .../rootly/client/model/NewApiKeyData.java | 297 + .../client/model/NewApiKeyDataAttributes.java | 462 + .../rootly/client/model/NewAuthorization.java | 4 +- .../client/model/NewAuthorizationData.java | 4 +- .../model/NewAuthorizationDataAttributes.java | 4 +- .../com/rootly/client/model/NewCatalog.java | 4 +- .../model/NewCatalogChecklistTemplate.java | 214 + .../NewCatalogChecklistTemplateData.java | 297 + ...atalogChecklistTemplateDataAttributes.java | 568 + ...listTemplateDataAttributesFieldsInner.java | 275 + ...listTemplateDataAttributesOwnersInner.java | 299 + .../rootly/client/model/NewCatalogData.java | 4 +- .../model/NewCatalogDataAttributes.java | 4 +- .../rootly/client/model/NewCatalogEntity.java | 4 +- .../client/model/NewCatalogEntityData.java | 4 +- .../model/NewCatalogEntityDataAttributes.java | 90 +- ...ogEntityDataAttributesPropertiesInner.java | 245 + .../model/NewCatalogEntityProperty.java | 8 +- .../model/NewCatalogEntityPropertyData.java | 4 +- ...ewCatalogEntityPropertyDataAttributes.java | 10 +- .../rootly/client/model/NewCatalogField.java | 6 +- .../client/model/NewCatalogFieldData.java | 6 +- .../model/NewCatalogFieldDataAttributes.java | 151 +- .../client/model/NewCatalogProperty.java | 214 + .../client/model/NewCatalogPropertyData.java | 297 + .../NewCatalogPropertyDataAttributes.java | 536 + .../com/rootly/client/model/NewCause.java | 4 +- .../com/rootly/client/model/NewCauseData.java | 4 +- .../client/model/NewCauseDataAttributes.java | 60 +- ...NewCauseDataAttributesPropertiesInner.java | 245 + .../client/model/NewCommunicationsGroup.java | 214 + .../model/NewCommunicationsGroupData.java | 297 + .../NewCommunicationsGroupDataAttributes.java | 634 + ...ommunicationExternalGroupMembersInner.java | 266 + ...utesCommunicationGroupConditionsInner.java | 477 + .../client/model/NewCommunicationsStage.java | 214 + .../model/NewCommunicationsStageData.java | 297 + .../NewCommunicationsStageDataAttributes.java | 283 + .../model/NewCommunicationsTemplate.java | 214 + .../model/NewCommunicationsTemplateData.java | 297 + ...wCommunicationsTemplateDataAttributes.java | 366 + ...nicationTemplateStagesAttributesInner.java | 338 + .../client/model/NewCommunicationsType.java | 214 + .../model/NewCommunicationsTypeData.java | 297 + .../NewCommunicationsTypeDataAttributes.java | 314 + .../rootly/client/model/NewCustomField.java | 4 +- .../client/model/NewCustomFieldData.java | 4 +- .../model/NewCustomFieldDataAttributes.java | 4 +- .../client/model/NewCustomFieldOption.java | 4 +- .../model/NewCustomFieldOptionData.java | 4 +- .../NewCustomFieldOptionDataAttributes.java | 4 +- .../rootly/client/model/NewCustomForm.java | 4 +- .../client/model/NewCustomFormData.java | 4 +- .../model/NewCustomFormDataAttributes.java | 36 +- .../com/rootly/client/model/NewDashboard.java | 4 +- .../rootly/client/model/NewDashboardData.java | 4 +- .../model/NewDashboardDataAttributes.java | 4 +- .../client/model/NewDashboardPanel.java | 4 +- .../client/model/NewDashboardPanelData.java | 4 +- .../NewDashboardPanelDataAttributes.java | 4 +- ...NewDashboardPanelDataAttributesParams.java | 4 +- ...rdPanelDataAttributesParamsDatalabels.java | 4 +- ...anelDataAttributesParamsDatasetsInner.java | 18 +- ...ttributesParamsDatasetsInnerAggregate.java | 4 +- ...ributesParamsDatasetsInnerFilterInner.java | 4 +- ...amsDatasetsInnerFilterInnerRulesInner.java | 10 +- ...aAttributesParamsDatasetsInnerGroupBy.java | 278 + ...ibutesParamsDatasetsInnerGroupByOneOf.java | 301 + ...hboardPanelDataAttributesParamsLegend.java | 4 +- ...wDashboardPanelDataAttributesPosition.java | 4 +- .../rootly/client/model/NewEdgeConnector.java | 214 + .../client/model/NewEdgeConnectorAction.java | 214 + .../model/NewEdgeConnectorActionAction.java | 331 + .../NewEdgeConnectorActionActionMetadata.java | 403 + .../model/NewEdgeConnectorEdgeConnector.java | 383 + .../rootly/client/model/NewEnvironment.java | 4 +- .../client/model/NewEnvironmentData.java | 4 +- .../model/NewEnvironmentDataAttributes.java | 58 +- ...onmentDataAttributesSlackAliasesInner.java | 4 +- ...nmentDataAttributesSlackChannelsInner.java | 4 +- .../client/model/NewEscalationPolicy.java | 4 +- .../client/model/NewEscalationPolicyData.java | 4 +- .../NewEscalationPolicyDataAttributes.java | 4 +- ...tionPolicyDataAttributesBusinessHours.java | 672 +- .../model/NewEscalationPolicyLevel.java | 4 +- .../model/NewEscalationPolicyLevelData.java | 4 +- ...ewEscalationPolicyLevelDataAttributes.java | 10 +- ...tributesNotificationTargetParamsInner.java | 4 +- .../client/model/NewEscalationPolicyPath.java | 4 +- .../model/NewEscalationPolicyPathData.java | 4 +- ...NewEscalationPolicyPathDataAttributes.java | 950 +- ...ionPolicyPathDataAttributesRulesInner.java | 318 +- ...licyPathDataAttributesRulesInnerOneOf.java | 310 + ...icyPathDataAttributesRulesInnerOneOf1.java | 294 + ...icyPathDataAttributesRulesInnerOneOf2.java | 477 + ...icyPathDataAttributesRulesInnerOneOf3.java | 478 + ...icyPathDataAttributesRulesInnerOneOf4.java | 310 + ...icyPathDataAttributesRulesInnerOneOf5.java | 1004 + ...ibutesRulesInnerOneOf5TimeBlocksInner.java | 491 + ...thDataAttributesTimeRestrictionsInner.java | 435 + .../com/rootly/client/model/NewFormField.java | 4 +- .../rootly/client/model/NewFormFieldData.java | 4 +- .../model/NewFormFieldDataAttributes.java | 48 +- .../client/model/NewFormFieldOption.java | 4 +- .../client/model/NewFormFieldOptionData.java | 4 +- .../NewFormFieldOptionDataAttributes.java | 10 +- .../client/model/NewFormFieldPlacement.java | 4 +- .../model/NewFormFieldPlacementCondition.java | 4 +- .../NewFormFieldPlacementConditionData.java | 4 +- ...FieldPlacementConditionDataAttributes.java | 6 +- .../model/NewFormFieldPlacementData.java | 4 +- .../NewFormFieldPlacementDataAttributes.java | 35 +- .../client/model/NewFormFieldPosition.java | 4 +- .../model/NewFormFieldPositionData.java | 4 +- .../NewFormFieldPositionDataAttributes.java | 4 +- .../com/rootly/client/model/NewFormSet.java | 4 +- .../client/model/NewFormSetCondition.java | 4 +- .../client/model/NewFormSetConditionData.java | 4 +- .../NewFormSetConditionDataAttributes.java | 4 +- .../rootly/client/model/NewFormSetData.java | 4 +- .../model/NewFormSetDataAttributes.java | 4 +- .../rootly/client/model/NewFunctionality.java | 4 +- .../client/model/NewFunctionalityData.java | 4 +- .../model/NewFunctionalityDataAttributes.java | 164 +- .../com/rootly/client/model/NewHeartbeat.java | 4 +- .../rootly/client/model/NewHeartbeatData.java | 4 +- .../model/NewHeartbeatDataAttributes.java | 50 +- .../com/rootly/client/model/NewIncident.java | 4 +- .../client/model/NewIncidentActionItem.java | 4 +- .../model/NewIncidentActionItemData.java | 4 +- .../NewIncidentActionItemDataAttributes.java | 36 +- .../NewIncidentCustomFieldSelection.java | 4 +- .../NewIncidentCustomFieldSelectionData.java | 4 +- ...entCustomFieldSelectionDataAttributes.java | 4 +- .../rootly/client/model/NewIncidentData.java | 4 +- .../model/NewIncidentDataAttributes.java | 397 +- .../rootly/client/model/NewIncidentEvent.java | 4 +- .../client/model/NewIncidentEventData.java | 4 +- .../model/NewIncidentEventDataAttributes.java | 4 +- .../model/NewIncidentEventFunctionality.java | 4 +- .../NewIncidentEventFunctionalityData.java | 4 +- ...identEventFunctionalityDataAttributes.java | 4 +- .../client/model/NewIncidentEventService.java | 4 +- .../model/NewIncidentEventServiceData.java | 4 +- ...NewIncidentEventServiceDataAttributes.java | 4 +- .../client/model/NewIncidentFeedback.java | 4 +- .../client/model/NewIncidentFeedbackData.java | 4 +- .../NewIncidentFeedbackDataAttributes.java | 4 +- .../model/NewIncidentFormFieldSelection.java | 4 +- .../NewIncidentFormFieldSelectionData.java | 4 +- ...identFormFieldSelectionDataAttributes.java | 125 +- .../model/NewIncidentPermissionSet.java | 4 +- .../NewIncidentPermissionSetBoolean.java | 4 +- .../NewIncidentPermissionSetBooleanData.java | 4 +- ...entPermissionSetBooleanDataAttributes.java | 4 +- ...etBooleanDataAttributesSeverityParams.java | 4 +- .../model/NewIncidentPermissionSetData.java | 4 +- ...ewIncidentPermissionSetDataAttributes.java | 36 +- .../NewIncidentPermissionSetResource.java | 4 +- .../NewIncidentPermissionSetResourceData.java | 4 +- ...ntPermissionSetResourceDataAttributes.java | 4 +- .../rootly/client/model/NewIncidentRole.java | 4 +- .../client/model/NewIncidentRoleData.java | 4 +- .../model/NewIncidentRoleDataAttributes.java | 4 +- .../client/model/NewIncidentRoleTask.java | 4 +- .../client/model/NewIncidentRoleTaskData.java | 4 +- .../NewIncidentRoleTaskDataAttributes.java | 4 +- .../model/NewIncidentStatusPageEvent.java | 4 +- .../model/NewIncidentStatusPageEventData.java | 4 +- ...IncidentStatusPageEventDataAttributes.java | 6 +- .../client/model/NewIncidentSubStatus.java | 4 +- .../model/NewIncidentSubStatusData.java | 4 +- .../NewIncidentSubStatusDataAttributes.java | 4 +- .../rootly/client/model/NewIncidentType.java | 4 +- .../client/model/NewIncidentTypeData.java | 4 +- .../model/NewIncidentTypeDataAttributes.java | 58 +- .../client/model/NewLiveCallRouter.java | 4 +- .../client/model/NewLiveCallRouterData.java | 4 +- .../NewLiveCallRouterDataAttributes.java | 230 +- ...tributesEscalationPolicyTriggerParams.java | 12 +- ...outerDataAttributesPagingTargetsInner.java | 334 + .../client/model/NewOnCallPayReport.java | 214 + .../client/model/NewOnCallPayReportData.java | 297 + .../NewOnCallPayReportDataAttributes.java | 281 + .../rootly/client/model/NewOnCallRole.java | 4 +- .../client/model/NewOnCallRoleData.java | 4 +- .../model/NewOnCallRoleDataAttributes.java | 526 +- .../rootly/client/model/NewOnCallShadow.java | 4 +- .../client/model/NewOnCallShadowData.java | 4 +- .../model/NewOnCallShadowDataAttributes.java | 4 +- .../rootly/client/model/NewOverrideShift.java | 4 +- .../client/model/NewOverrideShiftData.java | 4 +- .../model/NewOverrideShiftDataAttributes.java | 4 +- .../com/rootly/client/model/NewPlaybook.java | 4 +- .../rootly/client/model/NewPlaybookData.java | 4 +- .../model/NewPlaybookDataAttributes.java | 16 +- .../rootly/client/model/NewPlaybookTask.java | 4 +- .../client/model/NewPlaybookTaskData.java | 4 +- .../model/NewPlaybookTaskDataAttributes.java | 4 +- .../client/model/NewPostMortemTemplate.java | 4 +- .../model/NewPostMortemTemplateData.java | 4 +- .../NewPostMortemTemplateDataAttributes.java | 17 +- .../com/rootly/client/model/NewPulse.java | 4 +- .../com/rootly/client/model/NewPulseData.java | 4 +- .../client/model/NewPulseDataAttributes.java | 22 +- .../NewPulseDataAttributesLabelsInner.java | 245 + .../NewPulseDataAttributesRefsInner.java | 4 +- .../client/model/NewRetrospectiveProcess.java | 4 +- .../model/NewRetrospectiveProcessData.java | 4 +- ...NewRetrospectiveProcessDataAttributes.java | 4 +- ...sRetrospectiveProcessMatchingCriteria.java | 4 +- ...ospectiveProcessMatchingCriteriaOneOf.java | 6 +- ...spectiveProcessMatchingCriteriaOneOf1.java | 6 +- ...spectiveProcessMatchingCriteriaOneOf2.java | 6 +- .../model/NewRetrospectiveProcessGroup.java | 4 +- .../NewRetrospectiveProcessGroupData.java | 4 +- ...trospectiveProcessGroupDataAttributes.java | 4 +- .../NewRetrospectiveProcessGroupStep.java | 4 +- .../NewRetrospectiveProcessGroupStepData.java | 4 +- ...pectiveProcessGroupStepDataAttributes.java | 4 +- .../client/model/NewRetrospectiveStep.java | 4 +- .../model/NewRetrospectiveStepData.java | 4 +- .../NewRetrospectiveStepDataAttributes.java | 4 +- .../java/com/rootly/client/model/NewRole.java | 4 +- .../com/rootly/client/model/NewRoleData.java | 4 +- .../client/model/NewRoleDataAttributes.java | 705 +- .../com/rootly/client/model/NewSchedule.java | 4 +- .../rootly/client/model/NewScheduleData.java | 4 +- .../model/NewScheduleDataAttributes.java | 103 +- ...NewScheduleDataAttributesSlackChannel.java | 236 + ...wScheduleDataAttributesSlackUserGroup.java | 8 +- .../client/model/NewScheduleRotation.java | 4 +- .../model/NewScheduleRotationActiveDay.java | 4 +- .../NewScheduleRotationActiveDayData.java | 4 +- ...heduleRotationActiveDayDataAttributes.java | 4 +- ...taAttributesActiveTimeAttributesInner.java | 4 +- .../client/model/NewScheduleRotationData.java | 4 +- .../NewScheduleRotationDataAttributes.java | 125 +- ...taAttributesActiveTimeAttributesInner.java | 4 +- ...ttributesScheduleRotationMembersInner.java | 326 + ...ributesScheduleRotationableAttributes.java | 4 +- ...esScheduleRotationableAttributesOneOf.java | 4 +- ...sScheduleRotationableAttributesOneOf1.java | 4 +- ...sScheduleRotationableAttributesOneOf2.java | 4 +- ...sScheduleRotationableAttributesOneOf3.java | 4 +- .../client/model/NewScheduleRotationUser.java | 4 +- .../model/NewScheduleRotationUserData.java | 4 +- ...NewScheduleRotationUserDataAttributes.java | 4 +- .../com/rootly/client/model/NewSecret.java | 4 +- .../rootly/client/model/NewSecretData.java | 4 +- .../client/model/NewSecretDataAttributes.java | 4 +- .../com/rootly/client/model/NewService.java | 4 +- .../rootly/client/model/NewServiceData.java | 4 +- .../model/NewServiceDataAttributes.java | 312 +- ...ceDataAttributesAlertBroadcastChannel.java | 244 + ...ataAttributesIncidentBroadcastChannel.java | 244 + .../com/rootly/client/model/NewSeverity.java | 4 +- .../rootly/client/model/NewSeverityData.java | 4 +- .../model/NewSeverityDataAttributes.java | 4 +- .../java/com/rootly/client/model/NewSla.java | 214 + .../com/rootly/client/model/NewSlaData.java | 297 + .../client/model/NewSlaDataAttributes.java | 1025 + .../NewSlaDataAttributesConditionsInner.java | 528 + ...ibutesNotificationConfigurationsInner.java | 298 + .../rootly/client/model/NewStatusPage.java | 4 +- .../client/model/NewStatusPageData.java | 4 +- .../model/NewStatusPageDataAttributes.java | 419 +- .../client/model/NewStatusPageTemplate.java | 4 +- .../model/NewStatusPageTemplateData.java | 4 +- .../NewStatusPageTemplateDataAttributes.java | 38 +- .../com/rootly/client/model/NewSubStatus.java | 4 +- .../rootly/client/model/NewSubStatusData.java | 4 +- .../model/NewSubStatusDataAttributes.java | 36 +- .../java/com/rootly/client/model/NewTeam.java | 4 +- .../com/rootly/client/model/NewTeamData.java | 4 +- .../client/model/NewTeamDataAttributes.java | 203 +- .../client/model/NewUserEmailAddress.java | 214 + .../client/model/NewUserEmailAddressData.java | 297 + .../NewUserEmailAddressDataAttributes.java | 214 + .../client/model/NewUserNotificationRule.java | 4 +- .../model/NewUserNotificationRuleData.java | 4 +- ...NewUserNotificationRuleDataAttributes.java | 8 +- .../client/model/NewUserPhoneNumber.java | 214 + .../client/model/NewUserPhoneNumberData.java | 297 + .../NewUserPhoneNumberDataAttributes.java | 214 + .../client/model/NewWebhooksEndpoint.java | 4 +- .../client/model/NewWebhooksEndpointData.java | 4 +- .../NewWebhooksEndpointDataAttributes.java | 8 +- .../com/rootly/client/model/NewWorkflow.java | 4 +- .../NewWorkflowCustomFieldSelection.java | 4 +- .../NewWorkflowCustomFieldSelectionData.java | 4 +- ...lowCustomFieldSelectionDataAttributes.java | 6 +- .../rootly/client/model/NewWorkflowData.java | 4 +- .../model/NewWorkflowDataAttributes.java | 36 +- ...ewWorkflowDataAttributesTriggerParams.java | 7 +- .../model/NewWorkflowFormFieldCondition.java | 4 +- .../NewWorkflowFormFieldConditionData.java | 4 +- ...kflowFormFieldConditionDataAttributes.java | 127 +- .../rootly/client/model/NewWorkflowGroup.java | 4 +- .../client/model/NewWorkflowGroupData.java | 4 +- .../model/NewWorkflowGroupDataAttributes.java | 4 +- .../rootly/client/model/NewWorkflowRun.java | 4 +- .../client/model/NewWorkflowRunData.java | 4 +- .../model/NewWorkflowRunDataAttributes.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf1.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf2.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf3.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf4.java | 4 +- .../NewWorkflowRunDataAttributesAnyOf5.java | 4 +- .../rootly/client/model/NewWorkflowTask.java | 4 +- .../client/model/NewWorkflowTaskData.java | 4 +- .../model/NewWorkflowTaskDataAttributes.java | 4 +- ...wWorkflowTaskDataAttributesTaskParams.java | 740 +- .../rootly/client/model/OnCallPayReport.java | 873 + .../client/model/OnCallPayReportList.java | 294 + .../client/model/OnCallPayReportResponse.java | 214 + .../model/OnCallPayReportResponseData.java | 328 + .../com/rootly/client/model/OnCallRole.java | 509 +- .../rootly/client/model/OnCallRoleList.java | 39 +- .../client/model/OnCallRoleRelationship.java | 4 +- .../model/OnCallRoleRelationshipData.java | 4 +- .../client/model/OnCallRoleResponse.java | 4 +- .../client/model/OnCallRoleResponseData.java | 4 +- .../com/rootly/client/model/OnCallShadow.java | 4 +- .../client/model/OnCallShadowResponse.java | 4 +- .../model/OnCallShadowResponseData.java | 4 +- .../client/model/OnCallShadowsList.java | 39 +- .../model/OnCallShadowsListDataInner.java | 4 +- .../rootly/client/model/OverrideShift.java | 33 +- .../client/model/OverrideShiftList.java | 39 +- .../client/model/OverrideShiftResponse.java | 4 +- .../model/OverrideShiftResponseData.java | 4 +- .../PageJsmopsOnCallRespondersTaskParams.java | 559 + ...ageOpsgenieOnCallRespondersTaskParams.java | 4 +- ...gePagerdutyOnCallRespondersTaskParams.java | 4 +- .../PageRootlyOnCallRespondersTaskParams.java | 48 +- ...geVictorOpsOnCallRespondersTaskParams.java | 4 +- .../rootly/client/model/PatchAlertRoute.java | 214 + .../client/model/PatchAlertRouteData.java | 297 + .../model/PatchAlertRouteDataAttributes.java | 364 + ...tchAlertRouteDataAttributesRulesInner.java | 420 + ...ributesRulesInnerConditionGroupsInner.java | 313 + ...erConditionGroupsInnerConditionsInner.java | 686 + ...AttributesRulesInnerDestinationsInner.java | 354 + .../model/PhoneVerificationResponse.java | 236 + .../com/rootly/client/model/Playbook.java | 16 +- .../com/rootly/client/model/PlaybookList.java | 39 +- .../rootly/client/model/PlaybookResponse.java | 4 +- .../client/model/PlaybookResponseData.java | 4 +- .../com/rootly/client/model/PlaybookTask.java | 4 +- .../rootly/client/model/PlaybookTaskList.java | 39 +- .../client/model/PlaybookTaskResponse.java | 4 +- .../model/PlaybookTaskResponseData.java | 4 +- .../client/model/PostMortemTemplate.java | 63 +- .../client/model/PostMortemTemplateList.java | 39 +- .../model/PostMortemTemplateResponse.java | 4 +- .../model/PostMortemTemplateResponseData.java | 4 +- .../client/model/PostMortemTriggerParams.java | 36 +- .../rootly/client/model/PrintTaskParams.java | 4 +- .../model/PublishIncidentTaskParams.java | 6 +- .../java/com/rootly/client/model/Pulse.java | 18 +- .../com/rootly/client/model/PulseList.java | 39 +- .../rootly/client/model/PulseResponse.java | 4 +- .../client/model/PulseResponseData.java | 4 +- .../client/model/PulseTriggerParams.java | 10 +- .../client/model/RedisClientTaskParams.java | 4 +- ...RemoveGoogleDocsPermissionsTaskParams.java | 4 +- .../client/model/RemoveSubscribers.java | 4 +- .../client/model/RemoveSubscribersData.java | 4 +- .../RemoveSubscribersDataAttributes.java | 4 +- ...RenameMicrosoftTeamsChannelTaskParams.java | 4 +- .../model/RenameSlackChannelTaskParams.java | 4 +- .../com/rootly/client/model/ResolveAlert.java | 4 +- .../rootly/client/model/ResolveAlertData.java | 4 +- .../model/ResolveAlertDataAttributes.java | 4 +- .../rootly/client/model/ResolveIncident.java | 4 +- .../client/model/ResolveIncidentData.java | 4 +- .../model/ResolveIncidentDataAttributes.java | 4 +- .../rootly/client/model/RestartIncident.java | 4 +- .../client/model/RestartIncidentData.java | 4 +- .../model/RetrospectiveConfiguration.java | 10 +- .../model/RetrospectiveConfigurationList.java | 4 +- ...trospectiveConfigurationListDataInner.java | 4 +- .../RetrospectiveConfigurationResponse.java | 4 +- ...etrospectiveConfigurationResponseData.java | 4 +- .../client/model/RetrospectiveProcess.java | 4 +- .../model/RetrospectiveProcessGroup.java | 4 +- .../model/RetrospectiveProcessGroupList.java | 39 +- .../RetrospectiveProcessGroupResponse.java | 4 +- ...RetrospectiveProcessGroupResponseData.java | 4 +- .../model/RetrospectiveProcessGroupStep.java | 4 +- .../RetrospectiveProcessGroupStepList.java | 39 +- ...RetrospectiveProcessGroupStepResponse.java | 4 +- ...ospectiveProcessGroupStepResponseData.java | 4 +- .../model/RetrospectiveProcessList.java | 39 +- .../RetrospectiveProcessListDataInner.java | 4 +- .../model/RetrospectiveProcessResponse.java | 4 +- .../RetrospectiveProcessResponseData.java | 4 +- .../client/model/RetrospectiveStep.java | 4 +- .../client/model/RetrospectiveStepList.java | 39 +- .../model/RetrospectiveStepResponse.java | 4 +- .../model/RetrospectiveStepResponseData.java | 4 +- .../java/com/rootly/client/model/Role.java | 684 +- .../com/rootly/client/model/RoleList.java | 39 +- .../rootly/client/model/RoleRelationship.java | 4 +- .../client/model/RoleRelationshipData.java | 4 +- .../com/rootly/client/model/RoleResponse.java | 4 +- .../rootly/client/model/RoleResponseData.java | 4 +- .../com/rootly/client/model/RotateApiKey.java | 214 + .../rootly/client/model/RotateApiKeyData.java | 297 + .../model/RotateApiKeyDataAttributes.java | 245 + .../model/RunCommandHerokuTaskParams.java | 4 +- .../com/rootly/client/model/Schedule.java | 101 +- .../com/rootly/client/model/ScheduleList.java | 39 +- .../client/model/ScheduleListDataInner.java | 4 +- .../rootly/client/model/ScheduleResponse.java | 4 +- .../client/model/ScheduleResponseData.java | 4 +- .../rootly/client/model/ScheduleRotation.java | 75 +- .../model/ScheduleRotationActiveDay.java | 4 +- .../model/ScheduleRotationActiveDayList.java | 39 +- ...cheduleRotationActiveDayListDataInner.java | 4 +- .../ScheduleRotationActiveDayResponse.java | 4 +- ...ScheduleRotationActiveDayResponseData.java | 4 +- .../client/model/ScheduleRotationList.java | 39 +- .../model/ScheduleRotationResponse.java | 4 +- .../model/ScheduleRotationResponseData.java | 4 +- .../client/model/ScheduleRotationUser.java | 4 +- .../model/ScheduleRotationUserList.java | 39 +- .../ScheduleRotationUserListDataInner.java | 4 +- .../model/ScheduleRotationUserResponse.java | 4 +- .../client/model/ScheduleSlackChannel.java | 236 + .../client/model/ScheduleSlackUserGroup.java | 8 +- .../java/com/rootly/client/model/Secret.java | 4 +- .../com/rootly/client/model/SecretList.java | 40 +- .../rootly/client/model/SecretResponse.java | 4 +- .../client/model/SecretResponseData.java | 4 +- .../model/SendDashboardReportTaskParams.java | 4 +- .../client/model/SendEmailTaskParams.java | 4 +- .../SendMicrosoftTeamsBlocksTaskParams.java | 4 +- ...ndMicrosoftTeamsChatMessageTaskParams.java | 347 + .../SendMicrosoftTeamsMessageTaskParams.java | 4 +- .../model/SendSlackBlocksTaskParams.java | 4 +- .../model/SendSlackMessageTaskParams.java | 4 +- .../client/model/SendSmsTaskParams.java | 4 +- .../model/SendWhatsappMessageTaskParams.java | 4 +- .../java/com/rootly/client/model/Service.java | 310 +- .../model/ServiceAlertBroadcastChannel.java | 236 + .../ServiceIncidentBroadcastChannel.java | 236 + .../com/rootly/client/model/ServiceList.java | 39 +- .../rootly/client/model/ServiceResponse.java | 4 +- .../client/model/ServiceResponseData.java | 4 +- .../com/rootly/client/model/Severity.java | 4 +- .../com/rootly/client/model/SeverityList.java | 39 +- .../rootly/client/model/SeverityResponse.java | 4 +- .../client/model/SeverityResponseData.java | 4 +- .../java/com/rootly/client/model/Shift.java | 77 +- .../com/rootly/client/model/ShiftList.java | 40 +- .../client/model/ShiftListDataInner.java | 40 +- .../rootly/client/model/ShiftOverride.java | 4 +- .../client/model/ShiftOverrideResponse.java | 4 +- .../model/ShiftOverrideResponseData.java | 4 +- .../client/model/ShiftRelationships.java | 272 + .../model/ShiftRelationshipsAssignee.java | 220 + .../model/ShiftRelationshipsAssigneeData.java | 236 + .../ShiftRelationshipsShiftOverride.java | 220 + .../ShiftRelationshipsShiftOverrideData.java | 290 + .../client/model/ShiftRelationshipsUser.java | 220 + .../model/ShiftRelationshipsUserData.java | 290 + .../client/model/SimpleTriggerParams.java | 4 +- .../java/com/rootly/client/model/Sla.java | 936 + .../client/model/SlaConditionsInner.java | 463 + .../java/com/rootly/client/model/SlaList.java | 294 + .../SlaNotificationConfigurationsInner.java | 382 + .../com/rootly/client/model/SlaResponse.java | 214 + .../rootly/client/model/SlaResponseData.java | 328 + .../model/SnapshotDatadogGraphTaskParams.java | 4 +- .../SnapshotGrafanaDashboardTaskParams.java | 4 +- .../model/SnapshotLookerLookTaskParams.java | 4 +- .../SnapshotNewRelicGraphTaskParams.java | 4 +- .../com/rootly/client/model/SnoozeAlert.java | 214 + .../rootly/client/model/SnoozeAlertData.java | 297 + .../model/SnoozeAlertDataAttributes.java | 213 + .../java/com/rootly/client/model/Status.java | 407 + .../com/rootly/client/model/StatusList.java | 294 + .../com/rootly/client/model/StatusPage.java | 468 +- .../rootly/client/model/StatusPageList.java | 39 +- .../client/model/StatusPageResponse.java | 4 +- .../client/model/StatusPageResponseData.java | 4 +- .../client/model/StatusPageTemplate.java | 36 +- .../client/model/StatusPageTemplateList.java | 39 +- .../StatusPageTemplateListDataInner.java | 4 +- .../model/StatusPageTemplateResponse.java | 4 +- .../model/StatusPageTemplateResponseData.java | 4 +- .../rootly/client/model/StatusResponse.java | 214 + .../client/model/StatusResponseData.java | 328 + .../com/rootly/client/model/SubStatus.java | 8 +- .../rootly/client/model/SubStatusList.java | 39 +- .../client/model/SubStatusResponse.java | 4 +- .../client/model/SubStatusResponseData.java | 4 +- .../java/com/rootly/client/model/Team.java | 201 +- .../com/rootly/client/model/TeamList.java | 39 +- .../com/rootly/client/model/TeamResponse.java | 4 +- .../rootly/client/model/TeamResponseData.java | 4 +- .../client/model/TiptapBlockSchema.java | 240 + .../TiptapBlockSchemaFollowupComponent.java | 302 + .../TiptapBlockSchemaTimelineComponent.java | 214 + .../model/TriggerWorkflowTaskParams.java | 4 +- .../model/TweetTwitterMessageTaskParams.java | 4 +- .../client/model/UnassignRoleFromUser.java | 4 +- .../model/UnassignRoleFromUserData.java | 4 +- .../UnassignRoleFromUserDataAttributes.java | 4 +- .../model/UpdateActionItemTaskParams.java | 4 +- .../UpdateAirtableTableRecordTaskParams.java | 4 +- .../com/rootly/client/model/UpdateAlert.java | 4 +- .../rootly/client/model/UpdateAlertData.java | 4 +- .../model/UpdateAlertDataAttributes.java | 102 +- .../rootly/client/model/UpdateAlertEvent.java | 6 +- .../client/model/UpdateAlertEventData.java | 4 +- .../model/UpdateAlertEventDataAttributes.java | 4 +- .../rootly/client/model/UpdateAlertField.java | 214 + .../client/model/UpdateAlertFieldData.java | 297 + .../model/UpdateAlertFieldDataAttributes.java | 206 + .../rootly/client/model/UpdateAlertGroup.java | 4 +- .../client/model/UpdateAlertGroupData.java | 4 +- .../model/UpdateAlertGroupDataAttributes.java | 83 +- .../rootly/client/model/UpdateAlertRoute.java | 214 + .../client/model/UpdateAlertRouteData.java | 297 + .../model/UpdateAlertRouteDataAttributes.java | 364 + .../client/model/UpdateAlertRoutingRule.java | 4 +- .../model/UpdateAlertRoutingRuleData.java | 4 +- .../UpdateAlertRoutingRuleDataAttributes.java | 33 +- ...tingRuleDataAttributesConditionsInner.java | 4 +- ...tRoutingRuleDataAttributesDestination.java | 12 +- .../client/model/UpdateAlertUrgency.java | 4 +- .../client/model/UpdateAlertUrgencyData.java | 4 +- .../UpdateAlertUrgencyDataAttributes.java | 4 +- .../client/model/UpdateAlertsSource.java | 4 +- .../client/model/UpdateAlertsSourceData.java | 4 +- .../UpdateAlertsSourceDataAttributes.java | 245 +- .../com/rootly/client/model/UpdateApiKey.java | 214 + .../rootly/client/model/UpdateApiKeyData.java | 297 + .../model/UpdateApiKeyDataAttributes.java | 276 + .../model/UpdateAsanaTaskTaskParams.java | 4 +- .../model/UpdateAttachedAlertsTaskParams.java | 4 +- .../client/model/UpdateAuthorization.java | 4 +- .../client/model/UpdateAuthorizationData.java | 4 +- .../UpdateAuthorizationDataAttributes.java | 4 +- .../rootly/client/model/UpdateCatalog.java | 4 +- .../model/UpdateCatalogChecklistTemplate.java | 214 + .../UpdateCatalogChecklistTemplateData.java | 297 + ...atalogChecklistTemplateDataAttributes.java | 350 + .../client/model/UpdateCatalogData.java | 4 +- .../model/UpdateCatalogDataAttributes.java | 4 +- .../client/model/UpdateCatalogEntity.java | 4 +- .../client/model/UpdateCatalogEntityData.java | 4 +- .../UpdateCatalogEntityDataAttributes.java | 90 +- .../model/UpdateCatalogEntityProperty.java | 8 +- .../UpdateCatalogEntityPropertyData.java | 4 +- ...teCatalogEntityPropertyDataAttributes.java | 8 +- .../client/model/UpdateCatalogField.java | 4 +- .../client/model/UpdateCatalogFieldData.java | 6 +- .../UpdateCatalogFieldDataAttributes.java | 181 +- .../client/model/UpdateCatalogProperty.java | 214 + .../model/UpdateCatalogPropertyData.java | 297 + .../UpdateCatalogPropertyDataAttributes.java | 502 + .../com/rootly/client/model/UpdateCause.java | 4 +- .../rootly/client/model/UpdateCauseData.java | 4 +- .../model/UpdateCauseDataAttributes.java | 60 +- .../model/UpdateClickupTaskTaskParams.java | 4 +- .../model/UpdateCodaPageTaskParams.java | 4 +- .../model/UpdateCommunicationsGroup.java | 214 + .../model/UpdateCommunicationsGroupData.java | 297 + ...dateCommunicationsGroupDataAttributes.java | 625 + ...ommunicationExternalGroupMembersInner.java | 308 + ...utesCommunicationGroupConditionsInner.java | 507 + .../model/UpdateCommunicationsStage.java | 214 + .../model/UpdateCommunicationsStageData.java | 297 + ...dateCommunicationsStageDataAttributes.java | 275 + .../model/UpdateCommunicationsTemplate.java | 214 + .../UpdateCommunicationsTemplateData.java | 297 + ...eCommunicationsTemplateDataAttributes.java | 357 + ...nicationTemplateStagesAttributesInner.java | 338 + .../model/UpdateCommunicationsType.java | 214 + .../model/UpdateCommunicationsTypeData.java | 297 + ...pdateCommunicationsTypeDataAttributes.java | 305 + .../model/UpdateConfluencePageTaskParams.java | 452 + ...pdateConfluencePageTaskParamsTemplate.java | 236 + .../client/model/UpdateCustomField.java | 4 +- .../client/model/UpdateCustomFieldData.java | 4 +- .../UpdateCustomFieldDataAttributes.java | 36 +- .../client/model/UpdateCustomFieldOption.java | 4 +- .../model/UpdateCustomFieldOptionData.java | 4 +- ...UpdateCustomFieldOptionDataAttributes.java | 4 +- .../rootly/client/model/UpdateCustomForm.java | 4 +- .../client/model/UpdateCustomFormData.java | 4 +- .../model/UpdateCustomFormDataAttributes.java | 36 +- .../rootly/client/model/UpdateDashboard.java | 4 +- .../client/model/UpdateDashboardData.java | 4 +- .../model/UpdateDashboardDataAttributes.java | 4 +- .../client/model/UpdateDashboardPanel.java | 4 +- .../model/UpdateDashboardPanelData.java | 4 +- .../UpdateDashboardPanelDataAttributes.java | 4 +- .../UpdateDatadogNotebookTaskParams.java | 512 + ...dateDatadogNotebookTaskParamsTemplate.java | 236 + .../UpdateDropboxPaperPageTaskParams.java | 388 + .../client/model/UpdateEdgeConnector.java | 214 + .../model/UpdateEdgeConnectorAction.java | 214 + .../UpdateEdgeConnectorActionRequest.java | 208 + ...pdateEdgeConnectorActionRequestAction.java | 319 + .../model/UpdateEdgeConnectorRequest.java | 208 + .../model/UpdateEdgeConnectorRequestData.java | 322 + ...ateEdgeConnectorRequestDataAttributes.java | 363 + .../client/model/UpdateEnvironment.java | 4 +- .../client/model/UpdateEnvironmentData.java | 4 +- .../UpdateEnvironmentDataAttributes.java | 58 +- .../client/model/UpdateEscalationPolicy.java | 4 +- .../model/UpdateEscalationPolicyData.java | 4 +- .../UpdateEscalationPolicyDataAttributes.java | 4 +- .../model/UpdateEscalationPolicyLevel.java | 4 +- .../UpdateEscalationPolicyLevelData.java | 4 +- ...teEscalationPolicyLevelDataAttributes.java | 10 +- ...tributesNotificationTargetParamsInner.java | 4 +- .../model/UpdateEscalationPolicyPath.java | 4 +- .../model/UpdateEscalationPolicyPathData.java | 4 +- ...ateEscalationPolicyPathDataAttributes.java | 950 +- ...ionPolicyPathDataAttributesRulesInner.java | 318 +- ...thDataAttributesTimeRestrictionsInner.java | 428 + .../rootly/client/model/UpdateFormField.java | 4 +- .../client/model/UpdateFormFieldData.java | 4 +- .../model/UpdateFormFieldDataAttributes.java | 48 +- .../client/model/UpdateFormFieldOption.java | 4 +- .../model/UpdateFormFieldOptionData.java | 4 +- .../UpdateFormFieldOptionDataAttributes.java | 10 +- .../model/UpdateFormFieldPlacement.java | 4 +- .../UpdateFormFieldPlacementCondition.java | 4 +- ...UpdateFormFieldPlacementConditionData.java | 4 +- ...FieldPlacementConditionDataAttributes.java | 6 +- .../model/UpdateFormFieldPlacementData.java | 4 +- ...pdateFormFieldPlacementDataAttributes.java | 35 +- .../client/model/UpdateFormFieldPosition.java | 4 +- .../model/UpdateFormFieldPositionData.java | 4 +- ...UpdateFormFieldPositionDataAttributes.java | 4 +- .../rootly/client/model/UpdateFormSet.java | 4 +- .../client/model/UpdateFormSetCondition.java | 4 +- .../model/UpdateFormSetConditionData.java | 4 +- .../UpdateFormSetConditionDataAttributes.java | 4 +- .../client/model/UpdateFormSetData.java | 4 +- .../model/UpdateFormSetDataAttributes.java | 4 +- .../client/model/UpdateFunctionality.java | 4 +- .../client/model/UpdateFunctionalityData.java | 4 +- .../UpdateFunctionalityDataAttributes.java | 164 +- .../model/UpdateGithubIssueTaskParams.java | 207 +- ...UpdateGithubIssueTaskParamsRepository.java | 236 + .../model/UpdateGitlabIssueTaskParams.java | 4 +- .../UpdateGoogleCalendarEventTaskParams.java | 4 +- .../model/UpdateGoogleDocsPageTaskParams.java | 4 +- .../rootly/client/model/UpdateHeartbeat.java | 4 +- .../client/model/UpdateHeartbeatData.java | 4 +- .../model/UpdateHeartbeatDataAttributes.java | 50 +- .../rootly/client/model/UpdateIncident.java | 4 +- .../model/UpdateIncidentActionItem.java | 4 +- .../model/UpdateIncidentActionItemData.java | 4 +- ...pdateIncidentActionItemDataAttributes.java | 36 +- .../UpdateIncidentCustomFieldSelection.java | 4 +- ...pdateIncidentCustomFieldSelectionData.java | 4 +- ...entCustomFieldSelectionDataAttributes.java | 4 +- .../client/model/UpdateIncidentData.java | 4 +- .../model/UpdateIncidentDataAttributes.java | 429 +- .../client/model/UpdateIncidentEvent.java | 4 +- .../client/model/UpdateIncidentEventData.java | 4 +- .../UpdateIncidentEventDataAttributes.java | 4 +- .../UpdateIncidentEventFunctionality.java | 4 +- .../UpdateIncidentEventFunctionalityData.java | 4 +- ...identEventFunctionalityDataAttributes.java | 4 +- .../model/UpdateIncidentEventService.java | 4 +- .../model/UpdateIncidentEventServiceData.java | 4 +- ...ateIncidentEventServiceDataAttributes.java | 4 +- .../client/model/UpdateIncidentFeedback.java | 4 +- .../model/UpdateIncidentFeedbackData.java | 4 +- .../UpdateIncidentFeedbackDataAttributes.java | 4 +- .../UpdateIncidentFormFieldSelection.java | 4 +- .../UpdateIncidentFormFieldSelectionData.java | 4 +- ...identFormFieldSelectionDataAttributes.java | 125 +- .../model/UpdateIncidentPermissionSet.java | 4 +- .../UpdateIncidentPermissionSetBoolean.java | 4 +- ...pdateIncidentPermissionSetBooleanData.java | 4 +- ...entPermissionSetBooleanDataAttributes.java | 4 +- ...etBooleanDataAttributesSeverityParams.java | 4 +- .../UpdateIncidentPermissionSetData.java | 4 +- ...teIncidentPermissionSetDataAttributes.java | 36 +- .../UpdateIncidentPermissionSetResource.java | 4 +- ...dateIncidentPermissionSetResourceData.java | 4 +- ...ntPermissionSetResourceDataAttributes.java | 4 +- .../model/UpdateIncidentPostMortem.java | 4 +- .../model/UpdateIncidentPostMortemData.java | 4 +- ...pdateIncidentPostMortemDataAttributes.java | 6 +- .../UpdateIncidentPostmortemTaskParams.java | 4 +- .../UpdateIncidentRetrospectiveStep.java | 4 +- .../UpdateIncidentRetrospectiveStepData.java | 4 +- ...cidentRetrospectiveStepDataAttributes.java | 4 +- .../client/model/UpdateIncidentRole.java | 4 +- .../client/model/UpdateIncidentRoleData.java | 4 +- .../UpdateIncidentRoleDataAttributes.java | 4 +- .../client/model/UpdateIncidentRoleTask.java | 4 +- .../model/UpdateIncidentRoleTaskData.java | 4 +- .../UpdateIncidentRoleTaskDataAttributes.java | 4 +- .../model/UpdateIncidentStatusPageEvent.java | 4 +- .../UpdateIncidentStatusPageEventData.java | 4 +- ...IncidentStatusPageEventDataAttributes.java | 6 +- ...dateIncidentStatusTimestampTaskParams.java | 4 +- .../client/model/UpdateIncidentSubStatus.java | 4 +- .../model/UpdateIncidentSubStatusData.java | 4 +- ...UpdateIncidentSubStatusDataAttributes.java | 4 +- .../model/UpdateIncidentTaskParams.java | 12 +- .../client/model/UpdateIncidentType.java | 4 +- .../client/model/UpdateIncidentTypeData.java | 4 +- .../UpdateIncidentTypeDataAttributes.java | 58 +- .../model/UpdateJiraIssueTaskParams.java | 38 +- .../model/UpdateLinearIssueTaskParams.java | 28 +- .../UpdateLinearIssueTaskParamsState.java | 236 + .../client/model/UpdateLiveCallRouter.java | 4 +- .../model/UpdateLiveCallRouterData.java | 4 +- .../UpdateLiveCallRouterDataAttributes.java | 219 +- ...tributesEscalationPolicyTriggerParams.java | 12 +- .../model/UpdateMotionTaskTaskParams.java | 4 +- .../model/UpdateNotionPageTaskParams.java | 36 +- .../client/model/UpdateOnCallPayReport.java | 214 + .../model/UpdateOnCallPayReportData.java | 297 + .../UpdateOnCallPayReportDataAttributes.java | 272 + .../rootly/client/model/UpdateOnCallRole.java | 4 +- .../client/model/UpdateOnCallRoleData.java | 4 +- .../model/UpdateOnCallRoleDataAttributes.java | 513 +- .../client/model/UpdateOnCallShadow.java | 4 +- .../client/model/UpdateOnCallShadowData.java | 4 +- .../UpdateOnCallShadowDataAttributes.java | 4 +- .../model/UpdateOpsgenieAlertTaskParams.java | 4 +- .../UpdateOpsgenieIncidentTaskParams.java | 22 +- .../client/model/UpdateOverrideShift.java | 4 +- .../client/model/UpdateOverrideShiftData.java | 4 +- .../UpdateOverrideShiftDataAttributes.java | 4 +- .../UpdatePagerdutyIncidentTaskParams.java | 4 +- .../model/UpdatePagertreeAlertTaskParams.java | 4 +- .../rootly/client/model/UpdatePlaybook.java | 4 +- .../client/model/UpdatePlaybookData.java | 4 +- .../model/UpdatePlaybookDataAttributes.java | 16 +- .../client/model/UpdatePlaybookTask.java | 4 +- .../client/model/UpdatePlaybookTaskData.java | 4 +- .../UpdatePlaybookTaskDataAttributes.java | 4 +- .../model/UpdatePostMortemTemplate.java | 4 +- .../model/UpdatePostMortemTemplateData.java | 4 +- ...pdatePostMortemTemplateDataAttributes.java | 6 +- .../com/rootly/client/model/UpdatePulse.java | 4 +- .../rootly/client/model/UpdatePulseData.java | 4 +- .../model/UpdatePulseDataAttributes.java | 22 +- .../model/UpdateQuipPageTaskParams.java | 418 + .../UpdateRetrospectiveConfiguration.java | 4 +- .../UpdateRetrospectiveConfigurationData.java | 4 +- ...rospectiveConfigurationDataAttributes.java | 10 +- .../model/UpdateRetrospectiveProcess.java | 4 +- .../model/UpdateRetrospectiveProcessData.java | 4 +- ...ateRetrospectiveProcessDataAttributes.java | 4 +- .../UpdateRetrospectiveProcessGroup.java | 4 +- .../UpdateRetrospectiveProcessGroupData.java | 4 +- ...trospectiveProcessGroupDataAttributes.java | 4 +- .../UpdateRetrospectiveProcessGroupStep.java | 4 +- ...dateRetrospectiveProcessGroupStepData.java | 4 +- ...pectiveProcessGroupStepDataAttributes.java | 4 +- .../client/model/UpdateRetrospectiveStep.java | 4 +- .../model/UpdateRetrospectiveStepData.java | 4 +- ...UpdateRetrospectiveStepDataAttributes.java | 4 +- .../com/rootly/client/model/UpdateRole.java | 4 +- .../rootly/client/model/UpdateRoleData.java | 4 +- .../model/UpdateRoleDataAttributes.java | 753 +- .../rootly/client/model/UpdateSchedule.java | 4 +- .../client/model/UpdateScheduleData.java | 4 +- .../model/UpdateScheduleDataAttributes.java | 94 +- .../client/model/UpdateScheduleRotation.java | 4 +- .../UpdateScheduleRotationActiveDay.java | 4 +- .../UpdateScheduleRotationActiveDayData.java | 4 +- ...heduleRotationActiveDayDataAttributes.java | 4 +- .../model/UpdateScheduleRotationData.java | 4 +- .../UpdateScheduleRotationDataAttributes.java | 125 +- .../model/UpdateScheduleRotationUser.java | 4 +- .../model/UpdateScheduleRotationUserData.java | 4 +- ...ateScheduleRotationUserDataAttributes.java | 4 +- .../com/rootly/client/model/UpdateSecret.java | 4 +- .../rootly/client/model/UpdateSecretData.java | 4 +- .../model/UpdateSecretDataAttributes.java | 4 +- .../rootly/client/model/UpdateService.java | 4 +- .../client/model/UpdateServiceData.java | 4 +- .../model/UpdateServiceDataAttributes.java | 312 +- .../UpdateServiceNowIncidentTaskParams.java | 4 +- .../rootly/client/model/UpdateSeverity.java | 4 +- .../client/model/UpdateSeverityData.java | 4 +- .../model/UpdateSeverityDataAttributes.java | 4 +- .../model/UpdateSharepointPageTaskParams.java | 388 + .../model/UpdateShortcutStoryTaskParams.java | 4 +- .../model/UpdateShortcutTaskTaskParams.java | 4 +- .../com/rootly/client/model/UpdateSla.java | 214 + .../rootly/client/model/UpdateSlaData.java | 297 + .../client/model/UpdateSlaDataAttributes.java | 1021 + .../UpdateSlackChannelTopicTaskParams.java | 4 +- .../rootly/client/model/UpdateStatusPage.java | 4 +- .../client/model/UpdateStatusPageData.java | 4 +- .../model/UpdateStatusPageDataAttributes.java | 419 +- .../model/UpdateStatusPageTemplate.java | 4 +- .../model/UpdateStatusPageTemplateData.java | 4 +- ...pdateStatusPageTemplateDataAttributes.java | 38 +- .../client/model/UpdateStatusTaskParams.java | 4 +- .../rootly/client/model/UpdateSubStatus.java | 4 +- .../client/model/UpdateSubStatusData.java | 4 +- .../model/UpdateSubStatusDataAttributes.java | 36 +- .../com/rootly/client/model/UpdateTeam.java | 4 +- .../rootly/client/model/UpdateTeamData.java | 4 +- .../model/UpdateTeamDataAttributes.java | 203 +- .../model/UpdateTrelloCardTaskParams.java | 4 +- .../com/rootly/client/model/UpdateUser.java | 4 +- .../rootly/client/model/UpdateUserData.java | 4 +- .../model/UpdateUserDataAttributes.java | 4 +- .../client/model/UpdateUserEmailAddress.java | 214 + .../model/UpdateUserEmailAddressData.java | 297 + .../UpdateUserEmailAddressDataAttributes.java | 206 + .../model/UpdateUserNotificationRule.java | 4 +- .../model/UpdateUserNotificationRuleData.java | 4 +- ...ateUserNotificationRuleDataAttributes.java | 8 +- .../client/model/UpdateUserPhoneNumber.java | 214 + .../model/UpdateUserPhoneNumberData.java | 297 + .../UpdateUserPhoneNumberDataAttributes.java | 206 + .../UpdateVictorOpsIncidentTaskParams.java | 4 +- .../client/model/UpdateWebhooksEndpoint.java | 4 +- .../model/UpdateWebhooksEndpointData.java | 4 +- .../UpdateWebhooksEndpointDataAttributes.java | 8 +- .../rootly/client/model/UpdateWorkflow.java | 4 +- .../UpdateWorkflowCustomFieldSelection.java | 4 +- ...pdateWorkflowCustomFieldSelectionData.java | 4 +- ...lowCustomFieldSelectionDataAttributes.java | 6 +- .../client/model/UpdateWorkflowData.java | 4 +- .../model/UpdateWorkflowDataAttributes.java | 36 +- .../UpdateWorkflowFormFieldCondition.java | 4 +- .../UpdateWorkflowFormFieldConditionData.java | 4 +- ...kflowFormFieldConditionDataAttributes.java | 127 +- .../client/model/UpdateWorkflowGroup.java | 4 +- .../client/model/UpdateWorkflowGroupData.java | 4 +- .../UpdateWorkflowGroupDataAttributes.java | 4 +- .../client/model/UpdateWorkflowTask.java | 4 +- .../client/model/UpdateWorkflowTaskData.java | 4 +- .../UpdateWorkflowTaskDataAttributes.java | 4 +- ...eWorkflowTaskDataAttributesTaskParams.java | 750 +- .../model/UpdateZendeskTicketTaskParams.java | 4 +- .../java/com/rootly/client/model/User.java | 4 +- .../rootly/client/model/UserEmailAddress.java | 320 + .../client/model/UserEmailAddressList.java | 294 + .../model/UserEmailAddressResponse.java | 214 + .../model/UserEmailAddressResponseData.java | 328 + .../rootly/client/model/UserFlatResponse.java | 466 + .../com/rootly/client/model/UserList.java | 39 +- .../client/model/UserNotificationRule.java | 96 +- .../model/UserNotificationRuleList.java | 39 +- .../model/UserNotificationRuleResponse.java | 4 +- .../UserNotificationRuleResponseData.java | 4 +- .../rootly/client/model/UserPhoneNumber.java | 387 + .../client/model/UserPhoneNumberList.java | 294 + .../client/model/UserPhoneNumberResponse.java | 214 + .../model/UserPhoneNumberResponseData.java | 328 + .../client/model/UserRelationships.java | 4 +- .../com/rootly/client/model/UserResponse.java | 4 +- .../rootly/client/model/UserResponseData.java | 4 +- .../model/VerifyPhoneNumberRequest.java | 214 + .../rootly/client/model/WebhooksDelivery.java | 4 +- .../client/model/WebhooksDeliveryList.java | 40 +- .../model/WebhooksDeliveryResponse.java | 4 +- .../model/WebhooksDeliveryResponseData.java | 4 +- .../rootly/client/model/WebhooksEndpoint.java | 19 +- .../client/model/WebhooksEndpointList.java | 40 +- .../model/WebhooksEndpointResponse.java | 4 +- .../model/WebhooksEndpointResponseData.java | 4 +- .../com/rootly/client/model/Workflow.java | 4 +- .../model/WorkflowCustomFieldSelection.java | 6 +- .../WorkflowCustomFieldSelectionList.java | 39 +- .../WorkflowCustomFieldSelectionResponse.java | 4 +- ...kflowCustomFieldSelectionResponseData.java | 4 +- .../model/WorkflowFormFieldCondition.java | 127 +- .../model/WorkflowFormFieldConditionList.java | 39 +- .../WorkflowFormFieldConditionResponse.java | 4 +- ...orkflowFormFieldConditionResponseData.java | 4 +- .../rootly/client/model/WorkflowGroup.java | 4 +- .../client/model/WorkflowGroupList.java | 39 +- .../client/model/WorkflowGroupResponse.java | 4 +- .../model/WorkflowGroupResponseData.java | 4 +- .../com/rootly/client/model/WorkflowList.java | 39 +- .../rootly/client/model/WorkflowResponse.java | 4 +- .../client/model/WorkflowResponseData.java | 4 +- .../com/rootly/client/model/WorkflowRun.java | 4 +- .../client/model/WorkflowRunResponse.java | 4 +- .../client/model/WorkflowRunResponseData.java | 4 +- .../rootly/client/model/WorkflowRunsList.java | 39 +- .../com/rootly/client/model/WorkflowTask.java | 4 +- .../rootly/client/model/WorkflowTaskList.java | 39 +- .../client/model/WorkflowTaskResponse.java | 4 +- .../model/WorkflowTaskResponseData.java | 4 +- .../rootly/client/api/AlertFieldsApiTest.java | 120 + .../rootly/client/api/AlertRoutesApiTest.java | 130 + .../com/rootly/client/api/ApiKeysApiTest.java | 151 + .../api/CatalogChecklistTemplatesApiTest.java | 135 + .../api/CatalogEntityChecklistsApiTest.java | 74 + .../client/api/CatalogPropertiesApiTest.java | 107 + .../api/CommunicationsGroupsApiTest.java | 121 + .../api/CommunicationsStagesApiTest.java | 118 + .../api/CommunicationsTemplatesApiTest.java | 119 + .../api/CommunicationsTypesApiTest.java | 118 + .../api/EdgeConnectorActionsApiTest.java | 101 + .../client/api/EdgeConnectorsApiTest.java | 99 + .../client/api/MeetingRecordingsApiTest.java | 163 + .../client/api/OnCallPayReportsApiTest.java | 117 + .../com/rootly/client/api/OnCallsApiTest.java | 58 + .../com/rootly/client/api/SlasApiTest.java | 118 + .../rootly/client/api/StatusesApiTest.java | 74 + .../client/api/UserEmailAddressesApiTest.java | 139 + .../client/api/UserPhoneNumbersApiTest.java | 110 + ...ddMicrosoftTeamsChatTabTaskParamsTest.java | 73 + .../model/AlertFieldListDataInnerTest.java | 65 + .../client/model/AlertFieldListTest.java | 69 + .../model/AlertFieldResponseDataTest.java | 65 + .../client/model/AlertFieldResponseTest.java | 49 + .../rootly/client/model/AlertFieldTest.java | 80 + .../model/AlertGroupConditionsInnerTest.java | 116 + ...rtGroupConditionsInnerValuesInnerTest.java | 56 + .../client/model/AlertRouteListTest.java | 69 + .../model/AlertRouteResponseDataTest.java | 65 + .../client/model/AlertRouteResponseTest.java | 49 + .../rootly/client/model/AlertRouteTest.java | 84 + .../AlertRoutingRuleConditionGroupTest.java | 84 + ...nditionGroupsInnerConditionsInnerTest.java | 124 + ...rtRoutingRuleConditionGroupsInnerTest.java | 84 + .../model/AlertRoutingRuleConditionTest.java | 124 + .../model/AlertRoutingRuleTargetTest.java | 57 + ...erParamsAlertFieldConditionsInnerTest.java | 66 + ...tPayloadConditionsConditionsInnerTest.java | 74 + ...iggerParamsAlertPayloadConditionsTest.java | 59 + .../rootly/client/model/ApiKeyListTest.java | 69 + .../client/model/ApiKeyResponseDataTest.java | 65 + .../client/model/ApiKeyResponseTest.java | 49 + .../com/rootly/client/model/ApiKeyTest.java | 121 + ...eyWithTokenResponseDataAttributesTest.java | 129 + .../ApiKeyWithTokenResponseDataTest.java | 65 + .../model/ApiKeyWithTokenResponseTest.java | 49 + .../rootly/client/model/BuiltinFieldTest.java | 56 + ...talogChecklistTemplateFieldsInnerTest.java | 65 + .../CatalogChecklistTemplateListTest.java | 69 + ...talogChecklistTemplateOwnersInnerTest.java | 56 + ...alogChecklistTemplateResponseDataTest.java | 65 + .../CatalogChecklistTemplateResponseTest.java | 49 + .../model/CatalogChecklistTemplateTest.java | 125 + ...hecklistFieldsInnerDataAttributesTest.java | 113 + ...ChecklistChecklistFieldsInnerDataTest.java | 65 + ...tityChecklistChecklistFieldsInnerTest.java | 49 + ...hecklistOwnersInnerDataAttributesTest.java | 72 + ...ChecklistChecklistOwnersInnerDataTest.java | 65 + ...tityChecklistChecklistOwnersInnerTest.java | 49 + .../model/CatalogEntityChecklistListTest.java | 69 + ...atalogEntityChecklistResponseDataTest.java | 65 + .../CatalogEntityChecklistResponseTest.java | 49 + .../model/CatalogEntityChecklistTest.java | 133 + .../client/model/CatalogPropertyListTest.java | 69 + .../CatalogPropertyResponseDataTest.java | 65 + .../model/CatalogPropertyResponseTest.java | 49 + .../client/model/CatalogPropertyTest.java | 129 + ...nicationExternalGroupMembersInnerTest.java | 72 + .../CommunicationsGroupResponseDataTest.java | 65 + .../CommunicationsGroupResponseTest.java | 49 + .../client/model/CommunicationsGroupTest.java | 157 + .../CommunicationsGroupsResponseTest.java | 69 + .../CommunicationsStageResponseDataTest.java | 65 + .../CommunicationsStageResponseTest.java | 49 + .../client/model/CommunicationsStageTest.java | 89 + .../CommunicationsStagesResponseTest.java | 69 + ...rDataAttributesCommunicationStageTest.java | 56 + ...taAttributesCommunicationTemplateTest.java | 56 + ...TemplateStagesInnerDataAttributesTest.java | 107 + ...municationTemplateStagesInnerDataTest.java | 65 + ...eCommunicationTemplateStagesInnerTest.java | 49 + ...icationsTemplateCommunicationTypeTest.java | 56 + ...ommunicationsTemplateResponseDataTest.java | 65 + .../CommunicationsTemplateResponseTest.java | 49 + .../model/CommunicationsTemplateTest.java | 117 + .../CommunicationsTemplatesResponseTest.java | 69 + .../CommunicationsTypeResponseDataTest.java | 65 + .../model/CommunicationsTypeResponseTest.java | 49 + .../client/model/CommunicationsTypeTest.java | 97 + .../CommunicationsTypesResponseTest.java | 69 + ...opicChatCompletionTaskParamsModelTest.java | 56 + ...AnthropicChatCompletionTaskParamsTest.java | 73 + .../CreateCodaPageTaskParamsDocTest.java | 56 + ...uestActionMetadataParametersInnerTest.java | 82 + ...nectorActionRequestActionMetadataTest.java | 67 + ...eEdgeConnectorActionRequestActionTest.java | 65 + .../CreateEdgeConnectorActionRequestTest.java | 49 + ...dgeConnectorRequestDataAttributesTest.java | 74 + .../CreateEdgeConnectorRequestDataTest.java | 57 + .../model/CreateEdgeConnectorRequestTest.java | 49 + ...ateGithubIssueTaskParamsIssueTypeTest.java | 56 + ...miniChatCompletionTaskParamsModelTest.java | 56 + ...gleGeminiChatCompletionTaskParamsTest.java | 73 + .../CreateJsmopsAlertTaskParamsTest.java | 116 + ...ftTeamsChatTaskParamsMembersInnerTest.java | 56 + ...reateMicrosoftTeamsChatTaskParamsTest.java | 76 + ...tralChatCompletionTaskParamsModelTest.java | 56 + ...teMistralChatCompletionTaskParamsTest.java | 98 + ...enaiChatCompletionTaskParamsModelTest.java | 56 + ...ateOpenaiChatCompletionTaskParamsTest.java | 114 + .../CreateSubIncidentTaskParamsTest.java | 64 + ...sonxChatCompletionTaskParamsModelTest.java | 56 + ...teWatsonxChatCompletionTaskParamsTest.java | 81 + ...ertRoute200ResponseDataAttributesTest.java | 48 + .../DeleteAlertRoute200ResponseDataTest.java | 65 + .../DeleteAlertRoute200ResponseTest.java | 49 + ...tionDataAttributesParametersInnerTest.java | 91 + ...EdgeConnectorActionDataAttributesTest.java | 125 + .../model/EdgeConnectorActionDataTest.java | 66 + .../client/model/EdgeConnectorActionTest.java | 49 + .../EdgeConnectorDataAttributesTest.java | 148 + .../client/model/EdgeConnectorDataTest.java | 66 + .../client/model/EdgeConnectorTest.java | 49 + .../EscalateAlertDataAttributesTest.java | 56 + .../client/model/EscalateAlertDataTest.java | 57 + .../client/model/EscalateAlertTest.java | 49 + .../model/GetAlertFieldIdParameterTest.java | 34 + .../client/model/GetTeamIdParameterTest.java | 34 + ...omMeetingGlobalDialInNumbersInnerTest.java | 80 + .../MeetingRecordingListDataInnerTest.java | 65 + .../model/MeetingRecordingListTest.java | 60 + .../client/model/MeetingRecordingTest.java | 139 + .../com/rootly/client/model/MetaTest.java | 89 + ...esAlertFieldValuesAttributesInnerTest.java | 56 + ...ertDataAttributesLabelsInnerValueTest.java | 34 + .../NewAlertFieldDataAttributesTest.java | 48 + .../client/model/NewAlertFieldDataTest.java | 57 + .../client/model/NewAlertFieldTest.java | 49 + ...roupDataAttributesConditionsInnerTest.java | 107 + ...nditionGroupsInnerConditionsInnerTest.java | 108 + ...tesRulesInnerConditionGroupsInnerTest.java | 59 + ...ibutesRulesInnerDestinationsInnerTest.java | 57 + ...lertRouteDataAttributesRulesInnerTest.java | 84 + .../NewAlertRouteDataAttributesTest.java | 84 + .../client/model/NewAlertRouteDataTest.java | 57 + .../client/model/NewAlertRouteTest.java | 49 + ...sAlertSourceFieldsAttributesInnerTest.java | 57 + .../model/NewApiKeyDataAttributesTest.java | 98 + .../client/model/NewApiKeyDataTest.java | 57 + .../rootly/client/model/NewApiKeyTest.java | 49 + ...TemplateDataAttributesFieldsInnerTest.java | 66 + ...TemplateDataAttributesOwnersInnerTest.java | 56 + ...ogChecklistTemplateDataAttributesTest.java | 101 + .../NewCatalogChecklistTemplateDataTest.java | 57 + .../NewCatalogChecklistTemplateTest.java | 49 + ...tityDataAttributesPropertiesInnerTest.java | 56 + .../NewCatalogPropertyDataAttributesTest.java | 97 + .../model/NewCatalogPropertyDataTest.java | 57 + .../client/model/NewCatalogPropertyTest.java | 49 + ...auseDataAttributesPropertiesInnerTest.java | 56 + ...nicationExternalGroupMembersInnerTest.java | 64 + ...CommunicationGroupConditionsInnerTest.java | 91 + ...CommunicationsGroupDataAttributesTest.java | 133 + .../model/NewCommunicationsGroupDataTest.java | 57 + .../model/NewCommunicationsGroupTest.java | 49 + ...CommunicationsStageDataAttributesTest.java | 65 + .../model/NewCommunicationsStageDataTest.java | 57 + .../model/NewCommunicationsStageTest.java | 49 + ...tionTemplateStagesAttributesInnerTest.java | 81 + ...municationsTemplateDataAttributesTest.java | 84 + .../NewCommunicationsTemplateDataTest.java | 57 + .../model/NewCommunicationsTemplateTest.java | 49 + ...wCommunicationsTypeDataAttributesTest.java | 73 + .../model/NewCommunicationsTypeDataTest.java | 57 + .../model/NewCommunicationsTypeTest.java | 49 + ...esParamsDatasetsInnerGroupByOneOfTest.java | 56 + ...ributesParamsDatasetsInnerGroupByTest.java | 57 + ...EdgeConnectorActionActionMetadataTest.java | 76 + .../NewEdgeConnectorActionActionTest.java | 65 + .../model/NewEdgeConnectorActionTest.java | 49 + .../NewEdgeConnectorEdgeConnectorTest.java | 75 + .../client/model/NewEdgeConnectorTest.java | 49 + ...athDataAttributesRulesInnerOneOf1Test.java | 56 + ...athDataAttributesRulesInnerOneOf2Test.java | 83 + ...athDataAttributesRulesInnerOneOf3Test.java | 82 + ...athDataAttributesRulesInnerOneOf4Test.java | 58 + ...athDataAttributesRulesInnerOneOf5Test.java | 67 + ...esRulesInnerOneOf5TimeBlocksInnerTest.java | 129 + ...PathDataAttributesRulesInnerOneOfTest.java | 58 + ...taAttributesTimeRestrictionsInnerTest.java | 72 + ...rDataAttributesPagingTargetsInnerTest.java | 64 + .../NewOnCallPayReportDataAttributesTest.java | 67 + .../model/NewOnCallPayReportDataTest.java | 57 + .../client/model/NewOnCallPayReportTest.java | 49 + ...NewPulseDataAttributesLabelsInnerTest.java | 56 + ...cheduleDataAttributesSlackChannelTest.java | 56 + ...butesScheduleRotationMembersInnerTest.java | 64 + ...taAttributesAlertBroadcastChannelTest.java | 56 + ...ttributesIncidentBroadcastChannelTest.java | 56 + ...wSlaDataAttributesConditionsInnerTest.java | 92 + ...esNotificationConfigurationsInnerTest.java | 56 + .../model/NewSlaDataAttributesTest.java | 174 + .../rootly/client/model/NewSlaDataTest.java | 57 + .../com/rootly/client/model/NewSlaTest.java | 49 + ...NewUserEmailAddressDataAttributesTest.java | 48 + .../model/NewUserEmailAddressDataTest.java | 57 + .../client/model/NewUserEmailAddressTest.java | 49 + .../NewUserPhoneNumberDataAttributesTest.java | 48 + .../model/NewUserPhoneNumberDataTest.java | 57 + .../client/model/NewUserPhoneNumberTest.java | 49 + .../client/model/OnCallPayReportListTest.java | 69 + .../OnCallPayReportResponseDataTest.java | 65 + .../model/OnCallPayReportResponseTest.java | 49 + .../client/model/OnCallPayReportTest.java | 204 + ...eJsmopsOnCallRespondersTaskParamsTest.java | 100 + ...nditionGroupsInnerConditionsInnerTest.java | 124 + ...tesRulesInnerConditionGroupsInnerTest.java | 76 + ...ibutesRulesInnerDestinationsInnerTest.java | 73 + ...lertRouteDataAttributesRulesInnerTest.java | 101 + .../PatchAlertRouteDataAttributesTest.java | 84 + .../client/model/PatchAlertRouteDataTest.java | 57 + .../client/model/PatchAlertRouteTest.java | 49 + .../model/PhoneVerificationResponseTest.java | 56 + .../model/RotateApiKeyDataAttributesTest.java | 58 + .../client/model/RotateApiKeyDataTest.java | 57 + .../rootly/client/model/RotateApiKeyTest.java | 49 + .../model/ScheduleSlackChannelTest.java | 56 + ...crosoftTeamsChatMessageTaskParamsTest.java | 67 + .../ServiceAlertBroadcastChannelTest.java | 56 + .../ServiceIncidentBroadcastChannelTest.java | 56 + .../ShiftRelationshipsAssigneeDataTest.java | 56 + .../model/ShiftRelationshipsAssigneeTest.java | 50 + ...iftRelationshipsShiftOverrideDataTest.java | 56 + .../ShiftRelationshipsShiftOverrideTest.java | 50 + .../client/model/ShiftRelationshipsTest.java | 67 + .../model/ShiftRelationshipsUserDataTest.java | 56 + .../model/ShiftRelationshipsUserTest.java | 50 + .../client/model/SlaConditionsInnerTest.java | 100 + .../com/rootly/client/model/SlaListTest.java | 69 + ...laNotificationConfigurationsInnerTest.java | 81 + .../client/model/SlaResponseDataTest.java | 65 + .../rootly/client/model/SlaResponseTest.java | 49 + .../java/com/rootly/client/model/SlaTest.java | 206 + .../model/SnoozeAlertDataAttributesTest.java | 48 + .../client/model/SnoozeAlertDataTest.java | 57 + .../rootly/client/model/SnoozeAlertTest.java | 49 + .../rootly/client/model/StatusListTest.java | 69 + .../client/model/StatusResponseDataTest.java | 65 + .../client/model/StatusResponseTest.java | 49 + .../com/rootly/client/model/StatusTest.java | 97 + ...iptapBlockSchemaFollowupComponentTest.java | 56 + .../client/model/TiptapBlockSchemaTest.java | 58 + ...iptapBlockSchemaTimelineComponentTest.java | 48 + .../UpdateAlertFieldDataAttributesTest.java | 48 + .../model/UpdateAlertFieldDataTest.java | 57 + .../client/model/UpdateAlertFieldTest.java | 49 + .../UpdateAlertRouteDataAttributesTest.java | 84 + .../model/UpdateAlertRouteDataTest.java | 57 + .../client/model/UpdateAlertRouteTest.java | 49 + .../model/UpdateApiKeyDataAttributesTest.java | 66 + .../client/model/UpdateApiKeyDataTest.java | 57 + .../rootly/client/model/UpdateApiKeyTest.java | 49 + ...ogChecklistTemplateDataAttributesTest.java | 77 + ...pdateCatalogChecklistTemplateDataTest.java | 57 + .../UpdateCatalogChecklistTemplateTest.java | 49 + ...dateCatalogPropertyDataAttributesTest.java | 89 + .../model/UpdateCatalogPropertyDataTest.java | 57 + .../model/UpdateCatalogPropertyTest.java | 49 + ...nicationExternalGroupMembersInnerTest.java | 73 + ...CommunicationGroupConditionsInnerTest.java | 99 + ...CommunicationsGroupDataAttributesTest.java | 133 + .../UpdateCommunicationsGroupDataTest.java | 57 + .../model/UpdateCommunicationsGroupTest.java | 49 + ...CommunicationsStageDataAttributesTest.java | 65 + .../UpdateCommunicationsStageDataTest.java | 57 + .../model/UpdateCommunicationsStageTest.java | 49 + ...tionTemplateStagesAttributesInnerTest.java | 81 + ...municationsTemplateDataAttributesTest.java | 84 + .../UpdateCommunicationsTemplateDataTest.java | 57 + .../UpdateCommunicationsTemplateTest.java | 49 + ...eCommunicationsTypeDataAttributesTest.java | 73 + .../UpdateCommunicationsTypeDataTest.java | 57 + .../model/UpdateCommunicationsTypeTest.java | 49 + ...eConfluencePageTaskParamsTemplateTest.java | 56 + .../UpdateConfluencePageTaskParamsTest.java | 98 + ...DatadogNotebookTaskParamsTemplateTest.java | 56 + .../UpdateDatadogNotebookTaskParamsTest.java | 97 + .../UpdateDropboxPaperPageTaskParamsTest.java | 80 + ...eEdgeConnectorActionRequestActionTest.java | 64 + .../UpdateEdgeConnectorActionRequestTest.java | 49 + .../model/UpdateEdgeConnectorActionTest.java | 49 + ...dgeConnectorRequestDataAttributesTest.java | 74 + .../UpdateEdgeConnectorRequestDataTest.java | 65 + .../model/UpdateEdgeConnectorRequestTest.java | 49 + .../client/model/UpdateEdgeConnectorTest.java | 49 + ...taAttributesTimeRestrictionsInnerTest.java | 72 + ...teGithubIssueTaskParamsRepositoryTest.java | 56 + .../UpdateLinearIssueTaskParamsStateTest.java | 56 + ...dateOnCallPayReportDataAttributesTest.java | 67 + .../model/UpdateOnCallPayReportDataTest.java | 57 + .../model/UpdateOnCallPayReportTest.java | 49 + .../model/UpdateQuipPageTaskParamsTest.java | 88 + .../UpdateSharepointPageTaskParamsTest.java | 80 + .../model/UpdateSlaDataAttributesTest.java | 174 + .../client/model/UpdateSlaDataTest.java | 57 + .../rootly/client/model/UpdateSlaTest.java | 49 + ...ateUserEmailAddressDataAttributesTest.java | 48 + .../model/UpdateUserEmailAddressDataTest.java | 57 + .../model/UpdateUserEmailAddressTest.java | 49 + ...dateUserPhoneNumberDataAttributesTest.java | 48 + .../model/UpdateUserPhoneNumberDataTest.java | 57 + .../model/UpdateUserPhoneNumberTest.java | 49 + .../model/UserEmailAddressListTest.java | 69 + .../UserEmailAddressResponseDataTest.java | 65 + .../model/UserEmailAddressResponseTest.java | 49 + .../client/model/UserEmailAddressTest.java | 80 + .../client/model/UserFlatResponseTest.java | 113 + .../client/model/UserPhoneNumberListTest.java | 69 + .../UserPhoneNumberResponseDataTest.java | 65 + .../model/UserPhoneNumberResponseTest.java | 49 + .../client/model/UserPhoneNumberTest.java | 98 + .../model/VerifyPhoneNumberRequestTest.java | 48 + 2458 files changed, 222741 insertions(+), 42545 deletions(-) create mode 100644 docs/AddMicrosoftTeamsChatTabTaskParams.md create mode 100644 docs/AlertField.md create mode 100644 docs/AlertFieldList.md create mode 100644 docs/AlertFieldListDataInner.md create mode 100644 docs/AlertFieldResponse.md create mode 100644 docs/AlertFieldResponseData.md create mode 100644 docs/AlertFieldsApi.md create mode 100644 docs/AlertGroupConditionsInner.md create mode 100644 docs/AlertGroupConditionsInnerValuesInner.md create mode 100644 docs/AlertRoute.md create mode 100644 docs/AlertRouteList.md create mode 100644 docs/AlertRouteResponse.md create mode 100644 docs/AlertRouteResponseData.md create mode 100644 docs/AlertRoutesApi.md create mode 100644 docs/AlertRoutingRuleCondition.md create mode 100644 docs/AlertRoutingRuleConditionGroup.md create mode 100644 docs/AlertRoutingRuleConditionGroupsInner.md create mode 100644 docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md create mode 100644 docs/AlertRoutingRuleTarget.md create mode 100644 docs/AlertTriggerParamsAlertFieldConditionsInner.md create mode 100644 docs/AlertTriggerParamsAlertPayloadConditions.md create mode 100644 docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md create mode 100644 docs/ApiKey.md create mode 100644 docs/ApiKeyList.md create mode 100644 docs/ApiKeyResponse.md create mode 100644 docs/ApiKeyResponseData.md create mode 100644 docs/ApiKeyWithTokenResponse.md create mode 100644 docs/ApiKeyWithTokenResponseData.md create mode 100644 docs/ApiKeyWithTokenResponseDataAttributes.md create mode 100644 docs/ApiKeysApi.md create mode 100644 docs/BuiltinField.md create mode 100644 docs/CatalogChecklistTemplate.md create mode 100644 docs/CatalogChecklistTemplateFieldsInner.md create mode 100644 docs/CatalogChecklistTemplateList.md create mode 100644 docs/CatalogChecklistTemplateOwnersInner.md create mode 100644 docs/CatalogChecklistTemplateResponse.md create mode 100644 docs/CatalogChecklistTemplateResponseData.md create mode 100644 docs/CatalogChecklistTemplatesApi.md create mode 100644 docs/CatalogEntityChecklist.md create mode 100644 docs/CatalogEntityChecklistChecklistFieldsInner.md create mode 100644 docs/CatalogEntityChecklistChecklistFieldsInnerData.md create mode 100644 docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md create mode 100644 docs/CatalogEntityChecklistChecklistOwnersInner.md create mode 100644 docs/CatalogEntityChecklistChecklistOwnersInnerData.md create mode 100644 docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md create mode 100644 docs/CatalogEntityChecklistList.md create mode 100644 docs/CatalogEntityChecklistResponse.md create mode 100644 docs/CatalogEntityChecklistResponseData.md create mode 100644 docs/CatalogEntityChecklistsApi.md create mode 100644 docs/CatalogPropertiesApi.md create mode 100644 docs/CatalogProperty.md create mode 100644 docs/CatalogPropertyList.md create mode 100644 docs/CatalogPropertyResponse.md create mode 100644 docs/CatalogPropertyResponseData.md create mode 100644 docs/CommunicationsGroup.md create mode 100644 docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md create mode 100644 docs/CommunicationsGroupResponse.md create mode 100644 docs/CommunicationsGroupResponseData.md create mode 100644 docs/CommunicationsGroupsApi.md create mode 100644 docs/CommunicationsGroupsResponse.md create mode 100644 docs/CommunicationsStage.md create mode 100644 docs/CommunicationsStageResponse.md create mode 100644 docs/CommunicationsStageResponseData.md create mode 100644 docs/CommunicationsStagesApi.md create mode 100644 docs/CommunicationsStagesResponse.md create mode 100644 docs/CommunicationsTemplate.md create mode 100644 docs/CommunicationsTemplateCommunicationTemplateStagesInner.md create mode 100644 docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md create mode 100644 docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md create mode 100644 docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md create mode 100644 docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md create mode 100644 docs/CommunicationsTemplateCommunicationType.md create mode 100644 docs/CommunicationsTemplateResponse.md create mode 100644 docs/CommunicationsTemplateResponseData.md create mode 100644 docs/CommunicationsTemplatesApi.md create mode 100644 docs/CommunicationsTemplatesResponse.md create mode 100644 docs/CommunicationsType.md create mode 100644 docs/CommunicationsTypeResponse.md create mode 100644 docs/CommunicationsTypeResponseData.md create mode 100644 docs/CommunicationsTypesApi.md create mode 100644 docs/CommunicationsTypesResponse.md create mode 100644 docs/CreateAnthropicChatCompletionTaskParams.md create mode 100644 docs/CreateAnthropicChatCompletionTaskParamsModel.md create mode 100644 docs/CreateCodaPageTaskParamsDoc.md create mode 100644 docs/CreateEdgeConnectorActionRequest.md create mode 100644 docs/CreateEdgeConnectorActionRequestAction.md create mode 100644 docs/CreateEdgeConnectorActionRequestActionMetadata.md create mode 100644 docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md create mode 100644 docs/CreateEdgeConnectorRequest.md create mode 100644 docs/CreateEdgeConnectorRequestData.md create mode 100644 docs/CreateEdgeConnectorRequestDataAttributes.md create mode 100644 docs/CreateGithubIssueTaskParamsIssueType.md create mode 100644 docs/CreateGoogleGeminiChatCompletionTaskParams.md create mode 100644 docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md create mode 100644 docs/CreateJsmopsAlertTaskParams.md create mode 100644 docs/CreateMicrosoftTeamsChatTaskParams.md create mode 100644 docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md create mode 100644 docs/CreateMistralChatCompletionTaskParams.md create mode 100644 docs/CreateMistralChatCompletionTaskParamsModel.md create mode 100644 docs/CreateOpenaiChatCompletionTaskParams.md create mode 100644 docs/CreateOpenaiChatCompletionTaskParamsModel.md create mode 100644 docs/CreateSubIncidentTaskParams.md create mode 100644 docs/CreateWatsonxChatCompletionTaskParams.md create mode 100644 docs/CreateWatsonxChatCompletionTaskParamsModel.md create mode 100644 docs/DeleteAlertRoute200Response.md create mode 100644 docs/DeleteAlertRoute200ResponseData.md create mode 100644 docs/DeleteAlertRoute200ResponseDataAttributes.md create mode 100644 docs/EdgeConnector.md create mode 100644 docs/EdgeConnectorAction.md create mode 100644 docs/EdgeConnectorActionData.md create mode 100644 docs/EdgeConnectorActionDataAttributes.md create mode 100644 docs/EdgeConnectorActionDataAttributesParametersInner.md create mode 100644 docs/EdgeConnectorActionsApi.md create mode 100644 docs/EdgeConnectorData.md create mode 100644 docs/EdgeConnectorDataAttributes.md create mode 100644 docs/EdgeConnectorsApi.md create mode 100644 docs/EscalateAlert.md create mode 100644 docs/EscalateAlertData.md create mode 100644 docs/EscalateAlertDataAttributes.md create mode 100644 docs/GetAlertFieldIdParameter.md create mode 100644 docs/GetTeamIdParameter.md create mode 100644 docs/IncidentZoomMeetingGlobalDialInNumbersInner.md create mode 100644 docs/MeetingRecording.md create mode 100644 docs/MeetingRecordingList.md create mode 100644 docs/MeetingRecordingListDataInner.md create mode 100644 docs/MeetingRecordingsApi.md create mode 100644 docs/Meta.md create mode 100644 docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md create mode 100644 docs/NewAlertDataAttributesLabelsInnerValue.md create mode 100644 docs/NewAlertField.md create mode 100644 docs/NewAlertFieldData.md create mode 100644 docs/NewAlertFieldDataAttributes.md create mode 100644 docs/NewAlertGroupDataAttributesConditionsInner.md create mode 100644 docs/NewAlertRoute.md create mode 100644 docs/NewAlertRouteData.md create mode 100644 docs/NewAlertRouteDataAttributes.md create mode 100644 docs/NewAlertRouteDataAttributesRulesInner.md create mode 100644 docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md create mode 100644 docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md create mode 100644 docs/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md create mode 100644 docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md create mode 100644 docs/NewApiKey.md create mode 100644 docs/NewApiKeyData.md create mode 100644 docs/NewApiKeyDataAttributes.md create mode 100644 docs/NewCatalogChecklistTemplate.md create mode 100644 docs/NewCatalogChecklistTemplateData.md create mode 100644 docs/NewCatalogChecklistTemplateDataAttributes.md create mode 100644 docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md create mode 100644 docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md create mode 100644 docs/NewCatalogEntityDataAttributesPropertiesInner.md create mode 100644 docs/NewCatalogProperty.md create mode 100644 docs/NewCatalogPropertyData.md create mode 100644 docs/NewCatalogPropertyDataAttributes.md create mode 100644 docs/NewCauseDataAttributesPropertiesInner.md create mode 100644 docs/NewCommunicationsGroup.md create mode 100644 docs/NewCommunicationsGroupData.md create mode 100644 docs/NewCommunicationsGroupDataAttributes.md create mode 100644 docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md create mode 100644 docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md create mode 100644 docs/NewCommunicationsStage.md create mode 100644 docs/NewCommunicationsStageData.md create mode 100644 docs/NewCommunicationsStageDataAttributes.md create mode 100644 docs/NewCommunicationsTemplate.md create mode 100644 docs/NewCommunicationsTemplateData.md create mode 100644 docs/NewCommunicationsTemplateDataAttributes.md create mode 100644 docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md create mode 100644 docs/NewCommunicationsType.md create mode 100644 docs/NewCommunicationsTypeData.md create mode 100644 docs/NewCommunicationsTypeDataAttributes.md create mode 100644 docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md create mode 100644 docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md create mode 100644 docs/NewEdgeConnector.md create mode 100644 docs/NewEdgeConnectorAction.md create mode 100644 docs/NewEdgeConnectorActionAction.md create mode 100644 docs/NewEdgeConnectorActionActionMetadata.md create mode 100644 docs/NewEdgeConnectorEdgeConnector.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md create mode 100644 docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md create mode 100644 docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md create mode 100644 docs/NewOnCallPayReport.md create mode 100644 docs/NewOnCallPayReportData.md create mode 100644 docs/NewOnCallPayReportDataAttributes.md create mode 100644 docs/NewPulseDataAttributesLabelsInner.md create mode 100644 docs/NewScheduleDataAttributesSlackChannel.md create mode 100644 docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md create mode 100644 docs/NewServiceDataAttributesAlertBroadcastChannel.md create mode 100644 docs/NewServiceDataAttributesIncidentBroadcastChannel.md create mode 100644 docs/NewSla.md create mode 100644 docs/NewSlaData.md create mode 100644 docs/NewSlaDataAttributes.md create mode 100644 docs/NewSlaDataAttributesConditionsInner.md create mode 100644 docs/NewSlaDataAttributesNotificationConfigurationsInner.md create mode 100644 docs/NewUserEmailAddress.md create mode 100644 docs/NewUserEmailAddressData.md create mode 100644 docs/NewUserEmailAddressDataAttributes.md create mode 100644 docs/NewUserPhoneNumber.md create mode 100644 docs/NewUserPhoneNumberData.md create mode 100644 docs/NewUserPhoneNumberDataAttributes.md create mode 100644 docs/OnCallPayReport.md create mode 100644 docs/OnCallPayReportList.md create mode 100644 docs/OnCallPayReportResponse.md create mode 100644 docs/OnCallPayReportResponseData.md create mode 100644 docs/OnCallPayReportsApi.md create mode 100644 docs/OnCallsApi.md create mode 100644 docs/PageJsmopsOnCallRespondersTaskParams.md create mode 100644 docs/PatchAlertRoute.md create mode 100644 docs/PatchAlertRouteData.md create mode 100644 docs/PatchAlertRouteDataAttributes.md create mode 100644 docs/PatchAlertRouteDataAttributesRulesInner.md create mode 100644 docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md create mode 100644 docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md create mode 100644 docs/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md create mode 100644 docs/PhoneVerificationResponse.md create mode 100644 docs/RotateApiKey.md create mode 100644 docs/RotateApiKeyData.md create mode 100644 docs/RotateApiKeyDataAttributes.md create mode 100644 docs/ScheduleSlackChannel.md create mode 100644 docs/SendMicrosoftTeamsChatMessageTaskParams.md create mode 100644 docs/ServiceAlertBroadcastChannel.md create mode 100644 docs/ServiceIncidentBroadcastChannel.md create mode 100644 docs/ShiftRelationships.md create mode 100644 docs/ShiftRelationshipsAssignee.md create mode 100644 docs/ShiftRelationshipsAssigneeData.md create mode 100644 docs/ShiftRelationshipsShiftOverride.md create mode 100644 docs/ShiftRelationshipsShiftOverrideData.md create mode 100644 docs/ShiftRelationshipsUser.md create mode 100644 docs/ShiftRelationshipsUserData.md create mode 100644 docs/Sla.md create mode 100644 docs/SlaConditionsInner.md create mode 100644 docs/SlaList.md create mode 100644 docs/SlaNotificationConfigurationsInner.md create mode 100644 docs/SlaResponse.md create mode 100644 docs/SlaResponseData.md create mode 100644 docs/SlasApi.md create mode 100644 docs/SnoozeAlert.md create mode 100644 docs/SnoozeAlertData.md create mode 100644 docs/SnoozeAlertDataAttributes.md create mode 100644 docs/Status.md create mode 100644 docs/StatusList.md create mode 100644 docs/StatusResponse.md create mode 100644 docs/StatusResponseData.md create mode 100644 docs/StatusesApi.md create mode 100644 docs/TiptapBlockSchema.md create mode 100644 docs/TiptapBlockSchemaFollowupComponent.md create mode 100644 docs/TiptapBlockSchemaTimelineComponent.md create mode 100644 docs/UpdateAlertField.md create mode 100644 docs/UpdateAlertFieldData.md create mode 100644 docs/UpdateAlertFieldDataAttributes.md create mode 100644 docs/UpdateAlertRoute.md create mode 100644 docs/UpdateAlertRouteData.md create mode 100644 docs/UpdateAlertRouteDataAttributes.md create mode 100644 docs/UpdateApiKey.md create mode 100644 docs/UpdateApiKeyData.md create mode 100644 docs/UpdateApiKeyDataAttributes.md create mode 100644 docs/UpdateCatalogChecklistTemplate.md create mode 100644 docs/UpdateCatalogChecklistTemplateData.md create mode 100644 docs/UpdateCatalogChecklistTemplateDataAttributes.md create mode 100644 docs/UpdateCatalogProperty.md create mode 100644 docs/UpdateCatalogPropertyData.md create mode 100644 docs/UpdateCatalogPropertyDataAttributes.md create mode 100644 docs/UpdateCommunicationsGroup.md create mode 100644 docs/UpdateCommunicationsGroupData.md create mode 100644 docs/UpdateCommunicationsGroupDataAttributes.md create mode 100644 docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md create mode 100644 docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md create mode 100644 docs/UpdateCommunicationsStage.md create mode 100644 docs/UpdateCommunicationsStageData.md create mode 100644 docs/UpdateCommunicationsStageDataAttributes.md create mode 100644 docs/UpdateCommunicationsTemplate.md create mode 100644 docs/UpdateCommunicationsTemplateData.md create mode 100644 docs/UpdateCommunicationsTemplateDataAttributes.md create mode 100644 docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md create mode 100644 docs/UpdateCommunicationsType.md create mode 100644 docs/UpdateCommunicationsTypeData.md create mode 100644 docs/UpdateCommunicationsTypeDataAttributes.md create mode 100644 docs/UpdateConfluencePageTaskParams.md create mode 100644 docs/UpdateConfluencePageTaskParamsTemplate.md create mode 100644 docs/UpdateDatadogNotebookTaskParams.md create mode 100644 docs/UpdateDatadogNotebookTaskParamsTemplate.md create mode 100644 docs/UpdateDropboxPaperPageTaskParams.md create mode 100644 docs/UpdateEdgeConnector.md create mode 100644 docs/UpdateEdgeConnectorAction.md create mode 100644 docs/UpdateEdgeConnectorActionRequest.md create mode 100644 docs/UpdateEdgeConnectorActionRequestAction.md create mode 100644 docs/UpdateEdgeConnectorRequest.md create mode 100644 docs/UpdateEdgeConnectorRequestData.md create mode 100644 docs/UpdateEdgeConnectorRequestDataAttributes.md create mode 100644 docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md create mode 100644 docs/UpdateGithubIssueTaskParamsRepository.md create mode 100644 docs/UpdateLinearIssueTaskParamsState.md create mode 100644 docs/UpdateOnCallPayReport.md create mode 100644 docs/UpdateOnCallPayReportData.md create mode 100644 docs/UpdateOnCallPayReportDataAttributes.md create mode 100644 docs/UpdateQuipPageTaskParams.md create mode 100644 docs/UpdateSharepointPageTaskParams.md create mode 100644 docs/UpdateSla.md create mode 100644 docs/UpdateSlaData.md create mode 100644 docs/UpdateSlaDataAttributes.md create mode 100644 docs/UpdateUserEmailAddress.md create mode 100644 docs/UpdateUserEmailAddressData.md create mode 100644 docs/UpdateUserEmailAddressDataAttributes.md create mode 100644 docs/UpdateUserPhoneNumber.md create mode 100644 docs/UpdateUserPhoneNumberData.md create mode 100644 docs/UpdateUserPhoneNumberDataAttributes.md create mode 100644 docs/UserEmailAddress.md create mode 100644 docs/UserEmailAddressList.md create mode 100644 docs/UserEmailAddressResponse.md create mode 100644 docs/UserEmailAddressResponseData.md create mode 100644 docs/UserEmailAddressesApi.md create mode 100644 docs/UserFlatResponse.md create mode 100644 docs/UserPhoneNumber.md create mode 100644 docs/UserPhoneNumberList.md create mode 100644 docs/UserPhoneNumberResponse.md create mode 100644 docs/UserPhoneNumberResponseData.md create mode 100644 docs/UserPhoneNumbersApi.md create mode 100644 docs/VerifyPhoneNumberRequest.md create mode 100644 src/main/java/com/rootly/client/api/AlertFieldsApi.java create mode 100644 src/main/java/com/rootly/client/api/AlertRoutesApi.java create mode 100644 src/main/java/com/rootly/client/api/ApiKeysApi.java create mode 100644 src/main/java/com/rootly/client/api/CatalogChecklistTemplatesApi.java create mode 100644 src/main/java/com/rootly/client/api/CatalogEntityChecklistsApi.java create mode 100644 src/main/java/com/rootly/client/api/CatalogPropertiesApi.java create mode 100644 src/main/java/com/rootly/client/api/CommunicationsGroupsApi.java create mode 100644 src/main/java/com/rootly/client/api/CommunicationsStagesApi.java create mode 100644 src/main/java/com/rootly/client/api/CommunicationsTemplatesApi.java create mode 100644 src/main/java/com/rootly/client/api/CommunicationsTypesApi.java create mode 100644 src/main/java/com/rootly/client/api/EdgeConnectorActionsApi.java create mode 100644 src/main/java/com/rootly/client/api/EdgeConnectorsApi.java create mode 100644 src/main/java/com/rootly/client/api/MeetingRecordingsApi.java create mode 100644 src/main/java/com/rootly/client/api/OnCallPayReportsApi.java create mode 100644 src/main/java/com/rootly/client/api/OnCallsApi.java create mode 100644 src/main/java/com/rootly/client/api/SlasApi.java create mode 100644 src/main/java/com/rootly/client/api/StatusesApi.java create mode 100644 src/main/java/com/rootly/client/api/UserEmailAddressesApi.java create mode 100644 src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java create mode 100644 src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/AlertField.java create mode 100644 src/main/java/com/rootly/client/model/AlertFieldList.java create mode 100644 src/main/java/com/rootly/client/model/AlertFieldListDataInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertFieldResponse.java create mode 100644 src/main/java/com/rootly/client/model/AlertFieldResponseData.java create mode 100644 src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoute.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteList.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteResponse.java create mode 100644 src/main/java/com/rootly/client/model/AlertRouteResponseData.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.java create mode 100644 src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java create mode 100644 src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/ApiKey.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyList.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyResponse.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyResponseData.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java create mode 100644 src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/BuiltinField.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java create mode 100644 src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklist.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java create mode 100644 src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CatalogProperty.java create mode 100644 src/main/java/com/rootly/client/model/CatalogPropertyList.java create mode 100644 src/main/java/com/rootly/client/model/CatalogPropertyResponse.java create mode 100644 src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroup.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsStage.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsStageResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplate.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsType.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java create mode 100644 src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java create mode 100644 src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java create mode 100644 src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java create mode 100644 src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java create mode 100644 src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java create mode 100644 src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java create mode 100644 src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java create mode 100644 src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java create mode 100644 src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java create mode 100644 src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java create mode 100644 src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java create mode 100644 src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnector.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorAction.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorActionData.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorData.java create mode 100644 src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/EscalateAlert.java create mode 100644 src/main/java/com/rootly/client/model/EscalateAlertData.java create mode 100644 src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java create mode 100644 src/main/java/com/rootly/client/model/GetTeamIdParameter.java create mode 100644 src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java create mode 100644 src/main/java/com/rootly/client/model/MeetingRecording.java create mode 100644 src/main/java/com/rootly/client/model/MeetingRecordingList.java create mode 100644 src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java create mode 100644 src/main/java/com/rootly/client/model/Meta.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertField.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertFieldData.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRoute.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteData.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewApiKey.java create mode 100644 src/main/java/com/rootly/client/model/NewApiKeyData.java create mode 100644 src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogProperty.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogPropertyData.java create mode 100644 src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsGroup.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsStage.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsStageData.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsType.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java create mode 100644 src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java create mode 100644 src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java create mode 100644 src/main/java/com/rootly/client/model/NewEdgeConnector.java create mode 100644 src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java create mode 100644 src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java create mode 100644 src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java create mode 100644 src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java create mode 100644 src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewOnCallPayReport.java create mode 100644 src/main/java/com/rootly/client/model/NewOnCallPayReportData.java create mode 100644 src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java create mode 100644 src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java create mode 100644 src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java create mode 100644 src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java create mode 100644 src/main/java/com/rootly/client/model/NewSla.java create mode 100644 src/main/java/com/rootly/client/model/NewSlaData.java create mode 100644 src/main/java/com/rootly/client/model/NewSlaDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java create mode 100644 src/main/java/com/rootly/client/model/NewUserEmailAddress.java create mode 100644 src/main/java/com/rootly/client/model/NewUserEmailAddressData.java create mode 100644 src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/NewUserPhoneNumber.java create mode 100644 src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java create mode 100644 src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/OnCallPayReport.java create mode 100644 src/main/java/com/rootly/client/model/OnCallPayReportList.java create mode 100644 src/main/java/com/rootly/client/model/OnCallPayReportResponse.java create mode 100644 src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java create mode 100644 src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRoute.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteData.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java create mode 100644 src/main/java/com/rootly/client/model/PhoneVerificationResponse.java create mode 100644 src/main/java/com/rootly/client/model/RotateApiKey.java create mode 100644 src/main/java/com/rootly/client/model/RotateApiKeyData.java create mode 100644 src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/ScheduleSlackChannel.java create mode 100644 src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java create mode 100644 src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationships.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java create mode 100644 src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java create mode 100644 src/main/java/com/rootly/client/model/Sla.java create mode 100644 src/main/java/com/rootly/client/model/SlaConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/SlaList.java create mode 100644 src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java create mode 100644 src/main/java/com/rootly/client/model/SlaResponse.java create mode 100644 src/main/java/com/rootly/client/model/SlaResponseData.java create mode 100644 src/main/java/com/rootly/client/model/SnoozeAlert.java create mode 100644 src/main/java/com/rootly/client/model/SnoozeAlertData.java create mode 100644 src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/Status.java create mode 100644 src/main/java/com/rootly/client/model/StatusList.java create mode 100644 src/main/java/com/rootly/client/model/StatusResponse.java create mode 100644 src/main/java/com/rootly/client/model/StatusResponseData.java create mode 100644 src/main/java/com/rootly/client/model/TiptapBlockSchema.java create mode 100644 src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java create mode 100644 src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertField.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertFieldData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertRoute.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertRouteData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateApiKey.java create mode 100644 src/main/java/com/rootly/client/model/UpdateApiKeyData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogProperty.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsType.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java create mode 100644 src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java create mode 100644 src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnector.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java create mode 100644 src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java create mode 100644 src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java create mode 100644 src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java create mode 100644 src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java create mode 100644 src/main/java/com/rootly/client/model/UpdateSla.java create mode 100644 src/main/java/com/rootly/client/model/UpdateSlaData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java create mode 100644 src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java create mode 100644 src/main/java/com/rootly/client/model/UserEmailAddress.java create mode 100644 src/main/java/com/rootly/client/model/UserEmailAddressList.java create mode 100644 src/main/java/com/rootly/client/model/UserEmailAddressResponse.java create mode 100644 src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java create mode 100644 src/main/java/com/rootly/client/model/UserFlatResponse.java create mode 100644 src/main/java/com/rootly/client/model/UserPhoneNumber.java create mode 100644 src/main/java/com/rootly/client/model/UserPhoneNumberList.java create mode 100644 src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java create mode 100644 src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java create mode 100644 src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java create mode 100644 src/test/java/com/rootly/client/api/AlertFieldsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/AlertRoutesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/ApiKeysApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/OnCallsApiTest.java create mode 100644 src/test/java/com/rootly/client/api/SlasApiTest.java create mode 100644 src/test/java/com/rootly/client/api/StatusesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java create mode 100644 src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java create mode 100644 src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertFieldListTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertFieldResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertFieldTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertGroupConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRouteListTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRouteResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRouteTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRoutingRuleConditionTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertRoutingRuleTargetTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyListTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/BuiltinFieldTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogChecklistTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogPropertyListTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogPropertyResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CatalogPropertyTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsGroupsResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsStageResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsStageResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsStageTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsStagesResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTypeTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTemplatesResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTypeResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTypeTest.java create mode 100644 src/test/java/com/rootly/client/model/CommunicationsTypesResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModelTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.java create mode 100644 src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorActionDataTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorActionTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorDataTest.java create mode 100644 src/test/java/com/rootly/client/model/EdgeConnectorTest.java create mode 100644 src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/EscalateAlertDataTest.java create mode 100644 src/test/java/com/rootly/client/model/EscalateAlertTest.java create mode 100644 src/test/java/com/rootly/client/model/GetAlertFieldIdParameterTest.java create mode 100644 src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java create mode 100644 src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/MeetingRecordingListTest.java create mode 100644 src/test/java/com/rootly/client/model/MeetingRecordingTest.java create mode 100644 src/test/java/com/rootly/client/model/MetaTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertFieldDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertFieldTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertRouteTest.java create mode 100644 src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewApiKeyDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewApiKeyDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewApiKeyTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCatalogPropertyTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsGroupDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsGroupTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsStageDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsStageDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsStageTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewCommunicationsTypeTest.java create mode 100644 src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.java create mode 100644 src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEdgeConnectorTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java create mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewOnCallPayReportDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewOnCallPayReportTest.java create mode 100644 src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/NewSlaDataAttributesConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewSlaDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewSlaTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserEmailAddressTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.java create mode 100644 src/test/java/com/rootly/client/model/NewUserPhoneNumberTest.java create mode 100644 src/test/java/com/rootly/client/model/OnCallPayReportListTest.java create mode 100644 src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/OnCallPayReportResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/OnCallPayReportTest.java create mode 100644 src/test/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java create mode 100644 src/test/java/com/rootly/client/model/PatchAlertRouteTest.java create mode 100644 src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/RotateApiKeyDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/RotateApiKeyDataTest.java create mode 100644 src/test/java/com/rootly/client/model/RotateApiKeyTest.java create mode 100644 src/test/java/com/rootly/client/model/ScheduleSlackChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/ServiceIncidentBroadcastChannelTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.java create mode 100644 src/test/java/com/rootly/client/model/ShiftRelationshipsUserTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaListTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/SlaTest.java create mode 100644 src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/SnoozeAlertDataTest.java create mode 100644 src/test/java/com/rootly/client/model/SnoozeAlertTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusListTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/StatusTest.java create mode 100644 src/test/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponentTest.java create mode 100644 src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.java create mode 100644 src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertFieldTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertRouteDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateAlertRouteTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateApiKeyTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCatalogPropertyTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsGroupTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsStageTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateCommunicationsTypeTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestActionTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepositoryTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsStateTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateOnCallPayReportTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateSlaDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateSlaDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateSlaTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserEmailAddressTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UpdateUserPhoneNumberTest.java create mode 100644 src/test/java/com/rootly/client/model/UserEmailAddressListTest.java create mode 100644 src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UserEmailAddressResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/UserEmailAddressTest.java create mode 100644 src/test/java/com/rootly/client/model/UserFlatResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/UserPhoneNumberListTest.java create mode 100644 src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.java create mode 100644 src/test/java/com/rootly/client/model/UserPhoneNumberResponseTest.java create mode 100644 src/test/java/com/rootly/client/model/UserPhoneNumberTest.java create mode 100644 src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.java diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 7e57535d..abd40cd6 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -8,6 +8,7 @@ docs/ActionItemTriggerParams.md docs/AddActionItemTaskParams.md docs/AddActionItemTaskParamsAssignedToUser.md docs/AddActionItemTaskParamsPostToSlackChannelsInner.md +docs/AddMicrosoftTeamsChatTabTaskParams.md docs/AddMicrosoftTeamsTabTaskParams.md docs/AddRoleTaskParams.md docs/AddRoleTaskParamsAssignedToUser.md @@ -23,7 +24,15 @@ docs/AlertEventList.md docs/AlertEventResponse.md docs/AlertEventResponseData.md docs/AlertEventsApi.md +docs/AlertField.md +docs/AlertFieldList.md +docs/AlertFieldListDataInner.md +docs/AlertFieldResponse.md +docs/AlertFieldResponseData.md +docs/AlertFieldsApi.md docs/AlertGroup.md +docs/AlertGroupConditionsInner.md +docs/AlertGroupConditionsInnerValuesInner.md docs/AlertGroupList.md docs/AlertGroupResponse.md docs/AlertGroupResponseData.md @@ -31,15 +40,28 @@ docs/AlertGroupsApi.md docs/AlertList.md docs/AlertResponse.md docs/AlertResponseData.md +docs/AlertRoute.md +docs/AlertRouteList.md +docs/AlertRouteResponse.md +docs/AlertRouteResponseData.md +docs/AlertRoutesApi.md docs/AlertRoutingRule.md +docs/AlertRoutingRuleCondition.md +docs/AlertRoutingRuleConditionGroup.md +docs/AlertRoutingRuleConditionGroupsInner.md +docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md docs/AlertRoutingRuleConditionsInner.md docs/AlertRoutingRuleDestination.md docs/AlertRoutingRuleList.md docs/AlertRoutingRuleResponse.md docs/AlertRoutingRuleResponseData.md +docs/AlertRoutingRuleTarget.md docs/AlertRoutingRulesApi.md docs/AlertSourcesApi.md docs/AlertTriggerParams.md +docs/AlertTriggerParamsAlertFieldConditionsInner.md +docs/AlertTriggerParamsAlertPayloadConditions.md +docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md docs/AlertUrgenciesApi.md docs/AlertUrgency.md docs/AlertUrgencyList.md @@ -50,6 +72,14 @@ docs/AlertsSource.md docs/AlertsSourceList.md docs/AlertsSourceResponse.md docs/AlertsSourceResponseData.md +docs/ApiKey.md +docs/ApiKeyList.md +docs/ApiKeyResponse.md +docs/ApiKeyResponseData.md +docs/ApiKeyWithTokenResponse.md +docs/ApiKeyWithTokenResponseData.md +docs/ApiKeyWithTokenResponseDataAttributes.md +docs/ApiKeysApi.md docs/ArchiveMicrosoftTeamsChannelsTaskParams.md docs/ArchiveSlackChannelsTaskParams.md docs/AssignRoleToUser.md @@ -72,13 +102,32 @@ docs/AutoAssignRoleOpsgenieTaskParams.md docs/AutoAssignRolePagerdutyTaskParams.md docs/AutoAssignRoleRootlyTaskParams.md docs/AutoAssignRoleVictorOpsTaskParams.md +docs/BuiltinField.md docs/CallPeopleTaskParams.md docs/CancelIncident.md docs/CancelIncidentData.md docs/CancelIncidentDataAttributes.md docs/Catalog.md +docs/CatalogChecklistTemplate.md +docs/CatalogChecklistTemplateFieldsInner.md +docs/CatalogChecklistTemplateList.md +docs/CatalogChecklistTemplateOwnersInner.md +docs/CatalogChecklistTemplateResponse.md +docs/CatalogChecklistTemplateResponseData.md +docs/CatalogChecklistTemplatesApi.md docs/CatalogEntitiesApi.md docs/CatalogEntity.md +docs/CatalogEntityChecklist.md +docs/CatalogEntityChecklistChecklistFieldsInner.md +docs/CatalogEntityChecklistChecklistFieldsInnerData.md +docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md +docs/CatalogEntityChecklistChecklistOwnersInner.md +docs/CatalogEntityChecklistChecklistOwnersInnerData.md +docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md +docs/CatalogEntityChecklistList.md +docs/CatalogEntityChecklistResponse.md +docs/CatalogEntityChecklistResponseData.md +docs/CatalogEntityChecklistsApi.md docs/CatalogEntityList.md docs/CatalogEntityPropertiesApi.md docs/CatalogEntityProperty.md @@ -91,8 +140,12 @@ docs/CatalogField.md docs/CatalogFieldList.md docs/CatalogFieldResponse.md docs/CatalogFieldResponseData.md -docs/CatalogFieldsApi.md docs/CatalogList.md +docs/CatalogPropertiesApi.md +docs/CatalogProperty.md +docs/CatalogPropertyList.md +docs/CatalogPropertyResponse.md +docs/CatalogPropertyResponseData.md docs/CatalogResponse.md docs/CatalogResponseData.md docs/CatalogsApi.md @@ -102,22 +155,62 @@ docs/CauseResponse.md docs/CauseResponseData.md docs/CausesApi.md docs/ChangeSlackChannelPrivacyTaskParams.md +docs/CommunicationsGroup.md +docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md +docs/CommunicationsGroupResponse.md +docs/CommunicationsGroupResponseData.md +docs/CommunicationsGroupsApi.md +docs/CommunicationsGroupsResponse.md +docs/CommunicationsStage.md +docs/CommunicationsStageResponse.md +docs/CommunicationsStageResponseData.md +docs/CommunicationsStagesApi.md +docs/CommunicationsStagesResponse.md +docs/CommunicationsTemplate.md +docs/CommunicationsTemplateCommunicationTemplateStagesInner.md +docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md +docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md +docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md +docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md +docs/CommunicationsTemplateCommunicationType.md +docs/CommunicationsTemplateResponse.md +docs/CommunicationsTemplateResponseData.md +docs/CommunicationsTemplatesApi.md +docs/CommunicationsTemplatesResponse.md +docs/CommunicationsType.md +docs/CommunicationsTypeResponse.md +docs/CommunicationsTypeResponseData.md +docs/CommunicationsTypesApi.md +docs/CommunicationsTypesResponse.md docs/CreateAirtableTableRecordTaskParams.md +docs/CreateAnthropicChatCompletionTaskParams.md +docs/CreateAnthropicChatCompletionTaskParamsModel.md docs/CreateAsanaSubtaskTaskParams.md docs/CreateAsanaTaskTaskParams.md docs/CreateClickupTaskTaskParams.md docs/CreateCodaPageTaskParams.md +docs/CreateCodaPageTaskParamsDoc.md docs/CreateCodaPageTaskParamsTemplate.md docs/CreateConfluencePageTaskParams.md docs/CreateConfluencePageTaskParamsIntegration.md docs/CreateDatadogNotebookTaskParams.md docs/CreateDropboxPaperPageTaskParams.md +docs/CreateEdgeConnectorActionRequest.md +docs/CreateEdgeConnectorActionRequestAction.md +docs/CreateEdgeConnectorActionRequestActionMetadata.md +docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md +docs/CreateEdgeConnectorRequest.md +docs/CreateEdgeConnectorRequestData.md +docs/CreateEdgeConnectorRequestDataAttributes.md docs/CreateGithubIssueTaskParams.md +docs/CreateGithubIssueTaskParamsIssueType.md docs/CreateGitlabIssueTaskParams.md docs/CreateGoToMeetingTaskParams.md docs/CreateGoogleCalendarEventTaskParams.md docs/CreateGoogleDocsPageTaskParams.md docs/CreateGoogleDocsPermissionsTaskParams.md +docs/CreateGoogleGeminiChatCompletionTaskParams.md +docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md docs/CreateGoogleMeetingTaskParams.md docs/CreateIncidentPostmortemTaskParams.md docs/CreateIncidentPostmortemTaskParamsTemplate.md @@ -128,6 +221,7 @@ docs/CreateJiraIssueTaskParamsIssueType.md docs/CreateJiraIssueTaskParamsPriority.md docs/CreateJiraIssueTaskParamsStatus.md docs/CreateJiraSubtaskTaskParams.md +docs/CreateJsmopsAlertTaskParams.md docs/CreateLinearIssueCommentTaskParams.md docs/CreateLinearIssueTaskParams.md docs/CreateLinearIssueTaskParamsProject.md @@ -135,10 +229,16 @@ docs/CreateLinearIssueTaskParamsState.md docs/CreateLinearIssueTaskParamsTeam.md docs/CreateLinearSubtaskIssueTaskParams.md docs/CreateMicrosoftTeamsChannelTaskParams.md +docs/CreateMicrosoftTeamsChatTaskParams.md +docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md docs/CreateMicrosoftTeamsMeetingTaskParams.md +docs/CreateMistralChatCompletionTaskParams.md +docs/CreateMistralChatCompletionTaskParamsModel.md docs/CreateMotionTaskTaskParams.md docs/CreateNotionPageTaskParams.md docs/CreateNotionPageTaskParamsParentPage.md +docs/CreateOpenaiChatCompletionTaskParams.md +docs/CreateOpenaiChatCompletionTaskParamsModel.md docs/CreateOpsgenieAlertTaskParams.md docs/CreateOutlookEventTaskParams.md docs/CreatePagerdutyStatusUpdateTaskParams.md @@ -150,10 +250,13 @@ docs/CreateSharepointPageTaskParams.md docs/CreateShortcutStoryTaskParams.md docs/CreateShortcutTaskTaskParams.md docs/CreateSlackChannelTaskParams.md +docs/CreateSubIncidentTaskParams.md docs/CreateTrelloCardTaskParams.md docs/CreateTrelloCardTaskParamsArchivation.md docs/CreateTrelloCardTaskParamsBoard.md docs/CreateTrelloCardTaskParamsList.md +docs/CreateWatsonxChatCompletionTaskParams.md +docs/CreateWatsonxChatCompletionTaskParamsModel.md docs/CreateWebexMeetingTaskParams.md docs/CreateZendeskJiraLinkTaskParams.md docs/CreateZendeskTicketTaskParams.md @@ -181,6 +284,9 @@ docs/DashboardPanelsApi.md docs/DashboardResponse.md docs/DashboardResponseData.md docs/DashboardsApi.md +docs/DeleteAlertRoute200Response.md +docs/DeleteAlertRoute200ResponseData.md +docs/DeleteAlertRoute200ResponseDataAttributes.md docs/DeprecatedCustomFieldOptionsApi.md docs/DeprecatedCustomFieldsApi.md docs/DeprecatedIncidentCustomFieldSelectionsApi.md @@ -188,6 +294,15 @@ docs/DeprecatedWorkflowCustomFieldSelectionsApi.md docs/DuplicateIncident.md docs/DuplicateIncidentData.md docs/DuplicateIncidentDataAttributes.md +docs/EdgeConnector.md +docs/EdgeConnectorAction.md +docs/EdgeConnectorActionData.md +docs/EdgeConnectorActionDataAttributes.md +docs/EdgeConnectorActionDataAttributesParametersInner.md +docs/EdgeConnectorActionsApi.md +docs/EdgeConnectorData.md +docs/EdgeConnectorDataAttributes.md +docs/EdgeConnectorsApi.md docs/Environment.md docs/EnvironmentList.md docs/EnvironmentResponse.md @@ -195,6 +310,9 @@ docs/EnvironmentResponseData.md docs/EnvironmentsApi.md docs/ErrorsList.md docs/ErrorsListErrorsInner.md +docs/EscalateAlert.md +docs/EscalateAlertData.md +docs/EscalateAlertDataAttributes.md docs/EscalationLevelsApi.md docs/EscalationLevelsPathApi.md docs/EscalationLevelsPoliciesApi.md @@ -212,8 +330,6 @@ docs/EscalationPolicyPathList.md docs/EscalationPolicyPathListDataInner.md docs/EscalationPolicyPathResponse.md docs/EscalationPolicyPathResponseData.md -docs/EscalationPolicyPathRulesInner.md -docs/EscalationPolicyPathRulesInnerAnyOf.md docs/EscalationPolicyResponse.md docs/EscalationPolicyResponseData.md docs/FormField.md @@ -256,15 +372,13 @@ docs/Functionality.md docs/FunctionalityList.md docs/FunctionalityResponse.md docs/FunctionalityResponseData.md -docs/GeniusCreateOpenaiChatCompletionTaskParams.md -docs/GeniusCreateOpenaiChatCompletionTaskParamsModel.md -docs/GeniusCreateWatsonxChatCompletionTaskParams.md -docs/GeniusCreateWatsonxChatCompletionTaskParamsModel.md +docs/GetAlertFieldIdParameter.md docs/GetAlertsTaskParams.md docs/GetGithubCommitsTaskParams.md docs/GetGitlabCommitsTaskParams.md docs/GetPulsesTaskParams.md docs/GetPulsesTaskParamsParentMessageThreadTask.md +docs/GetTeamIdParameter.md docs/Heartbeat.md docs/HeartbeatList.md docs/HeartbeatResponse.md @@ -361,6 +475,7 @@ docs/IncidentTypeList.md docs/IncidentTypeResponse.md docs/IncidentTypeResponseData.md docs/IncidentTypesApi.md +docs/IncidentZoomMeetingGlobalDialInNumbersInner.md docs/IncidentsApi.md docs/InviteToMicrosoftTeamsChannelTaskParams.md docs/InviteToSlackChannelOpsgenieTaskParams.md @@ -378,56 +493,102 @@ docs/LiveCallRouterList.md docs/LiveCallRouterResponse.md docs/LiveCallRouterResponseData.md docs/LiveCallRoutersApi.md +docs/MeetingRecording.md +docs/MeetingRecordingList.md +docs/MeetingRecordingListDataInner.md +docs/MeetingRecordingsApi.md +docs/Meta.md docs/MitigateIncident.md docs/MitigateIncidentData.md docs/MitigateIncidentDataAttributes.md docs/NewAlert.md docs/NewAlertData.md docs/NewAlertDataAttributes.md +docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md docs/NewAlertDataAttributesLabelsInner.md +docs/NewAlertDataAttributesLabelsInnerValue.md docs/NewAlertEvent.md docs/NewAlertEventData.md docs/NewAlertEventDataAttributes.md +docs/NewAlertField.md +docs/NewAlertFieldData.md +docs/NewAlertFieldDataAttributes.md docs/NewAlertGroup.md docs/NewAlertGroupData.md docs/NewAlertGroupDataAttributes.md docs/NewAlertGroupDataAttributesAttributesInner.md +docs/NewAlertGroupDataAttributesConditionsInner.md docs/NewAlertGroupDataAttributesTargetsInner.md +docs/NewAlertRoute.md +docs/NewAlertRouteData.md +docs/NewAlertRouteDataAttributes.md +docs/NewAlertRouteDataAttributesRulesInner.md +docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md +docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md +docs/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md docs/NewAlertRoutingRule.md docs/NewAlertRoutingRuleData.md docs/NewAlertRoutingRuleDataAttributes.md docs/NewAlertRoutingRuleDataAttributesConditionsInner.md -docs/NewAlertRoutingRuleDataAttributesDestination.md docs/NewAlertUrgency.md docs/NewAlertUrgencyData.md docs/NewAlertUrgencyDataAttributes.md docs/NewAlertsSource.md docs/NewAlertsSourceData.md docs/NewAlertsSourceDataAttributes.md +docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md docs/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md docs/NewAlertsSourceDataAttributesAlertTemplateAttributes.md docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md docs/NewAlertsSourceDataAttributesSourceableAttributes.md docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md +docs/NewApiKey.md +docs/NewApiKeyData.md +docs/NewApiKeyDataAttributes.md docs/NewAuthorization.md docs/NewAuthorizationData.md docs/NewAuthorizationDataAttributes.md docs/NewCatalog.md +docs/NewCatalogChecklistTemplate.md +docs/NewCatalogChecklistTemplateData.md +docs/NewCatalogChecklistTemplateDataAttributes.md +docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md +docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md docs/NewCatalogData.md docs/NewCatalogDataAttributes.md docs/NewCatalogEntity.md docs/NewCatalogEntityData.md docs/NewCatalogEntityDataAttributes.md +docs/NewCatalogEntityDataAttributesPropertiesInner.md docs/NewCatalogEntityProperty.md docs/NewCatalogEntityPropertyData.md docs/NewCatalogEntityPropertyDataAttributes.md docs/NewCatalogField.md docs/NewCatalogFieldData.md docs/NewCatalogFieldDataAttributes.md +docs/NewCatalogProperty.md +docs/NewCatalogPropertyData.md +docs/NewCatalogPropertyDataAttributes.md docs/NewCause.md docs/NewCauseData.md docs/NewCauseDataAttributes.md +docs/NewCauseDataAttributesPropertiesInner.md +docs/NewCommunicationsGroup.md +docs/NewCommunicationsGroupData.md +docs/NewCommunicationsGroupDataAttributes.md +docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md +docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md +docs/NewCommunicationsStage.md +docs/NewCommunicationsStageData.md +docs/NewCommunicationsStageDataAttributes.md +docs/NewCommunicationsTemplate.md +docs/NewCommunicationsTemplateData.md +docs/NewCommunicationsTemplateDataAttributes.md +docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md +docs/NewCommunicationsType.md +docs/NewCommunicationsTypeData.md +docs/NewCommunicationsTypeDataAttributes.md docs/NewCustomField.md docs/NewCustomFieldData.md docs/NewCustomFieldDataAttributes.md @@ -449,8 +610,15 @@ docs/NewDashboardPanelDataAttributesParamsDatasetsInner.md docs/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.md docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.md docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md +docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md +docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md docs/NewDashboardPanelDataAttributesParamsLegend.md docs/NewDashboardPanelDataAttributesPosition.md +docs/NewEdgeConnector.md +docs/NewEdgeConnectorAction.md +docs/NewEdgeConnectorActionAction.md +docs/NewEdgeConnectorActionActionMetadata.md +docs/NewEdgeConnectorEdgeConnector.md docs/NewEnvironment.md docs/NewEnvironmentData.md docs/NewEnvironmentDataAttributes.md @@ -468,9 +636,14 @@ docs/NewEscalationPolicyPath.md docs/NewEscalationPolicyPathData.md docs/NewEscalationPolicyPathDataAttributes.md docs/NewEscalationPolicyPathDataAttributesRulesInner.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.md -docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md +docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md +docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md docs/NewFormField.md docs/NewFormFieldData.md docs/NewFormFieldDataAttributes.md @@ -551,6 +724,10 @@ docs/NewLiveCallRouter.md docs/NewLiveCallRouterData.md docs/NewLiveCallRouterDataAttributes.md docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md +docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md +docs/NewOnCallPayReport.md +docs/NewOnCallPayReportData.md +docs/NewOnCallPayReportDataAttributes.md docs/NewOnCallRole.md docs/NewOnCallRoleData.md docs/NewOnCallRoleDataAttributes.md @@ -572,6 +749,7 @@ docs/NewPostMortemTemplateDataAttributes.md docs/NewPulse.md docs/NewPulseData.md docs/NewPulseDataAttributes.md +docs/NewPulseDataAttributesLabelsInner.md docs/NewPulseDataAttributesRefsInner.md docs/NewRetrospectiveProcess.md docs/NewRetrospectiveProcessData.md @@ -595,6 +773,7 @@ docs/NewRoleDataAttributes.md docs/NewSchedule.md docs/NewScheduleData.md docs/NewScheduleDataAttributes.md +docs/NewScheduleDataAttributesSlackChannel.md docs/NewScheduleDataAttributesSlackUserGroup.md docs/NewScheduleRotation.md docs/NewScheduleRotationActiveDay.md @@ -604,6 +783,7 @@ docs/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.md docs/NewScheduleRotationData.md docs/NewScheduleRotationDataAttributes.md docs/NewScheduleRotationDataAttributesActiveTimeAttributesInner.md +docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md docs/NewScheduleRotationDataAttributesScheduleRotationableAttributes.md docs/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.md docs/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.md @@ -618,9 +798,16 @@ docs/NewSecretDataAttributes.md docs/NewService.md docs/NewServiceData.md docs/NewServiceDataAttributes.md +docs/NewServiceDataAttributesAlertBroadcastChannel.md +docs/NewServiceDataAttributesIncidentBroadcastChannel.md docs/NewSeverity.md docs/NewSeverityData.md docs/NewSeverityDataAttributes.md +docs/NewSla.md +docs/NewSlaData.md +docs/NewSlaDataAttributes.md +docs/NewSlaDataAttributesConditionsInner.md +docs/NewSlaDataAttributesNotificationConfigurationsInner.md docs/NewStatusPage.md docs/NewStatusPageData.md docs/NewStatusPageDataAttributes.md @@ -633,9 +820,15 @@ docs/NewSubStatusDataAttributes.md docs/NewTeam.md docs/NewTeamData.md docs/NewTeamDataAttributes.md +docs/NewUserEmailAddress.md +docs/NewUserEmailAddressData.md +docs/NewUserEmailAddressDataAttributes.md docs/NewUserNotificationRule.md docs/NewUserNotificationRuleData.md docs/NewUserNotificationRuleDataAttributes.md +docs/NewUserPhoneNumber.md +docs/NewUserPhoneNumberData.md +docs/NewUserPhoneNumberDataAttributes.md docs/NewWebhooksEndpoint.md docs/NewWebhooksEndpointData.md docs/NewWebhooksEndpointDataAttributes.md @@ -665,6 +858,11 @@ docs/NewWorkflowTask.md docs/NewWorkflowTaskData.md docs/NewWorkflowTaskDataAttributes.md docs/NewWorkflowTaskDataAttributesTaskParams.md +docs/OnCallPayReport.md +docs/OnCallPayReportList.md +docs/OnCallPayReportResponse.md +docs/OnCallPayReportResponseData.md +docs/OnCallPayReportsApi.md docs/OnCallRole.md docs/OnCallRoleList.md docs/OnCallRoleRelationship.md @@ -678,15 +876,25 @@ docs/OnCallShadowResponseData.md docs/OnCallShadowsApi.md docs/OnCallShadowsList.md docs/OnCallShadowsListDataInner.md +docs/OnCallsApi.md docs/OverrideShift.md docs/OverrideShiftList.md docs/OverrideShiftResponse.md docs/OverrideShiftResponseData.md docs/OverrideShiftsApi.md +docs/PageJsmopsOnCallRespondersTaskParams.md docs/PageOpsgenieOnCallRespondersTaskParams.md docs/PagePagerdutyOnCallRespondersTaskParams.md docs/PageRootlyOnCallRespondersTaskParams.md docs/PageVictorOpsOnCallRespondersTaskParams.md +docs/PatchAlertRoute.md +docs/PatchAlertRouteData.md +docs/PatchAlertRouteDataAttributes.md +docs/PatchAlertRouteDataAttributesRulesInner.md +docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md +docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md +docs/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md +docs/PhoneVerificationResponse.md docs/Playbook.md docs/PlaybookList.md docs/PlaybookResponse.md @@ -760,6 +968,9 @@ docs/RoleRelationshipData.md docs/RoleResponse.md docs/RoleResponseData.md docs/RolesApi.md +docs/RotateApiKey.md +docs/RotateApiKeyData.md +docs/RotateApiKeyDataAttributes.md docs/RunCommandHerokuTaskParams.md docs/Schedule.md docs/ScheduleList.md @@ -782,6 +993,7 @@ docs/ScheduleRotationUserListDataInner.md docs/ScheduleRotationUserResponse.md docs/ScheduleRotationUsersApi.md docs/ScheduleRotationsApi.md +docs/ScheduleSlackChannel.md docs/ScheduleSlackUserGroup.md docs/SchedulesApi.md docs/Secret.md @@ -792,12 +1004,15 @@ docs/SecretsApi.md docs/SendDashboardReportTaskParams.md docs/SendEmailTaskParams.md docs/SendMicrosoftTeamsBlocksTaskParams.md +docs/SendMicrosoftTeamsChatMessageTaskParams.md docs/SendMicrosoftTeamsMessageTaskParams.md docs/SendSlackBlocksTaskParams.md docs/SendSlackMessageTaskParams.md docs/SendSmsTaskParams.md docs/SendWhatsappMessageTaskParams.md docs/Service.md +docs/ServiceAlertBroadcastChannel.md +docs/ServiceIncidentBroadcastChannel.md docs/ServiceList.md docs/ServiceResponse.md docs/ServiceResponseData.md @@ -813,12 +1028,31 @@ docs/ShiftListDataInner.md docs/ShiftOverride.md docs/ShiftOverrideResponse.md docs/ShiftOverrideResponseData.md +docs/ShiftRelationships.md +docs/ShiftRelationshipsAssignee.md +docs/ShiftRelationshipsAssigneeData.md +docs/ShiftRelationshipsShiftOverride.md +docs/ShiftRelationshipsShiftOverrideData.md +docs/ShiftRelationshipsUser.md +docs/ShiftRelationshipsUserData.md docs/ShiftsApi.md docs/SimpleTriggerParams.md +docs/Sla.md +docs/SlaConditionsInner.md +docs/SlaList.md +docs/SlaNotificationConfigurationsInner.md +docs/SlaResponse.md +docs/SlaResponseData.md +docs/SlasApi.md docs/SnapshotDatadogGraphTaskParams.md docs/SnapshotGrafanaDashboardTaskParams.md docs/SnapshotLookerLookTaskParams.md docs/SnapshotNewRelicGraphTaskParams.md +docs/SnoozeAlert.md +docs/SnoozeAlertData.md +docs/SnoozeAlertDataAttributes.md +docs/Status.md +docs/StatusList.md docs/StatusPage.md docs/StatusPageList.md docs/StatusPageResponse.md @@ -830,6 +1064,9 @@ docs/StatusPageTemplateResponse.md docs/StatusPageTemplateResponseData.md docs/StatusPageTemplatesApi.md docs/StatusPagesApi.md +docs/StatusResponse.md +docs/StatusResponseData.md +docs/StatusesApi.md docs/SubStatus.md docs/SubStatusList.md docs/SubStatusResponse.md @@ -840,6 +1077,9 @@ docs/TeamList.md docs/TeamResponse.md docs/TeamResponseData.md docs/TeamsApi.md +docs/TiptapBlockSchema.md +docs/TiptapBlockSchemaFollowupComponent.md +docs/TiptapBlockSchemaTimelineComponent.md docs/TriggerWorkflowTaskParams.md docs/TweetTwitterMessageTaskParams.md docs/UnassignRoleFromUser.md @@ -853,9 +1093,15 @@ docs/UpdateAlertDataAttributes.md docs/UpdateAlertEvent.md docs/UpdateAlertEventData.md docs/UpdateAlertEventDataAttributes.md +docs/UpdateAlertField.md +docs/UpdateAlertFieldData.md +docs/UpdateAlertFieldDataAttributes.md docs/UpdateAlertGroup.md docs/UpdateAlertGroupData.md docs/UpdateAlertGroupDataAttributes.md +docs/UpdateAlertRoute.md +docs/UpdateAlertRouteData.md +docs/UpdateAlertRouteDataAttributes.md docs/UpdateAlertRoutingRule.md docs/UpdateAlertRoutingRuleData.md docs/UpdateAlertRoutingRuleDataAttributes.md @@ -867,12 +1113,18 @@ docs/UpdateAlertUrgencyDataAttributes.md docs/UpdateAlertsSource.md docs/UpdateAlertsSourceData.md docs/UpdateAlertsSourceDataAttributes.md +docs/UpdateApiKey.md +docs/UpdateApiKeyData.md +docs/UpdateApiKeyDataAttributes.md docs/UpdateAsanaTaskTaskParams.md docs/UpdateAttachedAlertsTaskParams.md docs/UpdateAuthorization.md docs/UpdateAuthorizationData.md docs/UpdateAuthorizationDataAttributes.md docs/UpdateCatalog.md +docs/UpdateCatalogChecklistTemplate.md +docs/UpdateCatalogChecklistTemplateData.md +docs/UpdateCatalogChecklistTemplateDataAttributes.md docs/UpdateCatalogData.md docs/UpdateCatalogDataAttributes.md docs/UpdateCatalogEntity.md @@ -884,11 +1136,31 @@ docs/UpdateCatalogEntityPropertyDataAttributes.md docs/UpdateCatalogField.md docs/UpdateCatalogFieldData.md docs/UpdateCatalogFieldDataAttributes.md +docs/UpdateCatalogProperty.md +docs/UpdateCatalogPropertyData.md +docs/UpdateCatalogPropertyDataAttributes.md docs/UpdateCause.md docs/UpdateCauseData.md docs/UpdateCauseDataAttributes.md docs/UpdateClickupTaskTaskParams.md docs/UpdateCodaPageTaskParams.md +docs/UpdateCommunicationsGroup.md +docs/UpdateCommunicationsGroupData.md +docs/UpdateCommunicationsGroupDataAttributes.md +docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md +docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md +docs/UpdateCommunicationsStage.md +docs/UpdateCommunicationsStageData.md +docs/UpdateCommunicationsStageDataAttributes.md +docs/UpdateCommunicationsTemplate.md +docs/UpdateCommunicationsTemplateData.md +docs/UpdateCommunicationsTemplateDataAttributes.md +docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md +docs/UpdateCommunicationsType.md +docs/UpdateCommunicationsTypeData.md +docs/UpdateCommunicationsTypeDataAttributes.md +docs/UpdateConfluencePageTaskParams.md +docs/UpdateConfluencePageTaskParamsTemplate.md docs/UpdateCustomField.md docs/UpdateCustomFieldData.md docs/UpdateCustomFieldDataAttributes.md @@ -904,6 +1176,16 @@ docs/UpdateDashboardDataAttributes.md docs/UpdateDashboardPanel.md docs/UpdateDashboardPanelData.md docs/UpdateDashboardPanelDataAttributes.md +docs/UpdateDatadogNotebookTaskParams.md +docs/UpdateDatadogNotebookTaskParamsTemplate.md +docs/UpdateDropboxPaperPageTaskParams.md +docs/UpdateEdgeConnector.md +docs/UpdateEdgeConnectorAction.md +docs/UpdateEdgeConnectorActionRequest.md +docs/UpdateEdgeConnectorActionRequestAction.md +docs/UpdateEdgeConnectorRequest.md +docs/UpdateEdgeConnectorRequestData.md +docs/UpdateEdgeConnectorRequestDataAttributes.md docs/UpdateEnvironment.md docs/UpdateEnvironmentData.md docs/UpdateEnvironmentDataAttributes.md @@ -918,6 +1200,7 @@ docs/UpdateEscalationPolicyPath.md docs/UpdateEscalationPolicyPathData.md docs/UpdateEscalationPolicyPathDataAttributes.md docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md +docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md docs/UpdateFormField.md docs/UpdateFormFieldData.md docs/UpdateFormFieldDataAttributes.md @@ -943,6 +1226,7 @@ docs/UpdateFunctionality.md docs/UpdateFunctionalityData.md docs/UpdateFunctionalityDataAttributes.md docs/UpdateGithubIssueTaskParams.md +docs/UpdateGithubIssueTaskParamsRepository.md docs/UpdateGitlabIssueTaskParams.md docs/UpdateGoogleCalendarEventTaskParams.md docs/UpdateGoogleDocsPageTaskParams.md @@ -1009,12 +1293,16 @@ docs/UpdateIncidentTypeData.md docs/UpdateIncidentTypeDataAttributes.md docs/UpdateJiraIssueTaskParams.md docs/UpdateLinearIssueTaskParams.md +docs/UpdateLinearIssueTaskParamsState.md docs/UpdateLiveCallRouter.md docs/UpdateLiveCallRouterData.md docs/UpdateLiveCallRouterDataAttributes.md docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md docs/UpdateMotionTaskTaskParams.md docs/UpdateNotionPageTaskParams.md +docs/UpdateOnCallPayReport.md +docs/UpdateOnCallPayReportData.md +docs/UpdateOnCallPayReportDataAttributes.md docs/UpdateOnCallRole.md docs/UpdateOnCallRoleData.md docs/UpdateOnCallRoleDataAttributes.md @@ -1040,6 +1328,7 @@ docs/UpdatePostMortemTemplateDataAttributes.md docs/UpdatePulse.md docs/UpdatePulseData.md docs/UpdatePulseDataAttributes.md +docs/UpdateQuipPageTaskParams.md docs/UpdateRetrospectiveConfiguration.md docs/UpdateRetrospectiveConfigurationData.md docs/UpdateRetrospectiveConfigurationDataAttributes.md @@ -1080,8 +1369,12 @@ docs/UpdateServiceNowIncidentTaskParams.md docs/UpdateSeverity.md docs/UpdateSeverityData.md docs/UpdateSeverityDataAttributes.md +docs/UpdateSharepointPageTaskParams.md docs/UpdateShortcutStoryTaskParams.md docs/UpdateShortcutTaskTaskParams.md +docs/UpdateSla.md +docs/UpdateSlaData.md +docs/UpdateSlaDataAttributes.md docs/UpdateSlackChannelTopicTaskParams.md docs/UpdateStatusPage.md docs/UpdateStatusPageData.md @@ -1100,9 +1393,15 @@ docs/UpdateTrelloCardTaskParams.md docs/UpdateUser.md docs/UpdateUserData.md docs/UpdateUserDataAttributes.md +docs/UpdateUserEmailAddress.md +docs/UpdateUserEmailAddressData.md +docs/UpdateUserEmailAddressDataAttributes.md docs/UpdateUserNotificationRule.md docs/UpdateUserNotificationRuleData.md docs/UpdateUserNotificationRuleDataAttributes.md +docs/UpdateUserPhoneNumber.md +docs/UpdateUserPhoneNumberData.md +docs/UpdateUserPhoneNumberDataAttributes.md docs/UpdateVictorOpsIncidentTaskParams.md docs/UpdateWebhooksEndpoint.md docs/UpdateWebhooksEndpointData.md @@ -1125,16 +1424,28 @@ docs/UpdateWorkflowTaskDataAttributes.md docs/UpdateWorkflowTaskDataAttributesTaskParams.md docs/UpdateZendeskTicketTaskParams.md docs/User.md +docs/UserEmailAddress.md +docs/UserEmailAddressList.md +docs/UserEmailAddressResponse.md +docs/UserEmailAddressResponseData.md +docs/UserEmailAddressesApi.md +docs/UserFlatResponse.md docs/UserList.md docs/UserNotificationRule.md docs/UserNotificationRuleList.md docs/UserNotificationRuleResponse.md docs/UserNotificationRuleResponseData.md docs/UserNotificationRulesApi.md +docs/UserPhoneNumber.md +docs/UserPhoneNumberList.md +docs/UserPhoneNumberResponse.md +docs/UserPhoneNumberResponseData.md +docs/UserPhoneNumbersApi.md docs/UserRelationships.md docs/UserResponse.md docs/UserResponseData.md docs/UsersApi.md +docs/VerifyPhoneNumberRequest.md docs/WebhooksDeliveriesApi.md docs/WebhooksDelivery.md docs/WebhooksDeliveryList.md @@ -1197,18 +1508,27 @@ 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/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/AlertRoutesApi.java src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java src/main/java/com/rootly/client/api/AlertSourcesApi.java src/main/java/com/rootly/client/api/AlertUrgenciesApi.java src/main/java/com/rootly/client/api/AlertsApi.java +src/main/java/com/rootly/client/api/ApiKeysApi.java src/main/java/com/rootly/client/api/AuditsApi.java src/main/java/com/rootly/client/api/AuthorizationsApi.java +src/main/java/com/rootly/client/api/CatalogChecklistTemplatesApi.java src/main/java/com/rootly/client/api/CatalogEntitiesApi.java +src/main/java/com/rootly/client/api/CatalogEntityChecklistsApi.java src/main/java/com/rootly/client/api/CatalogEntityPropertiesApi.java -src/main/java/com/rootly/client/api/CatalogFieldsApi.java +src/main/java/com/rootly/client/api/CatalogPropertiesApi.java src/main/java/com/rootly/client/api/CatalogsApi.java src/main/java/com/rootly/client/api/CausesApi.java +src/main/java/com/rootly/client/api/CommunicationsGroupsApi.java +src/main/java/com/rootly/client/api/CommunicationsStagesApi.java +src/main/java/com/rootly/client/api/CommunicationsTemplatesApi.java +src/main/java/com/rootly/client/api/CommunicationsTypesApi.java src/main/java/com/rootly/client/api/CustomFormsApi.java src/main/java/com/rootly/client/api/DashboardPanelsApi.java src/main/java/com/rootly/client/api/DashboardsApi.java @@ -1216,6 +1536,8 @@ src/main/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApi.java src/main/java/com/rootly/client/api/DeprecatedCustomFieldsApi.java src/main/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApi.java src/main/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApi.java +src/main/java/com/rootly/client/api/EdgeConnectorActionsApi.java +src/main/java/com/rootly/client/api/EdgeConnectorsApi.java src/main/java/com/rootly/client/api/EnvironmentsApi.java src/main/java/com/rootly/client/api/EscalationLevelsApi.java src/main/java/com/rootly/client/api/EscalationLevelsPathApi.java @@ -1250,8 +1572,11 @@ src/main/java/com/rootly/client/api/IncidentTypesApi.java src/main/java/com/rootly/client/api/IncidentsApi.java src/main/java/com/rootly/client/api/IpRangesApi.java src/main/java/com/rootly/client/api/LiveCallRoutersApi.java +src/main/java/com/rootly/client/api/MeetingRecordingsApi.java +src/main/java/com/rootly/client/api/OnCallPayReportsApi.java src/main/java/com/rootly/client/api/OnCallRolesApi.java src/main/java/com/rootly/client/api/OnCallShadowsApi.java +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 @@ -1271,11 +1596,15 @@ src/main/java/com/rootly/client/api/SecretsApi.java src/main/java/com/rootly/client/api/ServicesApi.java src/main/java/com/rootly/client/api/SeveritiesApi.java src/main/java/com/rootly/client/api/ShiftsApi.java +src/main/java/com/rootly/client/api/SlasApi.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 src/main/java/com/rootly/client/api/SubStatusesApi.java src/main/java/com/rootly/client/api/TeamsApi.java +src/main/java/com/rootly/client/api/UserEmailAddressesApi.java src/main/java/com/rootly/client/api/UserNotificationRulesApi.java +src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java src/main/java/com/rootly/client/api/UsersApi.java src/main/java/com/rootly/client/api/WebhooksDeliveriesApi.java src/main/java/com/rootly/client/api/WebhooksEndpointsApi.java @@ -1293,6 +1622,7 @@ 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 src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java +src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java src/main/java/com/rootly/client/model/AddRoleTaskParams.java src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java @@ -1307,20 +1637,39 @@ src/main/java/com/rootly/client/model/AlertEvent.java src/main/java/com/rootly/client/model/AlertEventList.java src/main/java/com/rootly/client/model/AlertEventResponse.java src/main/java/com/rootly/client/model/AlertEventResponseData.java +src/main/java/com/rootly/client/model/AlertField.java +src/main/java/com/rootly/client/model/AlertFieldList.java +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/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/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/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/AlertRoutingRule.java +src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java +src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java +src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java +src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java 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/AlertTriggerParams.java +src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java +src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java +src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java src/main/java/com/rootly/client/model/AlertUrgency.java src/main/java/com/rootly/client/model/AlertUrgencyList.java src/main/java/com/rootly/client/model/AlertUrgencyResponse.java @@ -1329,6 +1678,13 @@ src/main/java/com/rootly/client/model/AlertsSource.java src/main/java/com/rootly/client/model/AlertsSourceList.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/ApiKey.java +src/main/java/com/rootly/client/model/ApiKeyList.java +src/main/java/com/rootly/client/model/ApiKeyResponse.java +src/main/java/com/rootly/client/model/ApiKeyResponseData.java +src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java +src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java +src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java src/main/java/com/rootly/client/model/AssignRoleToUser.java @@ -1349,12 +1705,29 @@ src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java +src/main/java/com/rootly/client/model/BuiltinField.java src/main/java/com/rootly/client/model/CallPeopleTaskParams.java src/main/java/com/rootly/client/model/CancelIncident.java src/main/java/com/rootly/client/model/CancelIncidentData.java src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java src/main/java/com/rootly/client/model/Catalog.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java +src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java src/main/java/com/rootly/client/model/CatalogEntity.java +src/main/java/com/rootly/client/model/CatalogEntityChecklist.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java +src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java src/main/java/com/rootly/client/model/CatalogEntityList.java src/main/java/com/rootly/client/model/CatalogEntityProperty.java src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java @@ -1367,6 +1740,10 @@ src/main/java/com/rootly/client/model/CatalogFieldList.java src/main/java/com/rootly/client/model/CatalogFieldResponse.java src/main/java/com/rootly/client/model/CatalogFieldResponseData.java src/main/java/com/rootly/client/model/CatalogList.java +src/main/java/com/rootly/client/model/CatalogProperty.java +src/main/java/com/rootly/client/model/CatalogPropertyList.java +src/main/java/com/rootly/client/model/CatalogPropertyResponse.java +src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java src/main/java/com/rootly/client/model/CatalogResponse.java src/main/java/com/rootly/client/model/CatalogResponseData.java src/main/java/com/rootly/client/model/Cause.java @@ -1374,22 +1751,58 @@ src/main/java/com/rootly/client/model/CauseList.java src/main/java/com/rootly/client/model/CauseResponse.java src/main/java/com/rootly/client/model/CauseResponseData.java 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/CommunicationsGroupResponse.java +src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java +src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java +src/main/java/com/rootly/client/model/CommunicationsStage.java +src/main/java/com/rootly/client/model/CommunicationsStageResponse.java +src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java +src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java +src/main/java/com/rootly/client/model/CommunicationsTemplate.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java +src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java +src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java +src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java +src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java +src/main/java/com/rootly/client/model/CommunicationsType.java +src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java +src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java +src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java +src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java +src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java +src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java +src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java +src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java +src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java +src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java @@ -1400,6 +1813,7 @@ src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java +src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java @@ -1407,10 +1821,16 @@ src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java +src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java +src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java +src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java +src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java +src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java +src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java @@ -1422,10 +1842,13 @@ src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.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 src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java +src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java +src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java @@ -1450,15 +1873,28 @@ 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/DeleteAlertRoute200Response.java +src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java +src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java src/main/java/com/rootly/client/model/DuplicateIncident.java src/main/java/com/rootly/client/model/DuplicateIncidentData.java src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java +src/main/java/com/rootly/client/model/EdgeConnector.java +src/main/java/com/rootly/client/model/EdgeConnectorAction.java +src/main/java/com/rootly/client/model/EdgeConnectorActionData.java +src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java +src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java +src/main/java/com/rootly/client/model/EdgeConnectorData.java +src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java 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/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/EscalationPolicyLevel.java src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java @@ -1471,8 +1907,6 @@ 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/EscalationPolicyPathRulesInner.java -src/main/java/com/rootly/client/model/EscalationPolicyPathRulesInnerAnyOf.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 @@ -1507,15 +1941,13 @@ src/main/java/com/rootly/client/model/Functionality.java src/main/java/com/rootly/client/model/FunctionalityList.java src/main/java/com/rootly/client/model/FunctionalityResponse.java src/main/java/com/rootly/client/model/FunctionalityResponseData.java -src/main/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParams.java -src/main/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsModel.java -src/main/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParams.java -src/main/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsModel.java +src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java src/main/java/com/rootly/client/model/GetAlertsTaskParams.java src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java src/main/java/com/rootly/client/model/GetPulsesTaskParams.java src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java +src/main/java/com/rootly/client/model/GetTeamIdParameter.java src/main/java/com/rootly/client/model/Heartbeat.java src/main/java/com/rootly/client/model/HeartbeatList.java src/main/java/com/rootly/client/model/HeartbeatResponse.java @@ -1595,6 +2027,7 @@ src/main/java/com/rootly/client/model/IncidentType.java src/main/java/com/rootly/client/model/IncidentTypeList.java src/main/java/com/rootly/client/model/IncidentTypeResponse.java src/main/java/com/rootly/client/model/IncidentTypeResponseData.java +src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java @@ -1609,56 +2042,101 @@ src/main/java/com/rootly/client/model/LiveCallRouter.java src/main/java/com/rootly/client/model/LiveCallRouterList.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 +src/main/java/com/rootly/client/model/MeetingRecordingList.java +src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java +src/main/java/com/rootly/client/model/Meta.java src/main/java/com/rootly/client/model/MitigateIncident.java src/main/java/com/rootly/client/model/MitigateIncidentData.java 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/NewAlertDataAttributesAlertFieldValuesAttributesInner.java src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java +src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java src/main/java/com/rootly/client/model/NewAlertEvent.java src/main/java/com/rootly/client/model/NewAlertEventData.java src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java +src/main/java/com/rootly/client/model/NewAlertField.java +src/main/java/com/rootly/client/model/NewAlertFieldData.java +src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java src/main/java/com/rootly/client/model/NewAlertGroup.java src/main/java/com/rootly/client/model/NewAlertGroupData.java 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/NewAlertRoute.java +src/main/java/com/rootly/client/model/NewAlertRouteData.java +src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java +src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java +src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java +src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java +src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java src/main/java/com/rootly/client/model/NewAlertRoutingRule.java src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInner.java -src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesDestination.java src/main/java/com/rootly/client/model/NewAlertUrgency.java src/main/java/com/rootly/client/model/NewAlertUrgencyData.java src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java src/main/java/com/rootly/client/model/NewAlertsSource.java src/main/java/com/rootly/client/model/NewAlertsSourceData.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java +src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java +src/main/java/com/rootly/client/model/NewApiKey.java +src/main/java/com/rootly/client/model/NewApiKeyData.java +src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java src/main/java/com/rootly/client/model/NewAuthorization.java src/main/java/com/rootly/client/model/NewAuthorizationData.java src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java src/main/java/com/rootly/client/model/NewCatalog.java +src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.java +src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java +src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java +src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java +src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java src/main/java/com/rootly/client/model/NewCatalogData.java src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java src/main/java/com/rootly/client/model/NewCatalogEntity.java src/main/java/com/rootly/client/model/NewCatalogEntityData.java src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java +src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java src/main/java/com/rootly/client/model/NewCatalogField.java src/main/java/com/rootly/client/model/NewCatalogFieldData.java src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java +src/main/java/com/rootly/client/model/NewCatalogProperty.java +src/main/java/com/rootly/client/model/NewCatalogPropertyData.java +src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java src/main/java/com/rootly/client/model/NewCause.java src/main/java/com/rootly/client/model/NewCauseData.java src/main/java/com/rootly/client/model/NewCauseDataAttributes.java +src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java +src/main/java/com/rootly/client/model/NewCommunicationsGroup.java +src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java +src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java +src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java +src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java +src/main/java/com/rootly/client/model/NewCommunicationsStage.java +src/main/java/com/rootly/client/model/NewCommunicationsStageData.java +src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java +src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java +src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java +src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java +src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java +src/main/java/com/rootly/client/model/NewCommunicationsType.java +src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java +src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java src/main/java/com/rootly/client/model/NewCustomField.java src/main/java/com/rootly/client/model/NewCustomFieldData.java src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java @@ -1680,8 +2158,15 @@ src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatas src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.java src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java +src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java +src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java +src/main/java/com/rootly/client/model/NewEdgeConnector.java +src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java +src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java +src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java +src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java src/main/java/com/rootly/client/model/NewEnvironment.java src/main/java/com/rootly/client/model/NewEnvironmentData.java src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java @@ -1699,9 +2184,14 @@ 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/NewEscalationPolicyPathDataAttributesRulesInner.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.java -src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.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/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java src/main/java/com/rootly/client/model/NewFormField.java src/main/java/com/rootly/client/model/NewFormFieldData.java src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java @@ -1782,6 +2272,10 @@ src/main/java/com/rootly/client/model/NewLiveCallRouter.java src/main/java/com/rootly/client/model/NewLiveCallRouterData.java src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java +src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java +src/main/java/com/rootly/client/model/NewOnCallPayReport.java +src/main/java/com/rootly/client/model/NewOnCallPayReportData.java +src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java src/main/java/com/rootly/client/model/NewOnCallRole.java src/main/java/com/rootly/client/model/NewOnCallRoleData.java src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java @@ -1803,6 +2297,7 @@ src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.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 +src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java @@ -1826,6 +2321,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/NewScheduleDataAttributesSlackChannel.java src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java src/main/java/com/rootly/client/model/NewScheduleRotation.java src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java @@ -1835,6 +2331,7 @@ src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes src/main/java/com/rootly/client/model/NewScheduleRotationData.java src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java +src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java @@ -1849,9 +2346,16 @@ src/main/java/com/rootly/client/model/NewSecretDataAttributes.java src/main/java/com/rootly/client/model/NewService.java src/main/java/com/rootly/client/model/NewServiceData.java src/main/java/com/rootly/client/model/NewServiceDataAttributes.java +src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java +src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java src/main/java/com/rootly/client/model/NewSeverity.java src/main/java/com/rootly/client/model/NewSeverityData.java src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java +src/main/java/com/rootly/client/model/NewSla.java +src/main/java/com/rootly/client/model/NewSlaData.java +src/main/java/com/rootly/client/model/NewSlaDataAttributes.java +src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java +src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java src/main/java/com/rootly/client/model/NewStatusPage.java src/main/java/com/rootly/client/model/NewStatusPageData.java src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java @@ -1864,9 +2368,15 @@ src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java src/main/java/com/rootly/client/model/NewTeam.java src/main/java/com/rootly/client/model/NewTeamData.java src/main/java/com/rootly/client/model/NewTeamDataAttributes.java +src/main/java/com/rootly/client/model/NewUserEmailAddress.java +src/main/java/com/rootly/client/model/NewUserEmailAddressData.java +src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java src/main/java/com/rootly/client/model/NewUserNotificationRule.java src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java +src/main/java/com/rootly/client/model/NewUserPhoneNumber.java +src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java +src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java @@ -1896,6 +2406,10 @@ 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/OnCallPayReport.java +src/main/java/com/rootly/client/model/OnCallPayReportList.java +src/main/java/com/rootly/client/model/OnCallPayReportResponse.java +src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java src/main/java/com/rootly/client/model/OnCallRole.java src/main/java/com/rootly/client/model/OnCallRoleList.java src/main/java/com/rootly/client/model/OnCallRoleRelationship.java @@ -1911,10 +2425,19 @@ 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 src/main/java/com/rootly/client/model/OverrideShiftResponseData.java +src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java +src/main/java/com/rootly/client/model/PatchAlertRoute.java +src/main/java/com/rootly/client/model/PatchAlertRouteData.java +src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java +src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java +src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java +src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java +src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java +src/main/java/com/rootly/client/model/PhoneVerificationResponse.java src/main/java/com/rootly/client/model/Playbook.java src/main/java/com/rootly/client/model/PlaybookList.java src/main/java/com/rootly/client/model/PlaybookResponse.java @@ -1978,6 +2501,9 @@ src/main/java/com/rootly/client/model/RoleRelationship.java src/main/java/com/rootly/client/model/RoleRelationshipData.java src/main/java/com/rootly/client/model/RoleResponse.java src/main/java/com/rootly/client/model/RoleResponseData.java +src/main/java/com/rootly/client/model/RotateApiKey.java +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/ScheduleList.java @@ -1997,6 +2523,7 @@ src/main/java/com/rootly/client/model/ScheduleRotationUser.java src/main/java/com/rootly/client/model/ScheduleRotationUserList.java src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java +src/main/java/com/rootly/client/model/ScheduleSlackChannel.java src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java src/main/java/com/rootly/client/model/Secret.java src/main/java/com/rootly/client/model/SecretList.java @@ -2005,12 +2532,15 @@ src/main/java/com/rootly/client/model/SecretResponseData.java src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java src/main/java/com/rootly/client/model/SendEmailTaskParams.java src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java +src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java src/main/java/com/rootly/client/model/SendSmsTaskParams.java src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java src/main/java/com/rootly/client/model/Service.java +src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java +src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java src/main/java/com/rootly/client/model/ServiceList.java src/main/java/com/rootly/client/model/ServiceResponse.java src/main/java/com/rootly/client/model/ServiceResponseData.java @@ -2024,11 +2554,29 @@ src/main/java/com/rootly/client/model/ShiftListDataInner.java src/main/java/com/rootly/client/model/ShiftOverride.java src/main/java/com/rootly/client/model/ShiftOverrideResponse.java src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java +src/main/java/com/rootly/client/model/ShiftRelationships.java +src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java +src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java +src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java +src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java +src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java +src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java src/main/java/com/rootly/client/model/SimpleTriggerParams.java +src/main/java/com/rootly/client/model/Sla.java +src/main/java/com/rootly/client/model/SlaConditionsInner.java +src/main/java/com/rootly/client/model/SlaList.java +src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java +src/main/java/com/rootly/client/model/SlaResponse.java +src/main/java/com/rootly/client/model/SlaResponseData.java src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java +src/main/java/com/rootly/client/model/SnoozeAlert.java +src/main/java/com/rootly/client/model/SnoozeAlertData.java +src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java +src/main/java/com/rootly/client/model/Status.java +src/main/java/com/rootly/client/model/StatusList.java src/main/java/com/rootly/client/model/StatusPage.java src/main/java/com/rootly/client/model/StatusPageList.java src/main/java/com/rootly/client/model/StatusPageResponse.java @@ -2038,6 +2586,8 @@ src/main/java/com/rootly/client/model/StatusPageTemplateList.java src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java +src/main/java/com/rootly/client/model/StatusResponse.java +src/main/java/com/rootly/client/model/StatusResponseData.java src/main/java/com/rootly/client/model/SubStatus.java src/main/java/com/rootly/client/model/SubStatusList.java src/main/java/com/rootly/client/model/SubStatusResponse.java @@ -2046,6 +2596,9 @@ src/main/java/com/rootly/client/model/Team.java src/main/java/com/rootly/client/model/TeamList.java src/main/java/com/rootly/client/model/TeamResponse.java src/main/java/com/rootly/client/model/TeamResponseData.java +src/main/java/com/rootly/client/model/TiptapBlockSchema.java +src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java +src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java src/main/java/com/rootly/client/model/UnassignRoleFromUser.java @@ -2059,9 +2612,15 @@ src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertEvent.java src/main/java/com/rootly/client/model/UpdateAlertEventData.java src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java +src/main/java/com/rootly/client/model/UpdateAlertField.java +src/main/java/com/rootly/client/model/UpdateAlertFieldData.java +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/UpdateAlertRoute.java +src/main/java/com/rootly/client/model/UpdateAlertRouteData.java +src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java @@ -2073,12 +2632,18 @@ 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/UpdateApiKey.java +src/main/java/com/rootly/client/model/UpdateApiKeyData.java +src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java src/main/java/com/rootly/client/model/UpdateAuthorization.java src/main/java/com/rootly/client/model/UpdateAuthorizationData.java src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java src/main/java/com/rootly/client/model/UpdateCatalog.java +src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.java +src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java +src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java src/main/java/com/rootly/client/model/UpdateCatalogData.java src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java src/main/java/com/rootly/client/model/UpdateCatalogEntity.java @@ -2090,11 +2655,31 @@ src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes. src/main/java/com/rootly/client/model/UpdateCatalogField.java src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java +src/main/java/com/rootly/client/model/UpdateCatalogProperty.java +src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java +src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java src/main/java/com/rootly/client/model/UpdateCause.java src/main/java/com/rootly/client/model/UpdateCauseData.java src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java +src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.java +src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java +src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java +src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java +src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java +src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java +src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java +src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java +src/main/java/com/rootly/client/model/UpdateCommunicationsType.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java +src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java +src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java +src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java src/main/java/com/rootly/client/model/UpdateCustomField.java src/main/java/com/rootly/client/model/UpdateCustomFieldData.java src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java @@ -2110,6 +2695,16 @@ src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java src/main/java/com/rootly/client/model/UpdateDashboardPanel.java src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java +src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java +src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java +src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java +src/main/java/com/rootly/client/model/UpdateEdgeConnector.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java +src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java src/main/java/com/rootly/client/model/UpdateEnvironment.java src/main/java/com/rootly/client/model/UpdateEnvironmentData.java src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java @@ -2124,6 +2719,7 @@ src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java +src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java src/main/java/com/rootly/client/model/UpdateFormField.java src/main/java/com/rootly/client/model/UpdateFormFieldData.java src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java @@ -2149,6 +2745,7 @@ src/main/java/com/rootly/client/model/UpdateFunctionality.java src/main/java/com/rootly/client/model/UpdateFunctionalityData.java src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java +src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java @@ -2215,12 +2812,16 @@ src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java +src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java +src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java +src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java +src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java src/main/java/com/rootly/client/model/UpdateOnCallRole.java src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java @@ -2246,6 +2847,7 @@ src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.jav 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 +src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java @@ -2286,8 +2888,12 @@ src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java src/main/java/com/rootly/client/model/UpdateSeverity.java src/main/java/com/rootly/client/model/UpdateSeverityData.java src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java +src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java 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/UpdateSlackChannelTopicTaskParams.java src/main/java/com/rootly/client/model/UpdateStatusPage.java src/main/java/com/rootly/client/model/UpdateStatusPageData.java @@ -2306,9 +2912,15 @@ src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java src/main/java/com/rootly/client/model/UpdateUser.java src/main/java/com/rootly/client/model/UpdateUserData.java src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java +src/main/java/com/rootly/client/model/UpdateUserEmailAddress.java +src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java +src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java +src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java +src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java +src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java @@ -2331,14 +2943,24 @@ src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java src/main/java/com/rootly/client/model/User.java +src/main/java/com/rootly/client/model/UserEmailAddress.java +src/main/java/com/rootly/client/model/UserEmailAddressList.java +src/main/java/com/rootly/client/model/UserEmailAddressResponse.java +src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java +src/main/java/com/rootly/client/model/UserFlatResponse.java src/main/java/com/rootly/client/model/UserList.java src/main/java/com/rootly/client/model/UserNotificationRule.java src/main/java/com/rootly/client/model/UserNotificationRuleList.java src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java +src/main/java/com/rootly/client/model/UserPhoneNumber.java +src/main/java/com/rootly/client/model/UserPhoneNumberList.java +src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java +src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java src/main/java/com/rootly/client/model/UserRelationships.java src/main/java/com/rootly/client/model/UserResponse.java src/main/java/com/rootly/client/model/UserResponseData.java +src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.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 @@ -2371,3 +2993,325 @@ 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/test/java/com/rootly/client/api/AlertFieldsApiTest.java +src/test/java/com/rootly/client/api/AlertRoutesApiTest.java +src/test/java/com/rootly/client/api/ApiKeysApiTest.java +src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java +src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java +src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.java +src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java +src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java +src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java +src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java +src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java +src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java +src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java +src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java +src/test/java/com/rootly/client/api/OnCallsApiTest.java +src/test/java/com/rootly/client/api/SlasApiTest.java +src/test/java/com/rootly/client/api/StatusesApiTest.java +src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java +src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java +src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java +src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.java +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/AlertGroupConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInnerTest.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/AlertRouteTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleConditionTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleTargetTest.java +src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.java +src/test/java/com/rootly/client/model/ApiKeyListTest.java +src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.java +src/test/java/com/rootly/client/model/ApiKeyResponseTest.java +src/test/java/com/rootly/client/model/ApiKeyTest.java +src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java +src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.java +src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseTest.java +src/test/java/com/rootly/client/model/BuiltinFieldTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseTest.java +src/test/java/com/rootly/client/model/CatalogChecklistTemplateTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseTest.java +src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java +src/test/java/com/rootly/client/model/CatalogPropertyListTest.java +src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogPropertyResponseTest.java +src/test/java/com/rootly/client/model/CatalogPropertyTest.java +src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.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 +src/test/java/com/rootly/client/model/CommunicationsGroupsResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsStageResponseDataTest.java +src/test/java/com/rootly/client/model/CommunicationsStageResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsStageTest.java +src/test/java/com/rootly/client/model/CommunicationsStagesResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTypeTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateResponseDataTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplateTest.java +src/test/java/com/rootly/client/model/CommunicationsTemplatesResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.java +src/test/java/com/rootly/client/model/CommunicationsTypeResponseTest.java +src/test/java/com/rootly/client/model/CommunicationsTypeTest.java +src/test/java/com/rootly/client/model/CommunicationsTypesResponseTest.java +src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.java +src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.java +src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestTest.java +src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.java +src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModelTest.java +src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.java +src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.java +src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.java +src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.java +src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsTest.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 +src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.java +src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java +src/test/java/com/rootly/client/model/EdgeConnectorActionDataTest.java +src/test/java/com/rootly/client/model/EdgeConnectorActionTest.java +src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java +src/test/java/com/rootly/client/model/EdgeConnectorDataTest.java +src/test/java/com/rootly/client/model/EdgeConnectorTest.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/GetAlertFieldIdParameterTest.java +src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java +src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java +src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.java +src/test/java/com/rootly/client/model/MeetingRecordingListTest.java +src/test/java/com/rootly/client/model/MeetingRecordingTest.java +src/test/java/com/rootly/client/model/MetaTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java +src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertFieldDataTest.java +src/test/java/com/rootly/client/model/NewAlertFieldTest.java +src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.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 +src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertRouteDataTest.java +src/test/java/com/rootly/client/model/NewAlertRouteTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewApiKeyDataAttributesTest.java +src/test/java/com/rootly/client/model/NewApiKeyDataTest.java +src/test/java/com/rootly/client/model/NewApiKeyTest.java +src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.java +src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.java +src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.java +src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.java +src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.java +src/test/java/com/rootly/client/model/NewCatalogPropertyTest.java +src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.java +src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java +src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java +src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCommunicationsGroupDataTest.java +src/test/java/com/rootly/client/model/NewCommunicationsGroupTest.java +src/test/java/com/rootly/client/model/NewCommunicationsStageDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCommunicationsStageDataTest.java +src/test/java/com/rootly/client/model/NewCommunicationsStageTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTemplateTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.java +src/test/java/com/rootly/client/model/NewCommunicationsTypeTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.java +src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadataTest.java +src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.java +src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.java +src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java +src/test/java/com/rootly/client/model/NewEdgeConnectorTest.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/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java +src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.java +src/test/java/com/rootly/client/model/NewOnCallPayReportDataAttributesTest.java +src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.java +src/test/java/com/rootly/client/model/NewOnCallPayReportTest.java +src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.java +src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannelTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.java +src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.java +src/test/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannelTest.java +src/test/java/com/rootly/client/model/NewSlaDataAttributesConditionsInnerTest.java +src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.java +src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java +src/test/java/com/rootly/client/model/NewSlaDataTest.java +src/test/java/com/rootly/client/model/NewSlaTest.java +src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.java +src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.java +src/test/java/com/rootly/client/model/NewUserEmailAddressTest.java +src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.java +src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.java +src/test/java/com/rootly/client/model/NewUserPhoneNumberTest.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 +src/test/java/com/rootly/client/model/OnCallPayReportTest.java +src/test/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParamsTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java +src/test/java/com/rootly/client/model/PatchAlertRouteTest.java +src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.java +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/ScheduleSlackChannelTest.java +src/test/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParamsTest.java +src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.java +src/test/java/com/rootly/client/model/ServiceIncidentBroadcastChannelTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeDataTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.java +src/test/java/com/rootly/client/model/ShiftRelationshipsUserTest.java +src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java +src/test/java/com/rootly/client/model/SlaListTest.java +src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java +src/test/java/com/rootly/client/model/SlaResponseDataTest.java +src/test/java/com/rootly/client/model/SlaResponseTest.java +src/test/java/com/rootly/client/model/SlaTest.java +src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/SnoozeAlertDataTest.java +src/test/java/com/rootly/client/model/SnoozeAlertTest.java +src/test/java/com/rootly/client/model/StatusListTest.java +src/test/java/com/rootly/client/model/StatusResponseDataTest.java +src/test/java/com/rootly/client/model/StatusResponseTest.java +src/test/java/com/rootly/client/model/StatusTest.java +src/test/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponentTest.java +src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.java +src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.java +src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertFieldTest.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 +src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java +src/test/java/com/rootly/client/model/UpdateApiKeyTest.java +src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateTest.java +src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogPropertyTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsGroupTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsStageTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java +src/test/java/com/rootly/client/model/UpdateCommunicationsTypeTest.java +src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.java +src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.java +src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestActionTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.java +src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java +src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepositoryTest.java +src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsStateTest.java +src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java +src/test/java/com/rootly/client/model/UpdateOnCallPayReportTest.java +src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.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/UpdateUserEmailAddressDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java +src/test/java/com/rootly/client/model/UpdateUserEmailAddressTest.java +src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java +src/test/java/com/rootly/client/model/UpdateUserPhoneNumberTest.java +src/test/java/com/rootly/client/model/UserEmailAddressListTest.java +src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.java +src/test/java/com/rootly/client/model/UserEmailAddressResponseTest.java +src/test/java/com/rootly/client/model/UserEmailAddressTest.java +src/test/java/com/rootly/client/model/UserFlatResponseTest.java +src/test/java/com/rootly/client/model/UserPhoneNumberListTest.java +src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.java +src/test/java/com/rootly/client/model/UserPhoneNumberResponseTest.java +src/test/java/com/rootly/client/model/UserPhoneNumberTest.java +src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.java diff --git a/README.md b/README.md index e149c0cd..1ec85439 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Rootly API v1 - API version: v1 - - Build date: 2025-05-22T07:13:31.203496-07:00[America/Los_Angeles] + - Build date: 2026-05-07T08:27:13.146665190Z[Etc/UTC] - Generator version: 7.13.0 # How to generate an API Key? @@ -26,13 +26,14 @@ We use standard HTTP Authentication over HTTPS to authorize your requests.
# Rate limiting -- There is a default limit of approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. -- The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. -- Additional headers will be returned giving you information about the limit: - - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - - **RateLimit-Reset** - The time at which the current rate limit window resets in UTC epoch seconds. +- 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. @@ -167,21 +168,32 @@ Class | Method | HTTP request | Description *AlertEventsApi* | [**getAlertEvent**](docs/AlertEventsApi.md#getAlertEvent) | **GET** /v1/alert_events/{id} | Retrieve alert event *AlertEventsApi* | [**listAlertEvents**](docs/AlertEventsApi.md#listAlertEvents) | **GET** /v1/alerts/{alert_id}/events | List alert events *AlertEventsApi* | [**updateAlertEvent**](docs/AlertEventsApi.md#updateAlertEvent) | **PATCH** /v1/alert_events/{id} | Update alert event +*AlertFieldsApi* | [**createAlertField**](docs/AlertFieldsApi.md#createAlertField) | **POST** /v1/alert_fields | Creates an alert field +*AlertFieldsApi* | [**deleteAlertField**](docs/AlertFieldsApi.md#deleteAlertField) | **DELETE** /v1/alert_fields/{id} | Delete an alert field +*AlertFieldsApi* | [**getAlertField**](docs/AlertFieldsApi.md#getAlertField) | **GET** /v1/alert_fields/{id} | Retrieves an alert field +*AlertFieldsApi* | [**listAlertFields**](docs/AlertFieldsApi.md#listAlertFields) | **GET** /v1/alert_fields | List alert fields +*AlertFieldsApi* | [**updateAlertField**](docs/AlertFieldsApi.md#updateAlertField) | **PUT** /v1/alert_fields/{id} | Update an alert field *AlertGroupsApi* | [**createAlertGroup**](docs/AlertGroupsApi.md#createAlertGroup) | **POST** /v1/alert_groups | Creates an alert group *AlertGroupsApi* | [**deleteAlertGroup**](docs/AlertGroupsApi.md#deleteAlertGroup) | **DELETE** /v1/alert_groups/{id} | Delete an alert group *AlertGroupsApi* | [**getAlertGroup**](docs/AlertGroupsApi.md#getAlertGroup) | **GET** /v1/alert_groups/{id} | Retrieves an alert group *AlertGroupsApi* | [**listAlertGroups**](docs/AlertGroupsApi.md#listAlertGroups) | **GET** /v1/alert_groups | List alert groups *AlertGroupsApi* | [**updateAlertGroup**](docs/AlertGroupsApi.md#updateAlertGroup) | **PATCH** /v1/alert_groups/{id} | Update an alert group +*AlertRoutesApi* | [**createAlertRoute**](docs/AlertRoutesApi.md#createAlertRoute) | **POST** /v1/alert_routes | Creates an alert route +*AlertRoutesApi* | [**deleteAlertRoute**](docs/AlertRoutesApi.md#deleteAlertRoute) | **DELETE** /v1/alert_routes/{id} | Delete an alert route +*AlertRoutesApi* | [**getAlertRoute**](docs/AlertRoutesApi.md#getAlertRoute) | **GET** /v1/alert_routes/{id} | Get an alert route +*AlertRoutesApi* | [**listAlertRoutes**](docs/AlertRoutesApi.md#listAlertRoutes) | **GET** /v1/alert_routes | List alert routes +*AlertRoutesApi* | [**patchAlertRoute**](docs/AlertRoutesApi.md#patchAlertRoute) | **PATCH** /v1/alert_routes/{id} | Update an alert route +*AlertRoutesApi* | [**updateAlertRoute**](docs/AlertRoutesApi.md#updateAlertRoute) | **PUT** /v1/alert_routes/{id} | Update an alert route *AlertRoutingRulesApi* | [**createAlertRoutingRule**](docs/AlertRoutingRulesApi.md#createAlertRoutingRule) | **POST** /v1/alert_routing_rules | Creates an alert routing rule *AlertRoutingRulesApi* | [**deleteAlertRoutingRule**](docs/AlertRoutingRulesApi.md#deleteAlertRoutingRule) | **DELETE** /v1/alert_routing_rules/{id} | Delete an alert routing rule *AlertRoutingRulesApi* | [**getAlertRoutingRule**](docs/AlertRoutingRulesApi.md#getAlertRoutingRule) | **GET** /v1/alert_routing_rules/{id} | Retrieves an alert routing rule *AlertRoutingRulesApi* | [**listAlertRoutingRules**](docs/AlertRoutingRulesApi.md#listAlertRoutingRules) | **GET** /v1/alert_routing_rules | List alert routing rules *AlertRoutingRulesApi* | [**updateAlertRoutingRule**](docs/AlertRoutingRulesApi.md#updateAlertRoutingRule) | **PUT** /v1/alert_routing_rules/{id} | Update an alert routing rule -*AlertSourcesApi* | [**createAlertSource**](docs/AlertSourcesApi.md#createAlertSource) | **POST** /v1/alert_sources | Creates an alert source -*AlertSourcesApi* | [**deleteAlertSource**](docs/AlertSourcesApi.md#deleteAlertSource) | **DELETE** /v1/alert_sources/{id} | Delete an alert source -*AlertSourcesApi* | [**getAlertSource**](docs/AlertSourcesApi.md#getAlertSource) | **GET** /v1/alert_sources/{id} | Retrieves an alert source -*AlertSourcesApi* | [**listAlertSources**](docs/AlertSourcesApi.md#listAlertSources) | **GET** /v1/alert_sources | List alert sources -*AlertSourcesApi* | [**updateAlertSource**](docs/AlertSourcesApi.md#updateAlertSource) | **PUT** /v1/alert_sources/{id} | Update an alert source +*AlertSourcesApi* | [**createAlertsSource**](docs/AlertSourcesApi.md#createAlertsSource) | **POST** /v1/alert_sources | Creates an alert source +*AlertSourcesApi* | [**deleteAlertsSource**](docs/AlertSourcesApi.md#deleteAlertsSource) | **DELETE** /v1/alert_sources/{id} | Delete an alert source +*AlertSourcesApi* | [**getAlertsSource**](docs/AlertSourcesApi.md#getAlertsSource) | **GET** /v1/alert_sources/{id} | Retrieves an alert source +*AlertSourcesApi* | [**listAlertsSources**](docs/AlertSourcesApi.md#listAlertsSources) | **GET** /v1/alert_sources | List alert sources +*AlertSourcesApi* | [**updateAlertsSource**](docs/AlertSourcesApi.md#updateAlertsSource) | **PUT** /v1/alert_sources/{id} | Update an alert source *AlertUrgenciesApi* | [**createAlertUrgency**](docs/AlertUrgenciesApi.md#createAlertUrgency) | **POST** /v1/alert_urgencies | Creates an alert urgency *AlertUrgenciesApi* | [**deleteAlertUrgency**](docs/AlertUrgenciesApi.md#deleteAlertUrgency) | **DELETE** /v1/alert_urgencies/{id} | Delete an alert urgency *AlertUrgenciesApi* | [**getAlertUrgency**](docs/AlertUrgenciesApi.md#getAlertUrgency) | **GET** /v1/alert_urgencies/{id} | Retrieves an alert urgency @@ -190,42 +202,80 @@ Class | Method | HTTP request | Description *AlertsApi* | [**acknowledgeAlert**](docs/AlertsApi.md#acknowledgeAlert) | **POST** /v1/alerts/{id}/acknowledge | Acknowledges an alert *AlertsApi* | [**attachAlert**](docs/AlertsApi.md#attachAlert) | **POST** /v1/incidents/{incident_id}/alerts | Attach alerts to an incident *AlertsApi* | [**createAlert**](docs/AlertsApi.md#createAlert) | **POST** /v1/alerts | Creates an alert +*AlertsApi* | [**escalateAlert**](docs/AlertsApi.md#escalateAlert) | **POST** /v1/alerts/{id}/escalate | Escalates an alert *AlertsApi* | [**getAlert**](docs/AlertsApi.md#getAlert) | **GET** /v1/alerts/{id} | Retrieves an alert *AlertsApi* | [**listAlerts**](docs/AlertsApi.md#listAlerts) | **GET** /v1/alerts | List alerts *AlertsApi* | [**listIncidentAlerts**](docs/AlertsApi.md#listIncidentAlerts) | **GET** /v1/incidents/{incident_id}/alerts | List Incident alerts *AlertsApi* | [**resolveAlert**](docs/AlertsApi.md#resolveAlert) | **POST** /v1/alerts/{id}/resolve | Resolves an alert +*AlertsApi* | [**snoozeAlert**](docs/AlertsApi.md#snoozeAlert) | **POST** /v1/alerts/{id}/snooze | Snoozes an alert *AlertsApi* | [**updateAlert**](docs/AlertsApi.md#updateAlert) | **PATCH** /v1/alerts/{id} | Update alert +*ApiKeysApi* | [**createApiKey**](docs/ApiKeysApi.md#createApiKey) | **POST** /v1/api_keys | Creates an API key +*ApiKeysApi* | [**deleteApiKey**](docs/ApiKeysApi.md#deleteApiKey) | **DELETE** /v1/api_keys/{id} | Revoke an API key +*ApiKeysApi* | [**getApiKey**](docs/ApiKeysApi.md#getApiKey) | **GET** /v1/api_keys/{id} | Retrieves an API key +*ApiKeysApi* | [**listApiKeys**](docs/ApiKeysApi.md#listApiKeys) | **GET** /v1/api_keys | List API keys +*ApiKeysApi* | [**rotateApiKey**](docs/ApiKeysApi.md#rotateApiKey) | **POST** /v1/api_keys/{id}/rotate | Rotate an API key +*ApiKeysApi* | [**updateApiKey**](docs/ApiKeysApi.md#updateApiKey) | **PUT** /v1/api_keys/{id} | Update an API key *AuditsApi* | [**listAudits**](docs/AuditsApi.md#listAudits) | **GET** /v1/audits | List audits *AuthorizationsApi* | [**createAuthorization**](docs/AuthorizationsApi.md#createAuthorization) | **POST** /v1/authorizations | Creates an authorization *AuthorizationsApi* | [**deleteAuthorization**](docs/AuthorizationsApi.md#deleteAuthorization) | **DELETE** /v1/authorizations/{id} | Delete an authorization *AuthorizationsApi* | [**getAuthorization**](docs/AuthorizationsApi.md#getAuthorization) | **GET** /v1/authorizations/{id} | Retrieves an authorization *AuthorizationsApi* | [**listAuthorizations**](docs/AuthorizationsApi.md#listAuthorizations) | **GET** /v1/authorizations | List authorizations *AuthorizationsApi* | [**updateAuthorization**](docs/AuthorizationsApi.md#updateAuthorization) | **PUT** /v1/authorizations/{id} | Update an authorization +*CatalogChecklistTemplatesApi* | [**createCatalogChecklistTemplate**](docs/CatalogChecklistTemplatesApi.md#createCatalogChecklistTemplate) | **POST** /v1/catalog_checklist_templates | Creates a catalog checklist template +*CatalogChecklistTemplatesApi* | [**deleteCatalogChecklistTemplate**](docs/CatalogChecklistTemplatesApi.md#deleteCatalogChecklistTemplate) | **DELETE** /v1/catalog_checklist_templates/{id} | Delete a catalog checklist template +*CatalogChecklistTemplatesApi* | [**getCatalogChecklistTemplate**](docs/CatalogChecklistTemplatesApi.md#getCatalogChecklistTemplate) | **GET** /v1/catalog_checklist_templates/{id} | Retrieves a catalog checklist template +*CatalogChecklistTemplatesApi* | [**listCatalogChecklistTemplates**](docs/CatalogChecklistTemplatesApi.md#listCatalogChecklistTemplates) | **GET** /v1/catalog_checklist_templates | List catalog checklist templates +*CatalogChecklistTemplatesApi* | [**triggerCatalogChecklistTemplate**](docs/CatalogChecklistTemplatesApi.md#triggerCatalogChecklistTemplate) | **POST** /v1/catalog_checklist_templates/{id}/trigger | Trigger an audit for a catalog checklist template +*CatalogChecklistTemplatesApi* | [**updateCatalogChecklistTemplate**](docs/CatalogChecklistTemplatesApi.md#updateCatalogChecklistTemplate) | **PUT** /v1/catalog_checklist_templates/{id} | Update a catalog checklist template *CatalogEntitiesApi* | [**createCatalogEntity**](docs/CatalogEntitiesApi.md#createCatalogEntity) | **POST** /v1/catalogs/{catalog_id}/entities | Creates a Catalog Entity *CatalogEntitiesApi* | [**deleteCatalogEntity**](docs/CatalogEntitiesApi.md#deleteCatalogEntity) | **DELETE** /v1/catalog_entities/{id} | Delete a Catalog Entity *CatalogEntitiesApi* | [**getCatalogEntity**](docs/CatalogEntitiesApi.md#getCatalogEntity) | **GET** /v1/catalog_entities/{id} | Retrieves a Catalog Entity *CatalogEntitiesApi* | [**listCatalogEntities**](docs/CatalogEntitiesApi.md#listCatalogEntities) | **GET** /v1/catalogs/{catalog_id}/entities | List Catalog Entities *CatalogEntitiesApi* | [**updateCatalogEntity**](docs/CatalogEntitiesApi.md#updateCatalogEntity) | **PUT** /v1/catalog_entities/{id} | Update a Catalog Entity +*CatalogEntityChecklistsApi* | [**getCatalogEntityChecklist**](docs/CatalogEntityChecklistsApi.md#getCatalogEntityChecklist) | **GET** /v1/catalog_entity_checklists/{id} | Retrieves a catalog entity checklist +*CatalogEntityChecklistsApi* | [**listCatalogEntityChecklists**](docs/CatalogEntityChecklistsApi.md#listCatalogEntityChecklists) | **GET** /v1/catalog_entity_checklists | List catalog entity checklists *CatalogEntityPropertiesApi* | [**createCatalogEntityProperty**](docs/CatalogEntityPropertiesApi.md#createCatalogEntityProperty) | **POST** /v1/catalog_entities/{catalog_entity_id}/properties | Creates a Catalog Entity Property *CatalogEntityPropertiesApi* | [**deleteCatalogEntityProperty**](docs/CatalogEntityPropertiesApi.md#deleteCatalogEntityProperty) | **DELETE** /v1/catalog_entity_properties/{id} | Delete a Catalog Entity Property *CatalogEntityPropertiesApi* | [**getCatalogEntityProperty**](docs/CatalogEntityPropertiesApi.md#getCatalogEntityProperty) | **GET** /v1/catalog_entity_properties/{id} | Retrieves a Catalog Entity Property *CatalogEntityPropertiesApi* | [**listCatalogEntityProperties**](docs/CatalogEntityPropertiesApi.md#listCatalogEntityProperties) | **GET** /v1/catalog_entities/{catalog_entity_id}/properties | List catalog properties *CatalogEntityPropertiesApi* | [**updateCatalogEntityProperty**](docs/CatalogEntityPropertiesApi.md#updateCatalogEntityProperty) | **PUT** /v1/catalog_entity_properties/{id} | Update a Catalog Entity Property -*CatalogFieldsApi* | [**createCatalogField**](docs/CatalogFieldsApi.md#createCatalogField) | **POST** /v1/catalogs/{catalog_id}/fields | Creates a Catalog Field -*CatalogFieldsApi* | [**deleteCatalogField**](docs/CatalogFieldsApi.md#deleteCatalogField) | **DELETE** /v1/catalog_fields/{id} | Delete a catalog_field -*CatalogFieldsApi* | [**getCatalogField**](docs/CatalogFieldsApi.md#getCatalogField) | **GET** /v1/catalog_fields/{id} | Retrieves a Catalog Field -*CatalogFieldsApi* | [**listCatalogFields**](docs/CatalogFieldsApi.md#listCatalogFields) | **GET** /v1/catalogs/{catalog_id}/fields | List Catalog Fields -*CatalogFieldsApi* | [**updateCatalogField**](docs/CatalogFieldsApi.md#updateCatalogField) | **PUT** /v1/catalog_fields/{id} | Update a catalog_field +*CatalogPropertiesApi* | [**createCatalogProperty**](docs/CatalogPropertiesApi.md#createCatalogProperty) | **POST** /v1/catalogs/{catalog_id}/properties | Creates a Catalog Property (alias for field) +*CatalogPropertiesApi* | [**deleteCatalogProperty**](docs/CatalogPropertiesApi.md#deleteCatalogProperty) | **DELETE** /v1/catalog_properties/{id} | Delete a catalog_property +*CatalogPropertiesApi* | [**getCatalogProperty**](docs/CatalogPropertiesApi.md#getCatalogProperty) | **GET** /v1/catalog_properties/{id} | Retrieves a Catalog Property (alias for field) +*CatalogPropertiesApi* | [**listCatalogProperties**](docs/CatalogPropertiesApi.md#listCatalogProperties) | **GET** /v1/catalogs/{catalog_id}/properties | List Catalog Properties (alias for fields) +*CatalogPropertiesApi* | [**updateCatalogProperty**](docs/CatalogPropertiesApi.md#updateCatalogProperty) | **PUT** /v1/catalog_properties/{id} | Update a catalog_property (alias for field) *CatalogsApi* | [**createCatalog**](docs/CatalogsApi.md#createCatalog) | **POST** /v1/catalogs | Creates a catalog *CatalogsApi* | [**deleteCatalog**](docs/CatalogsApi.md#deleteCatalog) | **DELETE** /v1/catalogs/{id} | Delete a catalog *CatalogsApi* | [**getCatalog**](docs/CatalogsApi.md#getCatalog) | **GET** /v1/catalogs/{id} | Retrieves a catalog *CatalogsApi* | [**listCatalogs**](docs/CatalogsApi.md#listCatalogs) | **GET** /v1/catalogs | List catalogs *CatalogsApi* | [**updateCatalog**](docs/CatalogsApi.md#updateCatalog) | **PUT** /v1/catalogs/{id} | Update a catalog *CausesApi* | [**createCause**](docs/CausesApi.md#createCause) | **POST** /v1/causes | Creates a cause +*CausesApi* | [**createCauseCatalogProperty**](docs/CausesApi.md#createCauseCatalogProperty) | **POST** /v1/causes/properties | Creates a Catalog Property *CausesApi* | [**deleteCause**](docs/CausesApi.md#deleteCause) | **DELETE** /v1/causes/{id} | Delete a cause *CausesApi* | [**getCause**](docs/CausesApi.md#getCause) | **GET** /v1/causes/{id} | Retrieves a cause +*CausesApi* | [**listCauseCatalogProperties**](docs/CausesApi.md#listCauseCatalogProperties) | **GET** /v1/causes/properties | List Catalog Properties *CausesApi* | [**listCauses**](docs/CausesApi.md#listCauses) | **GET** /v1/causes | List causes *CausesApi* | [**updateCause**](docs/CausesApi.md#updateCause) | **PUT** /v1/causes/{id} | Update a cause +*CommunicationsGroupsApi* | [**createCommunicationsGroup**](docs/CommunicationsGroupsApi.md#createCommunicationsGroup) | **POST** /v1/communications/groups | Creates a communications group +*CommunicationsGroupsApi* | [**deleteCommunicationsGroup**](docs/CommunicationsGroupsApi.md#deleteCommunicationsGroup) | **DELETE** /v1/communications/groups/{id} | Deletes a communications group +*CommunicationsGroupsApi* | [**getCommunicationsGroup**](docs/CommunicationsGroupsApi.md#getCommunicationsGroup) | **GET** /v1/communications/groups/{id} | Shows a communications group +*CommunicationsGroupsApi* | [**listCommunicationsGroups**](docs/CommunicationsGroupsApi.md#listCommunicationsGroups) | **GET** /v1/communications/groups | Lists communications groups +*CommunicationsGroupsApi* | [**updateCommunicationsGroup**](docs/CommunicationsGroupsApi.md#updateCommunicationsGroup) | **PATCH** /v1/communications/groups/{id} | Updates a communications group +*CommunicationsStagesApi* | [**createCommunicationsStage**](docs/CommunicationsStagesApi.md#createCommunicationsStage) | **POST** /v1/communications/stages | Creates a communications stage +*CommunicationsStagesApi* | [**deleteCommunicationsStage**](docs/CommunicationsStagesApi.md#deleteCommunicationsStage) | **DELETE** /v1/communications/stages/{id} | Deletes a communications stage +*CommunicationsStagesApi* | [**getCommunicationsStage**](docs/CommunicationsStagesApi.md#getCommunicationsStage) | **GET** /v1/communications/stages/{id} | Shows a communications stage +*CommunicationsStagesApi* | [**listCommunicationsStages**](docs/CommunicationsStagesApi.md#listCommunicationsStages) | **GET** /v1/communications/stages | Lists communications stages +*CommunicationsStagesApi* | [**updateCommunicationsStage**](docs/CommunicationsStagesApi.md#updateCommunicationsStage) | **PATCH** /v1/communications/stages/{id} | Updates a communications stage +*CommunicationsTemplatesApi* | [**createCommunicationsTemplate**](docs/CommunicationsTemplatesApi.md#createCommunicationsTemplate) | **POST** /v1/communications/templates | Creates a communications template +*CommunicationsTemplatesApi* | [**deleteCommunicationsTemplate**](docs/CommunicationsTemplatesApi.md#deleteCommunicationsTemplate) | **DELETE** /v1/communications/templates/{id} | Deletes a communications template +*CommunicationsTemplatesApi* | [**getCommunicationsTemplate**](docs/CommunicationsTemplatesApi.md#getCommunicationsTemplate) | **GET** /v1/communications/templates/{id} | Shows a communications template +*CommunicationsTemplatesApi* | [**listCommunicationsTemplates**](docs/CommunicationsTemplatesApi.md#listCommunicationsTemplates) | **GET** /v1/communications/templates | Lists communications templates +*CommunicationsTemplatesApi* | [**updateCommunicationsTemplate**](docs/CommunicationsTemplatesApi.md#updateCommunicationsTemplate) | **PATCH** /v1/communications/templates/{id} | Updates a communications template +*CommunicationsTypesApi* | [**createCommunicationsType**](docs/CommunicationsTypesApi.md#createCommunicationsType) | **POST** /v1/communications/types | Creates a communications type +*CommunicationsTypesApi* | [**deleteCommunicationsType**](docs/CommunicationsTypesApi.md#deleteCommunicationsType) | **DELETE** /v1/communications/types/{id} | Deletes a communications type +*CommunicationsTypesApi* | [**getCommunicationsType**](docs/CommunicationsTypesApi.md#getCommunicationsType) | **GET** /v1/communications/types/{id} | Shows a communications type +*CommunicationsTypesApi* | [**listCommunicationsTypes**](docs/CommunicationsTypesApi.md#listCommunicationsTypes) | **GET** /v1/communications/types | Lists communications types +*CommunicationsTypesApi* | [**updateCommunicationsType**](docs/CommunicationsTypesApi.md#updateCommunicationsType) | **PATCH** /v1/communications/types/{id} | Updates a communications type *CustomFormsApi* | [**createCustomForm**](docs/CustomFormsApi.md#createCustomForm) | **POST** /v1/custom_forms | Creates a custom form *CustomFormsApi* | [**deleteCustomForm**](docs/CustomFormsApi.md#deleteCustomForm) | **DELETE** /v1/custom_forms/{id} | Delete a custom form *CustomFormsApi* | [**getCustomForm**](docs/CustomFormsApi.md#getCustomForm) | **GET** /v1/custom_forms/{id} | Retrieves a custom form @@ -264,9 +314,21 @@ Class | Method | HTTP request | Description *DeprecatedWorkflowCustomFieldSelectionsApi* | [**getWorkflowCustomFieldSelection**](docs/DeprecatedWorkflowCustomFieldSelectionsApi.md#getWorkflowCustomFieldSelection) | **GET** /v1/workflow_custom_field_selections/{id} | [DEPRECATED] Retrieves a workflow custom field selection *DeprecatedWorkflowCustomFieldSelectionsApi* | [**listWorkflowCustomFieldSelections**](docs/DeprecatedWorkflowCustomFieldSelectionsApi.md#listWorkflowCustomFieldSelections) | **GET** /v1/workflows/{workflow_id}/custom_field_selections | [DEPRECATED] List workflow custom field selections *DeprecatedWorkflowCustomFieldSelectionsApi* | [**updateWorkflowCustomFieldSelection**](docs/DeprecatedWorkflowCustomFieldSelectionsApi.md#updateWorkflowCustomFieldSelection) | **PUT** /v1/workflow_custom_field_selections/{id} | [DEPRECATED] Update a workflow custom field selection +*EdgeConnectorActionsApi* | [**createEdgeConnectorAction**](docs/EdgeConnectorActionsApi.md#createEdgeConnectorAction) | **POST** /v1/edge_connectors/{edge_connector_id}/actions | Create edge connector action +*EdgeConnectorActionsApi* | [**deleteEdgeConnectorAction**](docs/EdgeConnectorActionsApi.md#deleteEdgeConnectorAction) | **DELETE** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Delete edge connector action +*EdgeConnectorActionsApi* | [**getEdgeConnectorAction**](docs/EdgeConnectorActionsApi.md#getEdgeConnectorAction) | **GET** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Show edge connector action +*EdgeConnectorActionsApi* | [**listEdgeConnectorActions**](docs/EdgeConnectorActionsApi.md#listEdgeConnectorActions) | **GET** /v1/edge_connectors/{edge_connector_id}/actions | List edge connector actions +*EdgeConnectorActionsApi* | [**updateEdgeConnectorAction**](docs/EdgeConnectorActionsApi.md#updateEdgeConnectorAction) | **PATCH** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Update edge connector action +*EdgeConnectorsApi* | [**createEdgeConnector**](docs/EdgeConnectorsApi.md#createEdgeConnector) | **POST** /v1/edge_connectors | Create edge connector +*EdgeConnectorsApi* | [**deleteEdgeConnector**](docs/EdgeConnectorsApi.md#deleteEdgeConnector) | **DELETE** /v1/edge_connectors/{id} | Delete edge connector +*EdgeConnectorsApi* | [**getEdgeConnector**](docs/EdgeConnectorsApi.md#getEdgeConnector) | **GET** /v1/edge_connectors/{id} | Show edge connector +*EdgeConnectorsApi* | [**listEdgeConnectors**](docs/EdgeConnectorsApi.md#listEdgeConnectors) | **GET** /v1/edge_connectors | List edge connectors +*EdgeConnectorsApi* | [**updateEdgeConnector**](docs/EdgeConnectorsApi.md#updateEdgeConnector) | **PATCH** /v1/edge_connectors/{id} | Update edge connector *EnvironmentsApi* | [**createEnvironment**](docs/EnvironmentsApi.md#createEnvironment) | **POST** /v1/environments | Creates an environment +*EnvironmentsApi* | [**createEnvironmentCatalogProperty**](docs/EnvironmentsApi.md#createEnvironmentCatalogProperty) | **POST** /v1/environments/properties | Creates a Catalog Property *EnvironmentsApi* | [**deleteEnvironment**](docs/EnvironmentsApi.md#deleteEnvironment) | **DELETE** /v1/environments/{id} | Delete an environment *EnvironmentsApi* | [**getEnvironment**](docs/EnvironmentsApi.md#getEnvironment) | **GET** /v1/environments/{id} | Retrieves an environment +*EnvironmentsApi* | [**listEnvironmentCatalogProperties**](docs/EnvironmentsApi.md#listEnvironmentCatalogProperties) | **GET** /v1/environments/properties | List Catalog Properties *EnvironmentsApi* | [**listEnvironments**](docs/EnvironmentsApi.md#listEnvironments) | **GET** /v1/environments | List environments *EnvironmentsApi* | [**updateEnvironment**](docs/EnvironmentsApi.md#updateEnvironment) | **PUT** /v1/environments/{id} | Update an environment *EscalationLevelsApi* | [**deleteEscalationLevel**](docs/EscalationLevelsApi.md#deleteEscalationLevel) | **DELETE** /v1/escalation_levels/{id} | Delete an escalation level @@ -322,11 +384,13 @@ Class | Method | HTTP request | Description *FormSetsApi* | [**listFormSets**](docs/FormSetsApi.md#listFormSets) | **GET** /v1/form_sets | List Form Sets *FormSetsApi* | [**updateFormSet**](docs/FormSetsApi.md#updateFormSet) | **PUT** /v1/form_sets/{id} | Update a Form Set *FunctionalitiesApi* | [**createFunctionality**](docs/FunctionalitiesApi.md#createFunctionality) | **POST** /v1/functionalities | Creates a functionality +*FunctionalitiesApi* | [**createFunctionalityCatalogProperty**](docs/FunctionalitiesApi.md#createFunctionalityCatalogProperty) | **POST** /v1/functionalities/properties | Creates a Catalog Property *FunctionalitiesApi* | [**deleteFunctionality**](docs/FunctionalitiesApi.md#deleteFunctionality) | **DELETE** /v1/functionalities/{id} | Delete a functionality *FunctionalitiesApi* | [**getFunctionality**](docs/FunctionalitiesApi.md#getFunctionality) | **GET** /v1/functionalities/{id} | Retrieves a functionality *FunctionalitiesApi* | [**getFunctionalityIncidentsChart**](docs/FunctionalitiesApi.md#getFunctionalityIncidentsChart) | **GET** /v1/functionalities/{id}/incidents_chart | Get functionality incidents chart *FunctionalitiesApi* | [**getFunctionalityUptimeChart**](docs/FunctionalitiesApi.md#getFunctionalityUptimeChart) | **GET** /v1/functionalities/{id}/uptime_chart | Get functionality uptime chart *FunctionalitiesApi* | [**listFunctionalities**](docs/FunctionalitiesApi.md#listFunctionalities) | **GET** /v1/functionalities | List functionalities +*FunctionalitiesApi* | [**listFunctionalityCatalogProperties**](docs/FunctionalitiesApi.md#listFunctionalityCatalogProperties) | **GET** /v1/functionalities/properties | List Catalog Properties *FunctionalitiesApi* | [**updateFunctionality**](docs/FunctionalitiesApi.md#updateFunctionality) | **PUT** /v1/functionalities/{id} | Update a functionality *HeartbeatsApi* | [**createHeartbeat**](docs/HeartbeatsApi.md#createHeartbeat) | **POST** /v1/heartbeats | Creates a heartbeat *HeartbeatsApi* | [**deleteHeartbeat**](docs/HeartbeatsApi.md#deleteHeartbeat) | **DELETE** /v1/heartbeats/{id} | Delete a heartbeat @@ -405,8 +469,10 @@ Class | Method | HTTP request | Description *IncidentSubStatusesApi* | [**listIncidentSubStatuses**](docs/IncidentSubStatusesApi.md#listIncidentSubStatuses) | **GET** /v1/incidents/{incident_id}/sub_statuses | List incident_sub_statuses *IncidentSubStatusesApi* | [**updateIncidentSubStatus**](docs/IncidentSubStatusesApi.md#updateIncidentSubStatus) | **PUT** /v1/incident_sub_statuses/{id} | Update incident_sub_status *IncidentTypesApi* | [**createIncidentType**](docs/IncidentTypesApi.md#createIncidentType) | **POST** /v1/incident_types | Creates an incident type +*IncidentTypesApi* | [**createIncidentTypeCatalogProperty**](docs/IncidentTypesApi.md#createIncidentTypeCatalogProperty) | **POST** /v1/incident_types/properties | Creates a Catalog Property *IncidentTypesApi* | [**deleteIncidentType**](docs/IncidentTypesApi.md#deleteIncidentType) | **DELETE** /v1/incident_types/{id} | Delete an incident type *IncidentTypesApi* | [**getIncidentType**](docs/IncidentTypesApi.md#getIncidentType) | **GET** /v1/incident_types/{id} | Retrieves an incident type +*IncidentTypesApi* | [**listIncidentTypeCatalogProperties**](docs/IncidentTypesApi.md#listIncidentTypeCatalogProperties) | **GET** /v1/incident_types/properties | List Catalog Properties *IncidentTypesApi* | [**listIncidentTypes**](docs/IncidentTypesApi.md#listIncidentTypes) | **GET** /v1/incident_types | List incident types *IncidentTypesApi* | [**updateIncidentType**](docs/IncidentTypesApi.md#updateIncidentType) | **PUT** /v1/incident_types/{id} | Update an incident type *IncidentsApi* | [**addSubscribersToIncident**](docs/IncidentsApi.md#addSubscribersToIncident) | **POST** /v1/incidents/{id}/add_subscribers | Add subscribers to incident @@ -414,6 +480,7 @@ Class | Method | HTTP request | Description *IncidentsApi* | [**cancelIncident**](docs/IncidentsApi.md#cancelIncident) | **PUT** /v1/incidents/{id}/cancel | Cancel an incident *IncidentsApi* | [**createIncident**](docs/IncidentsApi.md#createIncident) | **POST** /v1/incidents | Creates an incident *IncidentsApi* | [**deleteIncident**](docs/IncidentsApi.md#deleteIncident) | **DELETE** /v1/incidents/{id} | Delete an incident +*IncidentsApi* | [**detachFromParentIncident**](docs/IncidentsApi.md#detachFromParentIncident) | **PUT** /v1/incidents/{id}/detach_from_parent | Detach an incident from its parent *IncidentsApi* | [**getIncident**](docs/IncidentsApi.md#getIncident) | **GET** /v1/incidents/{id} | Retrieves an incident *IncidentsApi* | [**listIncidents**](docs/IncidentsApi.md#listIncidents) | **GET** /v1/incidents | List incidents *IncidentsApi* | [**markAsDuplicateIncident**](docs/IncidentsApi.md#markAsDuplicateIncident) | **PUT** /v1/incidents/{id}/duplicate | Mark an incident as a duplicate @@ -423,6 +490,7 @@ Class | Method | HTTP request | Description *IncidentsApi* | [**resolveIncident**](docs/IncidentsApi.md#resolveIncident) | **PUT** /v1/incidents/{id}/resolve | Resolve an incident *IncidentsApi* | [**restartIncident**](docs/IncidentsApi.md#restartIncident) | **PUT** /v1/incidents/{id}/restart | Restart an incident *IncidentsApi* | [**triageIncident**](docs/IncidentsApi.md#triageIncident) | **PUT** /v1/incidents/{id}/in_triage | Triage an incident +*IncidentsApi* | [**unmarkAsDuplicateIncident**](docs/IncidentsApi.md#unmarkAsDuplicateIncident) | **PUT** /v1/incidents/{id}/unmark_as_duplicate | Remove duplicate marking from an incident *IncidentsApi* | [**updateIncident**](docs/IncidentsApi.md#updateIncident) | **PUT** /v1/incidents/{id} | Update an incident *IpRangesApi* | [**getIpRanges**](docs/IpRangesApi.md#getIpRanges) | **GET** /v1/ip_ranges | Retrieves IP ranges *LiveCallRoutersApi* | [**createLiveCallRouter**](docs/LiveCallRoutersApi.md#createLiveCallRouter) | **POST** /v1/live_call_routers | Creates a Live Call Router @@ -431,6 +499,20 @@ Class | Method | HTTP request | Description *LiveCallRoutersApi* | [**getLiveCallRouter**](docs/LiveCallRoutersApi.md#getLiveCallRouter) | **GET** /v1/live_call_routers/{id} | Retrieves a Live Call Router *LiveCallRoutersApi* | [**listLiveCallRouters**](docs/LiveCallRoutersApi.md#listLiveCallRouters) | **GET** /v1/live_call_routers | List Live Call Routers *LiveCallRoutersApi* | [**updateLiveCallRouter**](docs/LiveCallRoutersApi.md#updateLiveCallRouter) | **PUT** /v1/live_call_routers/{id} | Update a Live Call Router +*MeetingRecordingsApi* | [**createMeetingRecording**](docs/MeetingRecordingsApi.md#createMeetingRecording) | **POST** /v1/incidents/{incident_id}/meeting_recordings | Create meeting recording +*MeetingRecordingsApi* | [**deleteMeetingRecording**](docs/MeetingRecordingsApi.md#deleteMeetingRecording) | **DELETE** /v1/meeting_recordings/{id} | Delete a meeting recording +*MeetingRecordingsApi* | [**deleteMeetingRecordingVideo**](docs/MeetingRecordingsApi.md#deleteMeetingRecordingVideo) | **DELETE** /v1/meeting_recordings/{id}/delete_video | Delete video from a meeting recording +*MeetingRecordingsApi* | [**getMeetingRecording**](docs/MeetingRecordingsApi.md#getMeetingRecording) | **GET** /v1/meeting_recordings/{id} | Get a meeting recording +*MeetingRecordingsApi* | [**leaveMeetingRecording**](docs/MeetingRecordingsApi.md#leaveMeetingRecording) | **POST** /v1/meeting_recordings/{id}/leave | Leave a meeting call +*MeetingRecordingsApi* | [**listMeetingRecordings**](docs/MeetingRecordingsApi.md#listMeetingRecordings) | **GET** /v1/incidents/{incident_id}/meeting_recordings | List meeting recordings +*MeetingRecordingsApi* | [**pauseMeetingRecording**](docs/MeetingRecordingsApi.md#pauseMeetingRecording) | **POST** /v1/meeting_recordings/{id}/pause | Pause a meeting recording +*MeetingRecordingsApi* | [**resumeMeetingRecording**](docs/MeetingRecordingsApi.md#resumeMeetingRecording) | **POST** /v1/meeting_recordings/{id}/resume | Resume a meeting recording +*MeetingRecordingsApi* | [**stopMeetingRecording**](docs/MeetingRecordingsApi.md#stopMeetingRecording) | **POST** /v1/meeting_recordings/{id}/stop | Stop a meeting recording +*OnCallPayReportsApi* | [**createOnCallPayReport**](docs/OnCallPayReportsApi.md#createOnCallPayReport) | **POST** /v1/on_call_pay_reports | Creates an On-Call Pay Report +*OnCallPayReportsApi* | [**getOnCallPayReport**](docs/OnCallPayReportsApi.md#getOnCallPayReport) | **GET** /v1/on_call_pay_reports/{id} | Retrieves an On-Call Pay Report +*OnCallPayReportsApi* | [**listOnCallPayReports**](docs/OnCallPayReportsApi.md#listOnCallPayReports) | **GET** /v1/on_call_pay_reports | List On-Call Pay Reports +*OnCallPayReportsApi* | [**regenerateOnCallPayReport**](docs/OnCallPayReportsApi.md#regenerateOnCallPayReport) | **POST** /v1/on_call_pay_reports/{id}/regenerate | Regenerate an On-Call Pay Report +*OnCallPayReportsApi* | [**updateOnCallPayReport**](docs/OnCallPayReportsApi.md#updateOnCallPayReport) | **PUT** /v1/on_call_pay_reports/{id} | Update an On-Call Pay Report *OnCallRolesApi* | [**createOnCallRole**](docs/OnCallRolesApi.md#createOnCallRole) | **POST** /v1/on_call_roles | Creates an On-Call Role *OnCallRolesApi* | [**deleteOnCallRole**](docs/OnCallRolesApi.md#deleteOnCallRole) | **DELETE** /v1/on_call_roles/{id} | Delete an On-Call Role *OnCallRolesApi* | [**getOnCallRole**](docs/OnCallRolesApi.md#getOnCallRole) | **GET** /v1/on_call_roles/{id} | Retrieves an On-Call Role @@ -440,6 +522,7 @@ Class | Method | HTTP request | Description *OnCallShadowsApi* | [**getOnCallShadow**](docs/OnCallShadowsApi.md#getOnCallShadow) | **GET** /v1/on_call_shadows/{id} | Retrieves an On Call Shadow configuration by ID *OnCallShadowsApi* | [**listOnCallShadows**](docs/OnCallShadowsApi.md#listOnCallShadows) | **GET** /v1/schedules/{schedule_id}/on_call_shadows | List On Call Shadows for Shift *OnCallShadowsApi* | [**updateOnCallShadow**](docs/OnCallShadowsApi.md#updateOnCallShadow) | **PUT** /v1/on_call_shadows/{id} | Update an On Call Shadow configuration +*OnCallsApi* | [**listOncalls**](docs/OnCallsApi.md#listOncalls) | **GET** /v1/oncalls | List on-calls *OverrideShiftsApi* | [**createOverrideShift**](docs/OverrideShiftsApi.md#createOverrideShift) | **POST** /v1/schedules/{schedule_id}/override_shifts | creates an override shift *OverrideShiftsApi* | [**deleteOnCallShadow**](docs/OverrideShiftsApi.md#deleteOnCallShadow) | **DELETE** /v1/on_call_shadows/{id} | Delete an on call shadow configuration *OverrideShiftsApi* | [**deleteOverrideShift**](docs/OverrideShiftsApi.md#deleteOverrideShift) | **DELETE** /v1/override_shifts/{id} | Delete an override shift @@ -519,10 +602,12 @@ Class | Method | HTTP request | Description *SecretsApi* | [**listSecrets**](docs/SecretsApi.md#listSecrets) | **GET** /v1/secrets | List secrets *SecretsApi* | [**updateSecret**](docs/SecretsApi.md#updateSecret) | **PUT** /v1/secrets/{id} | Update a secret *ServicesApi* | [**createService**](docs/ServicesApi.md#createService) | **POST** /v1/services | Creates a service +*ServicesApi* | [**createServiceCatalogProperty**](docs/ServicesApi.md#createServiceCatalogProperty) | **POST** /v1/services/properties | Creates a Catalog Property *ServicesApi* | [**deleteService**](docs/ServicesApi.md#deleteService) | **DELETE** /v1/services/{id} | Delete a service *ServicesApi* | [**getService**](docs/ServicesApi.md#getService) | **GET** /v1/services/{id} | Retrieves a service *ServicesApi* | [**getServiceIncidentsChart**](docs/ServicesApi.md#getServiceIncidentsChart) | **GET** /v1/services/{id}/incidents_chart | Get service incidents chart *ServicesApi* | [**getServiceUptimeChart**](docs/ServicesApi.md#getServiceUptimeChart) | **GET** /v1/services/{id}/uptime_chart | Get service uptime chart +*ServicesApi* | [**listServiceCatalogProperties**](docs/ServicesApi.md#listServiceCatalogProperties) | **GET** /v1/services/properties | List Catalog Properties *ServicesApi* | [**listServices**](docs/ServicesApi.md#listServices) | **GET** /v1/services | List services *ServicesApi* | [**updateService**](docs/ServicesApi.md#updateService) | **PUT** /v1/services/{id} | Update a service *SeveritiesApi* | [**createSeverity**](docs/SeveritiesApi.md#createSeverity) | **POST** /v1/severities | Creates a severity @@ -532,6 +617,11 @@ Class | Method | HTTP request | Description *SeveritiesApi* | [**updateSeverity**](docs/SeveritiesApi.md#updateSeverity) | **PUT** /v1/severities/{id} | Update a severity *ShiftsApi* | [**getScheduleShifts**](docs/ShiftsApi.md#getScheduleShifts) | **GET** /v1/schedules/{id}/shifts | Retrieves a schedule shifts *ShiftsApi* | [**listShifts**](docs/ShiftsApi.md#listShifts) | **GET** /v1/shifts | List shifts +*SlasApi* | [**createSLA**](docs/SlasApi.md#createSLA) | **POST** /v1/slas | Creates an SLA +*SlasApi* | [**deleteSLA**](docs/SlasApi.md#deleteSLA) | **DELETE** /v1/slas/{id} | Delete an SLA +*SlasApi* | [**getSLA**](docs/SlasApi.md#getSLA) | **GET** /v1/slas/{id} | Retrieves an SLA +*SlasApi* | [**listSLAs**](docs/SlasApi.md#listSLAs) | **GET** /v1/slas | List SLAs +*SlasApi* | [**updateSLA**](docs/SlasApi.md#updateSLA) | **PUT** /v1/slas/{id} | Update an SLA *StatusPageTemplatesApi* | [**createStatusPageTemplate**](docs/StatusPageTemplatesApi.md#createStatusPageTemplate) | **POST** /v1/status-pages/{status_page_id}/templates | Creates a status page template *StatusPageTemplatesApi* | [**deleteStatusPageTemplate**](docs/StatusPageTemplatesApi.md#deleteStatusPageTemplate) | **DELETE** /v1/templates/{id} | Delete a incident event *StatusPageTemplatesApi* | [**getStatusPageTemplate**](docs/StatusPageTemplatesApi.md#getStatusPageTemplate) | **GET** /v1/templates/{id} | Retrieves a status page template @@ -542,22 +632,38 @@ Class | Method | HTTP request | Description *StatusPagesApi* | [**getStatusPage**](docs/StatusPagesApi.md#getStatusPage) | **GET** /v1/status-pages/{id} | Retrieves a status page *StatusPagesApi* | [**listStatusPages**](docs/StatusPagesApi.md#listStatusPages) | **GET** /v1/status-pages | List status pages *StatusPagesApi* | [**updateStatusPage**](docs/StatusPagesApi.md#updateStatusPage) | **PUT** /v1/status-pages/{id} | Update a status page +*StatusesApi* | [**getStatus**](docs/StatusesApi.md#getStatus) | **GET** /v1/statuses/{id} | Retrieves a Status +*StatusesApi* | [**listStatuses**](docs/StatusesApi.md#listStatuses) | **GET** /v1/statuses | List Statuses *SubStatusesApi* | [**createSubStatus**](docs/SubStatusesApi.md#createSubStatus) | **POST** /v1/sub_statuses | Creates a Sub-Status *SubStatusesApi* | [**deleteSubStatus**](docs/SubStatusesApi.md#deleteSubStatus) | **DELETE** /v1/sub_statuses/{id} | Delete a Sub-Status *SubStatusesApi* | [**getSubStatus**](docs/SubStatusesApi.md#getSubStatus) | **GET** /v1/sub_statuses/{id} | Retrieves a Sub-Status *SubStatusesApi* | [**listSubStatuses**](docs/SubStatusesApi.md#listSubStatuses) | **GET** /v1/sub_statuses | List Sub-Statuses *SubStatusesApi* | [**updateSubStatus**](docs/SubStatusesApi.md#updateSubStatus) | **PUT** /v1/sub_statuses/{id} | Update a Sub-Status +*TeamsApi* | [**createGroupCatalogProperty**](docs/TeamsApi.md#createGroupCatalogProperty) | **POST** /v1/teams/properties | Creates a Catalog Property *TeamsApi* | [**createTeam**](docs/TeamsApi.md#createTeam) | **POST** /v1/teams | Creates a team *TeamsApi* | [**deleteTeam**](docs/TeamsApi.md#deleteTeam) | **DELETE** /v1/teams/{id} | Delete a team *TeamsApi* | [**getTeam**](docs/TeamsApi.md#getTeam) | **GET** /v1/teams/{id} | Retrieves a team *TeamsApi* | [**getTeamIncidentsChart**](docs/TeamsApi.md#getTeamIncidentsChart) | **GET** /v1/teams/{id}/incidents_chart | Get team incidents chart +*TeamsApi* | [**listGroupCatalogProperties**](docs/TeamsApi.md#listGroupCatalogProperties) | **GET** /v1/teams/properties | List Catalog Properties *TeamsApi* | [**listTeams**](docs/TeamsApi.md#listTeams) | **GET** /v1/teams | List teams *TeamsApi* | [**updateTeam**](docs/TeamsApi.md#updateTeam) | **PUT** /v1/teams/{id} | Update a team +*UserEmailAddressesApi* | [**createUserEmailAddress**](docs/UserEmailAddressesApi.md#createUserEmailAddress) | **POST** /v1/users/{user_id}/email_addresses | Creates a user email address +*UserEmailAddressesApi* | [**deleteUserEmailAddress**](docs/UserEmailAddressesApi.md#deleteUserEmailAddress) | **DELETE** /v1/email_addresses/{id} | Delete user email address +*UserEmailAddressesApi* | [**getUserEmailAddresses**](docs/UserEmailAddressesApi.md#getUserEmailAddresses) | **GET** /v1/users/{user_id}/email_addresses | Retrieves user email addresses +*UserEmailAddressesApi* | [**resendUserEmailAddressVerification**](docs/UserEmailAddressesApi.md#resendUserEmailAddressVerification) | **POST** /v1/email_addresses/{id}/resend_verification | Resends verification email +*UserEmailAddressesApi* | [**showUserEmailAddress**](docs/UserEmailAddressesApi.md#showUserEmailAddress) | **GET** /v1/email_addresses/{id} | Show user email address +*UserEmailAddressesApi* | [**updateUserEmailAddress**](docs/UserEmailAddressesApi.md#updateUserEmailAddress) | **PUT** /v1/email_addresses/{id} | Update user email address +*UserEmailAddressesApi* | [**verifyUserEmailAddress**](docs/UserEmailAddressesApi.md#verifyUserEmailAddress) | **POST** /v1/email_addresses/{id}/verify | Verifies an email address with token *UserNotificationRulesApi* | [**createUserNotificationRule**](docs/UserNotificationRulesApi.md#createUserNotificationRule) | **POST** /v1/users/{user_id}/notification_rules | Creates an user notification rule *UserNotificationRulesApi* | [**deleteUserNotificationRule**](docs/UserNotificationRulesApi.md#deleteUserNotificationRule) | **DELETE** /v1/notification_rules/{id} | Delete an user notification rule *UserNotificationRulesApi* | [**getUserNotificationRule**](docs/UserNotificationRulesApi.md#getUserNotificationRule) | **GET** /v1/notification_rules/{id} | Retrieves an user notification rule *UserNotificationRulesApi* | [**listUserNotificationRules**](docs/UserNotificationRulesApi.md#listUserNotificationRules) | **GET** /v1/users/{user_id}/notification_rules | List user notification rules *UserNotificationRulesApi* | [**updateUserNotificationRule**](docs/UserNotificationRulesApi.md#updateUserNotificationRule) | **PUT** /v1/notification_rules/{id} | Update an user notification rule +*UserPhoneNumbersApi* | [**createUserPhoneNumber**](docs/UserPhoneNumbersApi.md#createUserPhoneNumber) | **POST** /v1/users/{user_id}/phone_numbers | Creates a user phone number +*UserPhoneNumbersApi* | [**deleteUserPhoneNumber**](docs/UserPhoneNumbersApi.md#deleteUserPhoneNumber) | **DELETE** /v1/phone_numbers/{id} | Delete user phone number +*UserPhoneNumbersApi* | [**getUserPhoneNumbers**](docs/UserPhoneNumbersApi.md#getUserPhoneNumbers) | **GET** /v1/users/{user_id}/phone_numbers | Retrieves user phone numbers +*UserPhoneNumbersApi* | [**showUserPhoneNumber**](docs/UserPhoneNumbersApi.md#showUserPhoneNumber) | **GET** /v1/phone_numbers/{id} | Show user phone number +*UserPhoneNumbersApi* | [**updateUserPhoneNumber**](docs/UserPhoneNumbersApi.md#updateUserPhoneNumber) | **PUT** /v1/phone_numbers/{id} | Update user phone number *UsersApi* | [**deleteUser**](docs/UsersApi.md#deleteUser) | **DELETE** /v1/users/{id} | Delete an user *UsersApi* | [**getCurrentUser**](docs/UsersApi.md#getCurrentUser) | **GET** /v1/users/me | Get current user *UsersApi* | [**getUser**](docs/UsersApi.md#getUser) | **GET** /v1/users/{id} | Retrieves an user @@ -601,6 +707,7 @@ Class | Method | HTTP request | Description - [AddActionItemTaskParams](docs/AddActionItemTaskParams.md) - [AddActionItemTaskParamsAssignedToUser](docs/AddActionItemTaskParamsAssignedToUser.md) - [AddActionItemTaskParamsPostToSlackChannelsInner](docs/AddActionItemTaskParamsPostToSlackChannelsInner.md) + - [AddMicrosoftTeamsChatTabTaskParams](docs/AddMicrosoftTeamsChatTabTaskParams.md) - [AddMicrosoftTeamsTabTaskParams](docs/AddMicrosoftTeamsTabTaskParams.md) - [AddRoleTaskParams](docs/AddRoleTaskParams.md) - [AddRoleTaskParamsAssignedToUser](docs/AddRoleTaskParamsAssignedToUser.md) @@ -615,20 +722,39 @@ Class | Method | HTTP request | Description - [AlertEventList](docs/AlertEventList.md) - [AlertEventResponse](docs/AlertEventResponse.md) - [AlertEventResponseData](docs/AlertEventResponseData.md) + - [AlertField](docs/AlertField.md) + - [AlertFieldList](docs/AlertFieldList.md) + - [AlertFieldListDataInner](docs/AlertFieldListDataInner.md) + - [AlertFieldResponse](docs/AlertFieldResponse.md) + - [AlertFieldResponseData](docs/AlertFieldResponseData.md) - [AlertGroup](docs/AlertGroup.md) + - [AlertGroupConditionsInner](docs/AlertGroupConditionsInner.md) + - [AlertGroupConditionsInnerValuesInner](docs/AlertGroupConditionsInnerValuesInner.md) - [AlertGroupList](docs/AlertGroupList.md) - [AlertGroupResponse](docs/AlertGroupResponse.md) - [AlertGroupResponseData](docs/AlertGroupResponseData.md) - [AlertList](docs/AlertList.md) - [AlertResponse](docs/AlertResponse.md) - [AlertResponseData](docs/AlertResponseData.md) + - [AlertRoute](docs/AlertRoute.md) + - [AlertRouteList](docs/AlertRouteList.md) + - [AlertRouteResponse](docs/AlertRouteResponse.md) + - [AlertRouteResponseData](docs/AlertRouteResponseData.md) - [AlertRoutingRule](docs/AlertRoutingRule.md) + - [AlertRoutingRuleCondition](docs/AlertRoutingRuleCondition.md) + - [AlertRoutingRuleConditionGroup](docs/AlertRoutingRuleConditionGroup.md) + - [AlertRoutingRuleConditionGroupsInner](docs/AlertRoutingRuleConditionGroupsInner.md) + - [AlertRoutingRuleConditionGroupsInnerConditionsInner](docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md) - [AlertRoutingRuleConditionsInner](docs/AlertRoutingRuleConditionsInner.md) - [AlertRoutingRuleDestination](docs/AlertRoutingRuleDestination.md) - [AlertRoutingRuleList](docs/AlertRoutingRuleList.md) - [AlertRoutingRuleResponse](docs/AlertRoutingRuleResponse.md) - [AlertRoutingRuleResponseData](docs/AlertRoutingRuleResponseData.md) + - [AlertRoutingRuleTarget](docs/AlertRoutingRuleTarget.md) - [AlertTriggerParams](docs/AlertTriggerParams.md) + - [AlertTriggerParamsAlertFieldConditionsInner](docs/AlertTriggerParamsAlertFieldConditionsInner.md) + - [AlertTriggerParamsAlertPayloadConditions](docs/AlertTriggerParamsAlertPayloadConditions.md) + - [AlertTriggerParamsAlertPayloadConditionsConditionsInner](docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md) - [AlertUrgency](docs/AlertUrgency.md) - [AlertUrgencyList](docs/AlertUrgencyList.md) - [AlertUrgencyResponse](docs/AlertUrgencyResponse.md) @@ -637,6 +763,13 @@ Class | Method | HTTP request | Description - [AlertsSourceList](docs/AlertsSourceList.md) - [AlertsSourceResponse](docs/AlertsSourceResponse.md) - [AlertsSourceResponseData](docs/AlertsSourceResponseData.md) + - [ApiKey](docs/ApiKey.md) + - [ApiKeyList](docs/ApiKeyList.md) + - [ApiKeyResponse](docs/ApiKeyResponse.md) + - [ApiKeyResponseData](docs/ApiKeyResponseData.md) + - [ApiKeyWithTokenResponse](docs/ApiKeyWithTokenResponse.md) + - [ApiKeyWithTokenResponseData](docs/ApiKeyWithTokenResponseData.md) + - [ApiKeyWithTokenResponseDataAttributes](docs/ApiKeyWithTokenResponseDataAttributes.md) - [ArchiveMicrosoftTeamsChannelsTaskParams](docs/ArchiveMicrosoftTeamsChannelsTaskParams.md) - [ArchiveSlackChannelsTaskParams](docs/ArchiveSlackChannelsTaskParams.md) - [AssignRoleToUser](docs/AssignRoleToUser.md) @@ -657,12 +790,29 @@ Class | Method | HTTP request | Description - [AutoAssignRolePagerdutyTaskParams](docs/AutoAssignRolePagerdutyTaskParams.md) - [AutoAssignRoleRootlyTaskParams](docs/AutoAssignRoleRootlyTaskParams.md) - [AutoAssignRoleVictorOpsTaskParams](docs/AutoAssignRoleVictorOpsTaskParams.md) + - [BuiltinField](docs/BuiltinField.md) - [CallPeopleTaskParams](docs/CallPeopleTaskParams.md) - [CancelIncident](docs/CancelIncident.md) - [CancelIncidentData](docs/CancelIncidentData.md) - [CancelIncidentDataAttributes](docs/CancelIncidentDataAttributes.md) - [Catalog](docs/Catalog.md) + - [CatalogChecklistTemplate](docs/CatalogChecklistTemplate.md) + - [CatalogChecklistTemplateFieldsInner](docs/CatalogChecklistTemplateFieldsInner.md) + - [CatalogChecklistTemplateList](docs/CatalogChecklistTemplateList.md) + - [CatalogChecklistTemplateOwnersInner](docs/CatalogChecklistTemplateOwnersInner.md) + - [CatalogChecklistTemplateResponse](docs/CatalogChecklistTemplateResponse.md) + - [CatalogChecklistTemplateResponseData](docs/CatalogChecklistTemplateResponseData.md) - [CatalogEntity](docs/CatalogEntity.md) + - [CatalogEntityChecklist](docs/CatalogEntityChecklist.md) + - [CatalogEntityChecklistChecklistFieldsInner](docs/CatalogEntityChecklistChecklistFieldsInner.md) + - [CatalogEntityChecklistChecklistFieldsInnerData](docs/CatalogEntityChecklistChecklistFieldsInnerData.md) + - [CatalogEntityChecklistChecklistFieldsInnerDataAttributes](docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md) + - [CatalogEntityChecklistChecklistOwnersInner](docs/CatalogEntityChecklistChecklistOwnersInner.md) + - [CatalogEntityChecklistChecklistOwnersInnerData](docs/CatalogEntityChecklistChecklistOwnersInnerData.md) + - [CatalogEntityChecklistChecklistOwnersInnerDataAttributes](docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md) + - [CatalogEntityChecklistList](docs/CatalogEntityChecklistList.md) + - [CatalogEntityChecklistResponse](docs/CatalogEntityChecklistResponse.md) + - [CatalogEntityChecklistResponseData](docs/CatalogEntityChecklistResponseData.md) - [CatalogEntityList](docs/CatalogEntityList.md) - [CatalogEntityProperty](docs/CatalogEntityProperty.md) - [CatalogEntityPropertyList](docs/CatalogEntityPropertyList.md) @@ -675,6 +825,10 @@ Class | Method | HTTP request | Description - [CatalogFieldResponse](docs/CatalogFieldResponse.md) - [CatalogFieldResponseData](docs/CatalogFieldResponseData.md) - [CatalogList](docs/CatalogList.md) + - [CatalogProperty](docs/CatalogProperty.md) + - [CatalogPropertyList](docs/CatalogPropertyList.md) + - [CatalogPropertyResponse](docs/CatalogPropertyResponse.md) + - [CatalogPropertyResponseData](docs/CatalogPropertyResponseData.md) - [CatalogResponse](docs/CatalogResponse.md) - [CatalogResponseData](docs/CatalogResponseData.md) - [Cause](docs/Cause.md) @@ -682,22 +836,58 @@ Class | Method | HTTP request | Description - [CauseResponse](docs/CauseResponse.md) - [CauseResponseData](docs/CauseResponseData.md) - [ChangeSlackChannelPrivacyTaskParams](docs/ChangeSlackChannelPrivacyTaskParams.md) + - [CommunicationsGroup](docs/CommunicationsGroup.md) + - [CommunicationsGroupCommunicationExternalGroupMembersInner](docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md) + - [CommunicationsGroupResponse](docs/CommunicationsGroupResponse.md) + - [CommunicationsGroupResponseData](docs/CommunicationsGroupResponseData.md) + - [CommunicationsGroupsResponse](docs/CommunicationsGroupsResponse.md) + - [CommunicationsStage](docs/CommunicationsStage.md) + - [CommunicationsStageResponse](docs/CommunicationsStageResponse.md) + - [CommunicationsStageResponseData](docs/CommunicationsStageResponseData.md) + - [CommunicationsStagesResponse](docs/CommunicationsStagesResponse.md) + - [CommunicationsTemplate](docs/CommunicationsTemplate.md) + - [CommunicationsTemplateCommunicationTemplateStagesInner](docs/CommunicationsTemplateCommunicationTemplateStagesInner.md) + - [CommunicationsTemplateCommunicationTemplateStagesInnerData](docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md) + - [CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes](docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md) + - [CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage](docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md) + - [CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate](docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md) + - [CommunicationsTemplateCommunicationType](docs/CommunicationsTemplateCommunicationType.md) + - [CommunicationsTemplateResponse](docs/CommunicationsTemplateResponse.md) + - [CommunicationsTemplateResponseData](docs/CommunicationsTemplateResponseData.md) + - [CommunicationsTemplatesResponse](docs/CommunicationsTemplatesResponse.md) + - [CommunicationsType](docs/CommunicationsType.md) + - [CommunicationsTypeResponse](docs/CommunicationsTypeResponse.md) + - [CommunicationsTypeResponseData](docs/CommunicationsTypeResponseData.md) + - [CommunicationsTypesResponse](docs/CommunicationsTypesResponse.md) - [CreateAirtableTableRecordTaskParams](docs/CreateAirtableTableRecordTaskParams.md) + - [CreateAnthropicChatCompletionTaskParams](docs/CreateAnthropicChatCompletionTaskParams.md) + - [CreateAnthropicChatCompletionTaskParamsModel](docs/CreateAnthropicChatCompletionTaskParamsModel.md) - [CreateAsanaSubtaskTaskParams](docs/CreateAsanaSubtaskTaskParams.md) - [CreateAsanaTaskTaskParams](docs/CreateAsanaTaskTaskParams.md) - [CreateClickupTaskTaskParams](docs/CreateClickupTaskTaskParams.md) - [CreateCodaPageTaskParams](docs/CreateCodaPageTaskParams.md) + - [CreateCodaPageTaskParamsDoc](docs/CreateCodaPageTaskParamsDoc.md) - [CreateCodaPageTaskParamsTemplate](docs/CreateCodaPageTaskParamsTemplate.md) - [CreateConfluencePageTaskParams](docs/CreateConfluencePageTaskParams.md) - [CreateConfluencePageTaskParamsIntegration](docs/CreateConfluencePageTaskParamsIntegration.md) - [CreateDatadogNotebookTaskParams](docs/CreateDatadogNotebookTaskParams.md) - [CreateDropboxPaperPageTaskParams](docs/CreateDropboxPaperPageTaskParams.md) + - [CreateEdgeConnectorActionRequest](docs/CreateEdgeConnectorActionRequest.md) + - [CreateEdgeConnectorActionRequestAction](docs/CreateEdgeConnectorActionRequestAction.md) + - [CreateEdgeConnectorActionRequestActionMetadata](docs/CreateEdgeConnectorActionRequestActionMetadata.md) + - [CreateEdgeConnectorActionRequestActionMetadataParametersInner](docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md) + - [CreateEdgeConnectorRequest](docs/CreateEdgeConnectorRequest.md) + - [CreateEdgeConnectorRequestData](docs/CreateEdgeConnectorRequestData.md) + - [CreateEdgeConnectorRequestDataAttributes](docs/CreateEdgeConnectorRequestDataAttributes.md) - [CreateGithubIssueTaskParams](docs/CreateGithubIssueTaskParams.md) + - [CreateGithubIssueTaskParamsIssueType](docs/CreateGithubIssueTaskParamsIssueType.md) - [CreateGitlabIssueTaskParams](docs/CreateGitlabIssueTaskParams.md) - [CreateGoToMeetingTaskParams](docs/CreateGoToMeetingTaskParams.md) - [CreateGoogleCalendarEventTaskParams](docs/CreateGoogleCalendarEventTaskParams.md) - [CreateGoogleDocsPageTaskParams](docs/CreateGoogleDocsPageTaskParams.md) - [CreateGoogleDocsPermissionsTaskParams](docs/CreateGoogleDocsPermissionsTaskParams.md) + - [CreateGoogleGeminiChatCompletionTaskParams](docs/CreateGoogleGeminiChatCompletionTaskParams.md) + - [CreateGoogleGeminiChatCompletionTaskParamsModel](docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md) - [CreateGoogleMeetingTaskParams](docs/CreateGoogleMeetingTaskParams.md) - [CreateIncidentPostmortemTaskParams](docs/CreateIncidentPostmortemTaskParams.md) - [CreateIncidentPostmortemTaskParamsTemplate](docs/CreateIncidentPostmortemTaskParamsTemplate.md) @@ -708,6 +898,7 @@ Class | Method | HTTP request | Description - [CreateJiraIssueTaskParamsPriority](docs/CreateJiraIssueTaskParamsPriority.md) - [CreateJiraIssueTaskParamsStatus](docs/CreateJiraIssueTaskParamsStatus.md) - [CreateJiraSubtaskTaskParams](docs/CreateJiraSubtaskTaskParams.md) + - [CreateJsmopsAlertTaskParams](docs/CreateJsmopsAlertTaskParams.md) - [CreateLinearIssueCommentTaskParams](docs/CreateLinearIssueCommentTaskParams.md) - [CreateLinearIssueTaskParams](docs/CreateLinearIssueTaskParams.md) - [CreateLinearIssueTaskParamsProject](docs/CreateLinearIssueTaskParamsProject.md) @@ -715,10 +906,16 @@ Class | Method | HTTP request | Description - [CreateLinearIssueTaskParamsTeam](docs/CreateLinearIssueTaskParamsTeam.md) - [CreateLinearSubtaskIssueTaskParams](docs/CreateLinearSubtaskIssueTaskParams.md) - [CreateMicrosoftTeamsChannelTaskParams](docs/CreateMicrosoftTeamsChannelTaskParams.md) + - [CreateMicrosoftTeamsChatTaskParams](docs/CreateMicrosoftTeamsChatTaskParams.md) + - [CreateMicrosoftTeamsChatTaskParamsMembersInner](docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md) - [CreateMicrosoftTeamsMeetingTaskParams](docs/CreateMicrosoftTeamsMeetingTaskParams.md) + - [CreateMistralChatCompletionTaskParams](docs/CreateMistralChatCompletionTaskParams.md) + - [CreateMistralChatCompletionTaskParamsModel](docs/CreateMistralChatCompletionTaskParamsModel.md) - [CreateMotionTaskTaskParams](docs/CreateMotionTaskTaskParams.md) - [CreateNotionPageTaskParams](docs/CreateNotionPageTaskParams.md) - [CreateNotionPageTaskParamsParentPage](docs/CreateNotionPageTaskParamsParentPage.md) + - [CreateOpenaiChatCompletionTaskParams](docs/CreateOpenaiChatCompletionTaskParams.md) + - [CreateOpenaiChatCompletionTaskParamsModel](docs/CreateOpenaiChatCompletionTaskParamsModel.md) - [CreateOpsgenieAlertTaskParams](docs/CreateOpsgenieAlertTaskParams.md) - [CreateOutlookEventTaskParams](docs/CreateOutlookEventTaskParams.md) - [CreatePagerdutyStatusUpdateTaskParams](docs/CreatePagerdutyStatusUpdateTaskParams.md) @@ -730,10 +927,13 @@ Class | Method | HTTP request | Description - [CreateShortcutStoryTaskParams](docs/CreateShortcutStoryTaskParams.md) - [CreateShortcutTaskTaskParams](docs/CreateShortcutTaskTaskParams.md) - [CreateSlackChannelTaskParams](docs/CreateSlackChannelTaskParams.md) + - [CreateSubIncidentTaskParams](docs/CreateSubIncidentTaskParams.md) - [CreateTrelloCardTaskParams](docs/CreateTrelloCardTaskParams.md) - [CreateTrelloCardTaskParamsArchivation](docs/CreateTrelloCardTaskParamsArchivation.md) - [CreateTrelloCardTaskParamsBoard](docs/CreateTrelloCardTaskParamsBoard.md) - [CreateTrelloCardTaskParamsList](docs/CreateTrelloCardTaskParamsList.md) + - [CreateWatsonxChatCompletionTaskParams](docs/CreateWatsonxChatCompletionTaskParams.md) + - [CreateWatsonxChatCompletionTaskParamsModel](docs/CreateWatsonxChatCompletionTaskParamsModel.md) - [CreateWebexMeetingTaskParams](docs/CreateWebexMeetingTaskParams.md) - [CreateZendeskJiraLinkTaskParams](docs/CreateZendeskJiraLinkTaskParams.md) - [CreateZendeskTicketTaskParams](docs/CreateZendeskTicketTaskParams.md) @@ -758,15 +958,28 @@ Class | Method | HTTP request | Description - [DashboardPanelResponseData](docs/DashboardPanelResponseData.md) - [DashboardResponse](docs/DashboardResponse.md) - [DashboardResponseData](docs/DashboardResponseData.md) + - [DeleteAlertRoute200Response](docs/DeleteAlertRoute200Response.md) + - [DeleteAlertRoute200ResponseData](docs/DeleteAlertRoute200ResponseData.md) + - [DeleteAlertRoute200ResponseDataAttributes](docs/DeleteAlertRoute200ResponseDataAttributes.md) - [DuplicateIncident](docs/DuplicateIncident.md) - [DuplicateIncidentData](docs/DuplicateIncidentData.md) - [DuplicateIncidentDataAttributes](docs/DuplicateIncidentDataAttributes.md) + - [EdgeConnector](docs/EdgeConnector.md) + - [EdgeConnectorAction](docs/EdgeConnectorAction.md) + - [EdgeConnectorActionData](docs/EdgeConnectorActionData.md) + - [EdgeConnectorActionDataAttributes](docs/EdgeConnectorActionDataAttributes.md) + - [EdgeConnectorActionDataAttributesParametersInner](docs/EdgeConnectorActionDataAttributesParametersInner.md) + - [EdgeConnectorData](docs/EdgeConnectorData.md) + - [EdgeConnectorDataAttributes](docs/EdgeConnectorDataAttributes.md) - [Environment](docs/Environment.md) - [EnvironmentList](docs/EnvironmentList.md) - [EnvironmentResponse](docs/EnvironmentResponse.md) - [EnvironmentResponseData](docs/EnvironmentResponseData.md) - [ErrorsList](docs/ErrorsList.md) - [ErrorsListErrorsInner](docs/ErrorsListErrorsInner.md) + - [EscalateAlert](docs/EscalateAlert.md) + - [EscalateAlertData](docs/EscalateAlertData.md) + - [EscalateAlertDataAttributes](docs/EscalateAlertDataAttributes.md) - [EscalationPolicy](docs/EscalationPolicy.md) - [EscalationPolicyLevel](docs/EscalationPolicyLevel.md) - [EscalationPolicyLevelList](docs/EscalationPolicyLevelList.md) @@ -779,8 +992,6 @@ Class | Method | HTTP request | Description - [EscalationPolicyPathListDataInner](docs/EscalationPolicyPathListDataInner.md) - [EscalationPolicyPathResponse](docs/EscalationPolicyPathResponse.md) - [EscalationPolicyPathResponseData](docs/EscalationPolicyPathResponseData.md) - - [EscalationPolicyPathRulesInner](docs/EscalationPolicyPathRulesInner.md) - - [EscalationPolicyPathRulesInnerAnyOf](docs/EscalationPolicyPathRulesInnerAnyOf.md) - [EscalationPolicyResponse](docs/EscalationPolicyResponse.md) - [EscalationPolicyResponseData](docs/EscalationPolicyResponseData.md) - [FormField](docs/FormField.md) @@ -815,15 +1026,13 @@ Class | Method | HTTP request | Description - [FunctionalityList](docs/FunctionalityList.md) - [FunctionalityResponse](docs/FunctionalityResponse.md) - [FunctionalityResponseData](docs/FunctionalityResponseData.md) - - [GeniusCreateOpenaiChatCompletionTaskParams](docs/GeniusCreateOpenaiChatCompletionTaskParams.md) - - [GeniusCreateOpenaiChatCompletionTaskParamsModel](docs/GeniusCreateOpenaiChatCompletionTaskParamsModel.md) - - [GeniusCreateWatsonxChatCompletionTaskParams](docs/GeniusCreateWatsonxChatCompletionTaskParams.md) - - [GeniusCreateWatsonxChatCompletionTaskParamsModel](docs/GeniusCreateWatsonxChatCompletionTaskParamsModel.md) + - [GetAlertFieldIdParameter](docs/GetAlertFieldIdParameter.md) - [GetAlertsTaskParams](docs/GetAlertsTaskParams.md) - [GetGithubCommitsTaskParams](docs/GetGithubCommitsTaskParams.md) - [GetGitlabCommitsTaskParams](docs/GetGitlabCommitsTaskParams.md) - [GetPulsesTaskParams](docs/GetPulsesTaskParams.md) - [GetPulsesTaskParamsParentMessageThreadTask](docs/GetPulsesTaskParamsParentMessageThreadTask.md) + - [GetTeamIdParameter](docs/GetTeamIdParameter.md) - [Heartbeat](docs/Heartbeat.md) - [HeartbeatList](docs/HeartbeatList.md) - [HeartbeatResponse](docs/HeartbeatResponse.md) @@ -903,6 +1112,7 @@ Class | Method | HTTP request | Description - [IncidentTypeList](docs/IncidentTypeList.md) - [IncidentTypeResponse](docs/IncidentTypeResponse.md) - [IncidentTypeResponseData](docs/IncidentTypeResponseData.md) + - [IncidentZoomMeetingGlobalDialInNumbersInner](docs/IncidentZoomMeetingGlobalDialInNumbersInner.md) - [InviteToMicrosoftTeamsChannelTaskParams](docs/InviteToMicrosoftTeamsChannelTaskParams.md) - [InviteToSlackChannelOpsgenieTaskParams](docs/InviteToSlackChannelOpsgenieTaskParams.md) - [InviteToSlackChannelPagerdutyTaskParams](docs/InviteToSlackChannelPagerdutyTaskParams.md) @@ -917,56 +1127,101 @@ Class | Method | HTTP request | Description - [LiveCallRouterList](docs/LiveCallRouterList.md) - [LiveCallRouterResponse](docs/LiveCallRouterResponse.md) - [LiveCallRouterResponseData](docs/LiveCallRouterResponseData.md) + - [MeetingRecording](docs/MeetingRecording.md) + - [MeetingRecordingList](docs/MeetingRecordingList.md) + - [MeetingRecordingListDataInner](docs/MeetingRecordingListDataInner.md) + - [Meta](docs/Meta.md) - [MitigateIncident](docs/MitigateIncident.md) - [MitigateIncidentData](docs/MitigateIncidentData.md) - [MitigateIncidentDataAttributes](docs/MitigateIncidentDataAttributes.md) - [NewAlert](docs/NewAlert.md) - [NewAlertData](docs/NewAlertData.md) - [NewAlertDataAttributes](docs/NewAlertDataAttributes.md) + - [NewAlertDataAttributesAlertFieldValuesAttributesInner](docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md) - [NewAlertDataAttributesLabelsInner](docs/NewAlertDataAttributesLabelsInner.md) + - [NewAlertDataAttributesLabelsInnerValue](docs/NewAlertDataAttributesLabelsInnerValue.md) - [NewAlertEvent](docs/NewAlertEvent.md) - [NewAlertEventData](docs/NewAlertEventData.md) - [NewAlertEventDataAttributes](docs/NewAlertEventDataAttributes.md) + - [NewAlertField](docs/NewAlertField.md) + - [NewAlertFieldData](docs/NewAlertFieldData.md) + - [NewAlertFieldDataAttributes](docs/NewAlertFieldDataAttributes.md) - [NewAlertGroup](docs/NewAlertGroup.md) - [NewAlertGroupData](docs/NewAlertGroupData.md) - [NewAlertGroupDataAttributes](docs/NewAlertGroupDataAttributes.md) - [NewAlertGroupDataAttributesAttributesInner](docs/NewAlertGroupDataAttributesAttributesInner.md) + - [NewAlertGroupDataAttributesConditionsInner](docs/NewAlertGroupDataAttributesConditionsInner.md) - [NewAlertGroupDataAttributesTargetsInner](docs/NewAlertGroupDataAttributesTargetsInner.md) + - [NewAlertRoute](docs/NewAlertRoute.md) + - [NewAlertRouteData](docs/NewAlertRouteData.md) + - [NewAlertRouteDataAttributes](docs/NewAlertRouteDataAttributes.md) + - [NewAlertRouteDataAttributesRulesInner](docs/NewAlertRouteDataAttributesRulesInner.md) + - [NewAlertRouteDataAttributesRulesInnerConditionGroupsInner](docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md) + - [NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner](docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md) + - [NewAlertRouteDataAttributesRulesInnerDestinationsInner](docs/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md) - [NewAlertRoutingRule](docs/NewAlertRoutingRule.md) - [NewAlertRoutingRuleData](docs/NewAlertRoutingRuleData.md) - [NewAlertRoutingRuleDataAttributes](docs/NewAlertRoutingRuleDataAttributes.md) - [NewAlertRoutingRuleDataAttributesConditionsInner](docs/NewAlertRoutingRuleDataAttributesConditionsInner.md) - - [NewAlertRoutingRuleDataAttributesDestination](docs/NewAlertRoutingRuleDataAttributesDestination.md) - [NewAlertUrgency](docs/NewAlertUrgency.md) - [NewAlertUrgencyData](docs/NewAlertUrgencyData.md) - [NewAlertUrgencyDataAttributes](docs/NewAlertUrgencyDataAttributes.md) - [NewAlertsSource](docs/NewAlertsSource.md) - [NewAlertsSourceData](docs/NewAlertsSourceData.md) - [NewAlertsSourceDataAttributes](docs/NewAlertsSourceDataAttributes.md) + - [NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner](docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md) - [NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner](docs/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md) - [NewAlertsSourceDataAttributesAlertTemplateAttributes](docs/NewAlertsSourceDataAttributesAlertTemplateAttributes.md) - [NewAlertsSourceDataAttributesResolutionRuleAttributes](docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md) - [NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner](docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md) - [NewAlertsSourceDataAttributesSourceableAttributes](docs/NewAlertsSourceDataAttributesSourceableAttributes.md) - [NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner](docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md) + - [NewApiKey](docs/NewApiKey.md) + - [NewApiKeyData](docs/NewApiKeyData.md) + - [NewApiKeyDataAttributes](docs/NewApiKeyDataAttributes.md) - [NewAuthorization](docs/NewAuthorization.md) - [NewAuthorizationData](docs/NewAuthorizationData.md) - [NewAuthorizationDataAttributes](docs/NewAuthorizationDataAttributes.md) - [NewCatalog](docs/NewCatalog.md) + - [NewCatalogChecklistTemplate](docs/NewCatalogChecklistTemplate.md) + - [NewCatalogChecklistTemplateData](docs/NewCatalogChecklistTemplateData.md) + - [NewCatalogChecklistTemplateDataAttributes](docs/NewCatalogChecklistTemplateDataAttributes.md) + - [NewCatalogChecklistTemplateDataAttributesFieldsInner](docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md) + - [NewCatalogChecklistTemplateDataAttributesOwnersInner](docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md) - [NewCatalogData](docs/NewCatalogData.md) - [NewCatalogDataAttributes](docs/NewCatalogDataAttributes.md) - [NewCatalogEntity](docs/NewCatalogEntity.md) - [NewCatalogEntityData](docs/NewCatalogEntityData.md) - [NewCatalogEntityDataAttributes](docs/NewCatalogEntityDataAttributes.md) + - [NewCatalogEntityDataAttributesPropertiesInner](docs/NewCatalogEntityDataAttributesPropertiesInner.md) - [NewCatalogEntityProperty](docs/NewCatalogEntityProperty.md) - [NewCatalogEntityPropertyData](docs/NewCatalogEntityPropertyData.md) - [NewCatalogEntityPropertyDataAttributes](docs/NewCatalogEntityPropertyDataAttributes.md) - [NewCatalogField](docs/NewCatalogField.md) - [NewCatalogFieldData](docs/NewCatalogFieldData.md) - [NewCatalogFieldDataAttributes](docs/NewCatalogFieldDataAttributes.md) + - [NewCatalogProperty](docs/NewCatalogProperty.md) + - [NewCatalogPropertyData](docs/NewCatalogPropertyData.md) + - [NewCatalogPropertyDataAttributes](docs/NewCatalogPropertyDataAttributes.md) - [NewCause](docs/NewCause.md) - [NewCauseData](docs/NewCauseData.md) - [NewCauseDataAttributes](docs/NewCauseDataAttributes.md) + - [NewCauseDataAttributesPropertiesInner](docs/NewCauseDataAttributesPropertiesInner.md) + - [NewCommunicationsGroup](docs/NewCommunicationsGroup.md) + - [NewCommunicationsGroupData](docs/NewCommunicationsGroupData.md) + - [NewCommunicationsGroupDataAttributes](docs/NewCommunicationsGroupDataAttributes.md) + - [NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner](docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md) + - [NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner](docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md) + - [NewCommunicationsStage](docs/NewCommunicationsStage.md) + - [NewCommunicationsStageData](docs/NewCommunicationsStageData.md) + - [NewCommunicationsStageDataAttributes](docs/NewCommunicationsStageDataAttributes.md) + - [NewCommunicationsTemplate](docs/NewCommunicationsTemplate.md) + - [NewCommunicationsTemplateData](docs/NewCommunicationsTemplateData.md) + - [NewCommunicationsTemplateDataAttributes](docs/NewCommunicationsTemplateDataAttributes.md) + - [NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner](docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md) + - [NewCommunicationsType](docs/NewCommunicationsType.md) + - [NewCommunicationsTypeData](docs/NewCommunicationsTypeData.md) + - [NewCommunicationsTypeDataAttributes](docs/NewCommunicationsTypeDataAttributes.md) - [NewCustomField](docs/NewCustomField.md) - [NewCustomFieldData](docs/NewCustomFieldData.md) - [NewCustomFieldDataAttributes](docs/NewCustomFieldDataAttributes.md) @@ -988,8 +1243,15 @@ Class | Method | HTTP request | Description - [NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate](docs/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.md) - [NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner](docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.md) - [NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner](docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md) + - [NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy](docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md) + - [NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf](docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md) - [NewDashboardPanelDataAttributesParamsLegend](docs/NewDashboardPanelDataAttributesParamsLegend.md) - [NewDashboardPanelDataAttributesPosition](docs/NewDashboardPanelDataAttributesPosition.md) + - [NewEdgeConnector](docs/NewEdgeConnector.md) + - [NewEdgeConnectorAction](docs/NewEdgeConnectorAction.md) + - [NewEdgeConnectorActionAction](docs/NewEdgeConnectorActionAction.md) + - [NewEdgeConnectorActionActionMetadata](docs/NewEdgeConnectorActionActionMetadata.md) + - [NewEdgeConnectorEdgeConnector](docs/NewEdgeConnectorEdgeConnector.md) - [NewEnvironment](docs/NewEnvironment.md) - [NewEnvironmentData](docs/NewEnvironmentData.md) - [NewEnvironmentDataAttributes](docs/NewEnvironmentDataAttributes.md) @@ -1007,9 +1269,14 @@ Class | Method | HTTP request | Description - [NewEscalationPolicyPathData](docs/NewEscalationPolicyPathData.md) - [NewEscalationPolicyPathDataAttributes](docs/NewEscalationPolicyPathDataAttributes.md) - [NewEscalationPolicyPathDataAttributesRulesInner](docs/NewEscalationPolicyPathDataAttributesRulesInner.md) - - [NewEscalationPolicyPathDataAttributesRulesInnerAnyOf](docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.md) - - [NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1](docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.md) - - [NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2](docs/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf1](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf2](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf3](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf4](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf5](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md) + - [NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner](docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md) + - [NewEscalationPolicyPathDataAttributesTimeRestrictionsInner](docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md) - [NewFormField](docs/NewFormField.md) - [NewFormFieldData](docs/NewFormFieldData.md) - [NewFormFieldDataAttributes](docs/NewFormFieldDataAttributes.md) @@ -1090,6 +1357,10 @@ Class | Method | HTTP request | Description - [NewLiveCallRouterData](docs/NewLiveCallRouterData.md) - [NewLiveCallRouterDataAttributes](docs/NewLiveCallRouterDataAttributes.md) - [NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams](docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md) + - [NewLiveCallRouterDataAttributesPagingTargetsInner](docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md) + - [NewOnCallPayReport](docs/NewOnCallPayReport.md) + - [NewOnCallPayReportData](docs/NewOnCallPayReportData.md) + - [NewOnCallPayReportDataAttributes](docs/NewOnCallPayReportDataAttributes.md) - [NewOnCallRole](docs/NewOnCallRole.md) - [NewOnCallRoleData](docs/NewOnCallRoleData.md) - [NewOnCallRoleDataAttributes](docs/NewOnCallRoleDataAttributes.md) @@ -1111,6 +1382,7 @@ Class | Method | HTTP request | Description - [NewPulse](docs/NewPulse.md) - [NewPulseData](docs/NewPulseData.md) - [NewPulseDataAttributes](docs/NewPulseDataAttributes.md) + - [NewPulseDataAttributesLabelsInner](docs/NewPulseDataAttributesLabelsInner.md) - [NewPulseDataAttributesRefsInner](docs/NewPulseDataAttributesRefsInner.md) - [NewRetrospectiveProcess](docs/NewRetrospectiveProcess.md) - [NewRetrospectiveProcessData](docs/NewRetrospectiveProcessData.md) @@ -1134,6 +1406,7 @@ Class | Method | HTTP request | Description - [NewSchedule](docs/NewSchedule.md) - [NewScheduleData](docs/NewScheduleData.md) - [NewScheduleDataAttributes](docs/NewScheduleDataAttributes.md) + - [NewScheduleDataAttributesSlackChannel](docs/NewScheduleDataAttributesSlackChannel.md) - [NewScheduleDataAttributesSlackUserGroup](docs/NewScheduleDataAttributesSlackUserGroup.md) - [NewScheduleRotation](docs/NewScheduleRotation.md) - [NewScheduleRotationActiveDay](docs/NewScheduleRotationActiveDay.md) @@ -1143,6 +1416,7 @@ Class | Method | HTTP request | Description - [NewScheduleRotationData](docs/NewScheduleRotationData.md) - [NewScheduleRotationDataAttributes](docs/NewScheduleRotationDataAttributes.md) - [NewScheduleRotationDataAttributesActiveTimeAttributesInner](docs/NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) + - [NewScheduleRotationDataAttributesScheduleRotationMembersInner](docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md) - [NewScheduleRotationDataAttributesScheduleRotationableAttributes](docs/NewScheduleRotationDataAttributesScheduleRotationableAttributes.md) - [NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf](docs/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.md) - [NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1](docs/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.md) @@ -1157,9 +1431,16 @@ Class | Method | HTTP request | Description - [NewService](docs/NewService.md) - [NewServiceData](docs/NewServiceData.md) - [NewServiceDataAttributes](docs/NewServiceDataAttributes.md) + - [NewServiceDataAttributesAlertBroadcastChannel](docs/NewServiceDataAttributesAlertBroadcastChannel.md) + - [NewServiceDataAttributesIncidentBroadcastChannel](docs/NewServiceDataAttributesIncidentBroadcastChannel.md) - [NewSeverity](docs/NewSeverity.md) - [NewSeverityData](docs/NewSeverityData.md) - [NewSeverityDataAttributes](docs/NewSeverityDataAttributes.md) + - [NewSla](docs/NewSla.md) + - [NewSlaData](docs/NewSlaData.md) + - [NewSlaDataAttributes](docs/NewSlaDataAttributes.md) + - [NewSlaDataAttributesConditionsInner](docs/NewSlaDataAttributesConditionsInner.md) + - [NewSlaDataAttributesNotificationConfigurationsInner](docs/NewSlaDataAttributesNotificationConfigurationsInner.md) - [NewStatusPage](docs/NewStatusPage.md) - [NewStatusPageData](docs/NewStatusPageData.md) - [NewStatusPageDataAttributes](docs/NewStatusPageDataAttributes.md) @@ -1172,9 +1453,15 @@ Class | Method | HTTP request | Description - [NewTeam](docs/NewTeam.md) - [NewTeamData](docs/NewTeamData.md) - [NewTeamDataAttributes](docs/NewTeamDataAttributes.md) + - [NewUserEmailAddress](docs/NewUserEmailAddress.md) + - [NewUserEmailAddressData](docs/NewUserEmailAddressData.md) + - [NewUserEmailAddressDataAttributes](docs/NewUserEmailAddressDataAttributes.md) - [NewUserNotificationRule](docs/NewUserNotificationRule.md) - [NewUserNotificationRuleData](docs/NewUserNotificationRuleData.md) - [NewUserNotificationRuleDataAttributes](docs/NewUserNotificationRuleDataAttributes.md) + - [NewUserPhoneNumber](docs/NewUserPhoneNumber.md) + - [NewUserPhoneNumberData](docs/NewUserPhoneNumberData.md) + - [NewUserPhoneNumberDataAttributes](docs/NewUserPhoneNumberDataAttributes.md) - [NewWebhooksEndpoint](docs/NewWebhooksEndpoint.md) - [NewWebhooksEndpointData](docs/NewWebhooksEndpointData.md) - [NewWebhooksEndpointDataAttributes](docs/NewWebhooksEndpointDataAttributes.md) @@ -1204,6 +1491,10 @@ Class | Method | HTTP request | Description - [NewWorkflowTaskData](docs/NewWorkflowTaskData.md) - [NewWorkflowTaskDataAttributes](docs/NewWorkflowTaskDataAttributes.md) - [NewWorkflowTaskDataAttributesTaskParams](docs/NewWorkflowTaskDataAttributesTaskParams.md) + - [OnCallPayReport](docs/OnCallPayReport.md) + - [OnCallPayReportList](docs/OnCallPayReportList.md) + - [OnCallPayReportResponse](docs/OnCallPayReportResponse.md) + - [OnCallPayReportResponseData](docs/OnCallPayReportResponseData.md) - [OnCallRole](docs/OnCallRole.md) - [OnCallRoleList](docs/OnCallRoleList.md) - [OnCallRoleRelationship](docs/OnCallRoleRelationship.md) @@ -1219,10 +1510,19 @@ Class | Method | HTTP request | Description - [OverrideShiftList](docs/OverrideShiftList.md) - [OverrideShiftResponse](docs/OverrideShiftResponse.md) - [OverrideShiftResponseData](docs/OverrideShiftResponseData.md) + - [PageJsmopsOnCallRespondersTaskParams](docs/PageJsmopsOnCallRespondersTaskParams.md) - [PageOpsgenieOnCallRespondersTaskParams](docs/PageOpsgenieOnCallRespondersTaskParams.md) - [PagePagerdutyOnCallRespondersTaskParams](docs/PagePagerdutyOnCallRespondersTaskParams.md) - [PageRootlyOnCallRespondersTaskParams](docs/PageRootlyOnCallRespondersTaskParams.md) - [PageVictorOpsOnCallRespondersTaskParams](docs/PageVictorOpsOnCallRespondersTaskParams.md) + - [PatchAlertRoute](docs/PatchAlertRoute.md) + - [PatchAlertRouteData](docs/PatchAlertRouteData.md) + - [PatchAlertRouteDataAttributes](docs/PatchAlertRouteDataAttributes.md) + - [PatchAlertRouteDataAttributesRulesInner](docs/PatchAlertRouteDataAttributesRulesInner.md) + - [PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner](docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md) + - [PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner](docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md) + - [PatchAlertRouteDataAttributesRulesInnerDestinationsInner](docs/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md) + - [PhoneVerificationResponse](docs/PhoneVerificationResponse.md) - [Playbook](docs/Playbook.md) - [PlaybookList](docs/PlaybookList.md) - [PlaybookResponse](docs/PlaybookResponse.md) @@ -1286,6 +1586,9 @@ Class | Method | HTTP request | Description - [RoleRelationshipData](docs/RoleRelationshipData.md) - [RoleResponse](docs/RoleResponse.md) - [RoleResponseData](docs/RoleResponseData.md) + - [RotateApiKey](docs/RotateApiKey.md) + - [RotateApiKeyData](docs/RotateApiKeyData.md) + - [RotateApiKeyDataAttributes](docs/RotateApiKeyDataAttributes.md) - [RunCommandHerokuTaskParams](docs/RunCommandHerokuTaskParams.md) - [Schedule](docs/Schedule.md) - [ScheduleList](docs/ScheduleList.md) @@ -1305,6 +1608,7 @@ Class | Method | HTTP request | Description - [ScheduleRotationUserList](docs/ScheduleRotationUserList.md) - [ScheduleRotationUserListDataInner](docs/ScheduleRotationUserListDataInner.md) - [ScheduleRotationUserResponse](docs/ScheduleRotationUserResponse.md) + - [ScheduleSlackChannel](docs/ScheduleSlackChannel.md) - [ScheduleSlackUserGroup](docs/ScheduleSlackUserGroup.md) - [Secret](docs/Secret.md) - [SecretList](docs/SecretList.md) @@ -1313,12 +1617,15 @@ Class | Method | HTTP request | Description - [SendDashboardReportTaskParams](docs/SendDashboardReportTaskParams.md) - [SendEmailTaskParams](docs/SendEmailTaskParams.md) - [SendMicrosoftTeamsBlocksTaskParams](docs/SendMicrosoftTeamsBlocksTaskParams.md) + - [SendMicrosoftTeamsChatMessageTaskParams](docs/SendMicrosoftTeamsChatMessageTaskParams.md) - [SendMicrosoftTeamsMessageTaskParams](docs/SendMicrosoftTeamsMessageTaskParams.md) - [SendSlackBlocksTaskParams](docs/SendSlackBlocksTaskParams.md) - [SendSlackMessageTaskParams](docs/SendSlackMessageTaskParams.md) - [SendSmsTaskParams](docs/SendSmsTaskParams.md) - [SendWhatsappMessageTaskParams](docs/SendWhatsappMessageTaskParams.md) - [Service](docs/Service.md) + - [ServiceAlertBroadcastChannel](docs/ServiceAlertBroadcastChannel.md) + - [ServiceIncidentBroadcastChannel](docs/ServiceIncidentBroadcastChannel.md) - [ServiceList](docs/ServiceList.md) - [ServiceResponse](docs/ServiceResponse.md) - [ServiceResponseData](docs/ServiceResponseData.md) @@ -1332,11 +1639,29 @@ Class | Method | HTTP request | Description - [ShiftOverride](docs/ShiftOverride.md) - [ShiftOverrideResponse](docs/ShiftOverrideResponse.md) - [ShiftOverrideResponseData](docs/ShiftOverrideResponseData.md) + - [ShiftRelationships](docs/ShiftRelationships.md) + - [ShiftRelationshipsAssignee](docs/ShiftRelationshipsAssignee.md) + - [ShiftRelationshipsAssigneeData](docs/ShiftRelationshipsAssigneeData.md) + - [ShiftRelationshipsShiftOverride](docs/ShiftRelationshipsShiftOverride.md) + - [ShiftRelationshipsShiftOverrideData](docs/ShiftRelationshipsShiftOverrideData.md) + - [ShiftRelationshipsUser](docs/ShiftRelationshipsUser.md) + - [ShiftRelationshipsUserData](docs/ShiftRelationshipsUserData.md) - [SimpleTriggerParams](docs/SimpleTriggerParams.md) + - [Sla](docs/Sla.md) + - [SlaConditionsInner](docs/SlaConditionsInner.md) + - [SlaList](docs/SlaList.md) + - [SlaNotificationConfigurationsInner](docs/SlaNotificationConfigurationsInner.md) + - [SlaResponse](docs/SlaResponse.md) + - [SlaResponseData](docs/SlaResponseData.md) - [SnapshotDatadogGraphTaskParams](docs/SnapshotDatadogGraphTaskParams.md) - [SnapshotGrafanaDashboardTaskParams](docs/SnapshotGrafanaDashboardTaskParams.md) - [SnapshotLookerLookTaskParams](docs/SnapshotLookerLookTaskParams.md) - [SnapshotNewRelicGraphTaskParams](docs/SnapshotNewRelicGraphTaskParams.md) + - [SnoozeAlert](docs/SnoozeAlert.md) + - [SnoozeAlertData](docs/SnoozeAlertData.md) + - [SnoozeAlertDataAttributes](docs/SnoozeAlertDataAttributes.md) + - [Status](docs/Status.md) + - [StatusList](docs/StatusList.md) - [StatusPage](docs/StatusPage.md) - [StatusPageList](docs/StatusPageList.md) - [StatusPageResponse](docs/StatusPageResponse.md) @@ -1346,6 +1671,8 @@ Class | Method | HTTP request | Description - [StatusPageTemplateListDataInner](docs/StatusPageTemplateListDataInner.md) - [StatusPageTemplateResponse](docs/StatusPageTemplateResponse.md) - [StatusPageTemplateResponseData](docs/StatusPageTemplateResponseData.md) + - [StatusResponse](docs/StatusResponse.md) + - [StatusResponseData](docs/StatusResponseData.md) - [SubStatus](docs/SubStatus.md) - [SubStatusList](docs/SubStatusList.md) - [SubStatusResponse](docs/SubStatusResponse.md) @@ -1354,6 +1681,9 @@ Class | Method | HTTP request | Description - [TeamList](docs/TeamList.md) - [TeamResponse](docs/TeamResponse.md) - [TeamResponseData](docs/TeamResponseData.md) + - [TiptapBlockSchema](docs/TiptapBlockSchema.md) + - [TiptapBlockSchemaFollowupComponent](docs/TiptapBlockSchemaFollowupComponent.md) + - [TiptapBlockSchemaTimelineComponent](docs/TiptapBlockSchemaTimelineComponent.md) - [TriggerWorkflowTaskParams](docs/TriggerWorkflowTaskParams.md) - [TweetTwitterMessageTaskParams](docs/TweetTwitterMessageTaskParams.md) - [UnassignRoleFromUser](docs/UnassignRoleFromUser.md) @@ -1367,9 +1697,15 @@ Class | Method | HTTP request | Description - [UpdateAlertEvent](docs/UpdateAlertEvent.md) - [UpdateAlertEventData](docs/UpdateAlertEventData.md) - [UpdateAlertEventDataAttributes](docs/UpdateAlertEventDataAttributes.md) + - [UpdateAlertField](docs/UpdateAlertField.md) + - [UpdateAlertFieldData](docs/UpdateAlertFieldData.md) + - [UpdateAlertFieldDataAttributes](docs/UpdateAlertFieldDataAttributes.md) - [UpdateAlertGroup](docs/UpdateAlertGroup.md) - [UpdateAlertGroupData](docs/UpdateAlertGroupData.md) - [UpdateAlertGroupDataAttributes](docs/UpdateAlertGroupDataAttributes.md) + - [UpdateAlertRoute](docs/UpdateAlertRoute.md) + - [UpdateAlertRouteData](docs/UpdateAlertRouteData.md) + - [UpdateAlertRouteDataAttributes](docs/UpdateAlertRouteDataAttributes.md) - [UpdateAlertRoutingRule](docs/UpdateAlertRoutingRule.md) - [UpdateAlertRoutingRuleData](docs/UpdateAlertRoutingRuleData.md) - [UpdateAlertRoutingRuleDataAttributes](docs/UpdateAlertRoutingRuleDataAttributes.md) @@ -1381,12 +1717,18 @@ Class | Method | HTTP request | Description - [UpdateAlertsSource](docs/UpdateAlertsSource.md) - [UpdateAlertsSourceData](docs/UpdateAlertsSourceData.md) - [UpdateAlertsSourceDataAttributes](docs/UpdateAlertsSourceDataAttributes.md) + - [UpdateApiKey](docs/UpdateApiKey.md) + - [UpdateApiKeyData](docs/UpdateApiKeyData.md) + - [UpdateApiKeyDataAttributes](docs/UpdateApiKeyDataAttributes.md) - [UpdateAsanaTaskTaskParams](docs/UpdateAsanaTaskTaskParams.md) - [UpdateAttachedAlertsTaskParams](docs/UpdateAttachedAlertsTaskParams.md) - [UpdateAuthorization](docs/UpdateAuthorization.md) - [UpdateAuthorizationData](docs/UpdateAuthorizationData.md) - [UpdateAuthorizationDataAttributes](docs/UpdateAuthorizationDataAttributes.md) - [UpdateCatalog](docs/UpdateCatalog.md) + - [UpdateCatalogChecklistTemplate](docs/UpdateCatalogChecklistTemplate.md) + - [UpdateCatalogChecklistTemplateData](docs/UpdateCatalogChecklistTemplateData.md) + - [UpdateCatalogChecklistTemplateDataAttributes](docs/UpdateCatalogChecklistTemplateDataAttributes.md) - [UpdateCatalogData](docs/UpdateCatalogData.md) - [UpdateCatalogDataAttributes](docs/UpdateCatalogDataAttributes.md) - [UpdateCatalogEntity](docs/UpdateCatalogEntity.md) @@ -1398,11 +1740,31 @@ Class | Method | HTTP request | Description - [UpdateCatalogField](docs/UpdateCatalogField.md) - [UpdateCatalogFieldData](docs/UpdateCatalogFieldData.md) - [UpdateCatalogFieldDataAttributes](docs/UpdateCatalogFieldDataAttributes.md) + - [UpdateCatalogProperty](docs/UpdateCatalogProperty.md) + - [UpdateCatalogPropertyData](docs/UpdateCatalogPropertyData.md) + - [UpdateCatalogPropertyDataAttributes](docs/UpdateCatalogPropertyDataAttributes.md) - [UpdateCause](docs/UpdateCause.md) - [UpdateCauseData](docs/UpdateCauseData.md) - [UpdateCauseDataAttributes](docs/UpdateCauseDataAttributes.md) - [UpdateClickupTaskTaskParams](docs/UpdateClickupTaskTaskParams.md) - [UpdateCodaPageTaskParams](docs/UpdateCodaPageTaskParams.md) + - [UpdateCommunicationsGroup](docs/UpdateCommunicationsGroup.md) + - [UpdateCommunicationsGroupData](docs/UpdateCommunicationsGroupData.md) + - [UpdateCommunicationsGroupDataAttributes](docs/UpdateCommunicationsGroupDataAttributes.md) + - [UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner](docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md) + - [UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner](docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md) + - [UpdateCommunicationsStage](docs/UpdateCommunicationsStage.md) + - [UpdateCommunicationsStageData](docs/UpdateCommunicationsStageData.md) + - [UpdateCommunicationsStageDataAttributes](docs/UpdateCommunicationsStageDataAttributes.md) + - [UpdateCommunicationsTemplate](docs/UpdateCommunicationsTemplate.md) + - [UpdateCommunicationsTemplateData](docs/UpdateCommunicationsTemplateData.md) + - [UpdateCommunicationsTemplateDataAttributes](docs/UpdateCommunicationsTemplateDataAttributes.md) + - [UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner](docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md) + - [UpdateCommunicationsType](docs/UpdateCommunicationsType.md) + - [UpdateCommunicationsTypeData](docs/UpdateCommunicationsTypeData.md) + - [UpdateCommunicationsTypeDataAttributes](docs/UpdateCommunicationsTypeDataAttributes.md) + - [UpdateConfluencePageTaskParams](docs/UpdateConfluencePageTaskParams.md) + - [UpdateConfluencePageTaskParamsTemplate](docs/UpdateConfluencePageTaskParamsTemplate.md) - [UpdateCustomField](docs/UpdateCustomField.md) - [UpdateCustomFieldData](docs/UpdateCustomFieldData.md) - [UpdateCustomFieldDataAttributes](docs/UpdateCustomFieldDataAttributes.md) @@ -1418,6 +1780,16 @@ Class | Method | HTTP request | Description - [UpdateDashboardPanel](docs/UpdateDashboardPanel.md) - [UpdateDashboardPanelData](docs/UpdateDashboardPanelData.md) - [UpdateDashboardPanelDataAttributes](docs/UpdateDashboardPanelDataAttributes.md) + - [UpdateDatadogNotebookTaskParams](docs/UpdateDatadogNotebookTaskParams.md) + - [UpdateDatadogNotebookTaskParamsTemplate](docs/UpdateDatadogNotebookTaskParamsTemplate.md) + - [UpdateDropboxPaperPageTaskParams](docs/UpdateDropboxPaperPageTaskParams.md) + - [UpdateEdgeConnector](docs/UpdateEdgeConnector.md) + - [UpdateEdgeConnectorAction](docs/UpdateEdgeConnectorAction.md) + - [UpdateEdgeConnectorActionRequest](docs/UpdateEdgeConnectorActionRequest.md) + - [UpdateEdgeConnectorActionRequestAction](docs/UpdateEdgeConnectorActionRequestAction.md) + - [UpdateEdgeConnectorRequest](docs/UpdateEdgeConnectorRequest.md) + - [UpdateEdgeConnectorRequestData](docs/UpdateEdgeConnectorRequestData.md) + - [UpdateEdgeConnectorRequestDataAttributes](docs/UpdateEdgeConnectorRequestDataAttributes.md) - [UpdateEnvironment](docs/UpdateEnvironment.md) - [UpdateEnvironmentData](docs/UpdateEnvironmentData.md) - [UpdateEnvironmentDataAttributes](docs/UpdateEnvironmentDataAttributes.md) @@ -1432,6 +1804,7 @@ Class | Method | HTTP request | Description - [UpdateEscalationPolicyPathData](docs/UpdateEscalationPolicyPathData.md) - [UpdateEscalationPolicyPathDataAttributes](docs/UpdateEscalationPolicyPathDataAttributes.md) - [UpdateEscalationPolicyPathDataAttributesRulesInner](docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md) + - [UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner](docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md) - [UpdateFormField](docs/UpdateFormField.md) - [UpdateFormFieldData](docs/UpdateFormFieldData.md) - [UpdateFormFieldDataAttributes](docs/UpdateFormFieldDataAttributes.md) @@ -1457,6 +1830,7 @@ Class | Method | HTTP request | Description - [UpdateFunctionalityData](docs/UpdateFunctionalityData.md) - [UpdateFunctionalityDataAttributes](docs/UpdateFunctionalityDataAttributes.md) - [UpdateGithubIssueTaskParams](docs/UpdateGithubIssueTaskParams.md) + - [UpdateGithubIssueTaskParamsRepository](docs/UpdateGithubIssueTaskParamsRepository.md) - [UpdateGitlabIssueTaskParams](docs/UpdateGitlabIssueTaskParams.md) - [UpdateGoogleCalendarEventTaskParams](docs/UpdateGoogleCalendarEventTaskParams.md) - [UpdateGoogleDocsPageTaskParams](docs/UpdateGoogleDocsPageTaskParams.md) @@ -1523,12 +1897,16 @@ Class | Method | HTTP request | Description - [UpdateIncidentTypeDataAttributes](docs/UpdateIncidentTypeDataAttributes.md) - [UpdateJiraIssueTaskParams](docs/UpdateJiraIssueTaskParams.md) - [UpdateLinearIssueTaskParams](docs/UpdateLinearIssueTaskParams.md) + - [UpdateLinearIssueTaskParamsState](docs/UpdateLinearIssueTaskParamsState.md) - [UpdateLiveCallRouter](docs/UpdateLiveCallRouter.md) - [UpdateLiveCallRouterData](docs/UpdateLiveCallRouterData.md) - [UpdateLiveCallRouterDataAttributes](docs/UpdateLiveCallRouterDataAttributes.md) - [UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams](docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md) - [UpdateMotionTaskTaskParams](docs/UpdateMotionTaskTaskParams.md) - [UpdateNotionPageTaskParams](docs/UpdateNotionPageTaskParams.md) + - [UpdateOnCallPayReport](docs/UpdateOnCallPayReport.md) + - [UpdateOnCallPayReportData](docs/UpdateOnCallPayReportData.md) + - [UpdateOnCallPayReportDataAttributes](docs/UpdateOnCallPayReportDataAttributes.md) - [UpdateOnCallRole](docs/UpdateOnCallRole.md) - [UpdateOnCallRoleData](docs/UpdateOnCallRoleData.md) - [UpdateOnCallRoleDataAttributes](docs/UpdateOnCallRoleDataAttributes.md) @@ -1554,6 +1932,7 @@ Class | Method | HTTP request | Description - [UpdatePulse](docs/UpdatePulse.md) - [UpdatePulseData](docs/UpdatePulseData.md) - [UpdatePulseDataAttributes](docs/UpdatePulseDataAttributes.md) + - [UpdateQuipPageTaskParams](docs/UpdateQuipPageTaskParams.md) - [UpdateRetrospectiveConfiguration](docs/UpdateRetrospectiveConfiguration.md) - [UpdateRetrospectiveConfigurationData](docs/UpdateRetrospectiveConfigurationData.md) - [UpdateRetrospectiveConfigurationDataAttributes](docs/UpdateRetrospectiveConfigurationDataAttributes.md) @@ -1594,8 +1973,12 @@ Class | Method | HTTP request | Description - [UpdateSeverity](docs/UpdateSeverity.md) - [UpdateSeverityData](docs/UpdateSeverityData.md) - [UpdateSeverityDataAttributes](docs/UpdateSeverityDataAttributes.md) + - [UpdateSharepointPageTaskParams](docs/UpdateSharepointPageTaskParams.md) - [UpdateShortcutStoryTaskParams](docs/UpdateShortcutStoryTaskParams.md) - [UpdateShortcutTaskTaskParams](docs/UpdateShortcutTaskTaskParams.md) + - [UpdateSla](docs/UpdateSla.md) + - [UpdateSlaData](docs/UpdateSlaData.md) + - [UpdateSlaDataAttributes](docs/UpdateSlaDataAttributes.md) - [UpdateSlackChannelTopicTaskParams](docs/UpdateSlackChannelTopicTaskParams.md) - [UpdateStatusPage](docs/UpdateStatusPage.md) - [UpdateStatusPageData](docs/UpdateStatusPageData.md) @@ -1614,9 +1997,15 @@ Class | Method | HTTP request | Description - [UpdateUser](docs/UpdateUser.md) - [UpdateUserData](docs/UpdateUserData.md) - [UpdateUserDataAttributes](docs/UpdateUserDataAttributes.md) + - [UpdateUserEmailAddress](docs/UpdateUserEmailAddress.md) + - [UpdateUserEmailAddressData](docs/UpdateUserEmailAddressData.md) + - [UpdateUserEmailAddressDataAttributes](docs/UpdateUserEmailAddressDataAttributes.md) - [UpdateUserNotificationRule](docs/UpdateUserNotificationRule.md) - [UpdateUserNotificationRuleData](docs/UpdateUserNotificationRuleData.md) - [UpdateUserNotificationRuleDataAttributes](docs/UpdateUserNotificationRuleDataAttributes.md) + - [UpdateUserPhoneNumber](docs/UpdateUserPhoneNumber.md) + - [UpdateUserPhoneNumberData](docs/UpdateUserPhoneNumberData.md) + - [UpdateUserPhoneNumberDataAttributes](docs/UpdateUserPhoneNumberDataAttributes.md) - [UpdateVictorOpsIncidentTaskParams](docs/UpdateVictorOpsIncidentTaskParams.md) - [UpdateWebhooksEndpoint](docs/UpdateWebhooksEndpoint.md) - [UpdateWebhooksEndpointData](docs/UpdateWebhooksEndpointData.md) @@ -1639,14 +2028,24 @@ Class | Method | HTTP request | Description - [UpdateWorkflowTaskDataAttributesTaskParams](docs/UpdateWorkflowTaskDataAttributesTaskParams.md) - [UpdateZendeskTicketTaskParams](docs/UpdateZendeskTicketTaskParams.md) - [User](docs/User.md) + - [UserEmailAddress](docs/UserEmailAddress.md) + - [UserEmailAddressList](docs/UserEmailAddressList.md) + - [UserEmailAddressResponse](docs/UserEmailAddressResponse.md) + - [UserEmailAddressResponseData](docs/UserEmailAddressResponseData.md) + - [UserFlatResponse](docs/UserFlatResponse.md) - [UserList](docs/UserList.md) - [UserNotificationRule](docs/UserNotificationRule.md) - [UserNotificationRuleList](docs/UserNotificationRuleList.md) - [UserNotificationRuleResponse](docs/UserNotificationRuleResponse.md) - [UserNotificationRuleResponseData](docs/UserNotificationRuleResponseData.md) + - [UserPhoneNumber](docs/UserPhoneNumber.md) + - [UserPhoneNumberList](docs/UserPhoneNumberList.md) + - [UserPhoneNumberResponse](docs/UserPhoneNumberResponse.md) + - [UserPhoneNumberResponseData](docs/UserPhoneNumberResponseData.md) - [UserRelationships](docs/UserRelationships.md) - [UserResponse](docs/UserResponse.md) - [UserResponseData](docs/UserResponseData.md) + - [VerifyPhoneNumberRequest](docs/VerifyPhoneNumberRequest.md) - [WebhooksDelivery](docs/WebhooksDelivery.md) - [WebhooksDeliveryList](docs/WebhooksDeliveryList.md) - [WebhooksDeliveryResponse](docs/WebhooksDeliveryResponse.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index c82cd115..1819c907 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -22,13 +22,14 @@ info:
# Rate limiting - - There is a default limit of approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - - Additional headers will be returned giving you information about the limit: - - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - - **RateLimit-Reset** - The time at which the current rate limit window resets in UTC epoch seconds. + - 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. @@ -46,7 +47,6 @@ info: version: v1 x-logo: url: https://rootly-heroku.s3.us-east-1.amazonaws.com/swagger/v1/logo.png - alt: Rootly servers: - url: https://api.rootly.com paths: @@ -131,78 +131,12 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: 1ae9be0b-a4d3-4a0c-8ba0-efa1b7f8094f - type: alert_events - attributes: - kind: note - source: api - action: created - details: This is a test note - user: - id: 6 - email: bot@rootly.com - deleted_at: null - created_at: 2025-05-22T06:41:03.825-07:00 - updated_at: 2025-05-22T06:41:03.825-07:00 - current_team_id: 2 - first_name: Rootly - last_name: null - time_zone: America/Los_Angeles - last_seen_at: null - profile_photo_id: null - ability_cache: null - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: true - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: 2fea0356-558c-4bef-9fd0-117b32bb3109 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - user_id: 6 - incident: null - schedule: null - escalation_level: null - escalation_target_type: null - escalation_target: null - slack_channel: null - incident_ids: [] - created_at: 2025-05-22T06:41:05.296-07:00 - updated_at: 2025-05-22T06:41:05.296-07:00 schema: $ref: '#/components/schemas/alert_event_response' description: alert event created with Rootly bot user "422": content: application/vnd.api+json: - example: - errors: - - title: Details can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request @@ -216,7 +150,9 @@ paths: - application/vnd.api+json /v1/alert_events/{id}: delete: - description: Deletes a specific alert event + description: Deletes a specific alert event. Only alert events with kind 'note' + (user-created notes) can be deleted. System-generated events are immutable + to maintain audit trail integrity. operationId: deleteAlertEvent parameters: - explode: false @@ -232,10 +168,6 @@ paths: "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: alert event not found @@ -261,78 +193,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 051945be-e44c-410d-ae05-55daa242a6a5 - type: alert_events - attributes: - kind: note - source: api - action: created - details: test note - user: - id: 1 - email: lianne@hodkiewicz-wunsch.test - deleted_at: null - created_at: 2025-05-22T06:41:01.314-07:00 - updated_at: 2025-05-22T06:41:05.787-07:00 - current_team_id: 1 - first_name: Wayne - last_name: Schimmel - time_zone: UTC - last_seen_at: null - profile_photo_id: null - ability_cache: null - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: false - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: 73b9f2d7-a26c-4c72-8d3c-0b3f29aaa994 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - user_id: 1 - incident: null - schedule: null - escalation_level: null - escalation_target_type: null - escalation_target: null - slack_channel: null - incident_ids: [] - created_at: 2025-05-22T06:41:04.029-07:00 - updated_at: 2025-05-22T06:41:04.029-07:00 schema: $ref: '#/components/schemas/alert_event_response' description: alert_event found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: alert_event not found @@ -344,7 +210,9 @@ paths: x-accepts: - application/vnd.api+json patch: - description: Updates a specific alert event + description: Updates a specific alert event. Only alert events with kind 'note' + (user-created notes) can be updated. System-generated events are immutable + to maintain audit trail integrity. operationId: updateAlertEvent parameters: - explode: false @@ -363,78 +231,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 051945be-e44c-410d-ae05-55daa242a6a5 - type: alert_events - attributes: - kind: note - source: api - action: created - details: Updated details - user: - id: 1 - email: lianne@hodkiewicz-wunsch.test - deleted_at: null - created_at: 2025-05-22T06:41:01.314-07:00 - updated_at: 2025-05-22T06:41:06.171-07:00 - current_team_id: 1 - first_name: Wayne - last_name: Schimmel - time_zone: UTC - last_seen_at: null - profile_photo_id: null - ability_cache: null - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: false - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: 73b9f2d7-a26c-4c72-8d3c-0b3f29aaa994 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - user_id: 1 - incident: null - schedule: null - escalation_level: null - escalation_target_type: null - escalation_target: null - slack_channel: null - incident_ids: [] - created_at: 2025-05-22T06:41:04.029-07:00 - updated_at: 2025-05-22T06:41:06.203-07:00 schema: $ref: '#/components/schemas/alert_event_response' description: alert event updated "422": content: application/vnd.api+json: - example: - errors: - - title: Details can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request @@ -446,6 +248,247 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/alert_fields: + get: + description: List alert fields + operationId: listAlertFields + parameters: + - 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 + - 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[kind]" + 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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_field_list' + description: success + security: + - bearer_auth: [] + summary: List alert fields + tags: + - AlertFields + x-accepts: + - application/vnd.api+json + post: + description: Creates a new alert field from provided data + operationId: createAlertField + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_alert_field' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_field_response' + description: alert field 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 an alert field + tags: + - AlertFields + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/alert_fields/{id}: + delete: + description: Delete a specific alert field by id + operationId: deleteAlertField + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_field_response' + description: custom alert field deleted successfully + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cannot delete alert field referenced by escalation path field + rules + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an alert field + tags: + - AlertFields + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific alert field by id + operationId: getAlertField + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_field_response' + description: alert_field found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an alert field + tags: + - AlertFields + x-accepts: + - application/vnd.api+json + put: + description: Update a specific alert field by id + operationId: updateAlertField + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_alert_field' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_field_response' + description: alert field updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an alert field + tags: + - AlertFields + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json /v1/alert_groups: get: description: List alert groups @@ -473,7 +516,10 @@ paths: x-accepts: - application/vnd.api+json post: - description: Creates a new alert group + description: "Creates a new alert group. **Note**: For enhanced functionality\ + \ and future compatibility, consider using the advanced alert grouping with\ + \ `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`,\ + \ and `attributes` fields." operationId: createAlertGroup parameters: [] requestBody: @@ -486,52 +532,18 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: 23b4d6ec-13d7-4ce3-9090-f5954b3793fc - type: alert_groups - attributes: - name: Test alert group - slug: test-alert-group - description: null - time_window: 10 - condition_type: any - group_by_alert_title: false - group_by_alert_urgency: false - deleted_at: null - created_at: 2025-05-22T06:41:08.759-07:00 - updated_at: 2025-05-22T06:41:08.759-07:00 - targets: - - id: a1d12c71-5fd8-4b7e-9f75-b9806a74c184 - target_type: Service - target_id: 17089b7a-536f-4fb9-bbd7-346f05620c09 - alert_group_id: 23b4d6ec-13d7-4ce3-9090-f5954b3793fc - deleted_at: null - created_at: 2025-05-22T06:41:08.761-07:00 - updated_at: 2025-05-22T06:41:08.761-07:00 - attributes: [] schema: $ref: '#/components/schemas/alert_group_response' - description: alert group created + description: alert group created with conditions "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Destinations can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token @@ -553,39 +565,18 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: def4cd72-7c62-47ad-86fb-8f3b675faeac - type: alert_groups - attributes: - name: 123 test group - slug: 123-test-group - description: null - time_window: 10 - condition_type: any - group_by_alert_title: false - group_by_alert_urgency: false - deleted_at: 2025-05-22T06:41:10.650-07:00 - created_at: 2025-05-22T06:41:08.223-07:00 - updated_at: 2025-05-22T06:41:10.650-07:00 - targets: [] - attributes: [] schema: $ref: '#/components/schemas/alert_group_response' description: alert group deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -605,46 +596,18 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: def4cd72-7c62-47ad-86fb-8f3b675faeac - type: alert_groups - attributes: - name: 123 test group - slug: 123-test-group - description: null - time_window: 10 - condition_type: any - group_by_alert_title: false - group_by_alert_urgency: false - deleted_at: null - created_at: 2025-05-22T06:41:08.223-07:00 - updated_at: 2025-05-22T06:41:08.223-07:00 - targets: - - id: 4dd56ec2-a100-4e94-9d36-5ad3e6df30f8 - target_type: Service - target_id: 17089b7a-536f-4fb9-bbd7-346f05620c09 - alert_group_id: def4cd72-7c62-47ad-86fb-8f3b675faeac - deleted_at: null - created_at: 2025-05-22T06:41:08.225-07:00 - updated_at: 2025-05-22T06:41:08.225-07:00 - attributes: [] schema: $ref: '#/components/schemas/alert_group_response' - description: alert group found + description: alert_group found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -656,7 +619,10 @@ paths: x-accepts: - application/vnd.api+json patch: - description: Update a specific alert group by id + description: "Update a specific alert group by id. **Note**: For enhanced functionality\ + \ and future compatibility, consider using the advanced alert grouping with\ + \ `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`,\ + \ and `attributes` fields." operationId: updateAlertGroup parameters: - explode: false @@ -664,7 +630,7 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: @@ -676,40 +642,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: def4cd72-7c62-47ad-86fb-8f3b675faeac - type: alert_groups - attributes: - name: Group name updated - slug: 123-test-group - description: null - time_window: 10 - condition_type: any - group_by_alert_title: false - group_by_alert_urgency: false - deleted_at: null - created_at: 2025-05-22T06:41:08.223-07:00 - updated_at: 2025-05-22T06:41:10.111-07:00 - targets: - - id: 4dd56ec2-a100-4e94-9d36-5ad3e6df30f8 - target_type: Service - target_id: 17089b7a-536f-4fb9-bbd7-346f05620c09 - alert_group_id: def4cd72-7c62-47ad-86fb-8f3b675faeac - deleted_at: null - created_at: 2025-05-22T06:41:08.225-07:00 - updated_at: 2025-05-22T06:41:08.225-07:00 - attributes: [] schema: $ref: '#/components/schemas/alert_group_response' - description: alert group updated + description: alert group updated with conditions "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -721,9 +659,316 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/alert_routes: + 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 + 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: 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 + 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 @@ -811,7 +1056,10 @@ paths: x-accepts: - application/vnd.api+json post: - description: Creates a new alert routing rule from provided data + description: "Creates a new alert routing rule from provided data. **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: createAlertRoutingRule parameters: [] requestBody: @@ -824,56 +1072,18 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: e6fdb980-a74a-4248-aa25-86b551dff287 - type: alert_routing_rules - attributes: - name: Test Alert Routing Rule 1 - alerts_source_id: eeac2fff-c951-4a81-9495-aaadf7cf8bd8 - condition_type: all - enabled: false - created_at: 2025-05-22T06:41:16.071-07:00 - updated_at: 2025-05-22T06:41:16.071-07:00 - destination: - id: 645fee4a-46cb-4bad-9345-db7517c67ef8 - target_type: Group - target_id: 0f80f9ef-3937-4b65-839e-038e1eb81430 - created_at: 2025-05-22T06:41:16.073-07:00 - updated_at: 2025-05-22T06:41:16.073-07:00 - conditions: - - id: 9770dcc9-eb22-44fb-ba4c-34cfec03523c - property_field_condition_type: is_one_of - property_field_name: description - property_field_type: attribute - property_field_value: null - property_field_values: - - Open - created_at: 2025-05-22T06:41:16.074-07:00 - updated_at: 2025-05-22T06:41:16.074-07:00 - relationships: - owning_teams: - data: [] schema: $ref: '#/components/schemas/alert_routing_rule_response' description: alert routing rule created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token @@ -887,7 +1097,10 @@ paths: - application/vnd.api+json /v1/alert_routing_rules/{id}: delete: - description: Delete a specific alert routing rule by id + description: "Delete a specific alert routing rule by id. **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: deleteAlertRoutingRule parameters: - explode: false @@ -895,43 +1108,18 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: c03e2fb6-1780-4353-8b2f-e12b20dac569 - type: alert_routing_rules - attributes: - name: Alert Routing Rule 1 - alerts_source_id: eeac2fff-c951-4a81-9495-aaadf7cf8bd8 - condition_type: all - enabled: false - created_at: 2025-05-22T06:41:12.544-07:00 - updated_at: 2025-05-22T06:41:17.947-07:00 - destination: - id: 8d9de9e1-bc7f-467a-a964-16800c005779 - target_type: EscalationPolicy - target_id: 704dd250-9250-479f-add6-0e76eff4c0f7 - created_at: 2025-05-22T06:41:12.752-07:00 - updated_at: 2025-05-22T06:41:17.938-07:00 - conditions: [] - relationships: - owning_teams: - data: [] schema: $ref: '#/components/schemas/alert_routing_rule_response' description: alert routing rule deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -943,7 +1131,10 @@ paths: x-accepts: - application/vnd.api+json get: - description: Retrieves a specific alert routing rule by id + description: "Retrieves a specific alert routing rule by id. **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: getAlertRoutingRule parameters: - explode: false @@ -951,43 +1142,18 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: c03e2fb6-1780-4353-8b2f-e12b20dac569 - type: alert_routing_rules - attributes: - name: Alert Routing Rule 1 - alerts_source_id: eeac2fff-c951-4a81-9495-aaadf7cf8bd8 - condition_type: all - enabled: false - created_at: 2025-05-22T06:41:12.544-07:00 - updated_at: 2025-05-22T06:41:12.544-07:00 - destination: - id: 8d9de9e1-bc7f-467a-a964-16800c005779 - target_type: EscalationPolicy - target_id: 704dd250-9250-479f-add6-0e76eff4c0f7 - created_at: 2025-05-22T06:41:12.752-07:00 - updated_at: 2025-05-22T06:41:12.752-07:00 - conditions: [] - relationships: - owning_teams: - data: [] schema: $ref: '#/components/schemas/alert_routing_rule_response' - description: alert routing rule found + description: alert_routing_rule found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -999,7 +1165,10 @@ paths: x-accepts: - application/vnd.api+json put: - description: Update a specific alert routing rule by id + description: "Update a specific alert routing rule by id. **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: updateAlertRoutingRule parameters: - explode: false @@ -1007,7 +1176,7 @@ paths: name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: @@ -1019,37 +1188,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: c03e2fb6-1780-4353-8b2f-e12b20dac569 - type: alert_routing_rules - attributes: - name: Test Alert Routing Rule 1 (Updated) - alerts_source_id: eeac2fff-c951-4a81-9495-aaadf7cf8bd8 - condition_type: all - enabled: false - created_at: 2025-05-22T06:41:12.544-07:00 - updated_at: 2025-05-22T06:41:17.391-07:00 - destination: - id: 8d9de9e1-bc7f-467a-a964-16800c005779 - target_type: EscalationPolicy - target_id: 704dd250-9250-479f-add6-0e76eff4c0f7 - created_at: 2025-05-22T06:41:12.752-07:00 - updated_at: 2025-05-22T06:41:12.752-07:00 - conditions: [] - relationships: - owning_teams: - data: [] schema: $ref: '#/components/schemas/alert_routing_rule_response' description: alert routing rule updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1164,38 +1308,18 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: 017b2312-ccb8-4436-bd3d-0677c6b0e089 - type: alert_urgencies - attributes: - name: High - description: Hight alert urgency - position: 1 - created_at: 2025-05-22T06:41:21.972-07:00 - updated_at: 2025-05-22T06:41:21.972-07:00 schema: $ref: '#/components/schemas/alert_urgency_response' description: alert urgency created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Description can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token @@ -1223,26 +1347,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 8cbae5da-a98e-40bd-94ba-6cf23e5127ae - type: alert_urgencies - attributes: - name: "43532" - description: Quod ipsa sapiente possimus. - position: 1 - created_at: 2025-05-22T06:41:19.416-07:00 - updated_at: 2025-05-22T06:41:23.880-07:00 schema: $ref: '#/components/schemas/alert_urgency_response' description: alert urgency deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1268,26 +1378,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 8cbae5da-a98e-40bd-94ba-6cf23e5127ae - type: alert_urgencies - attributes: - name: "43532" - description: Quod ipsa sapiente possimus. - position: 1 - created_at: 2025-05-22T06:41:19.416-07:00 - updated_at: 2025-05-22T06:41:19.422-07:00 schema: $ref: '#/components/schemas/alert_urgency_response' description: alert urgency found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1319,26 +1415,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 8cbae5da-a98e-40bd-94ba-6cf23e5127ae - type: alert_urgencies - attributes: - name: High (Updated) - description: Quod ipsa sapiente possimus. - position: 2 - created_at: 2025-05-22T06:41:19.416-07:00 - updated_at: 2025-05-22T06:41:23.218-07:00 schema: $ref: '#/components/schemas/alert_urgency_response' description: alert urgency updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1353,7 +1435,7 @@ paths: /v1/alert_sources: get: description: List alert sources - operationId: listAlertSources + operationId: listAlertsSources parameters: - explode: true in: query @@ -1397,6 +1479,13 @@ paths: schema: type: string style: form + - explode: true + in: query + name: "filter[name]" + required: false + schema: + type: string + style: form - explode: true in: query name: sort @@ -1420,7 +1509,7 @@ paths: - application/vnd.api+json post: description: Creates a new alert source from provided data - operationId: createAlertSource + operationId: createAlertsSource parameters: [] requestBody: content: @@ -1432,59 +1521,18 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: 5c540998-b387-4c35-9320-ee5508cb147f - type: alert_sources - attributes: - name: Email Source 1 - source_type: email - status: setup_incomplete - secret: e5f24b29b35174b16969b2ee0062a6c543b5fb706ce63592a4cba7fa83fc49f2 - alert_urgency_id: 4cc0f406-98f2-4f80-b2f8-e2a85e6e76f2 - created_at: 2025-05-22T06:41:29.041-07:00 - updated_at: 2025-05-22T06:41:29.041-07:00 - webhook_endpoint: http://localhost:3001/webhooks/incoming/generic_webhooks/notify// - owner_group_ids: [] - alert_source_urgency_rules_attributes: [] - sourceable_attributes: null - alert_template_attributes: null - resolution_rule_attributes: - id: 8baa261f-15ad-42b5-8ddd-c5a93cf3ce84 - enabled: true - condition_type: all - identifier_json_path: $.email.subject - identifier_value_regex: "" - conditions_attributes: - - id: 825dbe0e-fe12-4773-b6a9-eed5a401ba1d - field: $.email.subject - operator: is - value: Resolved - email: email-source-de4aeac477c11b17ce13fe66e23a03cc@test.email.rootly.com - accept_threaded_emails: false - relationships: - alert_source_urgency_rules: - data: [] schema: $ref: '#/components/schemas/alerts_source_response' description: alert source created with resolution rule "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token @@ -1499,7 +1547,7 @@ paths: /v1/alert_sources/{id}: delete: description: Delete a specific alert source by id - operationId: deleteAlertSource + operationId: deleteAlertsSource parameters: - explode: false in: path @@ -1512,37 +1560,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1faaf21d-a2af-45ea-bf61-ab981436ce9a - type: alert_sources - attributes: - name: Alert Source 4 - source_type: datadog - status: setup_incomplete - secret: 5609791888c96ec5d1e1c1d7fbcd37f84614fbfa031f0352d7280ed6ae275441 - alert_urgency_id: 4cc0f406-98f2-4f80-b2f8-e2a85e6e76f2 - created_at: 2025-05-22T06:41:25.361-07:00 - updated_at: 2025-05-22T06:41:31.083-07:00 - webhook_endpoint: http://localhost:3001/webhooks/incoming/datadog_webhooks/notify// - owner_group_ids: [] - alert_source_urgency_rules_attributes: [] - sourceable_attributes: null - alert_template_attributes: null - resolution_rule_attributes: null - relationships: - alert_source_urgency_rules: - data: [] schema: $ref: '#/components/schemas/alerts_source_response' description: alert source deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1555,7 +1578,7 @@ paths: - application/vnd.api+json get: description: Retrieves a specific alert source by id - operationId: getAlertSource + operationId: getAlertsSource parameters: - explode: false in: path @@ -1568,37 +1591,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1faaf21d-a2af-45ea-bf61-ab981436ce9a - type: alert_sources - attributes: - name: Alert Source 4 - source_type: datadog - status: setup_incomplete - secret: 5609791888c96ec5d1e1c1d7fbcd37f84614fbfa031f0352d7280ed6ae275441 - alert_urgency_id: 4cc0f406-98f2-4f80-b2f8-e2a85e6e76f2 - created_at: 2025-05-22T06:41:25.361-07:00 - updated_at: 2025-05-22T06:41:25.361-07:00 - webhook_endpoint: http://localhost:3001/webhooks/incoming/datadog_webhooks/notify// - owner_group_ids: [] - alert_source_urgency_rules_attributes: [] - sourceable_attributes: null - alert_template_attributes: null - resolution_rule_attributes: null - relationships: - alert_source_urgency_rules: - data: [] schema: $ref: '#/components/schemas/alerts_source_response' description: alert source found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1611,7 +1609,7 @@ paths: - application/vnd.api+json put: description: Update a specific alert source by id - operationId: updateAlertSource + operationId: updateAlertsSource parameters: - explode: false in: path @@ -1630,54 +1628,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1faaf21d-a2af-45ea-bf61-ab981436ce9a - type: alert_sources - attributes: - name: GW 2 - source_type: datadog - status: setup_incomplete - secret: 5609791888c96ec5d1e1c1d7fbcd37f84614fbfa031f0352d7280ed6ae275441 - alert_urgency_id: 4cc0f406-98f2-4f80-b2f8-e2a85e6e76f2 - created_at: 2025-05-22T06:41:25.361-07:00 - updated_at: 2025-05-22T06:41:30.512-07:00 - webhook_endpoint: http://localhost:3001/webhooks/incoming/datadog_webhooks/notify// - owner_group_ids: [] - alert_source_urgency_rules_attributes: - - id: 4d209f0c-f2a9-4eed-8940-34ca708b1d6a - json_path: $.alert.status - operator: is - value: Critical - alert_urgency_id: d07e290e-e092-44f0-9a27-ee97422e213a - alerts_source_id: 1faaf21d-a2af-45ea-bf61-ab981436ce9a - created_at: 2025-05-22T06:41:30.514-07:00 - updated_at: 2025-05-22T06:41:30.514-07:00 - sourceable_attributes: null - alert_template_attributes: null - resolution_rule_attributes: null - relationships: - alert_source_urgency_rules: - data: - - id: 4d209f0c-f2a9-4eed-8940-34ca708b1d6a - alerts_source_id: 1faaf21d-a2af-45ea-bf61-ab981436ce9a - alert_urgency_id: d07e290e-e092-44f0-9a27-ee97422e213a - json_path: $.alert.status - operator: is - value: Critical - deleted_at: null - created_at: 2025-05-22T06:41:30.514-07:00 - updated_at: 2025-05-22T06:41:30.514-07:00 schema: $ref: '#/components/schemas/alerts_source_response' description: alert source updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -1701,48 +1657,157 @@ paths: schema: type: string style: simple - - explode: true + - description: "comma separated if needed. eg: environments,services,groups" + explode: true in: query name: include required: false schema: + enum: + - environments + - services + - groups + - responders + - incidents + - events + - alert_urgency + - heartbeat + - live_call_router + - alert_group + - group_leader_alert + - group_member_alerts + - alert_field_values + - alerting_targets + - escalation_policies + - alert_call_recording + - alert_urgency type: string style: form - - explode: true - in: query - name: "filter[source]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[services]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[environments]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[groups]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[labels]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_list' + description: success + security: + - bearer_auth: [] + summary: List Incident alerts + tags: + - Alerts + x-accepts: + - application/vnd.api+json + post: + description: Attach alerts to an incident from provided data + operationId: attachAlert + parameters: + - explode: false + in: path + name: incident_id + required: true schema: type: string - style: form + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/attach_alert' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_list' + description: alert created + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Attach alerts to an incident + tags: + - Alerts + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/alerts: + get: + description: List alerts + operationId: listAlerts + parameters: + - description: "comma separated if needed. eg: environments,services,groups" + explode: true + in: query + name: include + required: false + schema: + enum: + - environments + - services + - groups + - responders + - incidents + - events + - alert_urgency + - heartbeat + - live_call_router + - alert_group + - group_leader_alert + - group_member_alerts + - alert_field_values + - alerting_targets + - escalation_policies + - alert_call_recording + - alert_urgency + type: string + style: form + - explode: true + in: query + name: "filter[status]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[source]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[services]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[environments]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[groups]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[labels]" + required: false + schema: + type: string + style: form - explode: true in: query name: "filter[started_at][gt]" @@ -1829,362 +1894,37 @@ paths: style: form - explode: true in: query - name: "page[number]" + name: "filter[updated_at][gt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[updated_at][gte]" required: false schema: - type: integer + type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/alert_list' - description: success - security: - - bearer_auth: [] - summary: List Incident alerts - tags: - - Alerts - x-accepts: - - application/vnd.api+json - post: - description: Attach alerts to an incident from provided data - operationId: attachAlert - parameters: - - explode: false - in: path - name: incident_id - required: true + - explode: true + in: query + name: "filter[updated_at][lt]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/attach_alert' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - - id: a4e2e382-667d-4ee7-988c-ec3834b8092e - type: alerts - attributes: - short_id: oz4tfm - source: pagerduty - status: open - summary: Sunt eaque est in. - description: Delectus sunt deserunt. Et qui totam. Blanditiis - sit aut. - labels: [] - services: [] - service_ids: [] - groups: [] - group_ids: [] - environments: [] - environment_ids: [] - responders: [] - incidents: - - id: c33e16dc-02c3-431b-84e8-b762a18fb958 - user_id: 27 - team_id: 17 - title: Dolorum tempore vel dolor. - slug: dolorum-tempore-vel-dolor - summary: Dolor occaecati voluptatem. Quo minima quod. In soluta - autem. - status: started - slack_channel_id: null - started_at: 2025-05-22T06:41:33.101-07:00 - mitigated_at: null - resolved_at: null - deleted_at: null - created_at: 2025-05-22T06:41:33.101-07:00 - updated_at: 2025-05-22T06:41:39.771-07:00 - severity_id: 3454a55e-faa3-44a4-b347-bc4927c0babb - public_title: null - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - shortcut_story_id: null - shortcut_story_url: null - asana_task_id: null - asana_task_url: null - jira_issue_id: null - jira_issue_url: null - email_message_id: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - slack_channel_name: null - service_now_incident_id: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_incident_responder_ids: [] - labels: {} - incidents_action_items_count: 0 - incidents_tasks_count: 0 - mitigation_message: null - resolution_message: null - pagerduty_incident_responder_ids: {} - victor_ops_incident_id: null - victor_ops_incident_url: null - victor_ops_incident_responder_ids: {} - pagerduty_incident_id: null - pagerduty_incident_url: null - status_pages_count: 0 - mattermost_channel_id: null - slack_summary_timestamp: null - mattermost_channel_name: null - mattermost_channel_url: null - slack_channel_url: null - mattermost_summary_timestamp: null - confluence_page_id: null - confluence_page_url: null - kind: normal - scheduled_for: null - scheduled_until: null - scheduled_remind_prior: false - scheduled_auto_in_progress: true - scheduled_auto_completed: true - detected_at: null - acknowledged_at: null - private: false - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_url: null - summary_updated_at: null - sequential_id: 1 - slack_channels: [] - airtable_base_key: null - airtable_table_name: null - shortcut_task_id: null - shortcut_task_url: null - title_autogenerated: false - view_source: null - source: web - microsoft_teams_meeting_url: null - microsoft_teams_meeting_id: null - dropbox_paper_id: null - dropbox_paper_url: null - subscribers_count: 0 - status_page_io: {} - webex_meeting_id: null - webex_meeting_url: null - github_issue_id: null - github_issue_url: null - cancelled_at: null - cancellation_message: null - notion_page_id: null - notion_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - notify_channels: {} - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - started_by_user_id: 27 - mitigated_by_user_id: null - resolved_by_user_id: null - cancelled_by_user_id: null - slack_aliases: [] - slack_channel_workspace_id: null - google_calendar_event_url: null - google_calendar_event_id: null - short_url: null - slack_channel_short_url: null - go_to_meeting_id: null - go_to_meeting_url: null - jira_issue_key: null - linear_issue_key: null - opsgenie_alert_id: null - opsgenie_alert_url: null - triggered_from_slack_channel_id: null - service_now_incident_key: null - quip_page_id: null - quip_page_url: null - pagertree_alert_id: null - pagertree_alert_url: null - duplicate_incident_id: null - parent_incident_id: null - ability_cache: null - previous_attributes: - updated_at: 2025-05-22T06:41:37.490-07:00 - incident_events: - - "Alerts has been attached: [Pagerduty] Sunt Eaque\ - \ Est In.[Pagerduty] Quis\ - \ Sint Ipsa Officiis.[Pagerduty] Nemo Ab Maxime\ - \ Necessitatibus." - - Started date has been set to May - 22 6:41 AM PDT - - Paris Kris created this incident - user_avatar_url: | - data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg - PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y - MDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg - MCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp - ZW50XzE3NDc5MjEyOTlfMzg5MDA1IiBncmFkaWVudFRyYW5zZm9ybT0icm90 - YXRlKDE5MCkiPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdiNDM5 - NyIgb2Zmc2V0PSIwJSIgLz4KICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9 - IiM3YjQzOTciIG9mZnNldD0iMTAwJSIgLz4KICAgICAgICA8L2xpbmVhckdy - YWRpZW50PgogICAgICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw - MCUiIGZpbGw9InVybCgjZ3JhZGllbnRfMTc0NzkyMTI5OV8zODkwMDUpIiAv - PgogICAgICAgIDx0ZXh0IGZpbGw9IiNGRkYiIGZvbnQtZmFtaWx5PSJPcGVu - IFNhbnMsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0i - MTAxIiBmb250LXdlaWdodD0iNTAwIiB4PSI1MCUiIHk9IjU1JSIgZG9taW5h - bnQtYmFzZWxpbmU9Im1pZGRsZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAg - ICAgICAgICBQSwogICAgICAgIDwvdGV4dD4KICAgICAgPC9zdmc+CiAgICA= - genius_workflow_runs_count: 0 - slack_channel_archived: false - google_drive_parent_id: null - in_triage_at: null - in_triage_by_user_id: null - external_id: null - slack_channel_deep_link: null - retrospective_progress_status: not_started - users_assigned_count: 0 - retrospective_completed_at: null - retrospective_started_at: null - pagerduty_incident_number: null - current_tutorial_step: not_started - clickup_task_id: null - clickup_task_url: null - slack_notify_ready_for_retrospective_timestamp: null - notify_emails: [] - status_page_io_components: [] - retrospective_auto_skipped: false - retrospective_mandatory: false - embedding: null - zoom_meeting_transcript: {} - google_meeting_transcript: {} - webex_meeting_transcript: {} - microsoft_teams_meeting_transcript: {} - zoom_meeting_bot_id: null - google_meeting_bot_id: null - webex_meeting_bot_id: null - microsoft_teams_meeting_bot_id: null - zoom_meeting_transcript_summary: null - google_meeting_transcript_summary: null - webex_meeting_transcript_summary: null - microsoft_teams_meeting_transcript_summary: null - gitlab_issue_id: null - gitlab_issue_url: null - outlook_event_id: null - outlook_event_url: null - sharepoint_page_id: null - sharepoint_page_url: null - created_from_slack_identifier: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - left_slack_channel_slack_user_ids: [] - using_redesigned_slack_announcement: true - using_redesigned_slack_updates: true - motion_task_id: null - motion_task_url: null - sub_status_id: 244563a2-7576-4bec-8aba-9436195e9b00 - closed_at: null - closed_by_user_id: null - microsoft_teams_channel_id: null - microsoft_teams_channel_name: null - microsoft_teams_channel_url: null - microsoft_teams_channel_short_url: null - microsoft_teams_team_id: null - triggered_from_microsoft_teams_channel_id: null - microsoft_teams_summary_message_id: null - slack_last_message_ts: null - zoom_meeting_password: null - microsoft_teams_channel_service_url: null - microsoft_teams_team_internal_id: null - triggered_from_slack_message_ts: null - triggered_from_slack_thread_ts: null - sub_incidents_count: 0 - coda_doc_id: null - coda_doc_url: null - coda_page_id: null - raw_labels: null - tutorial_steps: null - data: {} - started_at: 2025-05-22T06:41:36.250-07:00 - ended_at: null - external_id: null - external_url: http://yost-gutkowski.test/ronnie - url: https://test.rootly.com/account/alerts/a4e2e382-667d-4ee7-988c-ec3834b8092e - notification_target_type: null - notification_target_id: null - alert_urgency_id: 6cbd92b8-fbef-43c3-bf45-4c491dd53ef7 - notified_users: [] - created_at: 2025-05-22T06:41:36.250-07:00 - updated_at: 2025-05-22T06:41:36.250-07:00 - links: - self: http://www.example.com/v1/incidents/c33e16dc-02c3-431b-84e8-b762a18fb958/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10 - first: http://www.example.com/v1/incidents/c33e16dc-02c3-431b-84e8-b762a18fb958/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10 - prev: null - next: null - last: http://www.example.com/v1/incidents/c33e16dc-02c3-431b-84e8-b762a18fb958/alerts?page%5Bnumber%5D=1&page%5Bsize%5D=10 - schema: - $ref: '#/components/schemas/alert_list' - description: alert created - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Attach alerts to an incident - tags: - - Alerts - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/alerts: - get: - description: List alerts - operationId: listAlerts - parameters: + style: form - explode: true in: query - name: include + name: "filter[updated_at][lte]" required: false schema: type: string style: form - - explode: true + - description: The cursor to fetch results using cursor pagination. A cursor + is provided in meta.next_cursor in the response. + explode: true in: query - name: "filter[status]" + name: "page[after]" required: false schema: type: string @@ -2209,7 +1949,7 @@ paths: application/vnd.api+json: schema: $ref: '#/components/schemas/alert_list' - description: filter by status + description: returns grouping attributes security: - bearer_auth: [] summary: List alerts @@ -2231,113 +1971,18 @@ paths: "201": content: application/vnd.api+json: - example: - data: - id: c405de09-b400-49f1-a85b-46f4cd867fd8 - type: alerts - attributes: - short_id: null - source: asana - status: open - summary: Asana ticket created - description: null - labels: - - key: status - value: succeeded - services: - - id: a517a8dc-ab4b-4d43-ba11-f6f69b3cacfe - team_id: 17 - name: Odio nobis accusamus officiis. - slug: odio-nobis-accusamus-officiis - description: Enim sed laborum fugit. - deleted_at: null - created_at: 2025-05-22T06:41:38.642-07:00 - updated_at: 2025-05-22T06:41:38.642-07:00 - opsgenie_id: null - pagerduty_id: null - public_description: null - github_repository_branch: master - github_repository_name: null - color: '#D7F5E1' - heroku_app_name: null - gitlab_repository_name: null - gitlab_repository_branch: master - kubernetes_deployment_name: null - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - backstage_id: null - show_uptime: true - show_uptime_last_days: 60 - status: operational - external_id: null - notify_emails: [] - cortex_id: null - alerts_email_enabled: false - alerts_email_address: service-26cd1ed0f44c16cf90227f84661413ff@email.rootly.com - opsgenie_team_id: null - service_now_ci_sys_id: null - alert_urgency_id: null - opslevel_id: null - datadog_id: null - service_ids: - - a517a8dc-ab4b-4d43-ba11-f6f69b3cacfe - groups: [] - group_ids: [] - environments: - - id: 836116f0-7d09-4123-9e51-da883f7ef157 - team_id: 17 - name: Et quo voluptatem culpa. - slug: et-quo-voluptatem-culpa - description: Nam ducimus aut fugiat. - color: '#fefe62' - deleted_at: null - created_at: 2025-05-22T06:41:38.670-07:00 - updated_at: 2025-05-22T06:41:38.670-07:00 - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - external_id: null - notify_emails: [] - environment_ids: - - 836116f0-7d09-4123-9e51-da883f7ef157 - responders: [] - incidents: [] - data: - url: https://asana.com/issues/1 - started_at: 2025-05-22T06:39:00.000-07:00 - ended_at: 2025-05-22T06:41:00.000-07:00 - external_id: null - external_url: null - url: https://test.rootly.com/account/alerts/c405de09-b400-49f1-a85b-46f4cd867fd8 - notification_target_type: null - notification_target_id: null - alert_urgency_id: 5c4ff89a-880b-4c4b-81f4-a477d3d568c0 - notified_users: [] - created_at: 2025-05-22T06:41:41.162-07:00 - updated_at: 2025-05-22T06:41:41.162-07:00 schema: $ref: '#/components/schemas/alert_response' description: alert created "422": content: application/vnd.api+json: - example: - errors: - - title: Summary can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -2361,274 +2006,42 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: environments,services,groups" + explode: true + in: query + name: include + required: false + schema: + enum: + - environments + - services + - groups + - responders + - incidents + - events + - alert_urgency + - heartbeat + - live_call_router + - alert_group + - group_leader_alert + - group_member_alerts + - alert_field_values + - alerting_targets + - escalation_policies + - alert_call_recording + - alert_urgency + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: a4e2e382-667d-4ee7-988c-ec3834b8092e - type: alerts - attributes: - short_id: oz4tfm - source: pagerduty - status: open - summary: Sunt eaque est in. - description: Delectus sunt deserunt. Et qui totam. Blanditiis - sit aut. - labels: [] - services: [] - service_ids: [] - groups: [] - group_ids: [] - environments: [] - environment_ids: [] - responders: [] - incidents: - - id: c33e16dc-02c3-431b-84e8-b762a18fb958 - user_id: 27 - team_id: 17 - title: Dolorum tempore vel dolor. - slug: dolorum-tempore-vel-dolor - summary: Dolor occaecati voluptatem. Quo minima quod. In soluta - autem. - status: started - slack_channel_id: null - started_at: 2025-05-22T06:41:33.101-07:00 - mitigated_at: null - resolved_at: null - deleted_at: null - created_at: 2025-05-22T06:41:33.101-07:00 - updated_at: 2025-05-22T06:41:37.490-07:00 - severity_id: 3454a55e-faa3-44a4-b347-bc4927c0babb - public_title: null - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - shortcut_story_id: null - shortcut_story_url: null - asana_task_id: null - asana_task_url: null - jira_issue_id: null - jira_issue_url: null - email_message_id: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - slack_channel_name: null - service_now_incident_id: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_incident_responder_ids: [] - labels: {} - incidents_action_items_count: 0 - incidents_tasks_count: 0 - mitigation_message: null - resolution_message: null - pagerduty_incident_responder_ids: {} - victor_ops_incident_id: null - victor_ops_incident_url: null - victor_ops_incident_responder_ids: {} - pagerduty_incident_id: null - pagerduty_incident_url: null - status_pages_count: 0 - mattermost_channel_id: null - slack_summary_timestamp: null - mattermost_channel_name: null - mattermost_channel_url: null - slack_channel_url: null - mattermost_summary_timestamp: null - confluence_page_id: null - confluence_page_url: null - kind: normal - scheduled_for: null - scheduled_until: null - scheduled_remind_prior: false - scheduled_auto_in_progress: true - scheduled_auto_completed: true - detected_at: null - acknowledged_at: null - private: false - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_url: null - summary_updated_at: null - sequential_id: 1 - slack_channels: [] - airtable_base_key: null - airtable_table_name: null - shortcut_task_id: null - shortcut_task_url: null - title_autogenerated: false - view_source: null - source: web - microsoft_teams_meeting_url: null - microsoft_teams_meeting_id: null - dropbox_paper_id: null - dropbox_paper_url: null - subscribers_count: 0 - status_page_io: {} - webex_meeting_id: null - webex_meeting_url: null - github_issue_id: null - github_issue_url: null - cancelled_at: null - cancellation_message: null - notion_page_id: null - notion_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - notify_channels: {} - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - started_by_user_id: 27 - mitigated_by_user_id: null - resolved_by_user_id: null - cancelled_by_user_id: null - slack_aliases: [] - slack_channel_workspace_id: null - google_calendar_event_url: null - google_calendar_event_id: null - short_url: null - slack_channel_short_url: null - go_to_meeting_id: null - go_to_meeting_url: null - jira_issue_key: null - linear_issue_key: null - opsgenie_alert_id: null - opsgenie_alert_url: null - triggered_from_slack_channel_id: null - service_now_incident_key: null - quip_page_id: null - quip_page_url: null - pagertree_alert_id: null - pagertree_alert_url: null - duplicate_incident_id: null - parent_incident_id: null - ability_cache: null - previous_attributes: - updated_at: 2025-05-22T06:41:33.302-07:00 - incident_events: - - Started date has been set to May - 22 6:41 AM PDT - - Paris Kris created this incident - user_avatar_url: | - data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg - PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y - MDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg - MCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp - ZW50XzE3NDc5MjEyOTdfNzc0MzQ1IiBncmFkaWVudFRyYW5zZm9ybT0icm90 - YXRlKDE5MCkiPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdiNDM5 - NyIgb2Zmc2V0PSIwJSIgLz4KICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9 - IiM3YjQzOTciIG9mZnNldD0iMTAwJSIgLz4KICAgICAgICA8L2xpbmVhckdy - YWRpZW50PgogICAgICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw - MCUiIGZpbGw9InVybCgjZ3JhZGllbnRfMTc0NzkyMTI5N183NzQzNDUpIiAv - PgogICAgICAgIDx0ZXh0IGZpbGw9IiNGRkYiIGZvbnQtZmFtaWx5PSJPcGVu - IFNhbnMsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0i - MTAxIiBmb250LXdlaWdodD0iNTAwIiB4PSI1MCUiIHk9IjU1JSIgZG9taW5h - bnQtYmFzZWxpbmU9Im1pZGRsZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAg - ICAgICAgICBQSwogICAgICAgIDwvdGV4dD4KICAgICAgPC9zdmc+CiAgICA= - genius_workflow_runs_count: 0 - slack_channel_archived: false - google_drive_parent_id: null - in_triage_at: null - in_triage_by_user_id: null - external_id: null - slack_channel_deep_link: null - retrospective_progress_status: not_started - users_assigned_count: 0 - retrospective_completed_at: null - retrospective_started_at: null - pagerduty_incident_number: null - current_tutorial_step: not_started - clickup_task_id: null - clickup_task_url: null - slack_notify_ready_for_retrospective_timestamp: null - notify_emails: [] - status_page_io_components: [] - retrospective_auto_skipped: false - retrospective_mandatory: false - embedding: null - zoom_meeting_transcript: {} - google_meeting_transcript: {} - webex_meeting_transcript: {} - microsoft_teams_meeting_transcript: {} - zoom_meeting_bot_id: null - google_meeting_bot_id: null - webex_meeting_bot_id: null - microsoft_teams_meeting_bot_id: null - zoom_meeting_transcript_summary: null - google_meeting_transcript_summary: null - webex_meeting_transcript_summary: null - microsoft_teams_meeting_transcript_summary: null - gitlab_issue_id: null - gitlab_issue_url: null - outlook_event_id: null - outlook_event_url: null - sharepoint_page_id: null - sharepoint_page_url: null - created_from_slack_identifier: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - left_slack_channel_slack_user_ids: [] - using_redesigned_slack_announcement: true - using_redesigned_slack_updates: true - motion_task_id: null - motion_task_url: null - sub_status_id: 244563a2-7576-4bec-8aba-9436195e9b00 - closed_at: null - closed_by_user_id: null - microsoft_teams_channel_id: null - microsoft_teams_channel_name: null - microsoft_teams_channel_url: null - microsoft_teams_channel_short_url: null - microsoft_teams_team_id: null - triggered_from_microsoft_teams_channel_id: null - microsoft_teams_summary_message_id: null - slack_last_message_ts: null - zoom_meeting_password: null - microsoft_teams_channel_service_url: null - microsoft_teams_team_internal_id: null - triggered_from_slack_message_ts: null - triggered_from_slack_thread_ts: null - sub_incidents_count: 0 - coda_doc_id: null - coda_doc_url: null - coda_page_id: null - raw_labels: null - tutorial_steps: null - data: {} - started_at: 2025-05-22T06:41:36.250-07:00 - ended_at: null - external_id: null - external_url: http://yost-gutkowski.test/ronnie - url: https://test.rootly.com/account/alerts/a4e2e382-667d-4ee7-988c-ec3834b8092e - notification_target_type: null - notification_target_id: null - alert_urgency_id: 6cbd92b8-fbef-43c3-bf45-4c491dd53ef7 - notified_users: [] - created_at: 2025-05-22T06:41:36.250-07:00 - updated_at: 2025-05-22T06:41:36.250-07:00 schema: $ref: '#/components/schemas/alert_response' - description: alert found + description: alert found with group_member_alerts included "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -2659,356 +2072,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a4e2e382-667d-4ee7-988c-ec3834b8092e - type: alerts - attributes: - short_id: oz4tfm - source: pagerduty - status: open - summary: test update - description: test update - labels: - - key: foo - value: bar - - key: bar - value: baz - services: - - id: a517a8dc-ab4b-4d43-ba11-f6f69b3cacfe - team_id: 17 - name: Odio nobis accusamus officiis. - slug: odio-nobis-accusamus-officiis - description: Enim sed laborum fugit. - deleted_at: null - created_at: 2025-05-22T06:41:38.642-07:00 - updated_at: 2025-05-22T06:41:38.642-07:00 - opsgenie_id: null - pagerduty_id: null - public_description: null - github_repository_branch: master - github_repository_name: null - color: '#D7F5E1' - heroku_app_name: null - gitlab_repository_name: null - gitlab_repository_branch: master - kubernetes_deployment_name: null - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - backstage_id: null - show_uptime: true - show_uptime_last_days: 60 - status: operational - external_id: null - notify_emails: [] - cortex_id: null - alerts_email_enabled: false - alerts_email_address: service-26cd1ed0f44c16cf90227f84661413ff@email.rootly.com - opsgenie_team_id: null - service_now_ci_sys_id: null - alert_urgency_id: null - opslevel_id: null - datadog_id: null - service_ids: - - a517a8dc-ab4b-4d43-ba11-f6f69b3cacfe - groups: - - id: 7741bde0-9a5c-4c52-85c6-fc1fbcc4aa2c - name: Maxime magnam rerum reprehenderit. - slug: maxime-magnam-rerum-reprehenderit - team_id: 17 - deleted_at: null - created_at: 2025-05-22T06:41:38.654-07:00 - updated_at: 2025-05-22T06:41:38.654-07:00 - description: null - opsgenie_id: null - users_count: 0 - incidents_count: 0 - pagerduty_id: null - color: '#FAEBB7' - victor_ops_id: null - position: 1 - slack_channels: [] - slack_aliases: [] - pagertree_id: null - external_id: null - notify_emails: [] - cortex_id: null - backstage_id: null - alerts_email_enabled: false - alerts_email_address: group-8eeca750c037f469501885ce3b3b4b0c@email.rootly.com - pagerduty_service_id: null - service_now_ci_sys_id: null - alert_urgency_id: null - opslevel_id: null - admins_count: 0 - group_ids: - - 7741bde0-9a5c-4c52-85c6-fc1fbcc4aa2c - environments: - - id: 836116f0-7d09-4123-9e51-da883f7ef157 - team_id: 17 - name: Et quo voluptatem culpa. - slug: et-quo-voluptatem-culpa - description: Nam ducimus aut fugiat. - color: '#fefe62' - deleted_at: null - created_at: 2025-05-22T06:41:38.670-07:00 - updated_at: 2025-05-22T06:41:38.670-07:00 - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - external_id: null - notify_emails: [] - environment_ids: - - 836116f0-7d09-4123-9e51-da883f7ef157 - responders: [] - incidents: - - id: c33e16dc-02c3-431b-84e8-b762a18fb958 - user_id: 27 - team_id: 17 - title: Dolorum tempore vel dolor. - slug: dolorum-tempore-vel-dolor - summary: Dolor occaecati voluptatem. Quo minima quod. In soluta - autem. - status: started - slack_channel_id: null - started_at: 2025-05-22T06:41:33.101-07:00 - mitigated_at: null - resolved_at: null - deleted_at: null - created_at: 2025-05-22T06:41:33.101-07:00 - updated_at: 2025-05-22T06:41:37.490-07:00 - severity_id: 3454a55e-faa3-44a4-b347-bc4927c0babb - public_title: null - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - shortcut_story_id: null - shortcut_story_url: null - asana_task_id: null - asana_task_url: null - jira_issue_id: null - jira_issue_url: null - email_message_id: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - slack_channel_name: null - service_now_incident_id: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_incident_responder_ids: [] - labels: {} - incidents_action_items_count: 0 - incidents_tasks_count: 0 - mitigation_message: null - resolution_message: null - pagerduty_incident_responder_ids: {} - victor_ops_incident_id: null - victor_ops_incident_url: null - victor_ops_incident_responder_ids: {} - pagerduty_incident_id: null - pagerduty_incident_url: null - status_pages_count: 0 - mattermost_channel_id: null - slack_summary_timestamp: null - mattermost_channel_name: null - mattermost_channel_url: null - slack_channel_url: null - mattermost_summary_timestamp: null - confluence_page_id: null - confluence_page_url: null - kind: normal - scheduled_for: null - scheduled_until: null - scheduled_remind_prior: false - scheduled_auto_in_progress: true - scheduled_auto_completed: true - detected_at: null - acknowledged_at: null - private: false - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_url: null - summary_updated_at: null - sequential_id: 1 - slack_channels: [] - airtable_base_key: null - airtable_table_name: null - shortcut_task_id: null - shortcut_task_url: null - title_autogenerated: false - view_source: null - source: web - microsoft_teams_meeting_url: null - microsoft_teams_meeting_id: null - dropbox_paper_id: null - dropbox_paper_url: null - subscribers_count: 0 - status_page_io: {} - webex_meeting_id: null - webex_meeting_url: null - github_issue_id: null - github_issue_url: null - cancelled_at: null - cancellation_message: null - notion_page_id: null - notion_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - notify_channels: {} - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - started_by_user_id: 27 - mitigated_by_user_id: null - resolved_by_user_id: null - cancelled_by_user_id: null - slack_aliases: [] - slack_channel_workspace_id: null - google_calendar_event_url: null - google_calendar_event_id: null - short_url: null - slack_channel_short_url: null - go_to_meeting_id: null - go_to_meeting_url: null - jira_issue_key: null - linear_issue_key: null - opsgenie_alert_id: null - opsgenie_alert_url: null - triggered_from_slack_channel_id: null - service_now_incident_key: null - quip_page_id: null - quip_page_url: null - pagertree_alert_id: null - pagertree_alert_url: null - duplicate_incident_id: null - parent_incident_id: null - ability_cache: null - previous_attributes: - updated_at: 2025-05-22T06:41:33.302-07:00 - incident_events: - - Started date has been set to May - 22 6:41 AM PDT - - Paris Kris created this incident - user_avatar_url: | - data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg - PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y - MDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg - MCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp - ZW50XzE3NDc5MjEyOTdfNzc0MzQ1IiBncmFkaWVudFRyYW5zZm9ybT0icm90 - YXRlKDE5MCkiPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdiNDM5 - NyIgb2Zmc2V0PSIwJSIgLz4KICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9 - IiM3YjQzOTciIG9mZnNldD0iMTAwJSIgLz4KICAgICAgICA8L2xpbmVhckdy - YWRpZW50PgogICAgICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw - MCUiIGZpbGw9InVybCgjZ3JhZGllbnRfMTc0NzkyMTI5N183NzQzNDUpIiAv - PgogICAgICAgIDx0ZXh0IGZpbGw9IiNGRkYiIGZvbnQtZmFtaWx5PSJPcGVu - IFNhbnMsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0i - MTAxIiBmb250LXdlaWdodD0iNTAwIiB4PSI1MCUiIHk9IjU1JSIgZG9taW5h - bnQtYmFzZWxpbmU9Im1pZGRsZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAg - ICAgICAgICBQSwogICAgICAgIDwvdGV4dD4KICAgICAgPC9zdmc+CiAgICA= - genius_workflow_runs_count: 0 - slack_channel_archived: false - google_drive_parent_id: null - in_triage_at: null - in_triage_by_user_id: null - external_id: null - slack_channel_deep_link: null - retrospective_progress_status: not_started - users_assigned_count: 0 - retrospective_completed_at: null - retrospective_started_at: null - pagerduty_incident_number: null - current_tutorial_step: not_started - clickup_task_id: null - clickup_task_url: null - slack_notify_ready_for_retrospective_timestamp: null - notify_emails: [] - status_page_io_components: [] - retrospective_auto_skipped: false - retrospective_mandatory: false - embedding: null - zoom_meeting_transcript: {} - google_meeting_transcript: {} - webex_meeting_transcript: {} - microsoft_teams_meeting_transcript: {} - zoom_meeting_bot_id: null - google_meeting_bot_id: null - webex_meeting_bot_id: null - microsoft_teams_meeting_bot_id: null - zoom_meeting_transcript_summary: null - google_meeting_transcript_summary: null - webex_meeting_transcript_summary: null - microsoft_teams_meeting_transcript_summary: null - gitlab_issue_id: null - gitlab_issue_url: null - outlook_event_id: null - outlook_event_url: null - sharepoint_page_id: null - sharepoint_page_url: null - created_from_slack_identifier: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - left_slack_channel_slack_user_ids: [] - using_redesigned_slack_announcement: true - using_redesigned_slack_updates: true - motion_task_id: null - motion_task_url: null - sub_status_id: 244563a2-7576-4bec-8aba-9436195e9b00 - closed_at: null - closed_by_user_id: null - microsoft_teams_channel_id: null - microsoft_teams_channel_name: null - microsoft_teams_channel_url: null - microsoft_teams_channel_short_url: null - microsoft_teams_team_id: null - triggered_from_microsoft_teams_channel_id: null - microsoft_teams_summary_message_id: null - slack_last_message_ts: null - zoom_meeting_password: null - microsoft_teams_channel_service_url: null - microsoft_teams_team_internal_id: null - triggered_from_slack_message_ts: null - triggered_from_slack_thread_ts: null - sub_incidents_count: 0 - coda_doc_id: null - coda_doc_url: null - coda_page_id: null - raw_labels: null - tutorial_steps: null - data: {} - started_at: 2025-05-22T06:41:36.250-07:00 - ended_at: null - external_id: null - external_url: http://yost-gutkowski.test/ronnie - url: https://test.rootly.com/account/alerts/a4e2e382-667d-4ee7-988c-ec3834b8092e - notification_target_type: null - notification_target_id: null - alert_urgency_id: 6cbd92b8-fbef-43c3-bf45-4c491dd53ef7 - notified_users: [] - created_at: 2025-05-22T06:41:36.250-07:00 - updated_at: 2025-05-22T06:41:44.125-07:00 schema: $ref: '#/components/schemas/alert_response' - description: alert updated + description: updates one field value and preserves others "422": content: application/vnd.api+json: - example: - errors: - - title: Summary can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request @@ -3036,315 +2105,21 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a4e2e382-667d-4ee7-988c-ec3834b8092e - type: alerts - attributes: - short_id: oz4tfm - source: pagerduty - status: acknowledged - summary: Sunt eaque est in. - description: Delectus sunt deserunt. Et qui totam. Blanditiis - sit aut. - labels: [] - services: [] - service_ids: [] - groups: [] - group_ids: [] - environments: [] - environment_ids: [] - responders: - - id: 25 - email: lanie@tremblay.example - deleted_at: null - created_at: 2025-05-22T06:41:31.513-07:00 - updated_at: 2025-05-22T06:41:44.498-07:00 - current_team_id: 17 - first_name: Wanita - last_name: Raynor - time_zone: UTC - last_seen_at: null - profile_photo_id: null - ability_cache: null - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: false - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: eb21f4b3-c3fe-4a08-ae34-2dcfc84dcc11 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - incidents: - - id: c33e16dc-02c3-431b-84e8-b762a18fb958 - user_id: 27 - team_id: 17 - title: Dolorum tempore vel dolor. - slug: dolorum-tempore-vel-dolor - summary: Dolor occaecati voluptatem. Quo minima quod. In soluta - autem. - status: started - slack_channel_id: null - started_at: 2025-05-22T06:41:33.101-07:00 - mitigated_at: null - resolved_at: null - deleted_at: null - created_at: 2025-05-22T06:41:33.101-07:00 - updated_at: 2025-05-22T06:41:37.490-07:00 - severity_id: 3454a55e-faa3-44a4-b347-bc4927c0babb - public_title: null - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - shortcut_story_id: null - shortcut_story_url: null - asana_task_id: null - asana_task_url: null - jira_issue_id: null - jira_issue_url: null - email_message_id: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - slack_channel_name: null - service_now_incident_id: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_incident_responder_ids: [] - labels: {} - incidents_action_items_count: 0 - incidents_tasks_count: 0 - mitigation_message: null - resolution_message: null - pagerduty_incident_responder_ids: {} - victor_ops_incident_id: null - victor_ops_incident_url: null - victor_ops_incident_responder_ids: {} - pagerduty_incident_id: null - pagerduty_incident_url: null - status_pages_count: 0 - mattermost_channel_id: null - slack_summary_timestamp: null - mattermost_channel_name: null - mattermost_channel_url: null - slack_channel_url: null - mattermost_summary_timestamp: null - confluence_page_id: null - confluence_page_url: null - kind: normal - scheduled_for: null - scheduled_until: null - scheduled_remind_prior: false - scheduled_auto_in_progress: true - scheduled_auto_completed: true - detected_at: null - acknowledged_at: null - private: false - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_url: null - summary_updated_at: null - sequential_id: 1 - slack_channels: [] - airtable_base_key: null - airtable_table_name: null - shortcut_task_id: null - shortcut_task_url: null - title_autogenerated: false - view_source: null - source: web - microsoft_teams_meeting_url: null - microsoft_teams_meeting_id: null - dropbox_paper_id: null - dropbox_paper_url: null - subscribers_count: 0 - status_page_io: {} - webex_meeting_id: null - webex_meeting_url: null - github_issue_id: null - github_issue_url: null - cancelled_at: null - cancellation_message: null - notion_page_id: null - notion_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - notify_channels: {} - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - started_by_user_id: 27 - mitigated_by_user_id: null - resolved_by_user_id: null - cancelled_by_user_id: null - slack_aliases: [] - slack_channel_workspace_id: null - google_calendar_event_url: null - google_calendar_event_id: null - short_url: null - slack_channel_short_url: null - go_to_meeting_id: null - go_to_meeting_url: null - jira_issue_key: null - linear_issue_key: null - opsgenie_alert_id: null - opsgenie_alert_url: null - triggered_from_slack_channel_id: null - service_now_incident_key: null - quip_page_id: null - quip_page_url: null - pagertree_alert_id: null - pagertree_alert_url: null - duplicate_incident_id: null - parent_incident_id: null - ability_cache: null - previous_attributes: - updated_at: 2025-05-22T06:41:33.302-07:00 - incident_events: - - Started date has been set to May - 22 6:41 AM PDT - - Paris Kris created this incident - user_avatar_url: | - data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg - PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y - MDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg - MCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp - ZW50XzE3NDc5MjEyOTdfNzc0MzQ1IiBncmFkaWVudFRyYW5zZm9ybT0icm90 - YXRlKDE5MCkiPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdiNDM5 - NyIgb2Zmc2V0PSIwJSIgLz4KICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9 - IiM3YjQzOTciIG9mZnNldD0iMTAwJSIgLz4KICAgICAgICA8L2xpbmVhckdy - YWRpZW50PgogICAgICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw - MCUiIGZpbGw9InVybCgjZ3JhZGllbnRfMTc0NzkyMTI5N183NzQzNDUpIiAv - PgogICAgICAgIDx0ZXh0IGZpbGw9IiNGRkYiIGZvbnQtZmFtaWx5PSJPcGVu - IFNhbnMsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0i - MTAxIiBmb250LXdlaWdodD0iNTAwIiB4PSI1MCUiIHk9IjU1JSIgZG9taW5h - bnQtYmFzZWxpbmU9Im1pZGRsZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAg - ICAgICAgICBQSwogICAgICAgIDwvdGV4dD4KICAgICAgPC9zdmc+CiAgICA= - genius_workflow_runs_count: 0 - slack_channel_archived: false - google_drive_parent_id: null - in_triage_at: null - in_triage_by_user_id: null - external_id: null - slack_channel_deep_link: null - retrospective_progress_status: not_started - users_assigned_count: 0 - retrospective_completed_at: null - retrospective_started_at: null - pagerduty_incident_number: null - current_tutorial_step: not_started - clickup_task_id: null - clickup_task_url: null - slack_notify_ready_for_retrospective_timestamp: null - notify_emails: [] - status_page_io_components: [] - retrospective_auto_skipped: false - retrospective_mandatory: false - embedding: null - zoom_meeting_transcript: {} - google_meeting_transcript: {} - webex_meeting_transcript: {} - microsoft_teams_meeting_transcript: {} - zoom_meeting_bot_id: null - google_meeting_bot_id: null - webex_meeting_bot_id: null - microsoft_teams_meeting_bot_id: null - zoom_meeting_transcript_summary: null - google_meeting_transcript_summary: null - webex_meeting_transcript_summary: null - microsoft_teams_meeting_transcript_summary: null - gitlab_issue_id: null - gitlab_issue_url: null - outlook_event_id: null - outlook_event_url: null - sharepoint_page_id: null - sharepoint_page_url: null - created_from_slack_identifier: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - left_slack_channel_slack_user_ids: [] - using_redesigned_slack_announcement: true - using_redesigned_slack_updates: true - motion_task_id: null - motion_task_url: null - sub_status_id: 244563a2-7576-4bec-8aba-9436195e9b00 - closed_at: null - closed_by_user_id: null - microsoft_teams_channel_id: null - microsoft_teams_channel_name: null - microsoft_teams_channel_url: null - microsoft_teams_channel_short_url: null - microsoft_teams_team_id: null - triggered_from_microsoft_teams_channel_id: null - microsoft_teams_summary_message_id: null - slack_last_message_ts: null - zoom_meeting_password: null - microsoft_teams_channel_service_url: null - microsoft_teams_team_internal_id: null - triggered_from_slack_message_ts: null - triggered_from_slack_thread_ts: null - sub_incidents_count: 0 - coda_doc_id: null - coda_doc_url: null - coda_page_id: null - raw_labels: null - tutorial_steps: null - data: {} - started_at: 2025-05-22T06:41:36.250-07:00 - ended_at: null - external_id: null - external_url: http://yost-gutkowski.test/ronnie - url: https://test.rootly.com/account/alerts/a4e2e382-667d-4ee7-988c-ec3834b8092e - notification_target_type: null - notification_target_id: null - alert_urgency_id: 6cbd92b8-fbef-43c3-bf45-4c491dd53ef7 - notified_users: [] - created_at: 2025-05-22T06:41:36.250-07:00 - updated_at: 2025-05-22T06:41:44.535-07:00 schema: $ref: '#/components/schemas/alert_response' description: alert acknowledged "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found + "400": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cannot acknowledge open alert security: - bearer_auth: [] summary: Acknowledges an alert @@ -3373,312 +2148,12 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a4e2e382-667d-4ee7-988c-ec3834b8092e - type: alerts - attributes: - short_id: oz4tfm - source: pagerduty - status: resolved - summary: Sunt eaque est in. - description: Delectus sunt deserunt. Et qui totam. Blanditiis - sit aut. - labels: [] - services: [] - service_ids: [] - groups: [] - group_ids: [] - environments: [] - environment_ids: [] - responders: - - id: 25 - email: lanie@tremblay.example - deleted_at: null - created_at: 2025-05-22T06:41:31.513-07:00 - updated_at: 2025-05-22T06:41:45.090-07:00 - current_team_id: 17 - first_name: Wanita - last_name: Raynor - time_zone: UTC - last_seen_at: null - profile_photo_id: null - ability_cache: null - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: false - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: eb21f4b3-c3fe-4a08-ae34-2dcfc84dcc11 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - incidents: - - id: c33e16dc-02c3-431b-84e8-b762a18fb958 - user_id: 27 - team_id: 17 - title: Dolorum tempore vel dolor. - slug: dolorum-tempore-vel-dolor - summary: Dolor occaecati voluptatem. Quo minima quod. In soluta - autem. - status: started - slack_channel_id: null - started_at: 2025-05-22T06:41:33.101-07:00 - mitigated_at: null - resolved_at: null - deleted_at: null - created_at: 2025-05-22T06:41:33.101-07:00 - updated_at: 2025-05-22T06:41:37.490-07:00 - severity_id: 3454a55e-faa3-44a4-b347-bc4927c0babb - public_title: null - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - shortcut_story_id: null - shortcut_story_url: null - asana_task_id: null - asana_task_url: null - jira_issue_id: null - jira_issue_url: null - email_message_id: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - slack_channel_name: null - service_now_incident_id: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_incident_responder_ids: [] - labels: {} - incidents_action_items_count: 0 - incidents_tasks_count: 0 - mitigation_message: null - resolution_message: null - pagerduty_incident_responder_ids: {} - victor_ops_incident_id: null - victor_ops_incident_url: null - victor_ops_incident_responder_ids: {} - pagerduty_incident_id: null - pagerduty_incident_url: null - status_pages_count: 0 - mattermost_channel_id: null - slack_summary_timestamp: null - mattermost_channel_name: null - mattermost_channel_url: null - slack_channel_url: null - mattermost_summary_timestamp: null - confluence_page_id: null - confluence_page_url: null - kind: normal - scheduled_for: null - scheduled_until: null - scheduled_remind_prior: false - scheduled_auto_in_progress: true - scheduled_auto_completed: true - detected_at: null - acknowledged_at: null - private: false - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_url: null - summary_updated_at: null - sequential_id: 1 - slack_channels: [] - airtable_base_key: null - airtable_table_name: null - shortcut_task_id: null - shortcut_task_url: null - title_autogenerated: false - view_source: null - source: web - microsoft_teams_meeting_url: null - microsoft_teams_meeting_id: null - dropbox_paper_id: null - dropbox_paper_url: null - subscribers_count: 0 - status_page_io: {} - webex_meeting_id: null - webex_meeting_url: null - github_issue_id: null - github_issue_url: null - cancelled_at: null - cancellation_message: null - notion_page_id: null - notion_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - notify_channels: {} - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - started_by_user_id: 27 - mitigated_by_user_id: null - resolved_by_user_id: null - cancelled_by_user_id: null - slack_aliases: [] - slack_channel_workspace_id: null - google_calendar_event_url: null - google_calendar_event_id: null - short_url: null - slack_channel_short_url: null - go_to_meeting_id: null - go_to_meeting_url: null - jira_issue_key: null - linear_issue_key: null - opsgenie_alert_id: null - opsgenie_alert_url: null - triggered_from_slack_channel_id: null - service_now_incident_key: null - quip_page_id: null - quip_page_url: null - pagertree_alert_id: null - pagertree_alert_url: null - duplicate_incident_id: null - parent_incident_id: null - ability_cache: null - previous_attributes: - updated_at: 2025-05-22T06:41:33.302-07:00 - incident_events: - - Started date has been set to May - 22 6:41 AM PDT - - Paris Kris created this incident - user_avatar_url: | - data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAg - PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y - MDAwL3N2ZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHZpZXdCb3g9IjAg - MCAyMDAgMjAwIj4KICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRp - ZW50XzE3NDc5MjEyOTdfNzc0MzQ1IiBncmFkaWVudFRyYW5zZm9ybT0icm90 - YXRlKDE5MCkiPgogICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzdiNDM5 - NyIgb2Zmc2V0PSIwJSIgLz4KICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9 - IiM3YjQzOTciIG9mZnNldD0iMTAwJSIgLz4KICAgICAgICA8L2xpbmVhckdy - YWRpZW50PgogICAgICAgIDxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw - MCUiIGZpbGw9InVybCgjZ3JhZGllbnRfMTc0NzkyMTI5N183NzQzNDUpIiAv - PgogICAgICAgIDx0ZXh0IGZpbGw9IiNGRkYiIGZvbnQtZmFtaWx5PSJPcGVu - IFNhbnMsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0i - MTAxIiBmb250LXdlaWdodD0iNTAwIiB4PSI1MCUiIHk9IjU1JSIgZG9taW5h - bnQtYmFzZWxpbmU9Im1pZGRsZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+CiAg - ICAgICAgICBQSwogICAgICAgIDwvdGV4dD4KICAgICAgPC9zdmc+CiAgICA= - genius_workflow_runs_count: 0 - slack_channel_archived: false - google_drive_parent_id: null - in_triage_at: null - in_triage_by_user_id: null - external_id: null - slack_channel_deep_link: null - retrospective_progress_status: not_started - users_assigned_count: 0 - retrospective_completed_at: null - retrospective_started_at: null - pagerduty_incident_number: null - current_tutorial_step: not_started - clickup_task_id: null - clickup_task_url: null - slack_notify_ready_for_retrospective_timestamp: null - notify_emails: [] - status_page_io_components: [] - retrospective_auto_skipped: false - retrospective_mandatory: false - embedding: null - zoom_meeting_transcript: {} - google_meeting_transcript: {} - webex_meeting_transcript: {} - microsoft_teams_meeting_transcript: {} - zoom_meeting_bot_id: null - google_meeting_bot_id: null - webex_meeting_bot_id: null - microsoft_teams_meeting_bot_id: null - zoom_meeting_transcript_summary: null - google_meeting_transcript_summary: null - webex_meeting_transcript_summary: null - microsoft_teams_meeting_transcript_summary: null - gitlab_issue_id: null - gitlab_issue_url: null - outlook_event_id: null - outlook_event_url: null - sharepoint_page_id: null - sharepoint_page_url: null - created_from_slack_identifier: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - left_slack_channel_slack_user_ids: [] - using_redesigned_slack_announcement: true - using_redesigned_slack_updates: true - motion_task_id: null - motion_task_url: null - sub_status_id: 244563a2-7576-4bec-8aba-9436195e9b00 - closed_at: null - closed_by_user_id: null - microsoft_teams_channel_id: null - microsoft_teams_channel_name: null - microsoft_teams_channel_url: null - microsoft_teams_channel_short_url: null - microsoft_teams_team_id: null - triggered_from_microsoft_teams_channel_id: null - microsoft_teams_summary_message_id: null - slack_last_message_ts: null - zoom_meeting_password: null - microsoft_teams_channel_service_url: null - microsoft_teams_team_internal_id: null - triggered_from_slack_message_ts: null - triggered_from_slack_thread_ts: null - sub_incidents_count: 0 - coda_doc_id: null - coda_doc_url: null - coda_page_id: null - raw_labels: null - tutorial_steps: null - data: {} - started_at: 2025-05-22T06:41:36.250-07:00 - ended_at: 2025-05-22T06:41:45.126-07:00 - external_id: null - external_url: http://yost-gutkowski.test/ronnie - url: https://test.rootly.com/account/alerts/a4e2e382-667d-4ee7-988c-ec3834b8092e - notification_target_type: null - notification_target_id: null - alert_urgency_id: 6cbd92b8-fbef-43c3-bf45-4c491dd53ef7 - notified_users: [] - created_at: 2025-05-22T06:41:36.250-07:00 - updated_at: 2025-05-22T06:41:45.126-07:00 schema: $ref: '#/components/schemas/alert_response' - description: resolve acknowledged + description: resolves open alert "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found @@ -3690,12 +2165,126 @@ paths: x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/audits: + /v1/alerts/{id}/snooze: + post: + description: "Snoozes a specific alert by id, extending the acknowledgment timeout" + operationId: snoozeAlert + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/snooze_alert' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_response' + description: alert snoozed + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + "400": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid delay_minutes + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: snooze service failure + security: + - bearer_auth: [] + summary: Snoozes an alert + tags: + - Alerts + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/alerts/{id}/escalate: + post: + description: Escalates a specific alert to the next or specified level in its + escalation policy + operationId: escalateAlert + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/escalate_alert' + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/alert_response' + description: escalates to different EP defaults to level 1 + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: escalation_policy_level exceeds max + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cannot escalate grouped member alert + "400": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: malformed escalation_policy_id + security: + - bearer_auth: [] + summary: Escalates an alert + tags: + - Alerts + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/api_keys: get: - description: List audits - operationId: listAudits + description: | + List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. + + **API key kinds:** + - `personal` — tied to a specific user, inherits that user's permissions. + - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. + - `organization` — organization-wide, creates a service account with a configurable role and on-call role. + + **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. + + **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + operationId: listApiKeys parameters: - - explode: true + - description: "Comma-separated list of relationships to include (role, on_call_role,\ + \ created_by, groups)" + explode: true in: query name: include required: false @@ -3716,166 +2305,170 @@ paths: schema: type: integer style: form - - explode: true + - description: "Filter by API key kind: personal, team, organization" + explode: true in: query - name: "filter[created_at][gt]" + name: "filter[kind]" required: false schema: type: string style: form - - explode: true + - description: Search by name (case-insensitive partial match) + explode: true in: query - name: "filter[created_at][gte]" + name: "filter[search]" required: false schema: type: string style: form - - explode: true + - description: Filter by exact name + explode: true in: query - name: "filter[created_at][lt]" + name: "filter[name]" required: false schema: type: string style: form - - explode: true + - description: Filter by the user ID that owns the key + explode: true in: query - name: "filter[created_at][lte]" + name: "filter[user_id]" required: false schema: type: string style: form - - explode: true + - description: Filter team keys by group IDs (comma-separated) + explode: true in: query - name: "filter[user_id]" + name: "filter[group_ids]" required: false schema: type: string style: form - - explode: true + - description: Filter by role ID + explode: true in: query - name: "filter[api_key_id]" + name: "filter[role_id]" required: false schema: type: string style: form - - explode: true + - description: "When true, return only non-expired keys" + explode: true in: query - name: "filter[source]" + name: "filter[active]" required: false schema: - type: string + type: boolean style: form - - explode: true + - description: "When true, return only expired keys" + explode: true in: query - name: "filter[item_type]" + name: "filter[expired]" required: false schema: - type: string + type: boolean style: form - - explode: true + - description: Created after (ISO 8601) + explode: true in: query - name: sort + name: "filter[created_at][gt]" required: false schema: type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/audits_list' - description: success - security: - - bearer_auth: [] - summary: List audits - tags: - - Audits - x-accepts: - - application/vnd.api+json - /v1/authorizations: - get: - description: List authorizations - operationId: listAuthorizations - parameters: - - explode: true + - description: Created at or after (ISO 8601) + explode: true in: query - name: include + name: "filter[created_at][gte]" required: false schema: type: string style: form - - explode: true + - description: Created before (ISO 8601) + explode: true in: query - name: "page[number]" + name: "filter[created_at][lt]" required: false schema: - type: integer + type: string style: form - - explode: true + - description: Created at or before (ISO 8601) + explode: true in: query - name: "page[size]" + name: "filter[created_at][lte]" required: false schema: - type: integer + type: string style: form - - explode: true + - description: Expires after (ISO 8601) + explode: true in: query - name: "filter[authorizable_id]" + name: "filter[expires_at][gt]" required: false schema: type: string style: form - - explode: true + - description: Expires at or after (ISO 8601) + explode: true in: query - name: "filter[authorizable_type]" + name: "filter[expires_at][gte]" required: false schema: type: string style: form - - explode: true + - description: Expires before (ISO 8601). Useful for finding keys approaching + expiration. + explode: true in: query - name: "filter[grantee_id]" + name: "filter[expires_at][lt]" required: false schema: type: string style: form - - explode: true + - description: Expires at or before (ISO 8601) + explode: true in: query - name: "filter[grantee_type]" + name: "filter[expires_at][lte]" required: false schema: type: string style: form - - explode: true + - description: Last used after (ISO 8601) + explode: true in: query - name: "filter[created_at][gt]" + name: "filter[last_used_at][gt]" required: false schema: type: string style: form - - explode: true + - description: Last used at or after (ISO 8601) + explode: true in: query - name: "filter[created_at][gte]" + name: "filter[last_used_at][gte]" required: false schema: type: string style: form - - explode: true + - description: Last used before (ISO 8601) + explode: true in: query - name: "filter[created_at][lt]" + name: "filter[last_used_at][lt]" required: false schema: type: string style: form - - explode: true + - description: Last used at or before (ISO 8601) + explode: true in: query - name: "filter[created_at][lte]" + name: "filter[last_used_at][lte]" required: false schema: type: string style: form - - explode: true + - description: "Sort by field. Prefix with - for descending (e.g., -created_at,\ + \ expires_at)" + explode: true in: query name: sort required: false @@ -3887,644 +2480,396 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/authorization_list' + $ref: '#/components/schemas/api_key_list' description: success + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: List authorizations + summary: List API keys tags: - - Authorizations + - API Keys x-accepts: - application/vnd.api+json post: - description: Creates a new authorization from provided data - operationId: createAuthorization + description: | + Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. + + **Kinds and required fields:** + - `personal` — created for the authenticated user. No additional fields required. + - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. + - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. + + **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + operationId: createApiKey parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_authorization' + $ref: '#/components/schemas/new_api_key' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: baf155d9-7ea5-4b3b-99e5-926240df0c8f - type: authorizations - attributes: - authorizable_id: d17a62e1-586c-487c-bf32-d12b17dd9f14 - authorizable_type: Dashboard - grantee_id: "33" - grantee_type: User - permissions: - - read - updated_at: 2025-05-22T06:41:49.618-07:00 - created_at: 2025-05-22T06:41:49.618-07:00 schema: - $ref: '#/components/schemas/authorization_response' - description: authorization created + $ref: '#/components/schemas/api_key_with_token_response' + description: API key created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an authorization + summary: Creates an API key tags: - - Authorizations + - API Keys x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/authorizations/{id}: + /v1/api_keys/{id}: delete: - description: Delete a specific authorization by id - operationId: deleteAuthorization + description: | + Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. + + For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + operationId: deleteApiKey parameters: - explode: false in: path name: id required: true schema: + description: Resource UUID + format: uuid type: string style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: ceba477f-e4e8-4422-a060-87701367dbba - type: authorizations - attributes: - authorizable_id: fb48c38b-c300-4bc5-b185-9ddb1a8cc936 - authorizable_type: Dashboard - grantee_id: "45" - grantee_type: Team - permissions: - - read - - update - - authorize - - destroy - updated_at: 2025-05-22T06:41:57.240-07:00 - created_at: 2025-05-22T06:41:57.240-07:00 schema: - $ref: '#/components/schemas/authorization_response' - description: authorization deleted + $ref: '#/components/schemas/api_key_response' + description: API key revoked "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: API key not found security: - bearer_auth: [] - summary: Delete an authorization + summary: Revoke an API key tags: - - Authorizations + - API Keys x-accepts: - application/vnd.api+json get: - description: Retrieves a specific authorization by id - operationId: getAuthorization + description: "Retrieves a specific API key by its UUID. Returns key metadata\ + \ including name, kind, expiration, last usage timestamp, and the grace period\ + \ status — the secret token is never included." + operationId: getApiKey parameters: - explode: false in: path name: id required: true schema: + description: Resource UUID + format: uuid type: string style: simple + - description: "Comma-separated list of relationships to include (role, on_call_role,\ + \ created_by, groups)" + explode: true + in: query + name: include + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 82bcf613-8d0d-4871-b1ea-13ce9a99ad9f - type: authorizations - attributes: - authorizable_id: c5e20670-acf4-487d-b31b-244527327d8b - authorizable_type: Dashboard - grantee_id: "37" - grantee_type: User - permissions: - - read - - update - - authorize - - destroy - updated_at: 2025-05-22T06:41:51.528-07:00 - created_at: 2025-05-22T06:41:51.528-07:00 schema: - $ref: '#/components/schemas/authorization_response' - description: authorization found + $ref: '#/components/schemas/api_key_response' + description: API key found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: API key not found security: - bearer_auth: [] - summary: Retrieves an authorization + summary: Retrieves an API key tags: - - Authorizations + - API Keys x-accepts: - application/vnd.api+json put: - description: Update a specific authorization by id - operationId: updateAuthorization + description: | + Update an API key's mutable attributes: `name`, `description`, and `expires_at`. + + The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. + + The new `expires_at` must be in the future and within 5 years. + operationId: updateApiKey parameters: - explode: false in: path name: id required: true schema: + description: Resource UUID + format: uuid type: string style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_authorization' + $ref: '#/components/schemas/update_api_key' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: d71953c1-822e-4652-987a-9af0b5784d32 - type: authorizations - attributes: - authorizable_id: 0299c0f8-5972-4b7a-8a16-f9817308a64b - authorizable_type: Dashboard - grantee_id: "41" - grantee_type: Team - permissions: - - read - - update - updated_at: 2025-05-22T06:41:54.282-07:00 - created_at: 2025-05-22T06:41:54.110-07:00 schema: - $ref: '#/components/schemas/authorization_response' - description: authorization updated + $ref: '#/components/schemas/api_key_response' + description: API key updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: API key not found security: - bearer_auth: [] - summary: Update an authorization + summary: Update an API key tags: - - Authorizations + - API Keys x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalogs/{catalog_id}/entities: - get: - description: List Catalog Entities - operationId: listCatalogEntities + /v1/api_keys/{id}/rotate: + post: + description: | + Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. + + **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. + + **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. + + **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. + + **Typical rotation workflow:** + 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). + 2. Deploy the new token to your systems. + 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). + 4. After the grace period, the old token is automatically invalidated. + operationId: rotateApiKey parameters: - explode: false in: path - name: catalog_id + name: id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: catalog,properties" - explode: true + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/rotate_api_key' + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/api_key_with_token_response' + description: API key rotated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: API key not found + security: + - bearer_auth: [] + summary: Rotate an API key + tags: + - API Keys + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/audits: + get: + description: List audits + operationId: listAudits + parameters: + - explode: true in: query name: include required: false schema: - enum: - - catalog - - properties type: string style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true + - explode: true in: query - name: sort + name: "page[number]" required: false schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - - position - - -position - type: string + type: integer style: form - explode: true in: query - name: "page[number]" + name: "page[size]" required: false schema: type: integer style: form - explode: true in: query - name: "page[size]" + name: "filter[created_at][gt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[slug]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[user_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[api_key_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[source]" required: false schema: type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/catalog_entity_list' - description: success - security: - - bearer_auth: [] - summary: List Catalog Entities - tags: - - CatalogEntities - x-accepts: - - application/vnd.api+json - post: - description: Creates a new Catalog Entity from provided data - operationId: createCatalogEntity - parameters: - - explode: false - in: path - name: catalog_id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_catalog_entity' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 5c74ca73-0ed0-4342-8d85-4110eb074b41 - type: catalog_entities - attributes: - catalog_id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - name: Test Item - slug: test-item - position: 2 - deleted_at: null - updated_at: 2025-05-22T06:42:00.529-07:00 - created_at: 2025-05-22T06:42:00.529-07:00 - relationships: - catalog: - data: - id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - type: catalogs - properties: - data: [] - schema: - $ref: '#/components/schemas/catalog_entity_response' - description: catalog_entity created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Name is too short (minimum is 1 character) - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Creates a Catalog Entity - tags: - - CatalogEntities - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/catalog_entities/{id}: - delete: - description: Delete a specific Catalog Entity by id - operationId: deleteCatalogEntity - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: c41d8b1a-4681-4748-9e97-2cd0a76834fb - type: catalog_entities - attributes: - catalog_id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - name: Test - slug: test - position: 1 - deleted_at: 2025-05-22T06:42:02.380-07:00 - updated_at: 2025-05-22T06:42:02.380-07:00 - created_at: 2025-05-22T06:42:00.362-07:00 - relationships: - catalog: - data: - id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - type: catalogs - properties: - data: [] - schema: - $ref: '#/components/schemas/catalog_entity_response' - description: catalog_entity deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete a Catalog Entity - tags: - - CatalogEntities - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific Catalog Entity by id - operationId: getCatalogEntity - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - - description: "comma separated if needed. eg: catalog,properties" - explode: true + - explode: true in: query - name: include + name: "filter[item_type]" required: false schema: - enum: - - catalog - - properties type: string style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: c41d8b1a-4681-4748-9e97-2cd0a76834fb - type: catalog_entities - attributes: - catalog_id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - name: Test - slug: test - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:00.362-07:00 - created_at: 2025-05-22T06:42:00.362-07:00 - relationships: - catalog: - data: - id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - type: catalogs - properties: - data: [] - schema: - $ref: '#/components/schemas/catalog_entity_response' - description: catalog_entity found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a Catalog Entity - tags: - - CatalogEntities - x-accepts: - - application/vnd.api+json - put: - description: Update a specific Catalog Entity by id - operationId: updateCatalogEntity - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: sort + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_catalog_entity' - required: true + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: c41d8b1a-4681-4748-9e97-2cd0a76834fb - type: catalog_entities - attributes: - catalog_id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - name: Updated name - slug: test - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:01.818-07:00 - created_at: 2025-05-22T06:42:00.362-07:00 - relationships: - catalog: - data: - id: eca6d056-d6ad-4ae8-823c-8a66e19208ca - type: catalogs - properties: - data: [] - schema: - $ref: '#/components/schemas/catalog_entity_response' - description: catalog_entity updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/audits_list' + description: success security: - bearer_auth: [] - summary: Update a Catalog Entity + summary: List audits tags: - - CatalogEntities - x-content-type: application/vnd.api+json + - Audits x-accepts: - application/vnd.api+json - /v1/catalog_entities/{catalog_entity_id}/properties: + /v1/authorizations: get: - description: List Catalog Entity Properties - operationId: listCatalogEntityProperties + description: List authorizations + operationId: listAuthorizations parameters: - - explode: false - in: path - name: catalog_entity_id - required: true - schema: - type: string - style: simple - - description: "comma separated if needed. eg: catalog_entity,catalog_field" - explode: true + - explode: true in: query name: include required: false schema: - enum: - - catalog_entity - - catalog_field type: string style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true + - explode: true in: query - name: sort + name: "page[number]" required: false schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - type: string + type: integer style: form - explode: true in: query - name: "page[number]" + name: "page[size]" required: false schema: type: integer style: form - explode: true in: query - name: "page[size]" + name: "filter[authorizable_id]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[catalog_field_id]" + name: "filter[authorizable_type]" required: false schema: type: string style: form - explode: true in: query - name: "filter[key]" + name: "filter[grantee_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[grantee_type]" required: false schema: type: string @@ -4557,99 +2902,62 @@ paths: 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/catalog_entity_property_list' + $ref: '#/components/schemas/authorization_list' description: success security: - bearer_auth: [] - summary: List catalog properties + summary: List authorizations tags: - - CatalogEntityProperties + - Authorizations x-accepts: - application/vnd.api+json post: - description: Creates a new Catalog Entity Property from provided data - operationId: createCatalogEntityProperty - parameters: - - explode: false - in: path - name: catalog_entity_id - required: true - schema: - type: string - style: simple + description: Creates a new authorization from provided data + operationId: createAuthorization + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_catalog_entity_property' + $ref: '#/components/schemas/new_authorization' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 6d0b73e0-5423-4b5e-93e7-16f1b60a3864 - type: catalog_entity_properties - attributes: - catalog_entity_id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - catalog_field_id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - key: text - value: Test EntityProperty - deleted_at: null - updated_at: 2025-05-22T06:42:03.986-07:00 - created_at: 2025-05-22T06:42:03.986-07:00 - relationships: - catalog_entity: - data: - id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - type: catalog_entities - catalog_field: - data: - id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - type: catalog_fields - schema: - $ref: '#/components/schemas/catalog_entity_property_response' - description: catalog_entity_property created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Value can't be blank - status: "422" - - title: Value is too short (minimum is 1 character) - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/authorization_response' + description: authorization created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Catalog Entity Property + summary: Creates an authorization tags: - - CatalogEntityProperties + - Authorizations x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalog_entity_properties/{id}: + /v1/authorizations/{id}: delete: - description: Delete a specific Catalog Entity Property by id - operationId: deleteCatalogEntityProperty + description: Delete a specific authorization by id + operationId: deleteAuthorization parameters: - explode: false in: path @@ -4662,50 +2970,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1f5c4eab-5fbd-437f-8a3c-9070d146577a - type: catalog_entity_properties - attributes: - catalog_entity_id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - catalog_field_id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - key: text - value: Test - deleted_at: 2025-05-22T06:42:05.792-07:00 - updated_at: 2025-05-22T06:42:05.792-07:00 - created_at: 2025-05-22T06:42:03.830-07:00 - relationships: - catalog_entity: - data: - id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - type: catalog_entities - catalog_field: - data: - id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - type: catalog_fields schema: - $ref: '#/components/schemas/catalog_entity_property_response' - description: catalog_entity_property deleted + $ref: '#/components/schemas/authorization_response' + description: authorization deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Catalog Entity Property + summary: Delete an authorization tags: - - CatalogEntityProperties + - Authorizations x-accepts: - application/vnd.api+json get: - description: Retrieves a specific Catalog Entity Property by id - operationId: getCatalogEntityProperty + description: Retrieves a specific authorization by id + operationId: getAuthorization parameters: - explode: false in: path @@ -4714,65 +2997,29 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: catalog_entity,catalog_field" - explode: true - in: query - name: include - required: false - schema: - enum: - - catalog_entity - - catalog_field - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 1f5c4eab-5fbd-437f-8a3c-9070d146577a - type: catalog_entity_properties - attributes: - catalog_entity_id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - catalog_field_id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - key: text - value: Test - deleted_at: null - updated_at: 2025-05-22T06:42:03.830-07:00 - created_at: 2025-05-22T06:42:03.830-07:00 - relationships: - catalog_entity: - data: - id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - type: catalog_entities - catalog_field: - data: - id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - type: catalog_fields schema: - $ref: '#/components/schemas/catalog_entity_property_response' - description: catalog_entity_property found + $ref: '#/components/schemas/authorization_response' + description: authorization found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a Catalog Entity Property + summary: Retrieves an authorization tags: - - CatalogEntityProperties + - Authorizations x-accepts: - application/vnd.api+json put: - description: Update a specific Catalog Entity Property by id - operationId: updateCatalogEntityProperty + description: Update a specific authorization by id + operationId: updateAuthorization parameters: - explode: false in: path @@ -4785,74 +3032,43 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_catalog_entity_property' + $ref: '#/components/schemas/update_authorization' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 1f5c4eab-5fbd-437f-8a3c-9070d146577a - type: catalog_entity_properties - attributes: - catalog_entity_id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - catalog_field_id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - key: text - value: Updated value - deleted_at: null - updated_at: 2025-05-22T06:42:05.233-07:00 - created_at: 2025-05-22T06:42:03.830-07:00 - relationships: - catalog_entity: - data: - id: 353e3c03-abf8-4c38-be60-cf6341f5db48 - type: catalog_entities - catalog_field: - data: - id: 4d51e129-9f01-4f7c-bb07-b17f9d5e3918 - type: catalog_fields schema: - $ref: '#/components/schemas/catalog_entity_property_response' - description: catalog_entity_property updated + $ref: '#/components/schemas/authorization_response' + description: authorization updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a Catalog Entity Property + summary: Update an authorization tags: - - CatalogEntityProperties + - Authorizations x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalogs/{catalog_id}/fields: + /v1/catalog_checklist_templates: get: - description: List Catalog Fields - operationId: listCatalogFields + description: List catalog checklist templates + operationId: listCatalogChecklistTemplates parameters: - - explode: false - in: path - name: catalog_id - required: true - schema: - type: string - style: simple - - description: "comma separated if needed. eg: catalog" + - description: "comma separated if needed. eg: template_fields,template_owners" explode: true in: query name: include required: false schema: enum: - - catalog + - template_fields + - template_owners type: string style: form - description: "comma separated if needed. eg: created_at,updated_at" @@ -4866,8 +3082,8 @@ paths: - -created_at - updated_at - -updated_at - - position - - -position + - name + - -name type: string style: form - explode: true @@ -4884,6 +3100,13 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[name]" + required: false + schema: + type: string + style: form - explode: true in: query name: "filter[slug]" @@ -4893,14 +3116,14 @@ paths: style: form - explode: true in: query - name: "filter[name]" + name: "filter[catalog_type]" required: false schema: type: string style: form - explode: true in: query - name: "filter[kind]" + name: "filter[scope_type]" required: false schema: type: string @@ -4938,286 +3161,203 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/catalog_field_list' - description: success + $ref: '#/components/schemas/catalog_checklist_template_list' + description: returns empty list for another team security: - bearer_auth: [] - summary: List Catalog Fields + summary: List catalog checklist templates tags: - - CatalogFields + - Catalog Checklist Templates x-accepts: - application/vnd.api+json post: - description: Creates a new Catalog Field from provided data - operationId: createCatalogField - parameters: - - explode: false - in: path - name: catalog_id - required: true - schema: - type: string - style: simple + description: Creates a new catalog checklist template + operationId: createCatalogChecklistTemplate + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_catalog_field' + $ref: '#/components/schemas/new_catalog_checklist_template' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: d9a30bf3-5bcd-4b59-8e99-b81268ea163b - type: catalog_fields - attributes: - catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - name: Test Attribute - slug: test-attribute - kind: reference - kind_catalog_id: null - multiple: false - position: 2 - deleted_at: null - updated_at: 2025-05-22T06:42:07.360-07:00 - created_at: 2025-05-22T06:42:07.360-07:00 - relationships: - catalog: - data: - id: 99b91f09-be26-4cf7-b645-6262454482dd - type: catalogs - schema: - $ref: '#/components/schemas/catalog_field_response' - description: catalog_field created + schema: + $ref: '#/components/schemas/catalog_checklist_template_response' + description: ignores user-provided field_key for custom fields "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Name is too short (minimum is 1 character) - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: returns 422 when scope_type is missing for Catalog scope_id "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Catalog Field + summary: Creates a catalog checklist template tags: - - CatalogFields + - Catalog Checklist Templates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalog_fields/{id}: + /v1/catalog_checklist_templates/{id}/trigger: + post: + description: Triggers an audit for all applicable entities of the checklist + template + operationId: triggerCatalogChecklistTemplate + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "202": + description: audit triggered + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found for another team + security: + - bearer_auth: [] + summary: Trigger an audit for a catalog checklist template + tags: + - Catalog Checklist Templates + x-accepts: + - application/vnd.api+json + /v1/catalog_checklist_templates/{id}: delete: - description: Delete a specific catalog_field by id - operationId: deleteCatalogField + description: Delete a specific catalog checklist template by id + operationId: deleteCatalogChecklistTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 57905664-f8b0-40e6-a703-b4a2c2830525 - type: catalog_fields - attributes: - catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - name: Test - slug: test - kind: reference - kind_catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - multiple: false - position: 1 - deleted_at: 2025-05-22T06:42:09.243-07:00 - updated_at: 2025-05-22T06:42:09.243-07:00 - created_at: 2025-05-22T06:42:07.193-07:00 - relationships: - catalog: - data: - id: 99b91f09-be26-4cf7-b645-6262454482dd - type: catalogs schema: - $ref: '#/components/schemas/catalog_field_response' - description: catalog_field deleted + $ref: '#/components/schemas/catalog_checklist_template_response' + description: catalog checklist template deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: catalog checklist template not found security: - bearer_auth: [] - summary: Delete a catalog_field + summary: Delete a catalog checklist template tags: - - CatalogFields + - Catalog Checklist Templates x-accepts: - application/vnd.api+json get: - description: Retrieves a specific Catalog Field by id - operationId: getCatalogField + description: Retrieves a specific catalog checklist template by id + operationId: getCatalogChecklistTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - - description: "comma separated if needed. eg: catalog" - explode: true - in: query - name: include - required: false - schema: - enum: - - catalog - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 57905664-f8b0-40e6-a703-b4a2c2830525 - type: catalog_fields - attributes: - catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - name: Test - slug: test - kind: reference - kind_catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - multiple: false - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:07.193-07:00 - created_at: 2025-05-22T06:42:07.193-07:00 - relationships: - catalog: - data: - id: 99b91f09-be26-4cf7-b645-6262454482dd - type: catalogs schema: - $ref: '#/components/schemas/catalog_field_response' - description: catalog_field found + $ref: '#/components/schemas/catalog_checklist_template_response' + description: catalog checklist template found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: resource not found for another team security: - bearer_auth: [] - summary: Retrieves a Catalog Field + summary: Retrieves a catalog checklist template tags: - - CatalogFields + - Catalog Checklist Templates x-accepts: - application/vnd.api+json put: - description: Update a specific catalog_field by id - operationId: updateCatalogField + description: Update a specific catalog checklist template by id + operationId: updateCatalogChecklistTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_catalog_field' + $ref: '#/components/schemas/update_catalog_checklist_template' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 57905664-f8b0-40e6-a703-b4a2c2830525 - type: catalog_fields - attributes: - catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - name: Updated name - slug: test - kind: reference - kind_catalog_id: 99b91f09-be26-4cf7-b645-6262454482dd - multiple: false - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:08.672-07:00 - created_at: 2025-05-22T06:42:07.193-07:00 - relationships: - catalog: - data: - id: 99b91f09-be26-4cf7-b645-6262454482dd - type: catalogs schema: - $ref: '#/components/schemas/catalog_field_response' - description: catalog_field updated - "404": + $ref: '#/components/schemas/catalog_checklist_template_response' + description: ignores user-provided field_key for custom fields on update + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: rejects duplicate custom fields on update security: - bearer_auth: [] - summary: Update a catalog_field + summary: Update a catalog checklist template tags: - - CatalogFields + - Catalog Checklist Templates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalogs: + /v1/catalogs/{catalog_id}/entities: get: - description: List catalogs - operationId: listCatalogs + description: List Catalog Entities + operationId: listCatalogEntities parameters: - - description: "comma separated if needed. eg: fields,entities" + - explode: false + in: path + name: catalog_id + required: true + schema: + type: string + style: simple + - description: "comma separated if needed. eg: catalog,properties" explode: true in: query name: include required: false schema: enum: - - fields - - entities + - catalog + - properties type: string style: form - description: "comma separated if needed. eg: created_at,updated_at" @@ -5249,6 +3389,13 @@ paths: 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[slug]" @@ -5263,6 +3410,13 @@ paths: schema: type: string style: form + - explode: true + in: query + name: "filter[backstage_id]" + required: false + schema: + type: string + style: form - explode: true in: query name: "filter[created_at][gt]" @@ -5296,290 +3450,214 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/catalog_list' + $ref: '#/components/schemas/catalog_entity_list' description: success security: - bearer_auth: [] - summary: List catalogs + summary: List Catalog Entities tags: - - Catalogs + - CatalogEntities x-accepts: - application/vnd.api+json post: - description: Creates a new catalog from provided data - operationId: createCatalog - parameters: [] + description: Creates a new Catalog Entity from provided data + operationId: createCatalogEntity + parameters: + - explode: false + in: path + name: catalog_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_catalog' + $ref: '#/components/schemas/new_catalog_entity' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: d58ef878-6cde-46b8-b1be-f15011a095a6 - type: catalogs - attributes: - name: Test - slug: test - icon: shapes - description: null - position: 2 - deleted_at: null - updated_at: 2025-05-22T06:42:10.803-07:00 - created_at: 2025-05-22T06:42:10.803-07:00 - relationships: - fields: - data: [] - entities: - data: [] schema: - $ref: '#/components/schemas/catalog_response' - description: catalog created + $ref: '#/components/schemas/catalog_entity_response' + description: catalog_entity created with fields attribute "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Name is too short (minimum is 1 character) - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: rejects entity with invalid catalog_field_id "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a catalog + summary: Creates a Catalog Entity tags: - - Catalogs + - CatalogEntities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/catalogs/{id}: + /v1/catalog_entities/{id}: delete: - description: Delete a specific catalog by id - operationId: deleteCatalog + description: Delete a specific Catalog Entity by id + operationId: deleteCatalogEntity parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: f6fb80d5-a2f5-4ce0-b5cd-7e98b9d1d769 - type: catalogs - attributes: - name: Services - slug: services - icon: globe-alt - description: null - position: 1 - deleted_at: 2025-05-22T06:42:12.584-07:00 - updated_at: 2025-05-22T06:42:12.584-07:00 - created_at: 2025-05-22T06:42:10.620-07:00 - relationships: - fields: - data: [] - entities: - data: [] schema: - $ref: '#/components/schemas/catalog_response' - description: catalog deleted + $ref: '#/components/schemas/catalog_entity_response' + description: catalog_entity deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a catalog + summary: Delete a Catalog Entity tags: - - Catalogs + - CatalogEntities x-accepts: - application/vnd.api+json get: - description: Retrieves a specific catalog by id - operationId: getCatalog + description: Retrieves a specific Catalog Entity by id + operationId: getCatalogEntity parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - description: "comma separated if needed. eg: catalog,properties" + explode: true + in: query + name: include + required: false + schema: + enum: + - catalog + - properties + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: f6fb80d5-a2f5-4ce0-b5cd-7e98b9d1d769 - type: catalogs - attributes: - name: Services - slug: services - icon: globe-alt - description: null - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:10.620-07:00 - created_at: 2025-05-22T06:42:10.620-07:00 - relationships: - fields: - data: [] - entities: - data: [] schema: - $ref: '#/components/schemas/catalog_response' - description: catalog found + $ref: '#/components/schemas/catalog_entity_response' + description: catalog_entity found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a catalog + summary: Retrieves a Catalog Entity tags: - - Catalogs + - CatalogEntities x-accepts: - application/vnd.api+json put: - description: Update a specific catalog by id - operationId: updateCatalog + description: Update a specific Catalog Entity by id + operationId: updateCatalogEntity parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_catalog' + $ref: '#/components/schemas/update_catalog_entity' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: f6fb80d5-a2f5-4ce0-b5cd-7e98b9d1d769 - type: catalogs - attributes: - name: Services - slug: services - icon: globe-alt - description: Updated description - position: 1 - deleted_at: null - updated_at: 2025-05-22T06:42:12.014-07:00 - created_at: 2025-05-22T06:42:10.620-07:00 - relationships: - fields: - data: [] - entities: - data: [] schema: - $ref: '#/components/schemas/catalog_response' - description: catalog updated + $ref: '#/components/schemas/catalog_entity_response' + description: catalog_entity update replaces existing properties "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a catalog + summary: Update a Catalog Entity tags: - - Catalogs + - CatalogEntities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/causes: + /v1/catalog_entity_checklists: get: - description: List causes - operationId: listCauses + description: List catalog entity checklists + operationId: listCatalogEntityChecklists parameters: - explode: true in: query - name: include + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "page[number]" + name: "page[size]" required: false schema: type: integer style: form - explode: true in: query - name: "page[size]" + name: "filter[status]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[search]" + name: "filter[catalog_checklist_template_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[slug]" + name: "filter[auditable_type]" required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "filter[auditable_id]" required: false schema: type: string @@ -5617,75 +3695,215 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/cause_list' - description: success + $ref: '#/components/schemas/catalog_entity_checklist_list' + description: returns empty list for another team security: - bearer_auth: [] - summary: List causes + summary: List catalog entity checklists tags: - - Causes + - Catalog Entity Checklists x-accepts: - application/vnd.api+json - post: - description: Creates a new cause from provided data - operationId: createCause - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_cause' + /v1/catalog_entity_checklists/{id}: + get: + description: Retrieves a specific catalog entity checklist by id + operationId: getCatalogEntityChecklist + parameters: + - explode: false + in: path + name: id + required: true + schema: + description: Resource UUID + format: uuid + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_entity_checklist_response' + description: catalog entity checklist found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found for another team + security: + - bearer_auth: [] + summary: Retrieves a catalog entity checklist + tags: + - Catalog Entity Checklists + x-accepts: + - application/vnd.api+json + /v1/catalog_entities/{catalog_entity_id}/properties: + get: + deprecated: true + description: |- + **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. + + List Catalog Entity Properties. + operationId: listCatalogEntityProperties + parameters: + - explode: false + in: path + name: catalog_entity_id + required: true + schema: + type: string + style: simple + - description: "comma separated if needed. eg: catalog_entity,catalog_field" + explode: true + in: query + name: include + required: false + schema: + enum: + - catalog_entity + - catalog_field + type: string + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + 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 + - explode: true + in: query + name: "filter[catalog_field_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[key]" + 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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_entity_property_list' + description: success + security: + - bearer_auth: [] + summary: List catalog properties + tags: + - CatalogEntityProperties + x-accepts: + - application/vnd.api+json + post: + deprecated: true + description: |- + **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. + + Creates a new Catalog Entity Property from provided data. + operationId: createCatalogEntityProperty + parameters: + - explode: false + in: path + name: catalog_entity_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_catalog_entity_property' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: ba18b843-9652-48ee-b562-047dd46cc073 - type: causes - attributes: - slug: how-to-handle-customer-facing-incident - name: How to handle customer-facing incident? - description: This is a description - position: 1 - created_at: 2025-05-22T06:42:16.756-07:00 - updated_at: 2025-05-22T06:42:16.756-07:00 schema: - $ref: '#/components/schemas/cause_response' - description: cause created + $ref: '#/components/schemas/catalog_entity_property_response' + description: catalog_entity_property created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a cause + summary: Creates a Catalog Entity Property tags: - - Causes + - CatalogEntityProperties x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/causes/{id}: + /v1/catalog_entity_properties/{id}: delete: - description: Delete a specific cause by id - operationId: deleteCause + deprecated: true + description: |- + **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. + + Delete a specific Catalog Entity Property by id. + operationId: deleteCatalogEntityProperty parameters: - explode: false in: path @@ -5698,40 +3916,29 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: fa626882-05e7-408f-846c-c4d8499b9121 - type: causes - attributes: - slug: recusandae-adipisci-inventore-id - name: Recusandae adipisci inventore id. - description: Pariatur assumenda quod quo. - position: 1 - created_at: 2025-05-22T06:42:14.103-07:00 - updated_at: 2025-05-22T06:42:18.660-07:00 schema: - $ref: '#/components/schemas/cause_response' - description: cause deleted + $ref: '#/components/schemas/catalog_entity_property_response' + description: catalog_entity_property deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a cause + summary: Delete a Catalog Entity Property tags: - - Causes + - CatalogEntityProperties x-accepts: - application/vnd.api+json get: - description: Retrieves a specific cause by id - operationId: getCause + deprecated: true + description: |- + **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. + + Retrieves a specific Catalog Entity Property by id. + operationId: getCatalogEntityProperty parameters: - explode: false in: path @@ -5740,44 +3947,44 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: catalog_entity,catalog_field" + explode: true + in: query + name: include + required: false + schema: + enum: + - catalog_entity + - catalog_field + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: fa626882-05e7-408f-846c-c4d8499b9121 - type: causes - attributes: - slug: recusandae-adipisci-inventore-id - name: Recusandae adipisci inventore id. - description: Pariatur assumenda quod quo. - position: 1 - created_at: 2025-05-22T06:42:14.103-07:00 - updated_at: 2025-05-22T06:42:14.103-07:00 schema: - $ref: '#/components/schemas/cause_response' - description: cause found + $ref: '#/components/schemas/catalog_entity_property_response' + description: catalog_entity_property found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a cause + summary: Retrieves a Catalog Entity Property tags: - - Causes + - CatalogEntityProperties x-accepts: - application/vnd.api+json put: - description: Update a specific cause by id - operationId: updateCause + deprecated: true + description: |- + **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. + + Update a specific Catalog Entity Property by id. + operationId: updateCatalogEntityProperty parameters: - explode: false in: path @@ -5790,116 +3997,58 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_cause' + $ref: '#/components/schemas/update_catalog_entity_property' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: fa626882-05e7-408f-846c-c4d8499b9121 - type: causes - attributes: - slug: how-to-handle-security-incident - name: How to handle security incident? - description: This is a description - position: 2 - created_at: 2025-05-22T06:42:14.103-07:00 - updated_at: 2025-05-22T06:42:18.088-07:00 schema: - $ref: '#/components/schemas/cause_response' - description: cause updated + $ref: '#/components/schemas/catalog_entity_property_response' + description: catalog_entity_property updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a cause + summary: Update a Catalog Entity Property tags: - - Causes + - CatalogEntityProperties x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/custom_fields/{custom_field_id}/options: + /v1/catalogs/{catalog_id}/properties: get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. List custom field\ - \ options" - operationId: listCustomFieldOptions + description: List Catalog Properties - returns catalog_properties type + operationId: listCatalogProperties parameters: - explode: false in: path - name: custom_field_id + name: catalog_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 - - explode: true - in: query - name: "filter[value]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[color]" - required: false - schema: - type: string - style: form responses: "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/custom_field_option_list' - description: success + description: success with catalog_properties type security: - bearer_auth: [] - summary: "[DEPRECATED] List custom field options" + summary: List Catalog Properties (alias for fields) tags: - - "[DEPRECATED] CustomFieldOptions" + - CatalogProperties x-accepts: - - application/vnd.api+json + - application/json post: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Creates a new custom\ - \ field option from provided data" - operationId: createCustomFieldOption + description: Creates a new Catalog Property - returns catalog_properties type + operationId: createCatalogProperty parameters: - explode: false in: path - name: custom_field_id + name: catalog_id required: true schema: type: string @@ -5908,61 +4057,24 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_custom_field_option' + $ref: '#/components/schemas/new_catalog_field' required: true responses: "201": - content: - application/vnd.api+json: - example: - data: - id: "3" - type: custom_field_options - attributes: - custom_field_id: 1 - value: Test option value - color: '#FBE4A0' - default: false - position: 3 - updated_at: 2025-05-22T06:42:20.308-07:00 - created_at: 2025-05-22T06:42:20.308-07:00 - schema: - $ref: '#/components/schemas/custom_field_option_response' - description: custom_field_option created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Value can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: catalog_property created security: - bearer_auth: [] - summary: "[DEPRECATED] Creates a custom field option" + summary: Creates a Catalog Property (alias for field) tags: - - "[DEPRECATED] CustomFieldOptions" + - CatalogProperties x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/custom_field_options/{id}: + - application/json + /v1/catalog_properties/{id}: delete: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ - \ Custom Field Option by id" - operationId: deleteCustomFieldOption + description: Delete a specific catalog_property by id - returns catalog_properties + type + operationId: deleteCatalogProperty parameters: - explode: false in: path @@ -5973,45 +4085,18 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: "1" - type: custom_field_options - attributes: - custom_field_id: 1 - value: Est eligendi aperiam rerum. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:42:22.662-07:00 - created_at: 2025-05-22T06:42:20.144-07:00 - schema: - $ref: '#/components/schemas/custom_field_option_response' - description: custom_field_option deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: catalog_property deleted security: - bearer_auth: [] - summary: "[DEPRECATED] Delete a custom field option" + summary: Delete a catalog_property tags: - - "[DEPRECATED] CustomFieldOptions" + - CatalogProperties x-accepts: - - application/vnd.api+json + - application/json get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ - \ custom field option by id" - operationId: getCustomFieldOption + description: Retrieves a specific Catalog Property by id - returns catalog_properties + type + operationId: getCatalogProperty parameters: - explode: false in: path @@ -6022,45 +4107,18 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: "1" - type: custom_field_options - attributes: - custom_field_id: 1 - value: Est eligendi aperiam rerum. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:42:20.144-07:00 - created_at: 2025-05-22T06:42:20.144-07:00 - schema: - $ref: '#/components/schemas/custom_field_option_response' - description: custom_field_option found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: catalog_property found security: - bearer_auth: [] - summary: "[DEPRECATED] Retrieves a custom field option" + summary: Retrieves a Catalog Property (alias for field) tags: - - "[DEPRECATED] CustomFieldOptions" + - CatalogProperties x-accepts: - - application/vnd.api+json + - application/json put: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ - \ custom field option by id" - operationId: updateCustomFieldOption + description: Update a specific catalog_property by id - returns catalog_properties + type + operationId: updateCatalogProperty parameters: - explode: false in: path @@ -6073,59 +4131,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_custom_field_option' + $ref: '#/components/schemas/update_catalog_field' required: true responses: "200": - content: - application/vnd.api+json: - example: - data: - id: "1" - type: custom_field_options - attributes: - custom_field_id: 1 - value: Test update option value - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:42:21.938-07:00 - created_at: 2025-05-22T06:42:20.144-07:00 - schema: - $ref: '#/components/schemas/custom_field_option_response' - description: custom_field_option updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: catalog_property updated security: - bearer_auth: [] - summary: "[DEPRECATED] Update a custom field option" + summary: Update a catalog_property (alias for field) tags: - - "[DEPRECATED] CustomFieldOptions" + - CatalogProperties x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/custom_fields: + - application/json + /v1/catalogs: get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. List Custom fields" - operationId: listCustomFields + description: List catalogs + operationId: listCatalogs parameters: - - description: "comma separated if needed. eg: options" + - description: "comma separated if needed. eg: fields,entities" explode: true in: query name: include required: false schema: enum: - - options + - fields + - entities type: string style: form - description: "comma separated if needed. eg: created_at,updated_at" @@ -6159,32 +4191,25 @@ paths: style: form - explode: true in: query - name: "filter[slug]" + name: "filter[search]" required: false schema: type: string style: form - explode: true in: query - name: "filter[label]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[kind]" + name: "filter[name]" required: false schema: type: string style: form - - explode: true - in: query - name: "filter[enabled]" - required: false - schema: - type: boolean - style: form - explode: true in: query name: "filter[created_at][gt]" @@ -6218,304 +4243,182 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/custom_field_list' + $ref: '#/components/schemas/catalog_list' description: success security: - bearer_auth: [] - summary: "[DEPRECATED] List Custom Fields" + summary: List catalogs tags: - - "[DEPRECATED] CustomFields" + - Catalogs x-accepts: - application/vnd.api+json post: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Creates a new custom\ - \ field from provided data" - operationId: createCustomField + description: Creates a new catalog from provided data + operationId: createCatalog parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_custom_field' + $ref: '#/components/schemas/new_catalog' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: "12" - type: custom_fields - attributes: - slug: test-custom-field - description: null - enabled: true - position: 11 - updated_at: 2025-05-22T06:42:27.264-07:00 - created_at: 2025-05-22T06:42:27.264-07:00 - kind: text - label: Test custom field - shown: - - incident_form - - incident_slack_form - required: [] - relationships: - options: - data: [] schema: - $ref: '#/components/schemas/custom_field_response' - description: custom_field created + $ref: '#/components/schemas/catalog_response' + description: catalog created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: "[DEPRECATED] Creates a Custom Field" + summary: Creates a catalog tags: - - "[DEPRECATED] CustomFields" + - Catalogs x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/custom_fields/{id}: + /v1/catalogs/{id}: delete: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ - \ custom field by id" - operationId: deleteCustomField + description: Delete a specific catalog by id + operationId: deleteCatalog parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: "2" - type: custom_fields - attributes: - slug: ut-et-nesciunt-quod - description: Dolore consequatur fugiat a. - enabled: true - position: 1 - updated_at: 2025-05-22T06:42:29.454-07:00 - created_at: 2025-05-22T06:42:24.070-07:00 - kind: text - label: Ut et nesciunt quod. - shown: [] - required: [] - relationships: - options: - data: [] schema: - $ref: '#/components/schemas/custom_field_response' - description: custom_field deleted + $ref: '#/components/schemas/catalog_response' + description: catalog deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Delete a Custom Field" + summary: Delete a catalog tags: - - "[DEPRECATED] CustomFields" + - Catalogs x-accepts: - application/vnd.api+json get: - deprecated: true - description: Retrieves a specific custom_field by id - operationId: getCustomField + description: Retrieves a specific catalog by id + operationId: getCatalog parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - - description: "comma separated if needed. eg: options" - explode: true - in: query - name: include - required: false - schema: - enum: - - options - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: "2" - type: custom_fields - attributes: - slug: ut-et-nesciunt-quod - description: Dolore consequatur fugiat a. - enabled: true - position: 1 - updated_at: 2025-05-22T06:42:24.070-07:00 - created_at: 2025-05-22T06:42:24.070-07:00 - kind: text - label: Ut et nesciunt quod. - shown: - - incident_form - - incident_slack_form - required: [] - relationships: - options: - data: - - id: "4" - type: custom_field_options - - id: "5" - type: custom_field_options schema: - $ref: '#/components/schemas/custom_field_response' - description: custom_field found + $ref: '#/components/schemas/catalog_response' + description: catalog found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Retrieves a Custom Field" + summary: Retrieves a catalog tags: - - "[DEPRECATED] CustomFields" + - Catalogs x-accepts: - application/vnd.api+json put: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ - \ custom field by id" - operationId: updateCustomField + description: Update a specific catalog by id + operationId: updateCatalog parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_custom_field' + $ref: '#/components/schemas/update_catalog' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: "2" - type: custom_fields - attributes: - slug: test-update-custom-field - description: Dolore consequatur fugiat a. - enabled: true - position: 1 - updated_at: 2025-05-22T06:42:28.637-07:00 - created_at: 2025-05-22T06:42:24.070-07:00 - kind: text - label: Test update custom field - shown: - - incident_form - required: [] - relationships: - options: - data: - - id: "4" - type: custom_field_options - - id: "5" - type: custom_field_options schema: - $ref: '#/components/schemas/custom_field_response' - description: custom_field updated + $ref: '#/components/schemas/catalog_response' + description: catalog updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Update a Custom Field" + summary: Update a catalog tags: - - "[DEPRECATED] CustomFields" + - Catalogs x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/custom_forms: + /v1/causes: get: - description: List custom forms - operationId: listCustomForms + description: List causes + operationId: listCauses parameters: - explode: true in: query - name: "page[number]" + name: include required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "page[number]" required: false schema: type: integer style: form - explode: true in: query - name: "filter[search]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[name]" + name: "filter[search]" required: false schema: type: string @@ -6529,7 +4432,7 @@ paths: style: form - explode: true in: query - name: "filter[command]" + name: "filter[name]" required: false schema: type: string @@ -6562,376 +4465,186 @@ paths: 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: - example: - data: - - id: 6db512d2-470f-44e4-a826-c52dac1b5203 - type: custom_forms - attributes: - slug: laborum-qui-amet-sunt - name: Laborum qui amet sunt. - description: Dolor mollitia ut ullam. - enabled: true - command: laborum-qui-amet-sunt - created_at: 2025-05-22T06:42:30.468-07:00 - updated_at: 2025-05-22T06:42:30.468-07:00 - - id: 826fb4bb-fdf9-407b-b1b6-5bc2353b1b52 - type: custom_forms - attributes: - slug: provident-doloribus-explicabo-suscipit - name: Provident doloribus explicabo suscipit. - description: Recusandae debitis earum a. - enabled: true - command: provident-doloribus-explicabo-suscipit - created_at: 2025-05-22T06:42:30.463-07:00 - updated_at: 2025-05-22T06:42:30.463-07:00 - - id: a82a9ab7-a944-4347-b421-4760ea74b507 - type: custom_forms - attributes: - slug: quo-nemo-nam-omnis - name: Quo nemo nam omnis. - description: Velit accusamus eaque tempore. - enabled: true - command: quo-nemo-nam-omnis - created_at: 2025-05-22T06:42:30.457-07:00 - updated_at: 2025-05-22T06:42:30.457-07:00 - - id: 569aebf3-5ccd-4391-be57-5e62c60cc203 - type: custom_forms - attributes: - slug: nam-assumenda-dolorem-exercitationem - name: Nam assumenda dolorem exercitationem. - description: Illo sit est et. - enabled: true - command: nam-assumenda-dolorem-exercitationem - created_at: 2025-05-22T06:42:30.451-07:00 - updated_at: 2025-05-22T06:42:30.451-07:00 - - id: 5a7d1dbd-c45a-4b23-992c-47a328f26bc6 - type: custom_forms - attributes: - slug: qui-et-soluta-suscipit - name: Qui et soluta suscipit. - description: Libero quam quia est. - enabled: true - command: qui-et-soluta-suscipit - created_at: 2025-05-22T06:42:30.445-07:00 - updated_at: 2025-05-22T06:42:30.445-07:00 - - id: bf1ae49b-b77e-46f4-bf40-753d1beb894f - type: custom_forms - attributes: - slug: omnis-quisquam-ducimus-maxime - name: Omnis quisquam ducimus maxime. - description: Ducimus reiciendis est aliquam. - enabled: true - command: omnis-quisquam-ducimus-maxime - created_at: 2025-05-22T06:42:30.440-07:00 - updated_at: 2025-05-22T06:42:30.440-07:00 - - id: 58a88066-80ee-4a88-ad10-085557b48032 - type: custom_forms - attributes: - slug: deserunt-ut-vitae-voluptas - name: Deserunt ut vitae voluptas. - description: Unde sit et quod. - enabled: true - command: deserunt-ut-vitae-voluptas - created_at: 2025-05-22T06:42:30.434-07:00 - updated_at: 2025-05-22T06:42:30.434-07:00 - - id: 4b7b1e63-5b70-4dc4-995b-4aa514ff1bc1 - type: custom_forms - attributes: - slug: aut-fuga-aut-et - name: Aut fuga aut et. - description: Molestiae debitis voluptatem sed. - enabled: true - command: aut-fuga-aut-et - created_at: 2025-05-22T06:42:30.426-07:00 - updated_at: 2025-05-22T06:42:30.426-07:00 - - id: 60a8826a-165d-498a-b2a9-feb3322bb89f - type: custom_forms - attributes: - slug: adipisci-laborum-perferendis-natus - name: Adipisci laborum perferendis natus. - description: Quos ex in dolor. - enabled: true - command: adipisci-laborum-perferendis-natus - created_at: 2025-05-22T06:42:30.418-07:00 - updated_at: 2025-05-22T06:42:30.418-07:00 - - id: 446c7f51-4cce-4918-b972-5a80dac29f73 - type: custom_forms - attributes: - slug: est-ratione-similique-repellat - name: Est ratione similique repellat. - description: Debitis magnam reiciendis perspiciatis. - enabled: true - command: est-ratione-similique-repellat - created_at: 2025-05-22T06:42:30.405-07:00 - updated_at: 2025-05-22T06:42:30.405-07:00 - links: - self: http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50 - first: http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50 - prev: null - next: null - last: http://www.example.com/v1/custom_forms?page%5Bnumber%5D=1&page%5Bsize%5D=50 - meta: - current_page: 1 - next_page: null - prev_page: null - total_count: 10 - total_pages: 1 - schema: - $ref: '#/components/schemas/custom_form_list' - description: custom_form found - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + $ref: '#/components/schemas/cause_list' + description: success security: - bearer_auth: [] - summary: List custom forms + summary: List causes tags: - - CustomForms + - Causes x-accepts: - application/vnd.api+json post: - description: Creates a new custom form from provided data - operationId: createCustomForm + description: Creates a new cause from provided data + operationId: createCause parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_custom_form' + $ref: '#/components/schemas/new_cause' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: efac9361-d5a0-479f-9da5-10e13f71bfc0 - type: custom_forms - attributes: - slug: test - name: Test - description: null - enabled: true - command: test - created_at: 2025-05-22T06:42:32.427-07:00 - updated_at: 2025-05-22T06:42:32.427-07:00 schema: - $ref: '#/components/schemas/custom_form_response' - description: custom_form created + $ref: '#/components/schemas/cause_response' + description: cause created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Command can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a custom form + summary: Creates a cause tags: - - CustomForms + - Causes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/custom_forms/{id}: + /v1/causes/{id}: delete: - description: Delete a specific custom form by id - operationId: deleteCustomForm + description: Delete a specific cause by id + operationId: deleteCause parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 1df38d7e-36a0-4894-8ba0-72663535a18e - type: custom_forms - attributes: - slug: reiciendis-voluptatem-autem-velit - name: Reiciendis voluptatem autem velit. - description: Qui voluptatem modi doloribus. - enabled: true - command: reiciendis-voluptatem-autem-velit - created_at: 2025-05-22T06:42:35.110-07:00 - updated_at: 2025-05-22T06:42:35.277-07:00 schema: - $ref: '#/components/schemas/custom_form_response' - description: custom_form deleted + $ref: '#/components/schemas/cause_response' + description: cause deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a custom form + summary: Delete a cause tags: - - CustomForms + - Causes x-accepts: - application/vnd.api+json get: - description: Retrieves a specific custom form by id - operationId: getCustomForm - parameters: + description: Retrieves a specific cause by id + operationId: getCause + parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 446c7f51-4cce-4918-b972-5a80dac29f73 - type: custom_forms - attributes: - slug: est-ratione-similique-repellat - name: Est ratione similique repellat. - description: Debitis magnam reiciendis perspiciatis. - enabled: true - command: est-ratione-similique-repellat - created_at: 2025-05-22T06:42:30.405-07:00 - updated_at: 2025-05-22T06:42:30.405-07:00 schema: - $ref: '#/components/schemas/custom_form_response' - description: custom_form found + $ref: '#/components/schemas/cause_response' + description: cause found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a custom form + summary: Retrieves a cause tags: - - CustomForms + - Causes x-accepts: - application/vnd.api+json put: - description: Update a specific custom form by id - operationId: updateCustomForm + description: Update a specific cause by id + operationId: updateCause parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_custom_form' + $ref: '#/components/schemas/update_cause' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 446c7f51-4cce-4918-b972-5a80dac29f73 - type: custom_forms - attributes: - slug: est-ratione-similique-repellat - name: Test Update - description: Debitis magnam reiciendis perspiciatis. - enabled: true - command: est-ratione-similique-repellat - created_at: 2025-05-22T06:42:30.405-07:00 - updated_at: 2025-05-22T06:42:34.238-07:00 schema: - $ref: '#/components/schemas/custom_form_response' - description: custom_form updated + $ref: '#/components/schemas/cause_response' + description: cause updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a custom form + summary: Update a cause tags: - - CustomForms + - Causes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/dashboards/{dashboard_id}/panels: + /v1/causes/properties: get: - description: List dashboard panels - operationId: listDashboardPanels + description: List Cause Catalog Properties + operationId: listCauseCatalogProperties parameters: - - explode: false - in: path - name: dashboard_id - required: true + - description: "comma separated if needed. eg: catalog" + explode: true + in: query + name: include + required: false schema: + enum: + - catalog type: string - style: simple - - explode: true + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: include + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true @@ -6948,617 +4661,254 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[slug]" + 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[kind]" + 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 responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/dashboard_panel_list' + $ref: '#/components/schemas/catalog_property_list' description: success security: - bearer_auth: [] - summary: List dashboard panels + summary: List Catalog Properties tags: - - DashboardPanels + - Causes x-accepts: - application/vnd.api+json post: - description: Creates a new dashboard panel from provided data - operationId: createDashboardPanel - parameters: - - explode: false - in: path - name: dashboard_id - required: true - schema: - type: string - style: simple + description: Creates a new Catalog Property from provided data + operationId: createCauseCatalogProperty + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_dashboard_panel' + $ref: '#/components/schemas/new_catalog_property' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 049178a4-5403-4dc2-8553-478b384a08dc - type: dashboard_panels - attributes: - dashboard_id: 4b412a03-c774-4f42-ae71-cad7ddcd7b48 - name: test - params: - display: line_chart - datasets: - - collection: incidents - filter: [] - aggregate: - operation: count - key: results - cumulative: false - position: null - created_at: 2025-05-22T06:42:37.358-07:00 - updated_at: 2025-05-22T06:42:37.358-07:00 - data: - - name: Incidents - color: null - data: - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 0 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 schema: - $ref: '#/components/schemas/dashboard_panel_response' - description: dashboard panel created - "401": + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute + "422": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Creates a dashboard panel - tags: - - DashboardPanels - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/dashboard_panels/{id}/duplicate: - post: - description: Duplicates a dashboard panel - operationId: duplicateDashboardPanel - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 1c4c3fa8-d678-47bd-b009-00eb763c8dbe - type: dashboard_panels - attributes: - dashboard_id: 4b412a03-c774-4f42-ae71-cad7ddcd7b48 - name: Copy of Test panel - params: - display: line_chart - datasets: - - collection: incidents - filter: [] - aggregate: - operation: count - key: results - cumulative: false - position: null - created_at: 2025-05-22T06:42:37.934-07:00 - updated_at: 2025-05-22T06:42:37.934-07:00 - data: - - name: Incidents - color: null - data: - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 0 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 - schema: - $ref: '#/components/schemas/dashboard_panel_response' - description: dashboard panel created + description: exceeds max fields per catalog "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Duplicates a dashboard panel + summary: Creates a Catalog Property tags: - - DashboardPanels + - Causes + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/dashboard_panels/{id}: - delete: - description: Delete a specific dashboard panel by id - operationId: deleteDashboardPanel + /v1/communications/groups: + get: + description: Lists communications groups + operationId: listCommunicationsGroups parameters: - - explode: false - in: path - name: id - required: true + - 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: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: df1068f5-c977-4e83-8b3d-126895d86ea3 - type: dashboard_panels - attributes: - dashboard_id: 4b412a03-c774-4f42-ae71-cad7ddcd7b48 - name: Test panel - params: - display: line_chart - datasets: - - collection: incidents - filter: [] - aggregate: - operation: count - key: results - cumulative: false - position: null - created_at: 2025-05-22T06:42:37.172-07:00 - updated_at: 2025-05-22T06:42:38.726-07:00 - data: - - name: Incidents - color: null - data: - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 0 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 - schema: - $ref: '#/components/schemas/dashboard_panel_response' - description: dashboard panel deleted - security: - - bearer_auth: [] - summary: Delete a dashboard panel - tags: - - DashboardPanels - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific dashboard panel by id - operationId: getDashboardPanel - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[name]" + required: false schema: type: string - style: simple - - description: "Date range for panel data, ISO8601 timestamps separated by the\ - \ word 'to'. Ex: '2022-06-19T11:28:46.029Z to 2022-07-18T21:58:46.029Z'." - explode: true + style: form + - explode: true in: query - name: range + name: "filter[slug]" required: false schema: type: string style: form - - description: "The time period to group data by. Accepts 'day', 'week', and\ - \ 'month'" - explode: true + - explode: true in: query - name: period + name: "filter[is_private]" required: false schema: type: string style: form - - description: The time zone to use for period - explode: true + - explode: true in: query - name: time_zone + name: "filter[communication_type_id]" required: false schema: type: string style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: df1068f5-c977-4e83-8b3d-126895d86ea3 - type: dashboard_panels - attributes: - dashboard_id: 4b412a03-c774-4f42-ae71-cad7ddcd7b48 - name: Test panel - params: - display: line_chart - datasets: - - collection: incidents - filter: [] - aggregate: - operation: count - key: results - cumulative: false - position: null - created_at: 2025-05-22T06:42:37.172-07:00 - updated_at: 2025-05-22T06:42:37.172-07:00 - data: - - name: Incidents - color: null - data: - "2025-04-22": 0 - "2025-04-23": 0 - "2025-04-24": 0 - "2025-04-25": 0 - "2025-04-26": 0 - "2025-04-27": 0 - "2025-04-28": 0 - "2025-04-29": 0 - "2025-04-30": 0 - "2025-05-01": 0 - "2025-05-02": 0 - "2025-05-03": 0 - "2025-05-04": 0 - "2025-05-05": 0 - "2025-05-06": 0 - "2025-05-07": 0 - "2025-05-08": 0 - "2025-05-09": 0 - "2025-05-10": 0 - "2025-05-11": 0 - "2025-05-12": 0 - "2025-05-13": 0 - "2025-05-14": 0 - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 0 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 - schema: - $ref: '#/components/schemas/dashboard_panel_response' - description: dashboard panel found - security: - - bearer_auth: [] - summary: Retrieves a dashboard panel - tags: - - DashboardPanels - x-accepts: - - application/vnd.api+json - put: - description: Update a specific dashboard panel by id - operationId: updateDashboardPanel - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[condition_type]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_dashboard_panel' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: df1068f5-c977-4e83-8b3d-126895d86ea3 - type: dashboard_panels - attributes: - dashboard_id: 4b412a03-c774-4f42-ae71-cad7ddcd7b48 - name: test update - params: - display: line_chart - datasets: - - collection: incidents - filter: [] - aggregate: - operation: count - key: results - cumulative: false - position: null - created_at: 2025-05-22T06:42:37.172-07:00 - updated_at: 2025-05-22T06:42:38.504-07:00 - data: - - name: Incidents - color: null - data: - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 0 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 - schema: - $ref: '#/components/schemas/dashboard_panel_response' - description: dashboard panel updated - security: - - bearer_auth: [] - summary: Update a dashboard panel - tags: - - DashboardPanels - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/dashboards: - get: - description: List dashboards - operationId: listDashboards - parameters: - - description: "comma separated if needed. eg: panels" - explode: true + style: form + - explode: true in: query - name: include + name: "filter[created_at][gt]" required: false schema: - enum: - - panels type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[created_at][gte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[created_at][lt]" required: false schema: - type: integer + 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: sort + required: false + schema: + type: string style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/dashboard_list' - description: success + $ref: '#/components/schemas/communications_groups_response' + description: communications groups found security: - bearer_auth: [] - summary: List dashboards + summary: Lists communications groups tags: - - Dashboards + - Communications Groups x-accepts: - application/vnd.api+json post: - description: Creates a new dashboard from provided data - operationId: createDashboard + description: Creates a new communications group from provided data + operationId: createCommunicationsGroup parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_dashboard' + $ref: '#/components/schemas/new_communications_group' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: c43dc798-bdb7-4134-bbe8-5b5a77361330 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Test dashboard - description: null - slug: test-dashboard - public: false - owner: user - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:42.102-07:00 - created_at: 2025-05-22T06:42:42.102-07:00 - relationships: - panels: - data: [] schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard created + $ref: '#/components/schemas/communications_group_response' + description: communications group created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a dashboard + summary: Creates a communications group tags: - - Dashboards + - Communications Groups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/dashboards/{id}/duplicate: - post: - description: Duplicates a dashboard - operationId: duplicateDashboard - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: ea54eb98-56d0-4b08-99b2-7e21d8020801 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Copy of Dashboard 10 - 2025-05-22 - description: null - slug: copy-of-dashboard-10-2025-05-22 - public: false - owner: user - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:42.895-07:00 - created_at: 2025-05-22T06:42:42.895-07:00 - relationships: - panels: - data: [] - schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard created - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Duplicates a dashboard - tags: - - Dashboards - x-accepts: - - application/vnd.api+json - /v1/dashboards/{id}/set_default: - post: - description: Sets dashboard to user default - operationId: setDefaultDashboard - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: eea2c87b-5479-4fb5-b93a-5d4674fe6046 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Dashboard 10 - description: null - slug: dashboard-10 - public: false - owner: team - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:39.758-07:00 - created_at: 2025-05-22T06:42:39.758-07:00 - relationships: - panels: - data: [] - schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard created - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Sets dashboard to user default - tags: - - Dashboards - x-accepts: - - application/vnd.api+json - /v1/dashboards/{id}: + /v1/communications/groups/{id}: delete: - description: Delete a specific dashboard by id - operationId: deleteDashboard + description: Deletes a communications group + operationId: deleteCommunicationsGroup parameters: - - explode: false + - description: Communications Group ID + explode: false in: path name: id required: true @@ -7567,122 +4917,58 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: eea2c87b-5479-4fb5-b93a-5d4674fe6046 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Dashboard 10 - description: null - slug: dashboard-10 - public: false - owner: user - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:44.753-07:00 - created_at: 2025-05-22T06:42:39.758-07:00 - relationships: - panels: - data: [] - schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard deleted + description: communications group deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications group not found security: - bearer_auth: [] - summary: Delete a dashboard + summary: Deletes a communications group tags: - - Dashboards + - Communications Groups x-accepts: - application/vnd.api+json get: - description: Retrieves a specific dashboard by id - operationId: getDashboard + description: Shows details of a communications group + operationId: getCommunicationsGroup parameters: - - explode: false + - description: Communications Group ID + explode: false in: path name: id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: panels" - explode: true - in: query - name: include - required: false - schema: - enum: - - panels - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: eea2c87b-5479-4fb5-b93a-5d4674fe6046 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Dashboard 10 - description: null - slug: dashboard-10 - public: false - owner: team - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:39.758-07:00 - created_at: 2025-05-22T06:42:39.758-07:00 - relationships: - panels: - data: [] schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard found + $ref: '#/components/schemas/communications_group_response' + description: communications group found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications group not found security: - bearer_auth: [] - summary: Retrieves a dashboard + summary: Shows a communications group tags: - - Dashboards + - Communications Groups x-accepts: - application/vnd.api+json - put: - description: Update a specific dashboard by id - operationId: updateDashboard + patch: + description: Updates a communications group + operationId: updateCommunicationsGroup parameters: - - explode: false + - description: Communications Group ID + explode: false in: path name: id required: true @@ -7693,67 +4979,34 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_dashboard' + $ref: '#/components/schemas/update_communications_group' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: eea2c87b-5479-4fb5-b93a-5d4674fe6046 - type: dashboards - attributes: - team_id: 69 - user_id: 71 - name: Test update dashboard - description: null - slug: test-update-dashboard - public: false - owner: team - range: Last 30 Days - period: day - color: '#FCF2CF' - icon: 📊 - auto_refresh: false - updated_at: 2025-05-22T06:42:44.154-07:00 - created_at: 2025-05-22T06:42:39.758-07:00 - relationships: - panels: - data: [] schema: - $ref: '#/components/schemas/dashboard_response' - description: dashboard updated - "404": + $ref: '#/components/schemas/communications_group_response' + description: communications group updated + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: invalid request security: - bearer_auth: [] - summary: Update a dashboard + summary: Updates a communications group tags: - - Dashboards + - Communications Groups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/environments: + /v1/communications/stages: get: - description: List environments - operationId: listEnvironments + description: Lists communications stages + operationId: listCommunicationsStages parameters: - - explode: true - in: query - name: include - required: false - schema: - type: string - style: form - explode: true in: query name: "page[number]" @@ -7775,13 +5028,6 @@ paths: schema: type: string style: form - - explode: true - in: query - name: "filter[slug]" - required: false - schema: - type: string - style: form - explode: true in: query name: "filter[name]" @@ -7791,7 +5037,7 @@ paths: style: form - explode: true in: query - name: "filter[color]" + name: "filter[slug]" required: false schema: type: string @@ -7836,87 +5082,59 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/environment_list' - description: success + $ref: '#/components/schemas/communications_stages_response' + description: communications stages found security: - bearer_auth: [] - summary: List environments + summary: Lists communications stages tags: - - Environments + - Communications Stages x-accepts: - application/vnd.api+json post: - description: Creates a new environment from provided data - operationId: createEnvironment + description: Creates a new communications stage from provided data + operationId: createCommunicationsStage parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_environment' + $ref: '#/components/schemas/new_communications_stage' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 10342067-02cb-4914-9403-b6b50d437267 - type: environments - attributes: - slug: us-east-1 - name: us-east-1 - description: East Coast Datacenter - color: '#FFF' - position: 1 - notify_emails: - - hello@rootly.com - - world@rootly.com - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: leadership - created_at: 2025-05-22T06:42:49.124-07:00 - updated_at: 2025-05-22T06:42:49.124-07:00 schema: - $ref: '#/components/schemas/environment_response' - description: environment created + $ref: '#/components/schemas/communications_stage_response' + description: communications stage created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: unauthorized security: - bearer_auth: [] - summary: Creates an environment + summary: Creates a communications stage tags: - - Environments + - Communications Stages x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/environments/{id}: + /v1/communications/stages/{id}: delete: - description: Delete a specific environment by id - operationId: deleteEnvironment + description: Deletes a communications stage + operationId: deleteCommunicationsStage parameters: - - explode: false + - description: Communications Stage ID + explode: false in: path name: id required: true @@ -7925,48 +5143,26 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 2955a06b-7334-44ae-9e89-a36eafa0ee63 - type: environments - attributes: - slug: inventore-impedit-qui-deleniti - name: Inventore impedit qui deleniti. - description: Earum id architecto sed. - color: '#252509' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:42:46.148-07:00 - updated_at: 2025-05-22T06:42:50.928-07:00 - schema: - $ref: '#/components/schemas/environment_response' - description: environment deleted + description: communications stage deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications stage not found security: - bearer_auth: [] - summary: Delete an environment + summary: Deletes a communications stage tags: - - Environments + - Communications Stages x-accepts: - application/vnd.api+json get: - description: Retrieves a specific environment by id - operationId: getEnvironment + description: Shows details of a communications stage + operationId: getCommunicationsStage parameters: - - explode: false + - description: Communications Stage ID + explode: false in: path name: id required: true @@ -7977,46 +5173,28 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 2955a06b-7334-44ae-9e89-a36eafa0ee63 - type: environments - attributes: - slug: inventore-impedit-qui-deleniti - name: Inventore impedit qui deleniti. - description: Earum id architecto sed. - color: '#252509' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:42:46.148-07:00 - updated_at: 2025-05-22T06:42:46.148-07:00 schema: - $ref: '#/components/schemas/environment_response' - description: environment found + $ref: '#/components/schemas/communications_stage_response' + description: communications stage found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an environment + summary: Shows a communications stage tags: - - Environments + - Communications Stages x-accepts: - application/vnd.api+json - put: - description: Update a specific environment by id - operationId: updateEnvironment + patch: + description: Updates a communications stage + operationId: updateCommunicationsStage parameters: - - explode: false + - description: Communications Stage ID + explode: false in: path name: id required: true @@ -8027,69 +5205,51 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_environment' + $ref: '#/components/schemas/update_communications_stage' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 2955a06b-7334-44ae-9e89-a36eafa0ee63 - type: environments - attributes: - slug: us-east-1 - name: us-east-1 - description: East Coast Datacenter Region 1 - color: '#000' - position: 2 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:42:46.148-07:00 - updated_at: 2025-05-22T06:42:50.348-07:00 schema: - $ref: '#/components/schemas/environment_response' - description: environment updated - "404": + $ref: '#/components/schemas/communications_stage_response' + description: communications stage updated + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: invalid request security: - bearer_auth: [] - summary: Update an environment + summary: Updates a communications stage tags: - - Environments + - Communications Stages x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_policies: + /v1/communications/templates: get: - description: List escalation policies - operationId: listEscalationPolicies + description: Lists communications templates + operationId: listCommunicationsTemplates parameters: - - description: "comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths" - explode: true + - explode: true in: query - name: include + name: "page[number]" required: false schema: - enum: - - escalation_policy_levels - - escalation_policy_paths - - groups - - services - type: string + type: integer style: form - explode: true in: query - name: "filter[search]" + name: "page[size]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "filter[search]" required: false schema: type: string @@ -8103,146 +5263,105 @@ paths: style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[communication_type_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[created_at][lt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[created_at][lte]" required: false schema: - type: integer + 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/escalation_policy_list' - description: success + $ref: '#/components/schemas/communications_templates_response' + description: communications templates found security: - bearer_auth: [] - summary: List escalation policies + summary: Lists communications templates tags: - - EscalationPolicies + - Communications Templates x-accepts: - application/vnd.api+json post: - description: Creates a new escalation policy from provided data - operationId: createEscalationPolicy + description: Creates a new communications template from provided data + operationId: createCommunicationsTemplate parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_escalation_policy' + $ref: '#/components/schemas/new_communications_template' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: a95417c6-1474-4eec-8291-9bcd36b18670 - type: escalation_policies - attributes: - name: Platform EP - description: test - repeat_count: 5 - created_by_user_id: 75 - last_updated_by_user_id: 75 - group_ids: - - 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - service_ids: [] - business_hours: - time_zone: null - days: - - M - - T - - W - - R - - F - start_time: 09:00 AM - end_time: 05:00 PM - created_at: 2025-05-22T06:42:57.480-07:00 - updated_at: 2025-05-22T06:42:57.480-07:00 - relationships: - escalation_levels: - data: [] - escalation_paths: - data: [] - groups: - data: - - id: 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - type: groups - services: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_response' - description: escalation policy created + $ref: '#/components/schemas/communications_template_response' + description: communications template created "422": content: application/vnd.api+json: - example: - name: - - can't be blank schema: $ref: '#/components/schemas/errors_list' description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an escalation policy + summary: Creates a communications template tags: - - EscalationPolicies + - Communications Templates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_policies/{id}: + /v1/communications/templates/{id}: delete: - description: Delete a specific escalation policy by id - operationId: deleteEscalationPolicy + description: Deletes a communications template + operationId: deleteCommunicationsTemplate parameters: - - explode: false + - description: Communications Template ID + explode: false in: path name: id required: true @@ -8251,154 +5370,58 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 7624e467-89cd-4829-b254-966367fa1bf2 - type: escalation_policies - attributes: - name: Quia et nihil sit. - description: null - repeat_count: 1 - created_by_user_id: 76 - last_updated_by_user_id: 77 - group_ids: [] - service_ids: [] - business_hours: - time_zone: null - days: - - F - - M - - T - - R - - W - start_time: 09:00 AM - end_time: 05:00 PM - created_at: 2025-05-22T06:42:51.997-07:00 - updated_at: 2025-05-22T06:43:00.863-07:00 - relationships: - escalation_levels: - data: - - id: e70aaabd-3fa7-4cef-98f5-5056bd75ef2f - type: escalation_levels - escalation_paths: - data: [] - groups: - data: [] - services: - data: [] - schema: - $ref: '#/components/schemas/escalation_policy_response' - description: escalation policy deleted + description: communications template deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications template not found security: - bearer_auth: [] - summary: Delete an escalation policy + summary: Deletes a communications template tags: - - EscalationPolicies + - Communications Templates x-accepts: - application/vnd.api+json get: - description: Retrieves a specific escalation policy by id - operationId: getEscalationPolicy + description: Shows details of a communications template + operationId: getCommunicationsTemplate parameters: - - explode: false + - description: Communications Template ID + explode: false in: path name: id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths" - explode: true - in: query - name: include - required: false - schema: - enum: - - escalation_policy_levels - - escalation_policy_paths - - groups - - services - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 7624e467-89cd-4829-b254-966367fa1bf2 - type: escalation_policies - attributes: - name: Quia et nihil sit. - description: null - repeat_count: 1 - created_by_user_id: 76 - last_updated_by_user_id: 77 - group_ids: - - 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - service_ids: [] - business_hours: - time_zone: null - days: - - F - - M - - T - - R - - W - start_time: 09:00 AM - end_time: 05:00 PM - created_at: 2025-05-22T06:42:51.997-07:00 - updated_at: 2025-05-22T06:42:51.997-07:00 - relationships: - escalation_levels: - data: - - id: e70aaabd-3fa7-4cef-98f5-5056bd75ef2f - type: escalation_levels - escalation_paths: - data: [] - groups: - data: - - id: 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - type: groups - services: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_response' - description: escalation policy found + $ref: '#/components/schemas/communications_template_response' + description: communications template found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications template not found security: - bearer_auth: [] - summary: Retrieves an escalation policy + summary: Shows a communications template tags: - - EscalationPolicies + - Communications Templates x-accepts: - application/vnd.api+json - put: - description: Update a specific escalation policy by id - operationId: updateEscalationPolicy + patch: + description: Updates a communications template + operationId: updateCommunicationsTemplate parameters: - - explode: false + - description: Communications Template ID + explode: false in: path name: id required: true @@ -8409,319 +5432,156 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_escalation_policy' + $ref: '#/components/schemas/update_communications_template' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 7624e467-89cd-4829-b254-966367fa1bf2 - type: escalation_policies - attributes: - name: Platform EP - description: test - repeat_count: 2 - created_by_user_id: 76 - last_updated_by_user_id: 77 - group_ids: - - 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - service_ids: [] - business_hours: - time_zone: null - days: - - F - - M - - T - - R - - W - start_time: 09:00 AM - end_time: 05:00 PM - created_at: 2025-05-22T06:42:51.997-07:00 - updated_at: 2025-05-22T06:43:00.275-07:00 - relationships: - escalation_levels: - data: - - id: e70aaabd-3fa7-4cef-98f5-5056bd75ef2f - type: escalation_levels - escalation_paths: - data: [] - groups: - data: - - id: 07dc7ad3-020e-4abe-9de0-ad31b41441a9 - type: groups - services: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_response' - description: escalation policy updated - "404": + $ref: '#/components/schemas/communications_template_response' + description: communications template updated + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: invalid request security: - bearer_auth: [] - summary: Update an escalation policy + summary: Updates a communications template tags: - - EscalationPolicies + - Communications Templates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_policies/{escalation_policy_id}/escalation_levels: + /v1/communications/types: get: - description: List escalation levels - operationId: listEscalationLevels + description: Lists communications types + operationId: listCommunicationsTypes parameters: - - explode: false - in: path - name: escalation_policy_id - required: true + - explode: true + in: query + name: "page[number]" + required: false schema: - type: string - style: simple + type: integer + style: form - explode: true in: query - name: include + 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: "page[number]" + name: "filter[name]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[slug]" required: false schema: - type: integer + type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/escalation_policy_level_list' - description: success - security: - - bearer_auth: [] - summary: List escalation levels for an Escalation Policy - tags: - - EscalationLevelsPolicies - x-accepts: - - application/vnd.api+json - post: - description: Creates a new escalation level from provided data - operationId: createEscalationLevel - parameters: - - explode: false - in: path - name: escalation_policy_id - required: true + - explode: true + in: query + name: "filter[created_at][gt]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_escalation_policy_level' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 9ec63536-7236-4d8b-aef9-56850a552d39 - type: escalation_levels - attributes: - escalation_policy_path_id: 45d878d9-4f3e-4e1b-96ac-e4b3755cd08c - position: 1 - delay: 2 - escalation_policy_id: 04bdda34-21a3-4b13-bc15-52a87435d155 - paging_strategy_configuration_strategy: null - paging_strategy_configuration_schedule_strategy: null - created_at: 2025-05-22T06:43:05.542-07:00 - updated_at: 2025-05-22T06:43:05.542-07:00 - notification_target_params: - - id: "102" - type: user - team_members: all - - id: 24ef9127-415b-4197-972d-ec6d92c6b1a0 - type: schedule - team_members: all - - id: CX21345 - type: slack_channel - team_members: all - schema: - $ref: '#/components/schemas/escalation_policy_level_response' - description: escalation level created - "422": - content: - application/vnd.api+json: - example: - notification_target: - - You need at least 1 notification target - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Creates an escalation level for an Escalation Policy - tags: - - EscalationLevelsPolicies - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/escalation_paths/{escalation_policy_path_id}/escalation_levels: - get: - description: List escalation levels - operationId: listEscalationLevelsPaths - parameters: - - explode: false - in: path - name: escalation_policy_path_id - required: true + style: form + - explode: true + in: query + name: "filter[created_at][gte]" + required: false schema: type: string - style: simple + style: form - explode: true in: query - name: include + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[created_at][lte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: sort required: false schema: - type: integer + type: string style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/escalation_policy_level_list' - description: success + $ref: '#/components/schemas/communications_types_response' + description: communications types found security: - bearer_auth: [] - summary: List escalation levels for an Escalation Path + summary: Lists communications types tags: - - EscalationLevelsPath + - Communications Types x-accepts: - application/vnd.api+json post: - description: Creates a new escalation level from provided data - operationId: createEscalationLevelPaths - parameters: - - explode: false - in: path - name: escalation_policy_path_id - required: true - schema: - type: string - style: simple + description: Creates a new communications type from provided data + operationId: createCommunicationsType + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_escalation_policy_level' + $ref: '#/components/schemas/new_communications_type' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 148f8fb7-b629-4e0f-91e2-d61abb585d20 - type: escalation_levels - attributes: - escalation_policy_path_id: 76f577ed-d81a-43bb-8d15-7ab9b3053de8 - position: 2 - delay: 2 - escalation_policy_id: 04bdda34-21a3-4b13-bc15-52a87435d155 - paging_strategy_configuration_strategy: null - paging_strategy_configuration_schedule_strategy: null - created_at: 2025-05-22T06:43:05.965-07:00 - updated_at: 2025-05-22T06:43:05.965-07:00 - notification_target_params: - - id: "102" - type: user - team_members: all - - id: 24ef9127-415b-4197-972d-ec6d92c6b1a0 - type: schedule - team_members: all - - id: CX21345 - type: slack_channel - team_members: all schema: - $ref: '#/components/schemas/escalation_policy_level_response' - description: escalation level created + $ref: '#/components/schemas/communications_type_response' + description: communications type created "422": content: application/vnd.api+json: - example: - notification_target: - - You need at least 1 notification target schema: $ref: '#/components/schemas/errors_list' description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found security: - bearer_auth: [] - summary: Creates an escalation level for an Escalation Path + summary: Creates a communications type tags: - - EscalationLevelsPath + - Communications Types x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_levels/{id}: + /v1/communications/types/{id}: delete: - description: Delete a specific escalation level by id - operationId: deleteEscalationLevel + description: Deletes a communications type + operationId: deleteCommunicationsType parameters: - - explode: false + - description: Communications Type ID + explode: false in: path name: id required: true @@ -8730,50 +5590,26 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: d4a40835-9ceb-49a1-b9fa-128dc07cce6c - type: escalation_levels - attributes: - escalation_policy_path_id: null - position: 1 - delay: 5 - escalation_policy_id: 04bdda34-21a3-4b13-bc15-52a87435d155 - paging_strategy_configuration_strategy: null - paging_strategy_configuration_schedule_strategy: null - created_at: 2025-05-22T06:43:02.542-07:00 - updated_at: 2025-05-22T06:43:07.928-07:00 - notification_target_params: - - id: "106" - type: user - team_members: all - schema: - $ref: '#/components/schemas/escalation_policy_level_response' - description: escalation level deleted + description: communications type deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications type not found security: - bearer_auth: [] - summary: Delete an escalation level + summary: Deletes a communications type tags: - - EscalationLevels + - Communications Types x-accepts: - application/vnd.api+json get: - description: Retrieves a specific escalation level by id - operationId: getEscalationLevel + description: Shows details of a communications type + operationId: getCommunicationsType parameters: - - explode: false + - description: Communications Type ID + explode: false in: path name: id required: true @@ -8784,48 +5620,28 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: d4a40835-9ceb-49a1-b9fa-128dc07cce6c - type: escalation_levels - attributes: - escalation_policy_path_id: null - position: 1 - delay: 5 - escalation_policy_id: 04bdda34-21a3-4b13-bc15-52a87435d155 - paging_strategy_configuration_strategy: null - paging_strategy_configuration_schedule_strategy: null - created_at: 2025-05-22T06:43:02.542-07:00 - updated_at: 2025-05-22T06:43:02.542-07:00 - notification_target_params: - - id: "106" - type: user - team_members: all schema: - $ref: '#/components/schemas/escalation_policy_level_response' - description: escalation level found + $ref: '#/components/schemas/communications_type_response' + description: communications type found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: communications type not found security: - bearer_auth: [] - summary: Retrieves an escalation level + summary: Shows a communications type tags: - - EscalationLevels + - Communications Types x-accepts: - application/vnd.api+json - put: - description: Update a specific escalation level by id - operationId: updateEscalationLevel + patch: + description: Updates a communications type + operationId: updateCommunicationsType parameters: - - explode: false + - description: Communications Type ID + explode: false in: path name: id required: true @@ -8836,71 +5652,48 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_escalation_policy_level' + $ref: '#/components/schemas/update_communications_type' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: d4a40835-9ceb-49a1-b9fa-128dc07cce6c - type: escalation_levels - attributes: - escalation_policy_path_id: null - position: 1 - delay: 5 - escalation_policy_id: 04bdda34-21a3-4b13-bc15-52a87435d155 - paging_strategy_configuration_strategy: null - paging_strategy_configuration_schedule_strategy: null - created_at: 2025-05-22T06:43:02.542-07:00 - updated_at: 2025-05-22T06:43:02.542-07:00 - notification_target_params: - - id: CX21345 - type: slack_channel - team_members: all schema: - $ref: '#/components/schemas/escalation_policy_level_response' - description: escalation policy updated with notification_target set with - slack_channel_id instead of slack_channel uuid - "404": + $ref: '#/components/schemas/communications_type_response' + description: communications type updated + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: invalid request security: - bearer_auth: [] - summary: Update an escalation level + summary: Updates a communications type tags: - - EscalationLevels + - Communications Types x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_policies/{escalation_policy_id}/escalation_paths: + /v1/custom_fields/{custom_field_id}/options: get: - description: List escalation paths - operationId: listEscalationPaths + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. List custom field\ + \ options" + operationId: listCustomFieldOptions parameters: - explode: false in: path - name: escalation_policy_id + name: custom_field_id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: escalation_policy_levels" - explode: true + - explode: true in: query name: include required: false schema: - enum: - - escalation_policy_levels type: string style: form - explode: true @@ -8917,27 +5710,43 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[value]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[color]" + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/escalation_policy_path_list' + $ref: '#/components/schemas/custom_field_option_list' description: success security: - bearer_auth: [] - summary: List escalation paths + summary: "[DEPRECATED] List custom field options" tags: - - EscalationPaths + - "[DEPRECATED] CustomFieldOptions" x-accepts: - application/vnd.api+json post: - description: Creates a new escalation path from provided data - operationId: createEscalationPath + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Creates a new custom\ + \ field option from provided data" + operationId: createCustomFieldOption parameters: - explode: false in: path - name: escalation_policy_id + name: custom_field_id required: true schema: type: string @@ -8946,75 +5755,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_escalation_policy_path' + $ref: '#/components/schemas/new_custom_field_option' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 2b9db609-5df9-4975-986d-3d3f394f0da5 - type: escalation_paths - attributes: - name: Test EP Path - default: false - notification_type: quiet - escalation_policy_id: 736eac36-5ed1-4c52-beb0-b91f8a152f02 - match_mode: match-all-rules - position: 1 - repeat: true - repeat_count: 3 - initial_delay: 0 - created_at: 2025-05-22T06:43:10.426-07:00 - updated_at: 2025-05-22T06:43:10.460-07:00 - rules: - - rule_type: alert_urgency - urgency_ids: - - a2d9b129-ff66-4911-85df-ee2f87cbeeca - - rule_type: working_hour - within_working_hour: true - - rule_type: json_path - json_path: $.title - operator: is - value: Test - relationships: - escalation_levels: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_path_response' - description: escalation path created + $ref: '#/components/schemas/custom_field_option_response' + description: custom_field_option created "422": content: application/vnd.api+json: - example: - base: - - You need at least 1 escalation path condition. schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an escalation path + summary: "[DEPRECATED] Creates a custom field option" tags: - - EscalationPaths + - "[DEPRECATED] CustomFieldOptions" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/escalation_paths/{id}: + /v1/custom_field_options/{id}: delete: - description: Delete a specific escalation path by id - operationId: deleteEscalationPath + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ + \ Custom Field Option by id" + operationId: deleteCustomFieldOption parameters: - explode: false in: path @@ -9027,52 +5802,27 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: e59f7e30-d371-4122-a361-a7b2b845167b - type: escalation_paths - attributes: - name: Eum sit enim quaerat. - default: false - notification_type: audible - escalation_policy_id: 736eac36-5ed1-4c52-beb0-b91f8a152f02 - match_mode: match-all-rules - position: 1 - repeat: false - repeat_count: 1 - initial_delay: 0 - created_at: 2025-05-22T06:43:09.597-07:00 - updated_at: 2025-05-22T06:43:12.298-07:00 - rules: - - rule_type: alert_urgency - urgency_ids: - - 3caea09b-6575-43a4-820e-de0e25fd831f - relationships: - escalation_levels: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_path_response' - description: escalation path deleted + $ref: '#/components/schemas/custom_field_option_response' + description: custom_field_option deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an escalation path + summary: "[DEPRECATED] Delete a custom field option" tags: - - EscalationPaths + - "[DEPRECATED] CustomFieldOptions" x-accepts: - application/vnd.api+json get: - description: Retrieves a specific escalation path by id - operationId: getEscalationPath + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ + \ custom field option by id" + operationId: getCustomFieldOption parameters: - explode: false in: path @@ -9081,66 +5831,31 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: escalation_policy_levels" - explode: true - in: query - name: include - required: false - schema: - enum: - - escalation_policy_levels - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: e59f7e30-d371-4122-a361-a7b2b845167b - type: escalation_paths - attributes: - name: Eum sit enim quaerat. - default: false - notification_type: audible - escalation_policy_id: 736eac36-5ed1-4c52-beb0-b91f8a152f02 - match_mode: match-all-rules - position: 1 - repeat: false - repeat_count: 1 - initial_delay: 0 - created_at: 2025-05-22T06:43:09.597-07:00 - updated_at: 2025-05-22T06:43:09.597-07:00 - rules: - - rule_type: alert_urgency - urgency_ids: - - 3caea09b-6575-43a4-820e-de0e25fd831f - relationships: - escalation_levels: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_path_response' - description: escalation path found + $ref: '#/components/schemas/custom_field_option_response' + description: custom_field_option found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an escalation path + summary: "[DEPRECATED] Retrieves a custom field option" tags: - - EscalationPaths + - "[DEPRECATED] CustomFieldOptions" x-accepts: - application/vnd.api+json put: - description: Update a specific escalation path by id - operationId: updateEscalationPath + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ + \ custom field option by id" + operationId: updateCustomFieldOption parameters: - explode: false in: path @@ -9153,73 +5868,58 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_escalation_policy_path' + $ref: '#/components/schemas/update_custom_field_option' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: e59f7e30-d371-4122-a361-a7b2b845167b - type: escalation_paths - attributes: - name: Eum sit enim quaerat. - default: false - notification_type: quiet - escalation_policy_id: 736eac36-5ed1-4c52-beb0-b91f8a152f02 - match_mode: match-all-rules - position: 1 - repeat: false - repeat_count: 1 - initial_delay: 0 - created_at: 2025-05-22T06:43:09.597-07:00 - updated_at: 2025-05-22T06:43:11.718-07:00 - rules: - - rule_type: alert_urgency - urgency_ids: - - a2d9b129-ff66-4911-85df-ee2f87cbeeca - relationships: - escalation_levels: - data: [] schema: - $ref: '#/components/schemas/escalation_policy_path_response' - description: escalation policy updated + $ref: '#/components/schemas/custom_field_option_response' + description: custom_field_option updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an escalation path + summary: "[DEPRECATED] Update a custom field option" tags: - - EscalationPaths + - "[DEPRECATED] CustomFieldOptions" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_fields/{form_field_id}/options: + /v1/custom_fields: get: - description: List form_field_options - operationId: listFormFieldOptions + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. List Custom fields" + operationId: listCustomFields parameters: - - explode: false - in: path - name: form_field_id - required: true + - description: "comma separated if needed. eg: options" + explode: true + in: query + name: include + required: false schema: + enum: + - options type: string - style: simple - - explode: true + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: include + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true @@ -9238,14 +5938,56 @@ paths: style: form - explode: true in: query - name: "filter[value]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[color]" + name: "filter[label]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[kind]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[enabled]" + required: false + schema: + type: boolean + 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 @@ -9255,88 +5997,60 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/form_field_option_list' + $ref: '#/components/schemas/custom_field_list' description: success security: - bearer_auth: [] - summary: List FormField Options + summary: "[DEPRECATED] List Custom Fields" tags: - - FormFieldOptions + - "[DEPRECATED] CustomFields" x-accepts: - application/vnd.api+json post: - description: Creates a new form_field_option from provided data - operationId: createFormFieldOption - parameters: - - explode: false - in: path - name: form_field_id - required: true - schema: - type: string - style: simple + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Creates a new custom\ + \ field from provided data" + operationId: createCustomField + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_field_option' + $ref: '#/components/schemas/new_custom_field' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: aa5d9cae-edc1-4008-9921-0b0f808bce35 - type: form_field_options - attributes: - form_field_id: da6f3807-8b76-48bb-b02f-2c491318c519 - value: Test option value - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:43:13.904-07:00 - created_at: 2025-05-22T06:43:13.904-07:00 - relationships: - form_field: - data: - id: da6f3807-8b76-48bb-b02f-2c491318c519 - type: form_fields schema: - $ref: '#/components/schemas/form_field_option_response' - description: form_field_option created + $ref: '#/components/schemas/custom_field_response' + description: custom_field created "422": content: application/vnd.api+json: - example: - errors: - - title: Value can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates FormField Options + summary: "[DEPRECATED] Creates a Custom Field" tags: - - FormFieldOptions + - "[DEPRECATED] CustomFields" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_field_options/{id}: + /v1/custom_fields/{id}: delete: - description: Delete a specific form_field_option by id - operationId: deleteFormFieldOption + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ + \ custom field by id" + operationId: deleteCustomField parameters: - explode: false in: path @@ -9349,47 +6063,27 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: dfb6ced6-d088-4a8f-95f2-b73a5aa7eca5 - type: form_field_options - attributes: - form_field_id: da6f3807-8b76-48bb-b02f-2c491318c519 - value: Rem quae repellat assumenda. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:43:15.717-07:00 - created_at: 2025-05-22T06:43:13.739-07:00 - relationships: - form_field: - data: - id: da6f3807-8b76-48bb-b02f-2c491318c519 - type: form_fields schema: - $ref: '#/components/schemas/form_field_option_response' - description: form_field_option deleted + $ref: '#/components/schemas/custom_field_response' + description: custom_field deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete FormField Options + summary: "[DEPRECATED] Delete a Custom Field" tags: - - FormFieldOptions + - "[DEPRECATED] CustomFields" x-accepts: - application/vnd.api+json get: - description: Retrieves a specific form_field_option by id - operationId: getFormFieldOption - parameters: + deprecated: true + description: Retrieves a specific custom_field by id + operationId: getCustomField + parameters: - explode: false in: path name: id @@ -9397,50 +6091,41 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: options" + explode: true + in: query + name: include + required: false + schema: + enum: + - options + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: dfb6ced6-d088-4a8f-95f2-b73a5aa7eca5 - type: form_field_options - attributes: - form_field_id: da6f3807-8b76-48bb-b02f-2c491318c519 - value: Rem quae repellat assumenda. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:43:13.739-07:00 - created_at: 2025-05-22T06:43:13.739-07:00 - relationships: - form_field: - data: - id: da6f3807-8b76-48bb-b02f-2c491318c519 - type: form_fields schema: - $ref: '#/components/schemas/form_field_option_response' - description: form_field_option found + $ref: '#/components/schemas/custom_field_response' + description: custom_field found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves FormField Options + summary: "[DEPRECATED] Retrieves a Custom Field" tags: - - FormFieldOptions + - "[DEPRECATED] CustomFields" x-accepts: - application/vnd.api+json put: - description: Update a specific form_field_option by id - operationId: updateFormFieldOption + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ + \ custom field by id" + operationId: updateCustomField parameters: - explode: false in: path @@ -9453,86 +6138,107 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_field_option' + $ref: '#/components/schemas/update_custom_field' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: dfb6ced6-d088-4a8f-95f2-b73a5aa7eca5 - type: form_field_options - attributes: - form_field_id: da6f3807-8b76-48bb-b02f-2c491318c519 - value: Test update option value - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:43:15.164-07:00 - created_at: 2025-05-22T06:43:13.739-07:00 - relationships: - form_field: - data: - id: da6f3807-8b76-48bb-b02f-2c491318c519 - type: form_fields schema: - $ref: '#/components/schemas/form_field_option_response' - description: form_field_option updated + $ref: '#/components/schemas/custom_field_response' + description: custom_field updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update FormField Options + summary: "[DEPRECATED] Update a Custom Field" tags: - - FormFieldOptions + - "[DEPRECATED] CustomFields" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_field_placements/{form_field_placement_id}/conditions: + /v1/custom_forms: get: - description: List form_field_placement_conditions - operationId: listFormFieldPlacementConditions + description: List custom forms + operationId: listCustomForms parameters: - - explode: false - in: path - name: form_field_placement_id - required: true + - 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: simple + style: form - explode: true in: query - name: include + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[slug]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[command]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[form_field_id]" + 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: sort required: false schema: type: string @@ -9542,236 +6248,167 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/form_field_placement_condition_list' - description: success + $ref: '#/components/schemas/custom_form_list' + description: custom_form found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: List Form Set Conditions + summary: List custom forms tags: - - FormFieldPlacementConditions + - CustomForms x-accepts: - application/vnd.api+json post: - description: Creates a new form_field_placement_condition from provided data - operationId: createFormFieldPlacementCondition - parameters: - - explode: false - in: path - name: form_field_placement_id - required: true - schema: - type: string - style: simple + description: Creates a new custom form from provided data + operationId: createCustomForm + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_field_placement_condition' + $ref: '#/components/schemas/new_custom_form' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 83c59965-29b2-42c1-804d-142f8f14754b - type: form_field_placement_conditions - attributes: - form_field_placement_id: 415f64ec-278d-4d13-a683-4f2bd8d01899 - conditioned: placement - position: 2 - form_field_id: 9e33a7e3-c315-4abe-815f-d9826199acdd - comparison: equal - values: - - test schema: - $ref: '#/components/schemas/form_field_placement_condition_response' - description: form_field_placement_condition created + $ref: '#/components/schemas/custom_form_response' + description: custom_form created "422": content: application/vnd.api+json: - example: - errors: - - title: can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Form Set Condition + summary: Creates a custom form tags: - - FormFieldPlacementConditions + - CustomForms x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_field_placement_conditions/{id}: + /v1/custom_forms/{id}: delete: - description: Delete a specific form_field_placement_condition by id - operationId: deleteFormFieldPlacementCondition + description: Delete a specific custom form by id + operationId: deleteCustomForm parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 8ff731c0-4e50-407a-87de-6a9a0d294888 - type: form_field_placement_conditions - attributes: - form_field_placement_id: 415f64ec-278d-4d13-a683-4f2bd8d01899 - conditioned: placement - position: 1 - form_field_id: fc57a35e-3eae-4bb0-a9b1-5a53b92e93b7 - comparison: equal - values: - - test schema: - $ref: '#/components/schemas/form_field_placement_condition_response' - description: form_field_placement_condition deleted + $ref: '#/components/schemas/custom_form_response' + description: custom_form found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Form Set Condition + summary: Delete a custom form tags: - - FormFieldPlacementConditions + - CustomForms x-accepts: - application/vnd.api+json get: - description: Retrieves a specific form_field_placement_condition by id - operationId: getFormFieldPlacementCondition + description: Retrieves a specific custom form by id + operationId: getCustomForm parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 8ff731c0-4e50-407a-87de-6a9a0d294888 - type: form_field_placement_conditions - attributes: - form_field_placement_id: 415f64ec-278d-4d13-a683-4f2bd8d01899 - conditioned: placement - position: 1 - form_field_id: fc57a35e-3eae-4bb0-a9b1-5a53b92e93b7 - comparison: equal - values: - - test schema: - $ref: '#/components/schemas/form_field_placement_condition_response' - description: form_field_placement_condition found + $ref: '#/components/schemas/custom_form_response' + description: custom_form found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a Form Set Condition + summary: Retrieves a custom form tags: - - FormFieldPlacementConditions + - CustomForms x-accepts: - application/vnd.api+json put: - description: Update a specific form_field_placement_condition by id - operationId: updateFormFieldPlacementCondition + description: Update a specific custom form by id + operationId: updateCustomForm parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_field_placement_condition' + $ref: '#/components/schemas/update_custom_form' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 8ff731c0-4e50-407a-87de-6a9a0d294888 - type: form_field_placement_conditions - attributes: - form_field_placement_id: 415f64ec-278d-4d13-a683-4f2bd8d01899 - conditioned: placement - position: 1 - form_field_id: fc57a35e-3eae-4bb0-a9b1-5a53b92e93b7 - comparison: equal - values: - - bar schema: - $ref: '#/components/schemas/form_field_placement_condition_response' - description: form_field_placement_condition updated + $ref: '#/components/schemas/custom_form_response' + description: custom_form updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a Form Set Condition + summary: Update a custom form tags: - - FormFieldPlacementConditions + - CustomForms x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_fields/{form_field_id}/placements: + /v1/dashboards/{dashboard_id}/panels: get: - description: List form_field_placements - operationId: listFormFieldPlacements + description: List dashboard panels + operationId: listDashboardPanels parameters: - explode: false in: path - name: form_field_id + name: dashboard_id required: true schema: type: string @@ -9797,34 +6434,27 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[form_field_id]" - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/form_field_placement_list' + $ref: '#/components/schemas/dashboard_panel_list' description: success security: - bearer_auth: [] - summary: List Form Field Placements + summary: List dashboard panels tags: - - FormFieldPlacements + - DashboardPanels x-accepts: - application/vnd.api+json post: - description: Creates a new form_field_placement from provided data - operationId: createFormFieldPlacement + description: Creates a new dashboard panel from provided data + operationId: createDashboardPanel parameters: - explode: false in: path - name: form_field_id + name: dashboard_id required: true schema: type: string @@ -9833,59 +6463,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_field_placement' + $ref: '#/components/schemas/new_dashboard_panel' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 493ba2c9-12c6-42b1-b3b6-84878458e33e - type: form_field_placements - attributes: - form_field_id: d9fe205c-fb60-41d6-9ada-5f79224997c7 - form_set_id: 38512fa0-15de-4a5b-89a6-da848d57eabe - form: web_update_incident_form - position: 1 - required: false - placement_operator: and - required_operator: and schema: - $ref: '#/components/schemas/form_field_placement_response' - description: form_field_placement created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Form "blah"is not a valid form - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/dashboard_panel_response' + description: dashboard panel created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Form Field Placement + summary: Creates a dashboard panel tags: - - FormFieldPlacements + - DashboardPanels x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_field_placements/{id}: - delete: - description: Delete a specific form_field_placement by id - operationId: deleteFormFieldPlacement + /v1/dashboard_panels/{id}/duplicate: + post: + description: Duplicates a dashboard panel + operationId: duplicateDashboardPanel parameters: - explode: false in: path @@ -9895,44 +6499,29 @@ paths: type: string style: simple responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: 3e8bafac-7f79-400a-8737-7410f59bea54 - type: form_field_placements - attributes: - form_field_id: d9fe205c-fb60-41d6-9ada-5f79224997c7 - form_set_id: 38512fa0-15de-4a5b-89a6-da848d57eabe - form: web_new_incident_form - position: 1 - required: false - placement_operator: and - required_operator: and schema: - $ref: '#/components/schemas/form_field_placement_response' - description: form_field_placement deleted - "404": + $ref: '#/components/schemas/dashboard_panel_response' + description: dashboard panel created + "401": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Delete a Form Field Placement + summary: Duplicates a dashboard panel tags: - - FormFieldPlacements + - DashboardPanels x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific form_field_placement by id - operationId: getFormFieldPlacement + /v1/dashboard_panels/{id}: + delete: + description: Delete a specific dashboard panel by id + operationId: deleteDashboardPanel parameters: - explode: false in: path @@ -9945,41 +6534,70 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 3e8bafac-7f79-400a-8737-7410f59bea54 - type: form_field_placements - attributes: - form_field_id: d9fe205c-fb60-41d6-9ada-5f79224997c7 - form_set_id: 38512fa0-15de-4a5b-89a6-da848d57eabe - form: web_new_incident_form - position: 1 - required: false - placement_operator: and - required_operator: and schema: - $ref: '#/components/schemas/form_field_placement_response' - description: form_field_placement found - "404": + $ref: '#/components/schemas/dashboard_panel_response' + description: dashboard panel deleted + security: + - bearer_auth: [] + summary: Delete a dashboard panel + tags: + - DashboardPanels + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific dashboard panel by id + operationId: getDashboardPanel + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - description: "Date range for panel data, ISO8601 timestamps separated by the\ + \ word 'to'. Ex: '2022-06-19T11:28:46.029Z to 2022-07-18T21:58:46.029Z'." + explode: true + in: query + name: range + required: false + schema: + type: string + style: form + - description: "The time period to group data by. Accepts 'day', 'week', and\ + \ 'month'" + explode: true + in: query + name: period + required: false + schema: + type: string + style: form + - description: The time zone to use for period + explode: true + in: query + name: time_zone + required: false + schema: + type: string + style: form + responses: + "200": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/dashboard_panel_response' + description: dashboard panel found security: - bearer_auth: [] - summary: Retrieves a Form Field Placement + summary: Retrieves a dashboard panel tags: - - FormFieldPlacements + - DashboardPanels x-accepts: - application/vnd.api+json put: - description: Update a specific form_field_placement by id - operationId: updateFormFieldPlacement + description: Update a specific dashboard panel by id + operationId: updateDashboardPanel parameters: - explode: false in: path @@ -9992,62 +6610,36 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_field_placement' + $ref: '#/components/schemas/update_dashboard_panel' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3e8bafac-7f79-400a-8737-7410f59bea54 - type: form_field_placements - attributes: - form_field_id: d9fe205c-fb60-41d6-9ada-5f79224997c7 - form_set_id: 38512fa0-15de-4a5b-89a6-da848d57eabe - form: web_new_incident_form - position: 5 - required: false - placement_operator: and - required_operator: and - schema: - $ref: '#/components/schemas/form_field_placement_response' - description: form_field_placement updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/dashboard_panel_response' + description: dashboard panel updated security: - bearer_auth: [] - summary: Update a Form Field Placement + summary: Update a dashboard panel tags: - - FormFieldPlacements + - DashboardPanels x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_fields/{form_field_id}/positions: + /v1/dashboards: get: - description: List form field positions - operationId: listFormFieldPositions + description: List dashboards + operationId: listDashboards parameters: - - explode: false - in: path - name: form_field_id - required: true - schema: - type: string - style: simple - - explode: true + - description: "comma separated if needed. eg: panels" + explode: true in: query name: include required: false schema: + enum: + - panels type: string style: form - explode: true @@ -10064,750 +6656,449 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[form]" - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/form_field_position_list' + $ref: '#/components/schemas/dashboard_list' description: success security: - bearer_auth: [] - summary: List FormField Position + summary: List dashboards tags: - - FormFieldPositions + - Dashboards x-accepts: - application/vnd.api+json post: - description: Creates a new form field_position from provided data - operationId: createFormFieldPosition - parameters: - - explode: false - in: path - name: form_field_id - required: true - schema: - type: string - style: simple + description: Creates a new dashboard from provided data + operationId: createDashboard + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_field_position' + $ref: '#/components/schemas/new_dashboard' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 17dd3330-eaed-4b37-a0a7-361c964675da - type: form_field_positions - attributes: - form_field_id: efa93b04-0267-4b94-9830-3dd525969adf - form: web_new_incident_form - position: 2 schema: - $ref: '#/components/schemas/form_field_position_response' - description: form_field_position created + $ref: '#/components/schemas/dashboard_response' + description: dashboard created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates FormField Positions + summary: Creates a dashboard tags: - - FormFieldPositions + - Dashboards x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_field_positions/{id}: + /v1/dashboards/{id}/duplicate: + post: + description: Duplicates a dashboard + operationId: duplicateDashboard + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/dashboard_response' + description: dashboard created + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Duplicates a dashboard + tags: + - Dashboards + x-accepts: + - application/vnd.api+json + /v1/dashboards/{id}/set_default: + post: + description: Sets dashboard to user default + operationId: setDefaultDashboard + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/dashboard_response' + description: dashboard found by slug + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Sets dashboard to user default + tags: + - Dashboards + x-accepts: + - application/vnd.api+json + /v1/dashboards/{id}: delete: - description: Delete a specific form_field position by id - operationId: deleteFormFieldPosition + description: Delete a specific dashboard by id + operationId: deleteDashboard parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 17dd3330-eaed-4b37-a0a7-361c964675da - type: form_field_positions - attributes: - form_field_id: efa93b04-0267-4b94-9830-3dd525969adf - form: web_new_incident_form - position: 1 schema: - $ref: '#/components/schemas/form_field_position_response' - description: form_field_position deleted + $ref: '#/components/schemas/dashboard_response' + description: dashboard deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a FormFieldPosition + summary: Delete a dashboard tags: - - FormFieldPositions + - Dashboards x-accepts: - application/vnd.api+json get: - description: Retrieves a specific form field_position by id - operationId: getFormFieldPosition + description: Retrieves a specific dashboard by id + operationId: getDashboard parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - description: "comma separated if needed. eg: panels" + explode: true + in: query + name: include + required: false + schema: + enum: + - panels + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 17dd3330-eaed-4b37-a0a7-361c964675da - type: form_field_positions - attributes: - form_field_id: efa93b04-0267-4b94-9830-3dd525969adf - form: web_new_incident_form - position: 1 schema: - $ref: '#/components/schemas/form_field_position_response' - description: form_field_position found + $ref: '#/components/schemas/dashboard_response' + description: dashboard found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a FormFieldPosition + summary: Retrieves a dashboard tags: - - FormFieldPositions + - Dashboards x-accepts: - application/vnd.api+json put: - description: Update a specific form_field position by id - operationId: updateFormFieldPosition + description: Update a specific dashboard by id + operationId: updateDashboard parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_field_position' + $ref: '#/components/schemas/update_dashboard' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 17dd3330-eaed-4b37-a0a7-361c964675da - type: form_field_positions - attributes: - form_field_id: efa93b04-0267-4b94-9830-3dd525969adf - form: web_new_incident_form - position: 2 schema: - $ref: '#/components/schemas/form_field_position_response' - description: form_field_position updated + $ref: '#/components/schemas/dashboard_response' + description: dashboard updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a FormFieldPosition + summary: Update a dashboard tags: - - FormFieldPositions + - Dashboards x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_fields: + /v1/edge_connectors/{edge_connector_id}/actions: get: - description: List form_fields - operationId: listFormFields + operationId: listEdgeConnectorActions parameters: - - description: "comma separated if needed. eg: options,positions" - explode: true - in: query - name: include - required: false - schema: - enum: - - options - - positions - 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 - - explode: true - in: query - name: "filter[search]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug]" - 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[kind]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[enabled]" - required: false - schema: - type: boolean - 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 + - description: Edge connector ID + explode: false + in: path + name: edge_connector_id + required: true schema: type: string - style: form + style: simple responses: "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/form_field_list' - description: success + description: Returns list of actions + "404": + description: Edge connector not found security: - bearer_auth: [] - summary: List Form Fields + summary: List edge connector actions tags: - - FormFields + - Edge Connector Actions x-accepts: - - application/vnd.api+json + - application/json post: - description: Creates a new form_field from provided data - operationId: createFormField - parameters: [] + operationId: createEdgeConnectorAction + parameters: + - description: Edge connector ID + explode: false + in: path + name: edge_connector_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_field' - required: true + $ref: '#/components/schemas/createEdgeConnectorAction_request' responses: "201": - content: - application/vnd.api+json: - example: - data: - id: 46be6446-dee6-4f6d-9fe3-69808b354a35 - type: form_fields - attributes: - team_id: 89 - slug: test-custom-field - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Test custom field - description: null - shown: - - web_new_incident_form - - slack_new_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:43:31.472-07:00 - created_at: 2025-05-22T06:43:31.472-07:00 - relationships: - options: - data: [] - positions: - data: - - id: b1e7056c-47b2-4950-8950-5627f6a9c0a2 - type: form_field_positions - - id: cb1e6162-a86c-4773-8ddc-3e7eb5015fac - type: form_field_positions - schema: - $ref: '#/components/schemas/form_field_response' - description: form_field created + description: Action created "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: Invalid parameters security: - bearer_auth: [] - summary: Creates a Form Field + summary: Create edge connector action tags: - - FormFields + - Edge Connector Actions x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/form_fields/{id}: + - application/json + /v1/edge_connectors/{edge_connector_id}/actions/{id}: delete: - description: Delete a specific form_field by id - operationId: deleteFormField + operationId: deleteEdgeConnectorAction parameters: + - description: Edge connector ID + explode: false + in: path + name: edge_connector_id + required: true + schema: + type: string + style: simple - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 2670ce8f-0b59-420c-9380-5e56c3287e80 - type: form_fields - attributes: - team_id: 89 - slug: aut-beatae-est-velit - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Aut beatae est velit. - description: Est iure blanditiis necessitatibus. - shown: [] - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:43:34.127-07:00 - created_at: 2025-05-22T06:43:27.989-07:00 - relationships: - options: - data: [] - positions: - data: [] - schema: - $ref: '#/components/schemas/form_field_response' - description: form_field deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Action deleted security: - bearer_auth: [] - summary: Delete a Form Field + summary: Delete edge connector action tags: - - FormFields + - Edge Connector Actions x-accepts: - - application/vnd.api+json + - application/json get: - description: Retrieves a specific form_field by id - operationId: getFormField + operationId: getEdgeConnectorAction parameters: - - explode: false + - description: Edge connector ID + explode: false in: path - name: id + name: edge_connector_id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: options,positions" - explode: true - in: query - name: include - required: false + - explode: false + in: path + name: id + required: true schema: - enum: - - options - - positions - type: string - style: form + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 2670ce8f-0b59-420c-9380-5e56c3287e80 - type: form_fields - attributes: - team_id: 89 - slug: aut-beatae-est-velit - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Aut beatae est velit. - description: Est iure blanditiis necessitatibus. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:43:27.989-07:00 - created_at: 2025-05-22T06:43:27.989-07:00 - relationships: - options: - data: - - id: 616b2408-10ad-493b-aeeb-125b35919488 - type: form_field_options - - id: 4e3295db-3e0c-41d2-92ff-f7df779c113a - type: form_field_options - positions: - data: - - id: 7a5dc587-ab2b-4edd-ac85-f4b8232cebc6 - type: form_field_positions - - id: e8052bf6-13b3-46aa-b2f4-79d48c209260 - type: form_field_positions - - id: c6954882-a5cc-48a3-909d-0607e0a729e3 - type: form_field_positions - - id: 024a03a1-c4b1-4751-b28e-c5392fc5cb4f - type: form_field_positions - schema: - $ref: '#/components/schemas/form_field_response' - description: form_field found + description: Returns action details "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Action not found security: - bearer_auth: [] - summary: Retrieves a Form Field + summary: Show edge connector action tags: - - FormFields + - Edge Connector Actions x-accepts: - - application/vnd.api+json - put: - description: Update a specific form_field by id - operationId: updateFormField + - application/json + patch: + operationId: updateEdgeConnectorAction parameters: + - description: Edge connector ID + explode: false + in: path + name: edge_connector_id + required: true + schema: + type: string + style: simple - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_field' - required: true + $ref: '#/components/schemas/updateEdgeConnectorAction_request' responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 2670ce8f-0b59-420c-9380-5e56c3287e80 - type: form_fields - attributes: - team_id: 89 - slug: test-update-custom-field - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Test update custom field - description: Est iure blanditiis necessitatibus. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: false - enabled: true - updated_at: 2025-05-22T06:43:33.125-07:00 - created_at: 2025-05-22T06:43:27.989-07:00 - relationships: - options: - data: - - id: 616b2408-10ad-493b-aeeb-125b35919488 - type: form_field_options - - id: 4e3295db-3e0c-41d2-92ff-f7df779c113a - type: form_field_options - positions: - data: - - id: 7a5dc587-ab2b-4edd-ac85-f4b8232cebc6 - type: form_field_positions - - id: e8052bf6-13b3-46aa-b2f4-79d48c209260 - type: form_field_positions - - id: c6954882-a5cc-48a3-909d-0607e0a729e3 - type: form_field_positions - - id: 024a03a1-c4b1-4751-b28e-c5392fc5cb4f - type: form_field_positions - schema: - $ref: '#/components/schemas/form_field_response' - description: form_field updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Action updated security: - bearer_auth: [] - summary: Update a Form Field + summary: Update edge connector action tags: - - FormFields + - Edge Connector Actions x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/form_sets/{form_set_id}/conditions: + - application/json + /v1/edge_connectors: get: - description: List form_set_conditions - operationId: listFormSetConditions + operationId: listEdgeConnectors parameters: - - explode: false - in: path - name: form_set_id - required: true - schema: - type: string - style: simple - explode: true in: query - name: include + name: page required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "page[number]" + name: per_page required: false schema: type: integer style: form - - explode: true + - description: Filter by status (active/paused) + explode: true in: query - name: "page[size]" + name: status required: false schema: - type: integer + type: string style: form - - explode: true + - description: Filter by name (partial match) + explode: true in: query - name: "filter[form_field_id]" + name: name required: false schema: type: string style: form responses: "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/form_set_condition_list' - description: success + description: Filters by status security: - bearer_auth: [] - summary: List Form Set Conditions + summary: List edge connectors tags: - - FormSetConditions + - Edge Connectors x-accepts: - - application/vnd.api+json + - application/json post: - description: Creates a new form_set_condition from provided data - operationId: createFormSetCondition - parameters: - - explode: false - in: path - name: form_set_id - required: true - schema: - type: string - style: simple + operationId: createEdgeConnector + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_set_condition' - required: true + $ref: '#/components/schemas/createEdgeConnector_request' responses: "201": - content: - application/vnd.api+json: - example: - data: - id: 8ea683bf-4e9c-4a22-81d9-4edae2c073f4 - type: form_set_conditions - attributes: - form_set_id: 3eab3979-dc9d-4797-a76b-a31d52639048 - form_field_id: a2d406bb-4ed6-4a02-9b2d-1f85924a168b - comparison: equal - values: - - test - schema: - $ref: '#/components/schemas/form_set_condition_response' - description: form_set_condition created + description: Edge connector created "422": - content: - application/vnd.api+json: - example: - errors: - - title: Values can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: Invalid parameters security: - bearer_auth: [] - summary: Creates a Form Set Condition + summary: Create edge connector tags: - - FormSetConditions + - Edge Connectors x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/form_set_conditions/{id}: + - application/json + /v1/edge_connectors/{id}: delete: - description: Delete a specific form_set_condition by id - operationId: deleteFormSetCondition + operationId: deleteEdgeConnector parameters: - - explode: false + - description: Edge connector ID + explode: false in: path name: id required: true @@ -10816,43 +7107,19 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 1a5983aa-af9d-4c90-8c14-1d4a70402443 - type: form_set_conditions - attributes: - form_set_id: a09d4223-ea4b-4b79-aa81-b268a8bba991 - form_field_id: 8a50c8e8-b7ec-4b42-b684-79062d4f5075 - comparison: equal - values: - - test - schema: - $ref: '#/components/schemas/form_set_condition_response' - description: form_set_condition deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Edge connector deleted security: - bearer_auth: [] - summary: Delete a Form Set Condition + summary: Delete edge connector tags: - - FormSetConditions + - Edge Connectors x-accepts: - - application/vnd.api+json + - application/json get: - description: Retrieves a specific form_set_condition by id - operationId: getFormSetCondition + operationId: getEdgeConnector parameters: - - explode: false + - description: Edge connector ID + explode: false in: path name: id required: true @@ -10861,43 +7128,21 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 1a5983aa-af9d-4c90-8c14-1d4a70402443 - type: form_set_conditions - attributes: - form_set_id: a09d4223-ea4b-4b79-aa81-b268a8bba991 - form_field_id: 8a50c8e8-b7ec-4b42-b684-79062d4f5075 - comparison: equal - values: - - test - schema: - $ref: '#/components/schemas/form_set_condition_response' - description: form_set_condition found + description: Returns edge connector details "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Edge connector not found security: - bearer_auth: [] - summary: Retrieves a Form Set Condition + summary: Show edge connector tags: - - FormSetConditions + - Edge Connectors x-accepts: - - application/vnd.api+json - put: - description: Update a specific form_set_condition by id - operationId: updateFormSetCondition + - application/json + patch: + operationId: updateEdgeConnector parameters: - - explode: false + - description: Edge connector ID + explode: false in: path name: id required: true @@ -10908,47 +7153,24 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_set_condition' - required: true + $ref: '#/components/schemas/updateEdgeConnector_request' responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 1a5983aa-af9d-4c90-8c14-1d4a70402443 - type: form_set_conditions - attributes: - form_set_id: a09d4223-ea4b-4b79-aa81-b268a8bba991 - form_field_id: 8a50c8e8-b7ec-4b42-b684-79062d4f5075 - comparison: equal - values: - - test update - schema: - $ref: '#/components/schemas/form_set_condition_response' - description: form_set_condition updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: Edge connector updated + "422": + description: Invalid parameters security: - bearer_auth: [] - summary: Update a Form Set Condition + summary: Update edge connector tags: - - FormSetConditions + - Edge Connectors x-content-type: application/vnd.api+json x-accepts: - - application/vnd.api+json - /v1/form_sets: + - application/json + /v1/environments: get: - description: List form_sets - operationId: listFormSets + description: List environments + operationId: listEnvironments parameters: - explode: true in: query @@ -10971,6 +7193,13 @@ paths: 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[slug]" @@ -10980,10 +7209,17 @@ paths: style: form - explode: true in: query - name: "filter[is_default]" + name: "filter[name]" required: false schema: - type: boolean + type: string + style: form + - explode: true + in: query + name: "filter[color]" + required: false + schema: + type: string style: form - explode: true in: query @@ -11013,297 +7249,226 @@ paths: 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/form_set_list' + $ref: '#/components/schemas/environment_list' description: success security: - bearer_auth: [] - summary: List Form Sets + summary: List environments tags: - - FormSets + - Environments x-accepts: - application/vnd.api+json post: - description: Creates a new form_set from provided data - operationId: createFormSet + description: Creates a new environment from provided data + operationId: createEnvironment parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_form_set' + $ref: '#/components/schemas/new_environment' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 35a25922-13a8-4f7f-990b-9505f588009b - type: form_sets - attributes: - name: Test custom form set - slug: test-custom-form-set - is_default: false - forms: - - web_new_incident_form - updated_at: 2025-05-22T06:43:41.010-07:00 - created_at: 2025-05-22T06:43:41.010-07:00 schema: - $ref: '#/components/schemas/form_set_response' - description: form_set created + $ref: '#/components/schemas/environment_response' + description: environment created "422": content: application/vnd.api+json: - example: - errors: - - title: Forms are required (at least one) - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Form Set + summary: Creates an environment tags: - - FormSets + - Environments x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/form_sets/{id}: + /v1/environments/{id}: delete: - description: Delete a specific form_set by id - operationId: deleteFormSet + description: Delete a specific environment by id + operationId: deleteEnvironment parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 8a6b81be-545f-4c58-9526-23769f17cf32 - type: form_sets - attributes: - name: Test - slug: test - is_default: false - forms: - - web_new_incident_form - updated_at: 2025-05-22T06:43:42.801-07:00 - created_at: 2025-05-22T06:43:38.986-07:00 schema: - $ref: '#/components/schemas/form_set_response' - description: form_set deleted + $ref: '#/components/schemas/environment_response' + description: environment deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Form Set + summary: Delete an environment tags: - - FormSets + - Environments x-accepts: - application/vnd.api+json get: - description: Retrieves a specific form_set by id - operationId: getFormSet + description: Retrieves a specific environment by id + operationId: getEnvironment parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 8a6b81be-545f-4c58-9526-23769f17cf32 - type: form_sets - attributes: - name: Test - slug: test - is_default: false - forms: - - web_new_incident_form - updated_at: 2025-05-22T06:43:38.986-07:00 - created_at: 2025-05-22T06:43:38.986-07:00 schema: - $ref: '#/components/schemas/form_set_response' - description: form_set found + $ref: '#/components/schemas/environment_response' + description: environment found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a Form Set + summary: Retrieves an environment tags: - - FormSets + - Environments x-accepts: - application/vnd.api+json put: - description: Update a specific form_set by id - operationId: updateFormSet + description: Update a specific environment by id + operationId: updateEnvironment parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_form_set' + $ref: '#/components/schemas/update_environment' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 8a6b81be-545f-4c58-9526-23769f17cf32 - type: form_sets - attributes: - name: Test update custom form set - slug: test - is_default: false - forms: - - web_new_incident_form - updated_at: 2025-05-22T06:43:42.240-07:00 - created_at: 2025-05-22T06:43:38.986-07:00 schema: - $ref: '#/components/schemas/form_set_response' - description: form_set updated + $ref: '#/components/schemas/environment_response' + description: environment updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a Form Set + summary: Update an environment tags: - - FormSets + - Environments x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/functionalities: + /v1/environments/properties: get: - description: List functionalities - operationId: listFunctionalities + description: List Environment Catalog Properties + operationId: listEnvironmentCatalogProperties parameters: - - explode: true + - description: "comma separated if needed. eg: catalog" + explode: true in: query name: include required: false schema: + enum: + - catalog 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 - - explode: true - in: query - name: "filter[search]" - required: false - schema: - type: string - style: form - - explode: true + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: "filter[name]" + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true in: query - name: "filter[backstage_id]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[cortex_id]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[opslevel_id]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[external_id]" + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "filter[slug]" + name: "filter[kind]" required: false schema: type: string @@ -11336,249 +7501,195 @@ paths: 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/functionality_list' + $ref: '#/components/schemas/catalog_property_list' description: success security: - bearer_auth: [] - summary: List functionalities + summary: List Catalog Properties tags: - - Functionalities + - Environments x-accepts: - application/vnd.api+json post: - description: Creates a new functionality from provided data - operationId: createFunctionality + description: Creates a new Catalog Property from provided data + operationId: createEnvironmentCatalogProperty parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_functionality' + $ref: '#/components/schemas/new_catalog_property' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: d9274925-4e59-44c1-a9ad-2a211f1bf030 - type: functionalities - attributes: - name: Add items to cart - slug: add-items-to-cart - description: Users should be able to add items to cart - public_description: Public description - notify_emails: - - john@rootly.com - - doe@rootly.com - color: '#FFF' - status: operational - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: engineering - backstage_id: null - external_id: d795fe69-acc2-4b30-92c9-3c25cbb92056 - opsgenie_id: 8743a1b2-11da-480e-8493-744660987bef - pagerduty_id: PQ9K7I8 - cortex_id: null - opslevel_id: null - service_now_ci_sys_id: null - environment_ids: - - de57be0d-dccd-48d5-8fb4-56b7ea9fdb4f - service_ids: - - 1b8d8acc-266d-4b43-9fbd-cb2298a86c90 - owners_group_ids: - - 2b8a01ab-f788-4a40-99e7-05ca7ba584d0 - owners_user_ids: - - 128 - incidents_count: 0 - created_at: 2025-05-22T06:43:48.582-07:00 - updated_at: 2025-05-22T06:43:48.582-07:00 schema: - $ref: '#/components/schemas/functionality_response' - description: functionality created + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: exceeds max fields per catalog "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a functionality + summary: Creates a Catalog Property tags: - - Functionalities + - Environments x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/functionalities/{id}: - delete: - description: Delete a specific functionality by id - operationId: deleteFunctionality + /v1/escalation_policies: + get: + description: List escalation policies + operationId: listEscalationPolicies parameters: - - explode: false - in: path - name: id - required: true + - description: "comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths" + explode: true + in: query + name: include + required: false schema: - type: string - style: simple - responses: + enum: + - escalation_policy_levels + - escalation_policy_paths + - groups + - services + type: string + 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 + - description: Filter escalation policies by associated team IDs. Comma-separate + multiple values. + explode: true + in: query + name: "filter[team_ids]" + 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: "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: - example: - data: - id: ba258477-2324-47f9-a3c2-47627ab7d036 - type: functionalities - attributes: - name: Cupiditate sequi suscipit illo. - slug: cupiditate-sequi-suscipit-illo - description: Occaecati voluptatem beatae sint. - public_description: null - notify_emails: [] - color: '#D7E7F5' - status: partial_outage - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: [] - slack_aliases: [] - backstage_id: null - external_id: null - opsgenie_id: null - pagerduty_id: null - cortex_id: null - opslevel_id: null - service_now_ci_sys_id: null - environment_ids: [] - service_ids: [] - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - created_at: 2025-05-22T06:43:44.223-07:00 - updated_at: 2025-05-22T06:43:52.175-07:00 - schema: - $ref: '#/components/schemas/functionality_response' - description: functionality deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/escalation_policy_list' + description: success security: - bearer_auth: [] - summary: Delete a functionality + summary: List escalation policies tags: - - Functionalities + - EscalationPolicies x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific functionality by id - operationId: getFunctionality - parameters: - - explode: false - in: path - name: id + post: + description: Creates a new escalation policy from provided data + operationId: createEscalationPolicy + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_escalation_policy' required: true - schema: - type: string - style: simple responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: ba258477-2324-47f9-a3c2-47627ab7d036 - type: functionalities - attributes: - name: Cupiditate sequi suscipit illo. - slug: cupiditate-sequi-suscipit-illo - description: Occaecati voluptatem beatae sint. - public_description: null - notify_emails: [] - color: '#D7E7F5' - status: partial_outage - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: [] - slack_aliases: [] - backstage_id: null - external_id: null - opsgenie_id: null - pagerduty_id: null - cortex_id: null - opslevel_id: null - service_now_ci_sys_id: null - environment_ids: [] - service_ids: [] - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - created_at: 2025-05-22T06:43:44.223-07:00 - updated_at: 2025-05-22T06:43:44.455-07:00 schema: - $ref: '#/components/schemas/functionality_response' - description: functionality found - "404": + $ref: '#/components/schemas/escalation_policy_response' + description: escalation policy created + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + 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: Retrieves a functionality + summary: Creates an escalation policy tags: - - Functionalities + - EscalationPolicies + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - put: - description: Update a specific functionality by id - operationId: updateFunctionality + /v1/escalation_policies/{id}: + delete: + description: Delete a specific escalation policy by id + operationId: deleteEscalationPolicy parameters: - explode: false in: path @@ -11587,79 +7698,29 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_functionality' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: ba258477-2324-47f9-a3c2-47627ab7d036 - type: functionalities - attributes: - name: Checkout - slug: cupiditate-sequi-suscipit-illo - description: Users should be able to checkout - public_description: Public description updated - notify_emails: - - hello@rootly.com - - world@rootly.com - color: '#000' - status: partial_outage - position: 2 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: leadership - backstage_id: null - external_id: 33bfcc62-cc35-46e6-a270-8c52a56fb358 - opsgenie_id: 8743a1b2-11da-480e-8493-744660987bec - pagerduty_id: PQ9K7I9 - cortex_id: null - opslevel_id: null - service_now_ci_sys_id: null - environment_ids: - - de57be0d-dccd-48d5-8fb4-56b7ea9fdb4f - service_ids: [] - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - created_at: 2025-05-22T06:43:44.223-07:00 - updated_at: 2025-05-22T06:43:50.950-07:00 schema: - $ref: '#/components/schemas/functionality_response' - description: functionality updated + $ref: '#/components/schemas/escalation_policy_response' + description: escalation policy deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a functionality + summary: Delete an escalation policy tags: - - Functionalities - x-content-type: application/vnd.api+json + - EscalationPolicies x-accepts: - application/vnd.api+json - /v1/functionalities/{id}/incidents_chart: get: - description: Get functionality incidents chart - operationId: getFunctionalityIncidentsChart + description: Retrieves a specific escalation policy by id + operationId: getEscalationPolicy parameters: - explode: false in: path @@ -11668,52 +7729,42 @@ paths: schema: type: string style: simple - - explode: true + - description: "comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths" + explode: true in: query - name: period - required: true + name: include + required: false schema: + enum: + - escalation_policy_levels + - escalation_policy_paths + - groups + - services type: string style: form responses: "200": content: application/vnd.api+json: - example: - data: - "2025-03-23 00:00:00 UTC": 0 - "2025-03-30 00:00:00 UTC": 0 - "2025-04-06 00:00:00 UTC": 0 - "2025-04-13 00:00:00 UTC": 0 - "2025-04-20 00:00:00 UTC": 0 - "2025-04-27 00:00:00 UTC": 0 - "2025-05-04 00:00:00 UTC": 0 - "2025-05-11 00:00:00 UTC": 0 - "2025-05-18 00:00:00 UTC": 1 schema: - $ref: '#/components/schemas/incidents_chart_response' - description: success + $ref: '#/components/schemas/escalation_policy_response' + description: escalation policy found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Get functionality incidents chart + summary: Retrieves an escalation policy tags: - - Functionalities + - EscalationPolicies x-accepts: - application/vnd.api+json - /v1/functionalities/{id}/uptime_chart: - get: - description: Get functionality uptime chart - operationId: getFunctionalityUptimeChart + put: + description: Update a specific escalation policy by id + operationId: updateEscalationPolicy parameters: - explode: false in: path @@ -11722,63 +7773,41 @@ paths: schema: type: string style: simple - - explode: true - in: query - name: period - required: false - schema: - type: string - style: form + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_escalation_policy' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - "2025-05-07": 100.0 - "2025-05-08": 100.0 - "2025-05-09": 100.0 - "2025-05-10": 100.0 - "2025-05-11": 100.0 - "2025-05-12": 100.0 - "2025-05-13": 100.0 - "2025-05-14": 100.0 - "2025-05-15": 100.0 - "2025-05-16": 100.0 - "2025-05-17": 100.0 - "2025-05-18": 100.0 - "2025-05-19": 50.0 - "2025-05-20": 0.0 - "2025-05-21": 100.0 - "2025-05-22": 100.0 schema: - $ref: '#/components/schemas/uptime_chart_response' - description: success + $ref: '#/components/schemas/escalation_policy_response' + description: escalation policy updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Get functionality uptime chart + summary: Update an escalation policy tags: - - Functionalities + - EscalationPolicies + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows/{workflow_id}/workflow_tasks: + /v1/escalation_policies/{escalation_policy_id}/escalation_levels: get: - description: List workflow tasks - operationId: listWorkflowTasks + description: List escalation levels + operationId: listEscalationLevels parameters: - explode: false in: path - name: workflow_id + name: escalation_policy_id required: true schema: type: string @@ -11804,48 +7833,118 @@ paths: schema: type: integer style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/escalation_policy_level_list' + description: success + security: + - bearer_auth: [] + summary: List escalation levels for an Escalation Policy + tags: + - EscalationLevelsPolicies + x-accepts: + - application/vnd.api+json + post: + description: Creates a new escalation level from provided data + operationId: createEscalationLevel + parameters: + - explode: false + in: path + name: escalation_policy_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_escalation_policy_level' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/escalation_policy_level_response' + description: escalation level 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: resource not found + security: + - bearer_auth: [] + summary: Creates an escalation level for an Escalation Policy + tags: + - EscalationLevelsPolicies + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/escalation_paths/{escalation_policy_path_id}/escalation_levels: + get: + description: List escalation levels + operationId: listEscalationLevelsPaths + parameters: + - explode: false + in: path + name: escalation_policy_path_id + required: true + schema: + type: string + style: simple - explode: true in: query - name: "filter[search]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[slug]" + name: "page[size]" required: false schema: - type: string + type: integer style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_task_list' + $ref: '#/components/schemas/escalation_policy_level_list' description: success security: - bearer_auth: [] - summary: List workflow tasks + summary: List escalation levels for an Escalation Path tags: - - WorkflowTasks + - EscalationLevelsPath x-accepts: - application/vnd.api+json post: - description: Creates a new workflow task from provided data - operationId: createWorkflowTask + description: Creates a new escalation level from provided data + operationId: createEscalationLevelPaths parameters: - explode: false in: path - name: workflow_id + name: escalation_policy_path_id required: true schema: type: string @@ -11854,62 +7953,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow_task' + $ref: '#/components/schemas/new_escalation_policy_level' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 22343e18-e73b-423c-a04e-0463d47b7ccb - type: workflow_tasks - attributes: - workflow_id: db78d9b1-1f51-47d2-9aab-4e36c94de74e - task_params: - task_type: send_email - from: Rootly - to: - - test@example.com - cc: [] - bcc: [] - subject: Hello from Rootly - preheader: null - body: Hello from Rootly - include_header: true - include_footer: true - custom_logo_url: null - name: My Custom Name - position: 2 - skip_on_failure: false - enabled: true - created_at: 2025-05-22T06:43:56.735-07:00 - updated_at: 2025-05-22T06:43:56.735-07:00 schema: - $ref: '#/components/schemas/workflow_task_response' - description: workflow task created + $ref: '#/components/schemas/escalation_policy_level_response' + description: escalation level created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates a workflow task + summary: Creates an escalation level for an Escalation Path tags: - - WorkflowTasks + - EscalationLevelsPath x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflow_tasks/{id}: + /v1/escalation_levels/{id}: delete: - description: Delete a specific workflow task by id - operationId: deleteWorkflowTask + description: Delete a specific escalation level by id + operationId: deleteEscalationLevel parameters: - explode: false in: path @@ -11922,54 +7998,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a51f11f4-ec6c-4839-91a9-99ad305b070d - type: workflow_tasks - attributes: - workflow_id: db78d9b1-1f51-47d2-9aab-4e36c94de74e - task_params: - task_type: send_email - from: Rootly - to: - - perferendis - cc: [] - bcc: [] - subject: Enim sunt non nemo. - preheader: null - body: Rerum quibusdam quis sit. - include_header: true - include_footer: true - custom_logo_url: null - name: Send an email - position: 1 - skip_on_failure: false - enabled: true - created_at: 2025-05-22T06:43:56.276-07:00 - updated_at: 2025-05-22T06:43:58.662-07:00 schema: - $ref: '#/components/schemas/workflow_task_response' - description: workflow_task deleted + $ref: '#/components/schemas/escalation_policy_level_response' + description: escalation level deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a workflow task + summary: Delete an escalation level tags: - - WorkflowTasks + - EscalationLevels x-accepts: - application/vnd.api+json get: - description: Retrieves a specific workflow_task by id - operationId: getWorkflowTask + description: Retrieves a specific escalation level by id + operationId: getEscalationLevel parameters: - explode: false in: path @@ -11982,54 +8029,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a51f11f4-ec6c-4839-91a9-99ad305b070d - type: workflow_tasks - attributes: - workflow_id: db78d9b1-1f51-47d2-9aab-4e36c94de74e - task_params: - task_type: send_email - from: Rootly - to: - - perferendis - cc: [] - bcc: [] - subject: Enim sunt non nemo. - preheader: null - body: Rerum quibusdam quis sit. - include_header: true - include_footer: true - custom_logo_url: null - name: Send an email - position: 1 - skip_on_failure: false - enabled: true - created_at: 2025-05-22T06:43:56.276-07:00 - updated_at: 2025-05-22T06:43:56.276-07:00 schema: - $ref: '#/components/schemas/workflow_task_response' - description: workflow_task found + $ref: '#/components/schemas/escalation_policy_level_response' + description: escalation level found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a workflow task + summary: Retrieves an escalation level tags: - - WorkflowTasks + - EscalationLevels x-accepts: - application/vnd.api+json put: - description: Update a specific workflow task by id - operationId: updateWorkflowTask + description: Update a specific escalation level by id + operationId: updateEscalationLevel parameters: - explode: false in: path @@ -12042,77 +8060,50 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_workflow_task' + $ref: '#/components/schemas/update_escalation_policy_level' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: a51f11f4-ec6c-4839-91a9-99ad305b070d - type: workflow_tasks - attributes: - workflow_id: db78d9b1-1f51-47d2-9aab-4e36c94de74e - task_params: - task_type: send_email - from: Rootly - to: - - perferendis - cc: [] - bcc: [] - subject: Enim sunt non nemo. - preheader: null - body: updated - include_header: true - include_footer: true - custom_logo_url: null - name: Another name - position: 2 - skip_on_failure: true - enabled: false - created_at: 2025-05-22T06:43:56.276-07:00 - updated_at: 2025-05-22T06:43:58.020-07:00 schema: - $ref: '#/components/schemas/workflow_task_response' - description: workflow_task updated + $ref: '#/components/schemas/escalation_policy_level_response' + description: escalation policy updated with notification_target set with + slack_channel_id instead of slack_channel uuid "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a workflow task + summary: Update an escalation level tags: - - WorkflowTasks + - EscalationLevels x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows/{workflow_id}/custom_field_selections: + /v1/escalation_policies/{escalation_policy_id}/escalation_paths: get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. List workflow custom\ - \ field selections" - operationId: listWorkflowCustomFieldSelections + description: List escalation paths + operationId: listEscalationPaths parameters: - explode: false in: path - name: workflow_id + name: escalation_policy_id required: true schema: type: string style: simple - - explode: true + - description: "comma separated if needed. eg: escalation_policy_levels" + explode: true in: query name: include required: false schema: + enum: + - escalation_policy_levels type: string style: form - explode: true @@ -12134,24 +8125,22 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_custom_field_selection_list' + $ref: '#/components/schemas/escalation_policy_path_list' description: success security: - bearer_auth: [] - summary: "[DEPRECATED] List workflow custom field selections" + summary: List escalation paths tags: - - "[DEPRECATED] WorkflowCustomFieldSelections" + - EscalationPaths x-accepts: - application/vnd.api+json post: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Creates a new workflow\ - \ custom field selection from provided data" - operationId: createWorkflowCustomFieldSelection + description: Creates a new escalation path from provided data + operationId: createEscalationPath parameters: - explode: false in: path - name: workflow_id + name: escalation_policy_id required: true schema: type: string @@ -12160,49 +8149,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow_custom_field_selection' + $ref: '#/components/schemas/new_escalation_policy_path' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: "2" - type: workflow_custom_field_selections - attributes: - custom_field_id: 41 - workflow_id: 08e8662f-faf1-41ce-aef6-6e724cae1489 - incident_condition: ANY - values: [] - selected_option_ids: [] schema: - $ref: '#/components/schemas/workflow_custom_field_selection_response' - description: workflow_custom_field_selection created + $ref: '#/components/schemas/escalation_policy_path_response' + description: escalation path created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Creates a workflow custom field selection" + summary: Creates an escalation path tags: - - "[DEPRECATED] WorkflowCustomFieldSelections" + - EscalationPaths x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflow_custom_field_selections/{id}: + /v1/escalation_paths/{id}: delete: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ - \ workflow custom field selection by id" - operationId: deleteWorkflowCustomFieldSelection + description: Delete a specific escalation path by id + operationId: deleteEscalationPath parameters: - explode: false in: path @@ -12215,41 +8194,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: workflow_custom_field_selections - attributes: - custom_field_id: 40 - workflow_id: 08e8662f-faf1-41ce-aef6-6e724cae1489 - incident_condition: ANY - values: [] - selected_option_ids: [] schema: - $ref: '#/components/schemas/workflow_custom_field_selection_response' - description: workflow_custom_field_selection deleted + $ref: '#/components/schemas/escalation_policy_path_response' + description: escalation path deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Delete a workflow custom field selection" + summary: Delete an escalation path tags: - - "[DEPRECATED] WorkflowCustomFieldSelections" + - EscalationPaths x-accepts: - application/vnd.api+json get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ - \ workflow custom field selection by id" - operationId: getWorkflowCustomFieldSelection + description: Retrieves a specific escalation path by id + operationId: getEscalationPath parameters: - explode: false in: path @@ -12258,45 +8221,39 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: escalation_policy_levels" + explode: true + in: query + name: include + required: false + schema: + enum: + - escalation_policy_levels + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: workflow_custom_field_selections - attributes: - custom_field_id: 40 - workflow_id: 08e8662f-faf1-41ce-aef6-6e724cae1489 - incident_condition: ANY - values: [] - selected_option_ids: [] schema: - $ref: '#/components/schemas/workflow_custom_field_selection_response' - description: workflow_custom_field_selection found + $ref: '#/components/schemas/escalation_policy_path_response' + description: escalation path found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Retrieves a workflow custom field selection" + summary: Retrieves an escalation path tags: - - "[DEPRECATED] WorkflowCustomFieldSelections" + - EscalationPaths x-accepts: - application/vnd.api+json put: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ - \ workflow custom field selection by id" - operationId: updateWorkflowCustomFieldSelection + description: Update a specific escalation path by id + operationId: updateEscalationPath parameters: - explode: false in: path @@ -12309,51 +8266,37 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_workflow_custom_field_selection' + $ref: '#/components/schemas/update_escalation_policy_path' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: workflow_custom_field_selections - attributes: - custom_field_id: 40 - workflow_id: 08e8662f-faf1-41ce-aef6-6e724cae1489 - incident_condition: IS - values: [] - selected_option_ids: [] schema: - $ref: '#/components/schemas/workflow_custom_field_selection_response' - description: workflow_custom_field_selection updated + $ref: '#/components/schemas/escalation_policy_path_response' + description: escalation policy updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Update a workflow custom field selection" + summary: Update an escalation path tags: - - "[DEPRECATED] WorkflowCustomFieldSelections" + - EscalationPaths x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows/{workflow_id}/form_field_conditions: + /v1/form_fields/{form_field_id}/options: get: - description: List workflow form field conditions - operationId: listWorkflowFormFieldConditions + description: List form_field_options + operationId: listFormFieldOptions parameters: - explode: false in: path - name: workflow_id + name: form_field_id required: true schema: type: string @@ -12379,27 +8322,41 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[value]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[color]" + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_form_field_condition_list' + $ref: '#/components/schemas/form_field_option_list' description: success security: - bearer_auth: [] - summary: List workflow form field conditions + summary: List FormField Options tags: - - WorkflowFormFieldConditions + - FormFieldOptions x-accepts: - application/vnd.api+json post: - description: Creates a new workflow form field condition from provided data - operationId: createWorkflowFormFieldCondition + description: Creates a new form_field_option from provided data + operationId: createFormFieldOption parameters: - explode: false in: path - name: workflow_id + name: form_field_id required: true schema: type: string @@ -12408,52 +8365,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow_form_field_condition' + $ref: '#/components/schemas/new_form_field_option' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: b1532af1-db01-46b3-a590-e0ac989d7265 - type: workflow_form_field_conditions - attributes: - workflow_id: f7238c12-497f-40ec-89a6-42e016cbf900 - form_field_id: ff637911-19d4-461c-82cf-c999163dc5d8 - incident_condition: ANY - values: [] - selected_group_ids: [] - selected_option_ids: [] - selected_service_ids: [] - selected_functionality_ids: [] - selected_user_ids: [] - selected_catalog_entity_ids: [] schema: - $ref: '#/components/schemas/workflow_form_field_condition_response' - description: workflow_form_field_condition created + $ref: '#/components/schemas/form_field_option_response' + description: form_field_option created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a workflow form field condition + summary: Creates FormField Options tags: - - WorkflowFormFieldConditions + - FormFieldOptions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflow_form_field_conditions/{id}: + /v1/form_field_options/{id}: delete: - description: Delete a specific workflow form field condition by id - operationId: deleteWorkflowFormFieldCondition + description: Delete a specific form_field_option by id + operationId: deleteFormFieldOption parameters: - explode: false in: path @@ -12466,44 +8410,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 423b305e-c4e4-4b93-ba26-a4eac2cc48eb - type: workflow_form_field_conditions - attributes: - workflow_id: f7238c12-497f-40ec-89a6-42e016cbf900 - form_field_id: d2c1f274-ecfc-4907-818c-5eca2cf61946 - incident_condition: ANY - values: [] - selected_group_ids: [] - selected_option_ids: [] - selected_service_ids: [] - selected_functionality_ids: [] - selected_user_ids: [] - selected_catalog_entity_ids: [] schema: - $ref: '#/components/schemas/workflow_form_field_condition_response' - description: workflow_form_field_condition deleted + $ref: '#/components/schemas/form_field_option_response' + description: form_field_option deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a workflow_form field condition + summary: Delete FormField Options tags: - - WorkflowFormFieldConditions + - FormFieldOptions x-accepts: - application/vnd.api+json get: - description: Retrieves a specific workflow form field condition by id - operationId: getWorkflowFormFieldCondition + description: Retrieves a specific form_field_option by id + operationId: getFormFieldOption parameters: - explode: false in: path @@ -12516,44 +8441,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 423b305e-c4e4-4b93-ba26-a4eac2cc48eb - type: workflow_form_field_conditions - attributes: - workflow_id: f7238c12-497f-40ec-89a6-42e016cbf900 - form_field_id: d2c1f274-ecfc-4907-818c-5eca2cf61946 - incident_condition: ANY - values: [] - selected_group_ids: [] - selected_option_ids: [] - selected_service_ids: [] - selected_functionality_ids: [] - selected_user_ids: [] - selected_catalog_entity_ids: [] schema: - $ref: '#/components/schemas/workflow_form_field_condition_response' - description: workflow_form_field_condition found + $ref: '#/components/schemas/form_field_option_response' + description: form_field_option found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a workflow form field condition + summary: Retrieves FormField Options tags: - - WorkflowFormFieldConditions + - FormFieldOptions x-accepts: - application/vnd.api+json put: - description: Update a specific workflow form field condition by id - operationId: updateWorkflowFormFieldCondition + description: Update a specific form_field_option by id + operationId: updateFormFieldOption parameters: - explode: false in: path @@ -12566,53 +8472,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_workflow_form_field_condition' + $ref: '#/components/schemas/update_form_field_option' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 423b305e-c4e4-4b93-ba26-a4eac2cc48eb - type: workflow_form_field_conditions - attributes: - workflow_id: f7238c12-497f-40ec-89a6-42e016cbf900 - form_field_id: d2c1f274-ecfc-4907-818c-5eca2cf61946 - incident_condition: IS - values: [] - selected_group_ids: [] - selected_option_ids: [] - selected_service_ids: [] - selected_functionality_ids: [] - selected_user_ids: [] - selected_catalog_entity_ids: [] schema: - $ref: '#/components/schemas/workflow_form_field_condition_response' - description: workflow_form_field_condition updated + $ref: '#/components/schemas/form_field_option_response' + description: form_field_option updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a workflow form field condition + summary: Update FormField Options tags: - - WorkflowFormFieldConditions + - FormFieldOptions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflow_groups: + /v1/form_field_placements/{form_field_placement_id}/conditions: get: - description: List workflow groups - operationId: listWorkflowGroups + description: List form_field_placement_conditions + operationId: listFormFieldPlacementConditions parameters: + - explode: false + in: path + name: form_field_placement_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -12636,121 +8530,73 @@ paths: 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]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[kind]" + name: "filter[form_field_id]" required: false schema: type: string style: form - - explode: true - in: query - name: "filter[expanded]" - required: false - schema: - type: boolean - style: form - - explode: true - in: query - name: "filter[position]" - required: false - schema: - type: integer - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_group_list' + $ref: '#/components/schemas/form_field_placement_condition_list' description: success security: - bearer_auth: [] - summary: List workflow groups + summary: List Form Set Conditions tags: - - WorkflowGroups + - FormFieldPlacementConditions x-accepts: - application/vnd.api+json post: - description: Creates a new workflow group from provided data - operationId: createWorkflowGroup - parameters: [] + description: Creates a new form_field_placement_condition from provided data + operationId: createFormFieldPlacementCondition + parameters: + - explode: false + in: path + name: form_field_placement_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow_group' + $ref: '#/components/schemas/new_form_field_placement_condition' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 5b06541e-ef57-4b84-b0bd-13790351682a - type: workflow_groups - attributes: - kind: incident - name: Test - description: null - icon: 📁 - slug: test-incident - expanded: true - position: 1 schema: - $ref: '#/components/schemas/workflow_group_response' - description: workflow group created + $ref: '#/components/schemas/form_field_placement_condition_response' + description: form_field_placement_condition created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a workflow group + summary: Creates a Form Set Condition tags: - - WorkflowGroups + - FormFieldPlacementConditions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflow_groups/{id}: + /v1/form_field_placement_conditions/{id}: delete: - description: Delete a specific workflow group by id - operationId: deleteWorkflowGroup + description: Delete a specific form_field_placement_condition by id + operationId: deleteFormFieldPlacementCondition parameters: - explode: false in: path @@ -12763,41 +8609,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 5c167387-887b-4d58-9f55-9faf1304cfb0 - type: workflow_groups - attributes: - kind: incident - name: Default - description: null - icon: 📁 - slug: default-incident - expanded: true - position: 10 schema: - $ref: '#/components/schemas/workflow_group_response' - description: workflow group deleted + $ref: '#/components/schemas/form_field_placement_condition_response' + description: form_field_placement_condition deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a workflow_group + summary: Delete a Form Set Condition tags: - - WorkflowGroups + - FormFieldPlacementConditions x-accepts: - application/vnd.api+json get: - description: Retrieves a specific workflow group by id - operationId: getWorkflowGroup + description: Retrieves a specific form_field_placement_condition by id + operationId: getFormFieldPlacementCondition parameters: - explode: false in: path @@ -12810,41 +8640,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 5c167387-887b-4d58-9f55-9faf1304cfb0 - type: workflow_groups - attributes: - kind: incident - name: Default - description: null - icon: 📁 - slug: default-incident - expanded: true - position: 10 schema: - $ref: '#/components/schemas/workflow_group_response' - description: workflow group found + $ref: '#/components/schemas/form_field_placement_condition_response' + description: form_field_placement_condition found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a workflow group + summary: Retrieves a Form Set Condition tags: - - WorkflowGroups + - FormFieldPlacementConditions x-accepts: - application/vnd.api+json put: - description: Update a specific workflow group by id - operationId: updateWorkflowGroup + description: Update a specific form_field_placement_condition by id + operationId: updateFormFieldPlacementCondition parameters: - explode: false in: path @@ -12857,65 +8671,46 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_workflow_group' + $ref: '#/components/schemas/update_form_field_placement_condition' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 5c167387-887b-4d58-9f55-9faf1304cfb0 - type: workflow_groups - attributes: - kind: incident - name: Test update - description: null - icon: 📁 - slug: default-incident - expanded: true - position: 10 schema: - $ref: '#/components/schemas/workflow_group_response' - description: workflow group updated + $ref: '#/components/schemas/form_field_placement_condition_response' + description: form_field_placement_condition updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a workflow group + summary: Update a Form Set Condition tags: - - WorkflowGroups + - FormFieldPlacementConditions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows/{workflow_id}/workflow_runs: + /v1/form_fields/{form_field_id}/placements: get: - description: List workflow runs - operationId: ListWorkflowRuns + description: List form_field_placements + operationId: listFormFieldPlacements parameters: - explode: false in: path - name: workflow_id + name: form_field_id required: true schema: type: string style: simple - - description: "comma separated if needed. eg: genius_task_runs" - explode: true + - explode: true in: query name: include required: false schema: - enum: - - genius_task_runs type: string style: form - explode: true @@ -12934,28 +8729,7 @@ paths: 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]" + name: "filter[form_field_id]" required: false schema: type: string @@ -12965,22 +8739,22 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_runs_list' + $ref: '#/components/schemas/form_field_placement_list' description: success security: - bearer_auth: [] - summary: List workflow runs + summary: List Form Field Placements tags: - - WorkflowRuns + - FormFieldPlacements x-accepts: - application/vnd.api+json post: - description: Creates a new workflow run from provided data - operationId: createWorkflowRun + description: Creates a new form_field_placement from provided data + operationId: createFormFieldPlacement parameters: - explode: false in: path - name: workflow_id + name: form_field_id required: true schema: type: string @@ -12989,161 +8763,172 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow_run' + $ref: '#/components/schemas/new_form_field_placement' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: a62faa22-0dbe-4be5-ad05-de04c385a64f - type: workflow_runs - attributes: - kind: incident - status: queued - status_message: null - triggered_by: user - user_id: 138 - queued_at: 2025-05-22T06:44:13.864-07:00 - started_at: null - completed_at: null - failed_at: null - canceled_at: null - updated_at: 2025-05-22T06:44:13.864-07:00 - created_at: 2025-05-22T06:44:13.864-07:00 - incident_id: 323f0a89-ebc4-419f-b124-d9d8857d116c - post_mortem_id: null - action_item_id: null - alert_id: null - pulse_id: null - workflow_id: d193405d-d376-4e98-91b5-54bf6459518b - workflow_name: Touch of Evil - relationships: - task_runs: - data: [] schema: - $ref: '#/components/schemas/workflow_run_response' - description: workflow run created + $ref: '#/components/schemas/form_field_placement_response' + description: form_field_placement created with non_editable true "422": content: application/vnd.api+json: - example: - errors: - - title: Incident conditions are not satisfied - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: workflow run not created + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a workflow run + summary: Creates a Form Field Placement tags: - - WorkflowRuns + - FormFieldPlacements x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows: - get: - description: List workflows - operationId: listWorkflows + /v1/form_field_placements/{id}: + delete: + description: Delete a specific form_field_placement by id + operationId: deleteFormFieldPlacement parameters: - - description: "comma separated if needed. eg: form_field_conditions,genius_tasks" - explode: true - in: query - name: include - required: false - schema: - enum: - - form_field_conditions - - genius_tasks - - genius_workflow_runs - type: string - style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true - in: query - name: sort - required: false + - explode: false + in: path + name: id + required: true schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - - position - - -position 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 - - explode: true - in: query - name: "filter[search]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_field_placement_response' + description: form_field_placement deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a Form Field Placement + tags: + - FormFieldPlacements + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific form_field_placement by id + operationId: getFormFieldPlacement + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[name]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_field_placement_response' + description: form_field_placement found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a Form Field Placement + tags: + - FormFieldPlacements + x-accepts: + - application/vnd.api+json + put: + description: Update a specific form_field_placement by id + operationId: updateFormFieldPlacement + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[slug]" - required: false + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_form_field_placement' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_field_placement_response' + description: form_field_placement updated with non_editable + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a Form Field Placement + tags: + - FormFieldPlacements + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/form_fields/{form_field_id}/positions: + get: + description: List form field positions + operationId: listFormFieldPositions + parameters: + - explode: false + in: path + name: form_field_id + required: true schema: type: string - style: form + style: simple - explode: true in: query - name: "filter[created_at][gt]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[form]" required: false schema: type: string @@ -13153,129 +8938,57 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/workflow_list' + $ref: '#/components/schemas/form_field_position_list' description: success security: - bearer_auth: [] - summary: List workflows + summary: List FormField Position tags: - - Workflows + - FormFieldPositions x-accepts: - application/vnd.api+json post: - description: Creates a new workflow from provided data - operationId: createWorkflow - parameters: [] + description: Creates a new form field_position from provided data + operationId: createFormFieldPosition + parameters: + - explode: false + in: path + name: form_field_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_workflow' + $ref: '#/components/schemas/new_form_field_position' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 9578345c-c57e-4c5a-9c7c-2ca99e01c8c5 - type: workflows - attributes: - name: Test - slug: test - description: null - command: incident-test - command_feedback_enabled: true - repeat_every_duration: null - repeat_condition_duration_since_first_run: null - repeat_condition_number_of_repeats: 0 - continuously_repeat: false - repeat_on: [] - wait: null - enabled: true - locked: true - position: 1 - workflow_group_id: fcf9ee3a-e4c8-4c7f-b7e2-cb139b5a38ac - trigger_params: - trigger_type: incident - triggers: [] - incident_visibilities: [] - incident_kinds: - - normal - incident_statuses: [] - incident_inactivity_duration: null - incident_condition: ALL - incident_condition_visibility: ANY - incident_condition_kind: IS - incident_condition_status: ANY - incident_condition_sub_status: ANY - incident_condition_environment: ANY - incident_condition_severity: ANY - incident_condition_incident_type: ANY - incident_condition_incident_roles: ANY - incident_condition_service: ANY - incident_condition_functionality: ANY - incident_condition_group: ANY - incident_condition_cause: ANY - incident_condition_summary: null - incident_condition_started_at: null - incident_condition_detected_at: null - incident_condition_acknowledged_at: null - incident_condition_mitigated_at: null - incident_condition_resolved_at: null - incident_conditional_inactivity: null - incident_post_mortem_condition_cause: ANY - severity_ids: [] - environment_ids: [] - incident_type_ids: [] - incident_role_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - updated_at: 2025-05-22T06:44:28.692-07:00 - created_at: 2025-05-22T06:44:28.692-07:00 - relationships: - custom_field_selections: - data: [] - workflow_tasks: - data: [] - workflow_runs: - data: [] schema: - $ref: '#/components/schemas/workflow_response' - description: admins can set 'locked' while creating a workflow + $ref: '#/components/schemas/form_field_position_response' + description: form_field_position created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token - "403": - content: - application/vnd.api+json: - example: - errors: - - title: Unauthorized Action. Only admins can set locked - status: "403" - schema: - $ref: '#/components/schemas/errors_list' - description: non-admins can't set 'locked' while creating a workflow security: - bearer_auth: [] - summary: Creates a workflow + summary: Creates FormField Positions tags: - - Workflows + - FormFieldPositions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/workflows/{id}: + /v1/form_field_positions/{id}: delete: - description: Delete a specific workflow by id - operationId: deleteWorkflow + description: Delete a specific form_field position by id + operationId: deleteFormFieldPosition parameters: - explode: false in: path @@ -13288,94 +9001,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 49c1bf7b-7a2a-4517-ad51-26c711a97a0f - type: workflows - attributes: - name: L.A. Confidential - slug: l-a-confidential - description: null - command: null - command_feedback_enabled: true - repeat_every_duration: null - repeat_condition_duration_since_first_run: "" - repeat_condition_number_of_repeats: 0 - continuously_repeat: false - repeat_on: [] - wait: null - enabled: true - locked: true - position: 1 - workflow_group_id: null - trigger_params: - trigger_type: incident - triggers: [] - incident_visibilities: [] - incident_kinds: - - normal - incident_statuses: [] - incident_inactivity_duration: null - incident_condition: ALL - incident_condition_visibility: ANY - incident_condition_kind: IS - incident_condition_status: ANY - incident_condition_sub_status: ANY - incident_condition_environment: ANY - incident_condition_severity: ANY - incident_condition_incident_type: ANY - incident_condition_incident_roles: ANY - incident_condition_service: ANY - incident_condition_functionality: ANY - incident_condition_group: ANY - incident_condition_cause: ANY - incident_condition_summary: null - incident_condition_started_at: null - incident_condition_detected_at: null - incident_condition_acknowledged_at: null - incident_condition_mitigated_at: null - incident_condition_resolved_at: null - incident_conditional_inactivity: null - incident_post_mortem_condition_cause: ANY - severity_ids: [] - environment_ids: [] - incident_type_ids: [] - incident_role_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - updated_at: 2025-05-22T06:44:42.334-07:00 - created_at: 2025-05-22T06:44:41.596-07:00 - relationships: - custom_field_selections: - data: [] - workflow_tasks: - data: [] - workflow_runs: - data: [] schema: - $ref: '#/components/schemas/workflow_response' - description: admin can destroy locked workflow + $ref: '#/components/schemas/form_field_position_response' + description: form_field_position deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: non-admin can't destroy locked workflow + description: resource not found security: - bearer_auth: [] - summary: Delete a workflow + summary: Delete a FormFieldPosition tags: - - Workflows + - FormFieldPositions x-accepts: - application/vnd.api+json get: - description: Retrieves a specific workflow by id - operationId: getWorkflow + description: Retrieves a specific form field_position by id + operationId: getFormFieldPosition parameters: - explode: false in: path @@ -13384,110 +9028,29 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: form_field_conditions,genius_tasks" - explode: true - in: query - name: include - required: false - schema: - enum: - - form_field_conditions - - genius_tasks - - genius_workflow_runs - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 752c5365-f88b-47ef-b7a1-36cc2db6823f - type: workflows - attributes: - name: Stalker - slug: stalker - description: null - command: incident-stalker - command_feedback_enabled: true - repeat_every_duration: null - repeat_condition_duration_since_first_run: "" - repeat_condition_number_of_repeats: 0 - continuously_repeat: false - repeat_on: [] - wait: null - enabled: true - locked: false - position: 1 - workflow_group_id: null - trigger_params: - trigger_type: incident - triggers: [] - incident_visibilities: [] - incident_kinds: - - normal - incident_statuses: [] - incident_inactivity_duration: null - incident_condition: ALL - incident_condition_visibility: ANY - incident_condition_kind: IS - incident_condition_status: ANY - incident_condition_sub_status: ANY - incident_condition_environment: ANY - incident_condition_severity: ANY - incident_condition_incident_type: ANY - incident_condition_incident_roles: ANY - incident_condition_service: ANY - incident_condition_functionality: ANY - incident_condition_group: ANY - incident_condition_cause: ANY - incident_condition_summary: null - incident_condition_started_at: null - incident_condition_detected_at: null - incident_condition_acknowledged_at: null - incident_condition_mitigated_at: null - incident_condition_resolved_at: null - incident_conditional_inactivity: null - incident_post_mortem_condition_cause: ANY - severity_ids: [] - environment_ids: [] - incident_type_ids: [] - incident_role_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - updated_at: 2025-05-22T06:44:30.648-07:00 - created_at: 2025-05-22T06:44:30.648-07:00 - relationships: - custom_field_selections: - data: [] - workflow_tasks: - data: [] - workflow_runs: - data: [] schema: - $ref: '#/components/schemas/workflow_response' - description: workflow found + $ref: '#/components/schemas/form_field_position_response' + description: form_field_position found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a workflow + summary: Retrieves a FormFieldPosition tags: - - Workflows + - FormFieldPositions x-accepts: - application/vnd.api+json put: - description: Update a specific workflow by id - operationId: updateWorkflow + description: Update a specific form_field position by id + operationId: updateFormFieldPosition parameters: - explode: false in: path @@ -13500,150 +9063,43 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_workflow' + $ref: '#/components/schemas/update_form_field_position' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: b36177dd-eb5a-409c-98cb-ce5010f10f74 - type: workflows - attributes: - name: Updated - slug: updated - description: null - command: incident-eternal-sunshine-of-the-spotless-mind - command_feedback_enabled: true - repeat_every_duration: null - repeat_condition_duration_since_first_run: null - repeat_condition_number_of_repeats: 0 - continuously_repeat: false - repeat_on: [] - wait: null - enabled: true - locked: true - position: 1 - workflow_group_id: null - trigger_params: - trigger_type: incident - triggers: [] - incident_visibilities: [] - incident_kinds: - - normal - incident_statuses: [] - incident_inactivity_duration: null - incident_condition: ALL - incident_condition_visibility: ANY - incident_condition_kind: IS - incident_condition_status: ANY - incident_condition_sub_status: ANY - incident_condition_environment: ANY - incident_condition_severity: ANY - incident_condition_incident_type: ANY - incident_condition_incident_roles: ANY - incident_condition_service: ANY - incident_condition_functionality: ANY - incident_condition_group: ANY - incident_condition_cause: ANY - incident_condition_summary: null - incident_condition_started_at: null - incident_condition_detected_at: null - incident_condition_acknowledged_at: null - incident_condition_mitigated_at: null - incident_condition_resolved_at: null - incident_conditional_inactivity: null - incident_post_mortem_condition_cause: ANY - severity_ids: [] - environment_ids: [] - incident_type_ids: [] - incident_role_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - updated_at: 2025-05-22T06:44:38.525-07:00 - created_at: 2025-05-22T06:44:37.782-07:00 - relationships: - custom_field_selections: - data: [] - workflow_tasks: - data: [] - workflow_runs: - data: [] schema: - $ref: '#/components/schemas/workflow_response' - description: admin can update 'locked' attribute + $ref: '#/components/schemas/form_field_position_response' + description: form_field_position updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: non-admin can't update locked workflow - "403": - content: - application/vnd.api+json: - example: - errors: - - title: Unauthorized Action. Only admins can set locked - status: "403" - schema: - $ref: '#/components/schemas/errors_list' - description: non-admin can't update 'locked' attribute + description: resource not found security: - bearer_auth: [] - summary: Update a workflow + summary: Update a FormFieldPosition tags: - - Workflows + - FormFieldPositions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/heartbeats/{heartbeat_id}/ping: - post: - description: Ping a specific heartbeat by id - operationId: pingHeartbeat + /v1/form_fields: + get: + description: List form_fields + operationId: listFormFields parameters: - - explode: false - in: path - name: heartbeat_id - required: true - schema: - type: string - style: simple - responses: - "204": - description: create ping - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Ping a heartbeat - tags: - - Heartbeats - x-accepts: - - application/vnd.api+json - /v1/heartbeats: - get: - description: List heartbeats - operationId: listHeartbeats - parameters: - - explode: true - in: query - name: include - required: false + - description: "comma separated if needed. eg: options,positions" + explode: true + in: query + name: include + required: false schema: + enum: + - options + - positions type: string style: form - explode: true @@ -13681,6 +9137,20 @@ paths: schema: type: string style: form + - explode: true + in: query + name: "filter[kind]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[enabled]" + required: false + schema: + type: boolean + style: form - explode: true in: query name: "filter[created_at][gt]" @@ -13714,271 +9184,173 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/heartbeat_list' + $ref: '#/components/schemas/form_field_list' description: success security: - bearer_auth: [] - summary: List heartbeats + summary: List Form Fields tags: - - Heartbeats + - FormFields x-accepts: - application/vnd.api+json post: - description: Creates a new heartbeat from provided data - operationId: createHeartbeat + description: Creates a new form_field from provided data + operationId: createFormField parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_heartbeat' + $ref: '#/components/schemas/new_form_field' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: dd40583c-5592-4d27-8afd-7944a253fa53 - type: heartbeats - attributes: - slug: api - name: API - description: This is a description - alert_summary: API is down - alert_urgency_id: 315aac23-3ed7-4ab7-9a55-fea8b34b19cc - interval: 1 - interval_unit: minutes - notification_target_id: "148" - notification_target_type: User - ping_url: http://localhost:3001/v1/heartbeats/dd40583c-5592-4d27-8afd-7944a253fa53/ping - secret: heartbeat_640a61b61d426936c407f9d02012fae0404729f3c72d1915f34c68e01dc3c660 - last_pinged_at: null - expires_at: null - enabled: false - status: waiting - updated_at: 2025-05-22T06:44:53.592-07:00 - created_at: 2025-05-22T06:44:53.592-07:00 schema: - $ref: '#/components/schemas/heartbeat_response' - description: heartbeat created + $ref: '#/components/schemas/form_field_response' + description: form_field created with auto_set_by_catalog_property_id "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: form_field creation fails with auto_set_by_catalog_property_id + for catalog fields of different type "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a heartbeat + summary: Creates a Form Field tags: - - Heartbeats + - FormFields x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/heartbeats/{id}: + /v1/form_fields/{id}: delete: - description: Delete a specific heartbeat by id - operationId: deleteHeartbeat + description: Delete a specific form_field by id + operationId: deleteFormField parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 859bf1b6-8c78-4f57-8d11-7387e3d3c966 - type: heartbeats - attributes: - slug: ut-sint-quidem-dolores - name: Ut sint quidem dolores. - description: Excepturi odit et quaerat. - alert_summary: API is down - alert_urgency_id: ea8a0937-cd5c-4860-adb7-6db1c1fef449 - interval: 9 - interval_unit: seconds - notification_target_id: "150" - notification_target_type: User - ping_url: http://localhost:3001/v1/heartbeats/859bf1b6-8c78-4f57-8d11-7387e3d3c966/ping - secret: heartbeat_2324f8ca3fb555d579f2e03308b76e752a14b49a24a461b949f82b079a0ce85f - last_pinged_at: null - expires_at: null - enabled: false - status: waiting - updated_at: 2025-05-22T06:44:55.385-07:00 - created_at: 2025-05-22T06:44:45.857-07:00 schema: - $ref: '#/components/schemas/heartbeat_response' - description: heartbeat deleted + $ref: '#/components/schemas/form_field_response' + description: form_field deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a heartbeat + summary: Delete a Form Field tags: - - Heartbeats + - FormFields x-accepts: - application/vnd.api+json get: - description: Retrieves a specific heartbeat by id - operationId: getHeartbeat + description: Retrieves a specific form_field by id + operationId: getFormField parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - description: "comma separated if needed. eg: options,positions" + explode: true + in: query + name: include + required: false + schema: + enum: + - options + - positions + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 859bf1b6-8c78-4f57-8d11-7387e3d3c966 - type: heartbeats - attributes: - slug: ut-sint-quidem-dolores - name: Ut sint quidem dolores. - description: Excepturi odit et quaerat. - alert_summary: API is down - alert_urgency_id: ea8a0937-cd5c-4860-adb7-6db1c1fef449 - interval: 9 - interval_unit: seconds - notification_target_id: "150" - notification_target_type: User - ping_url: http://localhost:3001/v1/heartbeats/859bf1b6-8c78-4f57-8d11-7387e3d3c966/ping - secret: heartbeat_2324f8ca3fb555d579f2e03308b76e752a14b49a24a461b949f82b079a0ce85f - last_pinged_at: null - expires_at: null - enabled: false - status: waiting - updated_at: 2025-05-22T06:44:45.857-07:00 - created_at: 2025-05-22T06:44:45.857-07:00 schema: - $ref: '#/components/schemas/heartbeat_response' - description: heartbeat found + $ref: '#/components/schemas/form_field_response' + description: form_field found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a heartbeat + summary: Retrieves a Form Field tags: - - Heartbeats + - FormFields x-accepts: - application/vnd.api+json put: - description: Update a specific heartbeat by id - operationId: updateHeartbeat + description: Update a specific form_field by id + operationId: updateFormField parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_heartbeat' + $ref: '#/components/schemas/update_form_field' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 859bf1b6-8c78-4f57-8d11-7387e3d3c966 - type: heartbeats - attributes: - slug: ut-sint-quidem-dolores - name: api.rootly.com - description: This is a description - alert_summary: API is down - alert_urgency_id: 315aac23-3ed7-4ab7-9a55-fea8b34b19cc - interval: 10 - interval_unit: minutes - notification_target_id: "150" - notification_target_type: User - ping_url: http://localhost:3001/v1/heartbeats/859bf1b6-8c78-4f57-8d11-7387e3d3c966/ping - secret: heartbeat_2324f8ca3fb555d579f2e03308b76e752a14b49a24a461b949f82b079a0ce85f - last_pinged_at: null - expires_at: null - enabled: false - status: waiting - updated_at: 2025-05-22T06:44:54.832-07:00 - created_at: 2025-05-22T06:44:45.857-07:00 schema: - $ref: '#/components/schemas/heartbeat_response' - description: heartbeat updated + $ref: '#/components/schemas/form_field_response' + description: form_field updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a heartbeat + summary: Update a Form Field tags: - - Heartbeats + - FormFields x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/action_items: + /v1/form_sets/{form_set_id}/conditions: get: - description: List incident action items - operationId: listIncidentActionItems + description: List form_set_conditions + operationId: listFormSetConditions parameters: - explode: false in: path - name: incident_id + name: form_set_id required: true schema: type: string @@ -14004,27 +9376,34 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[form_field_id]" + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_action_item_list' + $ref: '#/components/schemas/form_set_condition_list' description: success security: - bearer_auth: [] - summary: List incident action items + summary: List Form Set Conditions tags: - - IncidentActionItems + - FormSetConditions x-accepts: - application/vnd.api+json post: - description: Creates a new action item from provided data - operationId: createIncidentActionItem + description: Creates a new form_set_condition from provided data + operationId: createFormSetCondition parameters: - explode: false in: path - name: incident_id + name: form_set_id required: true schema: type: string @@ -14033,145 +9412,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_action_item' + $ref: '#/components/schemas/new_form_set_condition' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 8f01bff1-192a-482e-80b0-59a5db53c1de - type: incident_action_items - attributes: - incident_id: 8c553caf-e233-46ca-b6bc-f55bc09ee84c - incident_title: Totam quas consequatur aut. - description: New action item description - assigned_to: - id: 161 - email: esteban@oreilly.test - deleted_at: null - created_at: 2025-05-22T06:44:55.806-07:00 - updated_at: 2025-05-22T06:45:00.237-07:00 - current_team_id: 127 - first_name: August - last_name: Fay - time_zone: UTC - last_seen_at: null - profile_photo_id: null - ability_cache: - team_ids: - - 127 - administrating_team_ids: [] - last_notification_email_sent_at: null - accept_terms: true - onboarding_completed: true - service_user: false - accept_marketing: true - teams_count: 1 - created_through_sso: false - scim_uid: null - session_token: null - incidents_example_count: 0 - incidents_test_count: 0 - incidents_normal_count: 0 - incidents_scheduled_count: 0 - incidents_backfilled_count: 0 - incidents_count: 0 - theme: light_v2 - skip_tutorial: false - external_id: null - jti: db4baebc-2f76-4a09-bbba-6de5c97bd1c8 - is_super_admin: false - has_impersonate_write_permission: false - view_multiple_schedules: true - push_notification_new_alert_sound: default - push_notification_shift_starts_sound: soft_bloob - push_notification_shift_ends_sound: soft_bloob - how_did_you_hear_about_us: null - push_notification_new_alert_volume: 1.0 - opsgenie_id: null - victor_ops_id: null - pagerduty_id: null - assigned_to_group_ids: - - 3ea14d85-d8fe-4e13-81ec-2c9c0ecd8355 - - 20635bb2-9e4c-48c0-9639-1c5547392ab0 - kind: task - priority: medium - status: open - due_date: null - jira_issue_id: null - jira_issue_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - url: https://test.rootly.com/account/incidents/totam-quas-consequatur-aut#nav-action-items - short_url: null - created_at: 2025-05-22T06:45:00.447-07:00 - updated_at: 2025-05-22T06:45:00.447-07:00 - summary: New action item summary schema: - $ref: '#/components/schemas/incident_action_item_response' - description: incident_action_item created + $ref: '#/components/schemas/form_set_condition_response' + description: form_set_condition created "422": content: application/vnd.api+json: - example: - errors: - - title: Summary can't be blank - status: "422" - - title: Summary raw can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident action item + summary: Creates a Form Set Condition tags: - - IncidentActionItems + - FormSetConditions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/action_items/{id}: + /v1/form_set_conditions/{id}: delete: - description: Delete a specific incident action item by id - operationId: deleteIncidentActionItem + description: Delete a specific form_set_condition by id + operationId: deleteFormSetCondition parameters: - explode: false in: path @@ -14184,80 +9457,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 7812a61d-04cf-43c0-9a23-95cfcad8f83d - type: incident_action_items - attributes: - incident_id: 8c553caf-e233-46ca-b6bc-f55bc09ee84c - incident_title: Totam quas consequatur aut. - description: shabby chic wolf locavore pickled twee poke. YOLO - godard health goth pork belly cold-pressed swag - assigned_to: null - assigned_to_group_ids: [] - kind: follow_up - priority: low - status: open - due_date: null - jira_issue_id: null - jira_issue_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - url: https://test.rootly.com/account/incidents/totam-quas-consequatur-aut#nav-action-items - short_url: null - created_at: 2025-05-22T06:44:59.472-07:00 - updated_at: 2025-05-22T06:45:02.719-07:00 - summary: shabby chic wolf locavore pickled twee poke. YOLO godard - health goth pork belly cold-pressed swag schema: - $ref: '#/components/schemas/incident_action_item_response' - description: incident_action_item deleted + $ref: '#/components/schemas/form_set_condition_response' + description: form_set_condition deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident action item + summary: Delete a Form Set Condition tags: - - IncidentActionItems + - FormSetConditions x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_action_item by id - operationId: getIncidentActionItems + description: Retrieves a specific form_set_condition by id + operationId: getFormSetCondition parameters: - explode: false in: path @@ -14270,80 +9488,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 7812a61d-04cf-43c0-9a23-95cfcad8f83d - type: incident_action_items - attributes: - incident_id: 8c553caf-e233-46ca-b6bc-f55bc09ee84c - incident_title: Totam quas consequatur aut. - description: shabby chic wolf locavore pickled twee poke. YOLO - godard health goth pork belly cold-pressed swag - assigned_to: null - assigned_to_group_ids: [] - kind: follow_up - priority: low - status: open - due_date: null - jira_issue_id: null - jira_issue_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - url: https://test.rootly.com/account/incidents/totam-quas-consequatur-aut#nav-action-items - short_url: null - created_at: 2025-05-22T06:44:59.472-07:00 - updated_at: 2025-05-22T06:44:59.472-07:00 - summary: shabby chic wolf locavore pickled twee poke. YOLO godard - health goth pork belly cold-pressed swag schema: - $ref: '#/components/schemas/incident_action_item_response' - description: incident_action_item found + $ref: '#/components/schemas/form_set_condition_response' + description: form_set_condition found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident action item + summary: Retrieves a Form Set Condition tags: - - IncidentActionItems + - FormSetConditions x-accepts: - application/vnd.api+json put: - description: Update a specific incident action item by id - operationId: updateIncidentActionItem + description: Update a specific form_set_condition by id + operationId: updateFormSetCondition parameters: - explode: false in: path @@ -14356,86 +9519,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_action_item' + $ref: '#/components/schemas/update_form_set_condition' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 7812a61d-04cf-43c0-9a23-95cfcad8f83d - type: incident_action_items - attributes: - incident_id: 8c553caf-e233-46ca-b6bc-f55bc09ee84c - incident_title: Totam quas consequatur aut. - description: Action item description updated - assigned_to: null - assigned_to_group_ids: [] - kind: follow_up - priority: low - status: open - due_date: null - jira_issue_id: null - jira_issue_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - url: https://test.rootly.com/account/incidents/totam-quas-consequatur-aut#nav-action-items - short_url: null - created_at: 2025-05-22T06:44:59.472-07:00 - updated_at: 2025-05-22T06:45:02.090-07:00 - summary: Action item summary updated schema: - $ref: '#/components/schemas/incident_action_item_response' - description: incident_action_item updated + $ref: '#/components/schemas/form_set_condition_response' + description: form_set_condition updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident action item + summary: Update a Form Set Condition tags: - - IncidentActionItems + - FormSetConditions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/action_items: + /v1/form_sets: get: - description: List all action items for an organization - operationId: listAllIncidentActionItems + description: List form_sets + operationId: listFormSets parameters: - explode: true in: query @@ -14460,650 +9570,690 @@ paths: style: form - explode: true in: query - name: "filter[kind]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[priority]" + name: "filter[is_default]" required: false schema: - type: string + type: boolean style: form - explode: true in: query - name: "filter[status]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[incident_status]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[incident_created_at][gt]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[incident_created_at][gte]" + name: "filter[created_at][lte]" required: false schema: type: string style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_set_list' + description: success + security: + - bearer_auth: [] + summary: List Form Sets + tags: + - FormSets + x-accepts: + - application/vnd.api+json + post: + description: Creates a new form_set from provided data + operationId: createFormSet + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_form_set' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_set_response' + description: form_set 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 Form Set + tags: + - FormSets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/form_sets/{id}: + delete: + description: Delete a specific form_set by id + operationId: deleteFormSet + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_set_response' + description: form_set deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a Form Set + tags: + - FormSets + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific form_set by id + operationId: getFormSet + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_set_response' + description: form_set found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a Form Set + tags: + - FormSets + x-accepts: + - application/vnd.api+json + put: + description: Update a specific form_set by id + operationId: updateFormSet + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_form_set' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/form_set_response' + description: form_set updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a Form Set + tags: + - FormSets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/functionalities: + get: + description: List functionalities + operationId: listFunctionalities + parameters: - explode: true in: query - name: "filter[incident_created_at][lt]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[incident_created_at][lte]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[due_date][gt]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[due_date][gte]" + name: "filter[search]" required: false schema: type: string style: form - explode: true in: query - name: "filter[due_date][lt]" + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "filter[due_date][lte]" + name: "filter[backstage_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[cortex_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[opslevel_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[external_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: sort + name: "filter[created_at][gt]" required: false schema: type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/incident_action_item_list' - description: success - security: - - bearer_auth: [] - summary: List all action items for an organization - tags: - - IncidentActionItems - x-accepts: - - application/vnd.api+json - /v1/incidents/{incident_id}/custom_field_selections: - get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. List incident custom\ - \ field selections" - operationId: listIncidentCustomFieldSelections - parameters: - - explode: false - in: path - name: incident_id - required: true + - explode: true + in: query + name: "filter[created_at][gte]" + required: false schema: type: string - style: simple + style: form - explode: true in: query - name: include + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[created_at][lte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: sort required: false schema: - type: integer + type: string style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_custom_field_selection_list' + $ref: '#/components/schemas/functionality_list' description: success security: - bearer_auth: [] - summary: "[DEPRECATED] List incident custom field selections" + summary: List functionalities tags: - - "[DEPRECATED] IncidentCustomFieldSelections" + - Functionalities x-accepts: - application/vnd.api+json post: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Creates a new incident\ - \ custom field selection from provided data" - operationId: createIncidentCustomFieldSelection - parameters: - - explode: false - in: path - name: incident_id - required: true - schema: - type: string - style: simple + description: Creates a new functionality from provided data + operationId: createFunctionality + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_custom_field_selection' + $ref: '#/components/schemas/new_functionality' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: "2" - type: incident_custom_field_selections - attributes: - custom_field_id: 47 - incident_id: 42d82cb5-2523-4d41-b5c8-f9cffd5b7529 - value: Test custom field - selected_option_ids: [] schema: - $ref: '#/components/schemas/incident_custom_field_selection_response' - description: incident_custom_field_selection created + $ref: '#/components/schemas/functionality_response' + description: functionality created "422": content: application/vnd.api+json: - example: - errors: - - title: "requires either value or at least one selected option, group,\ - \ service, or user" - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: "[DEPRECATED] Creates an incident custom field selection" + summary: Creates a functionality tags: - - "[DEPRECATED] IncidentCustomFieldSelections" + - Functionalities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_custom_field_selections/{id}: + /v1/functionalities/{id}: delete: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ - \ incident custom field selection by id" - operationId: deleteIncidentCustomFieldSelection + description: Delete a specific functionality by id + operationId: deleteFunctionality parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: incident_custom_field_selections - attributes: - custom_field_id: 46 - incident_id: 42d82cb5-2523-4d41-b5c8-f9cffd5b7529 - value: Eum temporibus rerum totam. - selected_option_ids: [] schema: - $ref: '#/components/schemas/incident_custom_field_selection_response' - description: incident_custom_field_selection deleted + $ref: '#/components/schemas/functionality_response' + description: functionality deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Delete an incident custom field selection" + summary: Delete a functionality tags: - - "[DEPRECATED] IncidentCustomFieldSelections" + - Functionalities x-accepts: - application/vnd.api+json get: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ - \ incident custom field selection by id" - operationId: getIncidentCustomFieldSelection + description: Retrieves a specific functionality by id + operationId: getFunctionality parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: incident_custom_field_selections - attributes: - custom_field_id: 46 - incident_id: 42d82cb5-2523-4d41-b5c8-f9cffd5b7529 - value: Eum temporibus rerum totam. - selected_option_ids: [] schema: - $ref: '#/components/schemas/incident_custom_field_selection_response' - description: incident_custom_field_selection found + $ref: '#/components/schemas/functionality_response' + description: functionality found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Retrieves an incident custom field selection" + summary: Retrieves a functionality tags: - - "[DEPRECATED] IncidentCustomFieldSelections" + - Functionalities x-accepts: - application/vnd.api+json put: - deprecated: true - description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ - \ incident custom field selection by id" - operationId: updateIncidentCustomFieldSelection + description: Update a specific functionality by id + operationId: updateFunctionality parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_custom_field_selection' + $ref: '#/components/schemas/update_functionality' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: "1" - type: incident_custom_field_selections - attributes: - custom_field_id: 46 - incident_id: 42d82cb5-2523-4d41-b5c8-f9cffd5b7529 - value: Test update custom field - selected_option_ids: [] schema: - $ref: '#/components/schemas/incident_custom_field_selection_response' - description: incident_custom_field_selection updated + $ref: '#/components/schemas/functionality_response' + description: functionality updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: "[DEPRECATED] Update an incident custom field selection" + summary: Update a functionality tags: - - "[DEPRECATED] IncidentCustomFieldSelections" + - Functionalities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/events/{incident_event_id}/functionalities: + /v1/functionalities/{id}/incidents_chart: get: - description: List incident event functionalities - operationId: listIncidentEventFunctionalities + description: Get functionality incidents chart + operationId: getFunctionalityIncidentsChart parameters: - explode: false in: path - name: incident_event_id + name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - explode: true in: query - name: include - required: false + name: period + required: true 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/incident_event_functionality_list' + $ref: '#/components/schemas/incidents_chart_response' description: success - security: - - bearer_auth: [] - summary: List incident event functionalities - tags: - - IncidentEventFunctionalities - x-accepts: - - application/vnd.api+json - post: - description: Creates a new event functionality from provided data - operationId: createIncidentEventFunctionality - parameters: - - explode: false - in: path - name: incident_event_id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_incident_event_functionality' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 823d2735-69f6-4f8a-9b8b-18609167003c - type: incident_event_functionalities - attributes: - incident_event_id: 675bb1f2-89ea-4421-9a4f-4f4ac71481a1 - functionality_id: 3f2c029e-71fd-4104-aef7-805d5cc3b4cb - status: partial_outage - schema: - $ref: '#/components/schemas/incident_event_functionality_response' - description: incident_event_functionality created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Functionality must exist - status: "422" - - title: Functionality can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates an incident event functionality + summary: Get functionality incidents chart tags: - - IncidentEventFunctionalities - x-content-type: application/vnd.api+json + - Functionalities x-accepts: - application/vnd.api+json - /v1/incident_event_functionalities/{id}: - delete: - description: Delete a specific incident event functionality by id - operationId: deleteIncidentEventFunctionality + /v1/functionalities/{id}/uptime_chart: + get: + description: Get functionality uptime chart + operationId: getFunctionalityUptimeChart parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - explode: true + in: query + name: period + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 81d47659-4f4f-48b4-a0a3-7e0afe5bff3b - type: incident_event_functionalities - attributes: - incident_event_id: 675bb1f2-89ea-4421-9a4f-4f4ac71481a1 - functionality_id: 1d672b3c-7250-413c-a62a-c3abc9227426 - status: partial_outage schema: - $ref: '#/components/schemas/incident_event_functionality_response' - description: incident_event deleted + $ref: '#/components/schemas/uptime_chart_response' + description: success "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident event functionality + summary: Get functionality uptime chart tags: - - IncidentEventFunctionalities + - Functionalities x-accepts: - application/vnd.api+json + /v1/functionalities/properties: get: - description: Retrieves a specific incident_event_functionality by id - operationId: getIncidentEventFunctionalities + description: List Functionality Catalog Properties + operationId: listFunctionalityCatalogProperties parameters: - - explode: false - in: path - name: id - required: true + - description: "comma separated if needed. eg: catalog" + explode: true + in: query + name: include + required: false schema: + enum: + - catalog type: string - style: simple + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position + 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 + - explode: true + in: query + name: "filter[slug]" + 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[kind]" + 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 responses: "200": content: application/vnd.api+json: - example: - data: - id: 81d47659-4f4f-48b4-a0a3-7e0afe5bff3b - type: incident_event_functionalities - attributes: - incident_event_id: 675bb1f2-89ea-4421-9a4f-4f4ac71481a1 - functionality_id: 1d672b3c-7250-413c-a62a-c3abc9227426 - status: partial_outage - schema: - $ref: '#/components/schemas/incident_event_functionality_response' - description: incident_event_functionality found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/catalog_property_list' + description: success security: - bearer_auth: [] - summary: Retrieves an incident event functionality + summary: List Catalog Properties tags: - - IncidentEventFunctionalities + - Functionalities x-accepts: - application/vnd.api+json - put: - description: Update a specific incident event functionality by id - operationId: updateIncidentEventFunctionality - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple + post: + description: Creates a new Catalog Property from provided data + operationId: createFunctionalityCatalogProperty + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_event_functionality' + $ref: '#/components/schemas/new_catalog_property' required: true responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: 81d47659-4f4f-48b4-a0a3-7e0afe5bff3b - type: incident_event_functionalities - attributes: - incident_event_id: 675bb1f2-89ea-4421-9a4f-4f4ac71481a1 - functionality_id: 1d672b3c-7250-413c-a62a-c3abc9227426 - status: major_outage schema: - $ref: '#/components/schemas/incident_event_functionality_response' - description: incident_event_functionality updated - "404": + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: exceeds max fields per catalog + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Update an incident event + summary: Creates a Catalog Property tags: - - IncidentEventFunctionalities + - Functionalities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/events/{incident_event_id}/services: + /v1/workflows/{workflow_id}/workflow_tasks: get: - description: List incident event services - operationId: listIncidentEventServices + description: List workflow tasks + operationId: listWorkflowTasks parameters: - explode: false in: path - name: incident_event_id + name: workflow_id required: true schema: type: string @@ -15129,27 +10279,48 @@ paths: 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]" + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_event_service_list' + $ref: '#/components/schemas/workflow_task_list' description: success security: - bearer_auth: [] - summary: List incident event services + summary: List workflow tasks tags: - - IncidentEventServices + - WorkflowTasks x-accepts: - application/vnd.api+json post: - description: Creates a new event service from provided data - operationId: createIncidentEventService + description: Creates a new workflow task from provided data + operationId: createWorkflowTask parameters: - explode: false in: path - name: incident_event_id + name: workflow_id required: true schema: type: string @@ -15158,57 +10329,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_event_service' + $ref: '#/components/schemas/new_workflow_task' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: cf9418be-085b-4b00-943b-be03326bdce4 - type: incident_event_services - attributes: - incident_event_id: dd6279a5-189b-45b3-9b53-34bc33228d98 - service_id: 9f3a8fa5-4010-4f39-b898-faa0a8cb2ac9 - status: partial_outage - schema: - $ref: '#/components/schemas/incident_event_service_response' - description: incident_event_service created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Service must exist - status: "422" - - title: Service can't be blank - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/workflow_task_response' + description: workflow task created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident event service + summary: Creates a workflow task tags: - - IncidentEventServices + - WorkflowTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_event_services/{id}: + /v1/workflow_tasks/{id}: delete: - description: Delete a specific incident event service by id - operationId: deleteIncidentEventService + description: Delete a specific workflow task by id + operationId: deleteWorkflowTask parameters: - explode: false in: path @@ -15221,37 +10368,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 4eac8359-84c2-4117-9a71-6920b99e8889 - type: incident_event_services - attributes: - incident_event_id: dd6279a5-189b-45b3-9b53-34bc33228d98 - service_id: 025f8dc2-6d4b-46d9-b67c-87f68bc37b22 - status: partial_outage schema: - $ref: '#/components/schemas/incident_event_service_response' - description: incident_event deleted + $ref: '#/components/schemas/workflow_task_response' + description: workflow_task deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident event functionalitu + summary: Delete a workflow task tags: - - IncidentEventServices + - WorkflowTasks x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_event_service by id - operationId: getIncidentEventServices + description: Retrieves a specific workflow_task by id + operationId: getWorkflowTask parameters: - explode: false in: path @@ -15264,37 +10399,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 4eac8359-84c2-4117-9a71-6920b99e8889 - type: incident_event_services - attributes: - incident_event_id: dd6279a5-189b-45b3-9b53-34bc33228d98 - service_id: 025f8dc2-6d4b-46d9-b67c-87f68bc37b22 - status: partial_outage schema: - $ref: '#/components/schemas/incident_event_service_response' - description: incident_event_service found + $ref: '#/components/schemas/workflow_task_response' + description: workflow_task found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident event service + summary: Retrieves a workflow task tags: - - IncidentEventServices + - WorkflowTasks x-accepts: - application/vnd.api+json put: - description: Update a specific incident event service by id - operationId: updateIncidentEventService + description: Update a specific workflow task by id + operationId: updateWorkflowTask parameters: - explode: false in: path @@ -15307,49 +10430,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_event_service' + $ref: '#/components/schemas/update_workflow_task' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 4eac8359-84c2-4117-9a71-6920b99e8889 - type: incident_event_services - attributes: - incident_event_id: dd6279a5-189b-45b3-9b53-34bc33228d98 - service_id: 025f8dc2-6d4b-46d9-b67c-87f68bc37b22 - status: major_outage schema: - $ref: '#/components/schemas/incident_event_service_response' - description: incident_event_service updated + $ref: '#/components/schemas/workflow_task_response' + description: workflow_task updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident event + summary: Update a workflow task tags: - - IncidentEventServices + - WorkflowTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/events: + /v1/workflows/{workflow_id}/custom_field_selections: get: - description: List incident events - operationId: listIncidentEvents + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. List workflow custom\ + \ field selections" + operationId: listWorkflowCustomFieldSelections parameters: - explode: false in: path - name: incident_id + name: workflow_id required: true schema: type: string @@ -15380,22 +10493,24 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_event_list' + $ref: '#/components/schemas/workflow_custom_field_selection_list' description: success security: - bearer_auth: [] - summary: List incident events + summary: "[DEPRECATED] List workflow custom field selections" tags: - - IncidentEvents + - "[DEPRECATED] WorkflowCustomFieldSelections" x-accepts: - application/vnd.api+json post: - description: Creates a new event from provided data - operationId: createIncidentEvent + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Creates a new workflow\ + \ custom field selection from provided data" + operationId: createWorkflowCustomFieldSelection parameters: - explode: false in: path - name: incident_id + name: workflow_id required: true schema: type: string @@ -15404,64 +10519,35 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_event' + $ref: '#/components/schemas/new_workflow_custom_field_selection' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 5b8d12e7-205a-4a72-b75f-a3e3622100e0 - type: incident_events - attributes: - event: New Event - event_raw: New Event - kind: event - source: web - visibility: external - user_display_name: Rootly - occurred_at: 2025-05-22T06:45:21.598-07:00 - starred_at: null - created_at: 2025-05-22T06:45:21.598-07:00 - updated_at: 2025-05-22T06:45:21.598-07:00 - schema: - $ref: '#/components/schemas/incident_event_response' - description: incident_event created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Event can't be blank - status: "422" - - title: Event raw can't be blank - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/workflow_custom_field_selection_response' + description: workflow_custom_field_selection created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident event + summary: "[DEPRECATED] Creates a workflow custom field selection" tags: - - IncidentEvents + - "[DEPRECATED] WorkflowCustomFieldSelections" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/events/{id}: + /v1/workflow_custom_field_selections/{id}: delete: - description: Delete a specific incident event by id - operationId: deleteIncidentEvent + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ + \ workflow custom field selection by id" + operationId: deleteWorkflowCustomFieldSelection parameters: - explode: false in: path @@ -15474,44 +10560,27 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 241539d7-3e29-4e46-b8c0-066667b2d8e5 - type: incident_events - attributes: - event: Vero sint quae exercitationem. - event_raw: Vero sint quae exercitationem. - kind: event - source: web - visibility: internal - user_display_name: Diego Heaney - occurred_at: 2025-05-22T06:45:20.817-07:00 - starred_at: null - created_at: 2025-05-22T06:45:20.817-07:00 - updated_at: 2025-05-22T06:45:24.471-07:00 schema: - $ref: '#/components/schemas/incident_event_response' - description: incident_event deleted + $ref: '#/components/schemas/workflow_custom_field_selection_response' + description: workflow_custom_field_selection deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident event + summary: "[DEPRECATED] Delete a workflow custom field selection" tags: - - IncidentEvents + - "[DEPRECATED] WorkflowCustomFieldSelections" x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_event by id - operationId: getIncidentEvents + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ + \ workflow custom field selection by id" + operationId: getWorkflowCustomFieldSelection parameters: - explode: false in: path @@ -15524,44 +10593,27 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 241539d7-3e29-4e46-b8c0-066667b2d8e5 - type: incident_events - attributes: - event: Vero sint quae exercitationem. - event_raw: Vero sint quae exercitationem. - kind: event - source: web - visibility: internal - user_display_name: Diego Heaney - occurred_at: 2025-05-22T06:45:20.817-07:00 - starred_at: null - created_at: 2025-05-22T06:45:20.817-07:00 - updated_at: 2025-05-22T06:45:20.817-07:00 schema: - $ref: '#/components/schemas/incident_event_response' - description: incident_event found + $ref: '#/components/schemas/workflow_custom_field_selection_response' + description: workflow_custom_field_selection found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident event + summary: "[DEPRECATED] Retrieves a workflow custom field selection" tags: - - IncidentEvents + - "[DEPRECATED] WorkflowCustomFieldSelections" x-accepts: - application/vnd.api+json put: - description: Update a specific incident event by id - operationId: updateIncidentEvent + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ + \ workflow custom field selection by id" + operationId: updateWorkflowCustomFieldSelection parameters: - explode: false in: path @@ -15574,56 +10626,37 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_event' + $ref: '#/components/schemas/update_workflow_custom_field_selection' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 241539d7-3e29-4e46-b8c0-066667b2d8e5 - type: incident_events - attributes: - event: Event updated - event_raw: Event updated - kind: event - source: web - visibility: internal - user_display_name: Diego Heaney - occurred_at: 2025-05-22T06:45:20.817-07:00 - starred_at: null - created_at: 2025-05-22T06:45:20.817-07:00 - updated_at: 2025-05-22T06:45:23.877-07:00 schema: - $ref: '#/components/schemas/incident_event_response' - description: incident_event updated + $ref: '#/components/schemas/workflow_custom_field_selection_response' + description: workflow_custom_field_selection updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident event + summary: "[DEPRECATED] Update a workflow custom field selection" tags: - - IncidentEvents + - "[DEPRECATED] WorkflowCustomFieldSelections" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/feedbacks: + /v1/workflows/{workflow_id}/form_field_conditions: get: - description: List incident feedbacks - operationId: listIncidentFeedbacks + description: List workflow form field conditions + operationId: listWorkflowFormFieldConditions parameters: - explode: false in: path - name: incident_id + name: workflow_id required: true schema: type: string @@ -15654,22 +10687,22 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_feedback_list' + $ref: '#/components/schemas/workflow_form_field_condition_list' description: success security: - bearer_auth: [] - summary: List incident feedbacks + summary: List workflow form field conditions tags: - - IncidentFeedbacks + - WorkflowFormFieldConditions x-accepts: - application/vnd.api+json post: - description: Creates a new feedback from provided data - operationId: createIncidentFeedback + description: Creates a new workflow form field condition from provided data + operationId: createWorkflowFormFieldCondition parameters: - explode: false in: path - name: incident_id + name: workflow_id required: true schema: type: string @@ -15678,58 +10711,65 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_feedback' + $ref: '#/components/schemas/new_workflow_form_field_condition' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 6992134e-c27b-4259-ada6-be8120f4e202 - type: incident_feedbacks - attributes: - rating: 4 - rating_humanized: Very satisfied - feedback: New Feedback - anonymous: true - updated_at: 2025-05-22T06:45:27.911-07:00 - created_at: 2025-05-22T06:45:27.911-07:00 schema: - $ref: '#/components/schemas/incident_feedback_response' - description: incident_feedback created - "422": + $ref: '#/components/schemas/workflow_form_field_condition_response' + description: workflow_form_field_condition created with environment ids + for non-environment form field + "401": content: application/vnd.api+json: - example: - errors: - - title: Feedback can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request - "401": + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Creates a workflow form field condition + tags: + - WorkflowFormFieldConditions + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/workflow_form_field_conditions/{id}: + delete: + description: Delete a specific workflow form field condition by id + operationId: deleteWorkflowFormFieldCondition + 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/workflow_form_field_condition_response' + description: workflow_form_field_condition deleted + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates an incident feedback + summary: Delete a workflow_form field condition tags: - - IncidentFeedbacks - x-content-type: application/vnd.api+json + - WorkflowFormFieldConditions x-accepts: - application/vnd.api+json - /v1/feedbacks/{id}: get: - description: Retrieves a specific incident_feedback by id - operationId: getIncidentFeedbacks + description: Retrieves a specific workflow form field condition by id + operationId: getWorkflowFormFieldCondition parameters: - explode: false in: path @@ -15742,40 +10782,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 078a91e6-daaf-46ba-bbdc-1b293f8e2733 - type: incident_feedbacks - attributes: - rating: 2 - rating_humanized: Neither satisfied nor dissatisfied - feedback: Itaque et et sapiente. - anonymous: false - updated_at: 2025-05-22T06:45:27.208-07:00 - created_at: 2025-05-22T06:45:27.208-07:00 schema: - $ref: '#/components/schemas/incident_feedback_response' - description: incident_feedback found + $ref: '#/components/schemas/workflow_form_field_condition_response' + description: includes native field ids "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident feedback + summary: Retrieves a workflow form field condition tags: - - IncidentFeedbacks + - WorkflowFormFieldConditions x-accepts: - application/vnd.api+json put: - description: Update a specific incident feedback by id - operationId: updateIncidentFeedback + description: Update a specific workflow form field condition by id + operationId: updateWorkflowFormFieldCondition parameters: - explode: false in: path @@ -15788,56 +10813,34 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_feedback' + $ref: '#/components/schemas/update_workflow_form_field_condition' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 078a91e6-daaf-46ba-bbdc-1b293f8e2733 - type: incident_feedbacks - attributes: - rating: 3 - rating_humanized: Somewhat satisfied - feedback: Feedback updated - anonymous: false - updated_at: 2025-05-22T06:45:29.429-07:00 - created_at: 2025-05-22T06:45:27.208-07:00 schema: - $ref: '#/components/schemas/incident_feedback_response' - description: incident_feedback updated + $ref: '#/components/schemas/workflow_form_field_condition_response' + description: workflow_form_field_condition updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident feedback + summary: Update a workflow form field condition tags: - - IncidentFeedbacks + - WorkflowFormFieldConditions x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/form_field_selections: + /v1/workflow_groups: get: - description: List incident form field selections - operationId: listIncidentFormFieldSelections + description: List workflow groups + operationId: listWorkflowGroups parameters: - - explode: false - in: path - name: incident_id - required: true - schema: - type: string - style: simple - explode: true in: query name: include @@ -15859,167 +10862,103 @@ paths: 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]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[kind]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[expanded]" + required: false + schema: + type: boolean + style: form + - explode: true + in: query + name: "filter[position]" + required: false + schema: + type: integer + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_form_field_selection_list' + $ref: '#/components/schemas/workflow_group_list' description: success security: - bearer_auth: [] - summary: List incident form field selections + summary: List workflow groups tags: - - IncidentFormFieldSelections + - WorkflowGroups x-accepts: - application/vnd.api+json post: - description: Creates a new incident form field selection from provided data - operationId: createIncidentFormFieldSelection - parameters: - - explode: false - in: path - name: incident_id - required: true - schema: - type: string - style: simple + description: Creates a new workflow group from provided data + operationId: createWorkflowGroup + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_form_field_selection' + $ref: '#/components/schemas/new_workflow_group' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: e5a5d5dc-0be9-4734-afcc-ed9b1d50113c - type: incident_form_field_selections - attributes: - incident_id: b8bb5578-3d21-4d0b-9c01-731a236fd5e5 - custom_field_id: 50 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - form_field: - id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - team_id: 151 - slug: ducimus-tempora-odit-numquam - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Ducimus tempora odit numquam. - description: Rem enim vero expedita. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:45:32.119-07:00 - created_at: 2025-05-22T06:45:32.119-07:00 - options: - - id: 1928145f-b18b-4e0e-a4d7-b03ad58885b9 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - value: Harum qui omnis rerum. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:45:32.200-07:00 - created_at: 2025-05-22T06:45:32.200-07:00 - - id: 76d4961f-5f02-4acd-8e79-36cb85a1edff - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - value: Qui et ut totam. - color: '#FBE4A0' - default: false - position: 2 - updated_at: 2025-05-22T06:45:32.204-07:00 - created_at: 2025-05-22T06:45:32.204-07:00 - positions: - - id: 29bd3cfc-aa7e-4e4e-b54f-7a369b3c4ff9 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - form: slack_new_incident_form - position: 2 - - id: 4f823cfe-9ed4-47ea-aab5-0ed555a9a7b6 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - form: web_update_incident_form - position: 2 - - id: 116ea986-67c2-4526-8299-9687073c3c25 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - form: slack_update_incident_form - position: 2 - - id: 14151972-07a9-4f15-b8e2-60a9b2d339b1 - form_field_id: 1227f5a3-3db9-4e1a-b7c8-e783f7dc565f - form: web_new_incident_form - position: 2 - value: Test custom field - selected_group_ids: [] - selected_groups: - id: null - value: Test custom field - selected_option_ids: [] - selected_options: - id: null - value: Test custom field - selected_service_ids: [] - selected_services: - id: null - value: Test custom field - selected_functionality_ids: [] - selected_functionalities: - id: null - value: Test custom field - selected_catalog_entity_ids: [] - selected_catalog_entities: - id: null - value: Test custom field - selected_user_ids: [] - selected_users: - id: null - value: Test custom field schema: - $ref: '#/components/schemas/incident_form_field_selection_response' - description: incident_form_field_selection created + $ref: '#/components/schemas/workflow_group_response' + description: workflow group created "422": content: application/vnd.api+json: - example: - errors: - - title: Form field must exist - status: "422" - - title: "requires either value or at least one selected option, group,\ - \ service, or user" - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates an incident form field selection + summary: Creates a workflow group tags: - - IncidentFormFieldSelections + - WorkflowGroups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_form_field_selections/{id}: + /v1/workflow_groups/{id}: delete: - description: Delete a specific incident form field selection by id - operationId: deleteIncidentFormFieldSelection + description: Delete a specific workflow group by id + operationId: deleteWorkflowGroup parameters: - explode: false in: path @@ -16032,117 +10971,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 6ffd1a68-901b-4762-91ce-758c394002d3 - type: incident_form_field_selections - attributes: - incident_id: b8bb5578-3d21-4d0b-9c01-731a236fd5e5 - custom_field_id: 49 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form_field: - id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - team_id: 151 - slug: eum-praesentium-ratione-cum - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Eum praesentium ratione cum. - description: Tempore amet et neque. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:45:32.040-07:00 - created_at: 2025-05-22T06:45:32.040-07:00 - options: - - id: 4122e0a2-e13f-49f1-b33b-0cff358586bb - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Amet quis natus ut. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:45:32.109-07:00 - created_at: 2025-05-22T06:45:32.109-07:00 - - id: 82295dbb-7964-43c8-a7c8-3d790f778cd6 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Qui veritatis rerum magnam. - color: '#FBE4A0' - default: false - position: 2 - updated_at: 2025-05-22T06:45:32.113-07:00 - created_at: 2025-05-22T06:45:32.113-07:00 - positions: - - id: 733d1096-c5ad-481e-b38b-0b5a78764513 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_new_incident_form - position: 1 - - id: 00ffda51-d807-4ea9-8555-1dda42ea9706 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_update_incident_form - position: 1 - - id: fb3dc8bc-a4de-4c40-abd6-cfdcfae83077 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_update_incident_form - position: 1 - - id: a48aae43-873d-4bcf-90bd-3946b1fd3071 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_new_incident_form - position: 1 - value: Suscipit est aliquam quia. - selected_group_ids: [] - selected_groups: - id: null - value: Suscipit est aliquam quia. - selected_option_ids: [] - selected_options: - id: null - value: Suscipit est aliquam quia. - selected_service_ids: [] - selected_services: - id: null - value: Suscipit est aliquam quia. - selected_functionality_ids: [] - selected_functionalities: - id: null - value: Suscipit est aliquam quia. - selected_catalog_entity_ids: [] - selected_catalog_entities: - id: null - value: Suscipit est aliquam quia. - selected_user_ids: [] - selected_users: - id: null - value: Suscipit est aliquam quia. schema: - $ref: '#/components/schemas/incident_form_field_selection_response' - description: incident_form_field_selection deleted + $ref: '#/components/schemas/workflow_group_response' + description: workflow group deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident form field selection + summary: Delete a workflow_group tags: - - IncidentFormFieldSelections + - WorkflowGroups x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident form field selection by id - operationId: getIncidentFormFieldSelection + description: Retrieves a specific workflow group by id + operationId: getWorkflowGroup parameters: - explode: false in: path @@ -16155,117 +11002,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 6ffd1a68-901b-4762-91ce-758c394002d3 - type: incident_form_field_selections - attributes: - incident_id: b8bb5578-3d21-4d0b-9c01-731a236fd5e5 - custom_field_id: 49 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form_field: - id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - team_id: 151 - slug: eum-praesentium-ratione-cum - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Eum praesentium ratione cum. - description: Tempore amet et neque. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:45:32.040-07:00 - created_at: 2025-05-22T06:45:32.040-07:00 - options: - - id: 4122e0a2-e13f-49f1-b33b-0cff358586bb - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Amet quis natus ut. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:45:32.109-07:00 - created_at: 2025-05-22T06:45:32.109-07:00 - - id: 82295dbb-7964-43c8-a7c8-3d790f778cd6 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Qui veritatis rerum magnam. - color: '#FBE4A0' - default: false - position: 2 - updated_at: 2025-05-22T06:45:32.113-07:00 - created_at: 2025-05-22T06:45:32.113-07:00 - positions: - - id: 733d1096-c5ad-481e-b38b-0b5a78764513 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_new_incident_form - position: 1 - - id: 00ffda51-d807-4ea9-8555-1dda42ea9706 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_update_incident_form - position: 1 - - id: fb3dc8bc-a4de-4c40-abd6-cfdcfae83077 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_update_incident_form - position: 1 - - id: a48aae43-873d-4bcf-90bd-3946b1fd3071 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_new_incident_form - position: 1 - value: Suscipit est aliquam quia. - selected_group_ids: [] - selected_groups: - id: null - value: Suscipit est aliquam quia. - selected_option_ids: [] - selected_options: - id: null - value: Suscipit est aliquam quia. - selected_service_ids: [] - selected_services: - id: null - value: Suscipit est aliquam quia. - selected_functionality_ids: [] - selected_functionalities: - id: null - value: Suscipit est aliquam quia. - selected_catalog_entity_ids: [] - selected_catalog_entities: - id: null - value: Suscipit est aliquam quia. - selected_user_ids: [] - selected_users: - id: null - value: Suscipit est aliquam quia. schema: - $ref: '#/components/schemas/incident_form_field_selection_response' - description: incident_form_field_selection found + $ref: '#/components/schemas/workflow_group_response' + description: workflow group found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident form field selection + summary: Retrieves a workflow group tags: - - IncidentFormFieldSelections + - WorkflowGroups x-accepts: - application/vnd.api+json put: - description: Update a specific incident form field selection by id - operationId: updateIncidentFormFieldSelection + description: Update a specific workflow group by id + operationId: updateWorkflowGroup parameters: - explode: false in: path @@ -16278,138 +11033,49 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_form_field_selection' + $ref: '#/components/schemas/update_workflow_group' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 6ffd1a68-901b-4762-91ce-758c394002d3 - type: incident_form_field_selections - attributes: - incident_id: b8bb5578-3d21-4d0b-9c01-731a236fd5e5 - custom_field_id: 49 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form_field: - id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - team_id: 151 - slug: eum-praesentium-ratione-cum - kind: custom - input_kind: text - value_kind: inherit - value_kind_catalog_id: null - name: Eum praesentium ratione cum. - description: Tempore amet et neque. - shown: - - web_new_incident_form - - web_update_incident_form - - slack_new_incident_form - - slack_update_incident_form - required: [] - default_values: [] - show_on_incident_details: true - enabled: true - updated_at: 2025-05-22T06:45:32.040-07:00 - created_at: 2025-05-22T06:45:32.040-07:00 - options: - - id: 4122e0a2-e13f-49f1-b33b-0cff358586bb - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Amet quis natus ut. - color: '#FBE4A0' - default: false - position: 1 - updated_at: 2025-05-22T06:45:32.109-07:00 - created_at: 2025-05-22T06:45:32.109-07:00 - - id: 82295dbb-7964-43c8-a7c8-3d790f778cd6 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - value: Qui veritatis rerum magnam. - color: '#FBE4A0' - default: false - position: 2 - updated_at: 2025-05-22T06:45:32.113-07:00 - created_at: 2025-05-22T06:45:32.113-07:00 - positions: - - id: 733d1096-c5ad-481e-b38b-0b5a78764513 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_new_incident_form - position: 1 - - id: 00ffda51-d807-4ea9-8555-1dda42ea9706 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_update_incident_form - position: 1 - - id: fb3dc8bc-a4de-4c40-abd6-cfdcfae83077 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: slack_update_incident_form - position: 1 - - id: a48aae43-873d-4bcf-90bd-3946b1fd3071 - form_field_id: 984a0b99-048e-4c18-8ce8-e8d8ea856c2f - form: web_new_incident_form - position: 1 - value: Test update custom field - selected_group_ids: [] - selected_groups: - id: null - value: Test update custom field - selected_option_ids: [] - selected_options: - id: null - value: Test update custom field - selected_service_ids: [] - selected_services: - id: null - value: Test update custom field - selected_functionality_ids: [] - selected_functionalities: - id: null - value: Test update custom field - selected_catalog_entity_ids: [] - selected_catalog_entities: - id: null - value: Test update custom field - selected_user_ids: [] - selected_users: - id: null - value: Test update custom field schema: - $ref: '#/components/schemas/incident_form_field_selection_response' - description: incident_form_field_selection updated + $ref: '#/components/schemas/workflow_group_response' + description: workflow group updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident form field selection + summary: Update a workflow group tags: - - IncidentFormFieldSelections + - WorkflowGroups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_permission_sets/{incident_permission_set_id}/booleans: + /v1/workflows/{workflow_id}/workflow_runs: get: - description: List incident_permission_set_booleans - operationId: listIncidentPermissionSetBooleans + description: List workflow runs + operationId: ListWorkflowRuns parameters: - explode: false in: path - name: incident_permission_set_id + name: workflow_id required: true schema: type: string style: simple - - explode: true + - description: "comma separated if needed. eg: genius_task_runs" + explode: true in: query name: include required: false schema: + enum: + - genius_task_runs type: string style: form - explode: true @@ -16426,13 +11092,6 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[kind]" - required: false - schema: - type: string - style: form - explode: true in: query name: "filter[created_at][gt]" @@ -16461,34 +11120,27 @@ paths: 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/incident_permission_set_boolean_list' - description: success + $ref: '#/components/schemas/workflow_runs_list' + description: success with date filters using gte with timezone security: - bearer_auth: [] - summary: List incident_permission_set_booleans + summary: List workflow runs tags: - - IncidentPermissionSetBooleans + - WorkflowRuns x-accepts: - application/vnd.api+json post: - description: Creates a new incident_permission_set_boolean from provided data - operationId: createIncidentPermissionSetBoolean + description: Creates a new workflow run from provided data + operationId: createWorkflowRun parameters: - explode: false in: path - name: incident_permission_set_id + name: workflow_id required: true schema: type: string @@ -16497,217 +11149,66 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_permission_set_boolean' + $ref: '#/components/schemas/new_workflow_run' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 2e12cbf1-2469-435c-8685-ff9c44afefd4 - type: incident_permission_set_booleans - attributes: - incident_permission_set_id: 835e0d60-0a80-4873-8bab-c780f81e85a1 - kind: update_summary - private: false - enabled: false - updated_at: 2025-05-22T06:45:36.811-07:00 - created_at: 2025-05-22T06:45:36.811-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_boolean_response' - description: incident_permission_set_boolean created + $ref: '#/components/schemas/workflow_run_response' + description: workflow run created "422": content: application/vnd.api+json: - example: - errors: - - title: Kind can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: workflow run not created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident_permission_set_boolean - tags: - - IncidentPermissionSetBooleans - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/incident_permission_set_booleans/{id}: - delete: - description: Delete a specific incident_permission_set_boolean by id - operationId: deleteIncidentPermissionSetBoolean - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: a6da9540-ff71-4037-bd8a-0c40814813df - type: incident_permission_set_booleans - attributes: - incident_permission_set_id: b626aab0-48ae-4bac-b6e0-0a50c0d3e5ac - kind: update_summary - private: false - enabled: false - updated_at: 2025-05-22T06:45:45.743-07:00 - created_at: 2025-05-22T06:45:45.743-07:00 - schema: - $ref: '#/components/schemas/incident_permission_set_boolean_response' - description: incident_permission_set_boolean deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete an incident_permission_set_boolean - tags: - - IncidentPermissionSetBooleans - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific incident_permission_set_boolean by id - operationId: getIncidentPermissionSetBoolean - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: d1d975ce-6b24-43a2-940a-76abc796c2de - type: incident_permission_set_booleans - attributes: - incident_permission_set_id: baa83094-0a9b-45c2-b5f3-350fed4f0964 - kind: update_summary - private: false - enabled: false - updated_at: 2025-05-22T06:45:39.656-07:00 - created_at: 2025-05-22T06:45:39.656-07:00 - schema: - $ref: '#/components/schemas/incident_permission_set_boolean_response' - description: incident_permission_set_boolean found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves an incident_permission_set_boolean - tags: - - IncidentPermissionSetBooleans - x-accepts: - - application/vnd.api+json - put: - description: Update a specific incident_permission_set_boolean by id - operationId: updateIncidentPermissionSetBoolean - 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_incident_permission_set_boolean' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 834c45f4-6a26-40ea-8a88-0dc54c256169 - type: incident_permission_set_booleans - attributes: - incident_permission_set_id: 71eda502-90e0-481e-8c55-5480b9df35db - kind: update_timeline - private: false - enabled: false - updated_at: 2025-05-22T06:45:42.537-07:00 - created_at: 2025-05-22T06:45:42.360-07:00 - schema: - $ref: '#/components/schemas/incident_permission_set_boolean_response' - description: incident_permission_set_boolean updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update an incident_permission_set_boolean + summary: Creates a workflow run tags: - - IncidentPermissionSetBooleans + - WorkflowRuns x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_permission_sets/{incident_permission_set_id}/resources: + /v1/workflows: get: - description: List incident_permission_set_resources - operationId: listIncidentPermissionSetResources + description: List workflows + operationId: listWorkflows parameters: - - explode: false - in: path - name: incident_permission_set_id - required: true + - description: "comma separated if needed. eg: form_field_conditions,alert_field_conditions" + explode: true + in: query + name: include + required: false schema: + enum: + - form_field_conditions + - alert_field_conditions + - genius_tasks + - genius_workflow_runs type: string - style: simple - - explode: true + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: include + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true @@ -16726,42 +11227,49 @@ paths: style: form - explode: true in: query - name: "filter[kind]" + name: "filter[search]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: sort + 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 @@ -16771,236 +11279,205 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_permission_set_resource_list' + $ref: '#/components/schemas/workflow_list' description: success security: - bearer_auth: [] - summary: List incident_permission_set_resources + summary: List workflows tags: - - IncidentPermissionSetResources + - Workflows x-accepts: - application/vnd.api+json post: - description: Creates a new incident_permission_set_resource from provided data - operationId: createIncidentPermissionSetResource - parameters: - - explode: false - in: path - name: incident_permission_set_id - required: true - schema: - type: string - style: simple + description: Creates a new workflow from provided data + operationId: createWorkflow + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_permission_set_resource' + $ref: '#/components/schemas/new_workflow' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 9bbb8982-a921-4a53-b4ac-68758bfdb73c - type: incident_permission_set_resources - attributes: - incident_permission_set_id: 4f0e41e3-b1d4-4a79-b8b8-8a6386fe931c - kind: incident_types - private: false - resource_id: 9145be4b-2036-4eb7-b2e3-9c256c604de3 - resource_type: IncidentType - updated_at: 2025-05-22T06:45:49.537-07:00 - created_at: 2025-05-22T06:45:49.537-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_resource_response' - description: incident_permission_set_resource created - "422": + $ref: '#/components/schemas/workflow_response' + description: ignores alert field conditions in create request + "401": content: application/vnd.api+json: - example: - errors: - - title: Resource must exist - status: "422" - - title: Kind can't be blank - status: "422" - - title: Kind is not included in the list - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request - "401": + description: responds with unauthorized for invalid token + "403": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: non-admins can't set 'locked' while creating a workflow security: - bearer_auth: [] - summary: Creates an incident_permission_set_resource + summary: Creates a workflow tags: - - IncidentPermissionSetResources + - Workflows x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_permission_set_resources/{id}: + /v1/workflows/{id}: delete: - description: Delete a specific incident_permission_set_resource by id - operationId: deleteIncidentPermissionSetResource + description: Delete a specific workflow by id + operationId: deleteWorkflow parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 258fd666-7168-47cd-aceb-485031f8aa54 - type: incident_permission_set_resources - attributes: - incident_permission_set_id: d47e5636-e7e5-4c47-9345-74f29f537368 - kind: incident_types - private: false - resource_id: 9e9bf5f5-9eaf-4572-88a5-2006aa2f0426 - resource_type: IncidentType - updated_at: 2025-05-22T06:45:58.490-07:00 - created_at: 2025-05-22T06:45:58.490-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_resource_response' - description: incident_permission_set_resource deleted + $ref: '#/components/schemas/workflow_response' + description: admin can destroy locked workflow "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: non-admin can't destroy locked workflow security: - bearer_auth: [] - summary: Delete an incident_permission_set_resource + summary: Delete a workflow tags: - - IncidentPermissionSetResources + - Workflows x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_permission_set_resource by id - operationId: getIncidentPermissionSetResource + description: Retrieves a specific workflow by id + operationId: getWorkflow parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - description: "comma separated if needed. eg: form_field_conditions,alert_field_conditions" + explode: true + in: query + name: include + required: false + schema: + enum: + - form_field_conditions + - alert_field_conditions + - genius_tasks + - genius_workflow_runs + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 21489a79-72ae-46e3-9288-959f5d6cf747 - type: incident_permission_set_resources - attributes: - incident_permission_set_id: 754f6ae9-8774-4f97-aaec-d38e9c1fdd29 - kind: incident_types - private: false - resource_id: edb6d211-1d50-4a61-ac53-bc74d3a5b677 - resource_type: IncidentType - updated_at: 2025-05-22T06:45:52.372-07:00 - created_at: 2025-05-22T06:45:52.372-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_resource_response' - description: incident_permission_set_resource found + $ref: '#/components/schemas/workflow_response' + description: does not serialize alert field conditions "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident_permission_set_resource + summary: Retrieves a workflow tags: - - IncidentPermissionSetResources + - Workflows x-accepts: - application/vnd.api+json put: - description: Update a specific incident_permission_set_resource by id - operationId: updateIncidentPermissionSetResource + description: Update a specific workflow by id + operationId: updateWorkflow parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_permission_set_resource' + $ref: '#/components/schemas/update_workflow' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 0cd4327f-3789-4a29-97cb-bf4211d93e4d - type: incident_permission_set_resources - attributes: - incident_permission_set_id: 4f4124e7-dd37-48ef-af87-ed313cea3db1 - kind: statuses - private: false - resource_id: 58fd7b60-9149-4432-823a-a9fda44a54b3 - resource_type: IncidentType - updated_at: 2025-05-22T06:45:55.240-07:00 - created_at: 2025-05-22T06:45:55.073-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_resource_response' - description: incident_permission_set_resource updated + $ref: '#/components/schemas/workflow_response' + description: preserves repeat_condition_* fields when omitted from PATCH + payload "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: non-admin can't update locked workflow + "403": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: non-admin can't update 'locked' attribute security: - bearer_auth: [] - summary: Update an incident_permission_set_resource + summary: Update a workflow tags: - - IncidentPermissionSetResources + - Workflows x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_permission_sets: + /v1/heartbeats/{heartbeat_id}/ping: + post: + description: Ping a specific heartbeat by id + operationId: pingHeartbeat + parameters: + - explode: false + in: path + name: heartbeat_id + required: true + schema: + type: string + style: simple + responses: + "204": + description: create ping + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Ping a heartbeat + tags: + - Heartbeats + x-accepts: + - application/vnd.api+json + /v1/heartbeats: get: - description: List incident_permission_sets - operationId: listIncidentPermissionSets + description: List heartbeats + operationId: listHeartbeats parameters: - explode: true in: query @@ -17072,250 +11549,176 @@ paths: 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/incident_permission_set_list' - description: success + $ref: '#/components/schemas/heartbeat_list' + description: filter by name security: - bearer_auth: [] - summary: List incident_permission_sets + summary: List heartbeats tags: - - IncidentPermissionSets + - Heartbeats x-accepts: - application/vnd.api+json post: - description: Creates a new incident_permission_set from provided data - operationId: createIncidentPermissionSet + description: Creates a new heartbeat from provided data + operationId: createHeartbeat parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_permission_set' + $ref: '#/components/schemas/new_heartbeat' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: f651ae34-04ca-4fb3-9748-9e937f60eb1a - type: incident_permission_sets - attributes: - team_id: 189 - name: Infrastructure - slug: infrastructure - description: null - private_incident_permissions: - - read - public_incident_permissions: - - read - updated_at: 2025-05-22T06:46:04.297-07:00 - created_at: 2025-05-22T06:46:04.297-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_response' - description: incident_permission_set created + $ref: '#/components/schemas/heartbeat_response' + description: heartbeat created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: interval less than 60 seconds "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident_permission_set + summary: Creates a heartbeat tags: - - IncidentPermissionSets + - Heartbeats x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_permission_sets/{id}: + /v1/heartbeats/{id}: delete: - description: Delete a specific incident_permission_set by id - operationId: deleteIncidentPermissionSet + description: Delete a specific heartbeat by id + operationId: deleteHeartbeat parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: dbc5a339-77b8-40f4-8497-923c8623b80d - type: incident_permission_sets - attributes: - team_id: 200 - name: Quis placeat atque pariatur. - slug: quis-placeat-atque-pariatur - description: Iure facilis aliquid dolore. - private_incident_permissions: - - read - public_incident_permissions: - - read - updated_at: 2025-05-22T06:46:12.885-07:00 - created_at: 2025-05-22T06:46:12.585-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_response' - description: incident_permission_set deleted + $ref: '#/components/schemas/heartbeat_response' + description: heartbeat deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident_permission_set + summary: Delete a heartbeat tags: - - IncidentPermissionSets + - Heartbeats x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_permission_set by id - operationId: getIncidentPermissionSet + description: Retrieves a specific heartbeat by id + operationId: getHeartbeat parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: df2250dc-b1ee-47e0-a9e8-b9ed182e23bd - type: incident_permission_sets - attributes: - team_id: 192 - name: Magni aut voluptatem et. - slug: magni-aut-voluptatem-et - description: Architecto itaque enim consequatur. - private_incident_permissions: - - read - public_incident_permissions: - - read - updated_at: 2025-05-22T06:46:06.404-07:00 - created_at: 2025-05-22T06:46:06.404-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_response' - description: incident_permission_set found + $ref: '#/components/schemas/heartbeat_response' + description: heartbeat found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident_permission_set + summary: Retrieves a heartbeat tags: - - IncidentPermissionSets + - Heartbeats x-accepts: - application/vnd.api+json put: - description: Update a specific incident_permission_set by id - operationId: updateIncidentPermissionSet + description: Update a specific heartbeat by id + operationId: updateHeartbeat parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_permission_set' + $ref: '#/components/schemas/update_heartbeat' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 02100c59-4ea0-4e84-b693-5ed577276cd9 - type: incident_permission_sets - attributes: - team_id: 196 - name: Security - slug: nesciunt-ab-aut-non - description: Autem et distinctio recusandae. - private_incident_permissions: - - read - public_incident_permissions: - - read - updated_at: 2025-05-22T06:46:10.069-07:00 - created_at: 2025-05-22T06:46:09.826-07:00 schema: - $ref: '#/components/schemas/incident_permission_set_response' - description: incident_permission_set updated + $ref: '#/components/schemas/heartbeat_response' + description: heartbeat updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid enum value security: - bearer_auth: [] - summary: Update an incident_permission_set + summary: Update a heartbeat tags: - - IncidentPermissionSets + - Heartbeats x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/post_mortems: + /v1/incidents/{incident_id}/action_items: get: - description: List incident retrospectives - operationId: listIncidentPostMortems + description: List incident action items + operationId: listIncidentActionItems parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -17337,275 +11740,425 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[search]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_list' + description: success + security: + - bearer_auth: [] + summary: List incident action items + tags: + - IncidentActionItems + x-accepts: + - application/vnd.api+json + post: + description: Creates a new action item from provided data + operationId: createIncidentActionItem + parameters: + - explode: false + in: path + name: incident_id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[status]" - required: false + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_incident_action_item' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_response' + description: incident_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 an incident action item + tags: + - IncidentActionItems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/action_items/{id}: + delete: + description: Delete a specific incident action item by id + operationId: deleteIncidentActionItem + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[severity]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_response' + description: incident_action_item deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an incident action item + tags: + - IncidentActionItems + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific incident_action_item by id + operationId: getIncidentActionItems + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_response' + description: incident_action_item found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an incident action item + tags: + - IncidentActionItems + x-accepts: + - application/vnd.api+json + put: + description: Update a specific incident action item by id + operationId: updateIncidentActionItem + 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_incident_action_item' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_response' + description: incident_action_item updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an incident action item + tags: + - IncidentActionItems + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/action_items: + get: + description: List all action items for an organization + operationId: listAllIncidentActionItems + parameters: - explode: true in: query - name: "filter[type]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[user_id]" + name: "page[number]" required: false schema: type: integer style: form - explode: true in: query - name: "filter[environments]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[functionalities]" + name: "filter[kind]" required: false schema: type: string style: form - explode: true in: query - name: "filter[services]" + name: "filter[priority]" required: false schema: type: string style: form - explode: true in: query - name: "filter[teams]" + name: "filter[status]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[incident_status]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[incident_created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[incident_created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[incident_created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][gt]" + name: "filter[incident_created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][gte]" + name: "filter[due_date][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][lt]" + name: "filter[due_date][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][lte]" + name: "filter[due_date][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][gt]" + name: "filter[due_date][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][gte]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][lt]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][lte]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[resolved_at][gt]" + name: "filter[created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[resolved_at][gte]" + name: sort required: false schema: type: string style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_action_item_list' + description: success + security: + - bearer_auth: [] + summary: List all action items for an organization + tags: + - IncidentActionItems + x-accepts: + - application/vnd.api+json + /v1/incidents/{incident_id}/custom_field_selections: + get: + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. List incident custom\ + \ field selections" + operationId: listIncidentCustomFieldSelections + parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple - explode: true in: query - name: "filter[resolved_at][lt]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[resolved_at][lte]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: sort + name: "page[size]" required: false schema: - type: string + type: integer style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_post_mortem_list' + $ref: '#/components/schemas/incident_custom_field_selection_list' description: success security: - bearer_auth: [] - summary: List incident retrospectives + summary: "[DEPRECATED] List incident custom field selections" tags: - - IncidentRetrospectives + - "[DEPRECATED] IncidentCustomFieldSelections" x-accepts: - application/vnd.api+json - /v1/post_mortems/{id}: - get: - description: List incidents retrospectives - operationId: ListIncidentPostmortem + post: + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Creates a new incident\ + \ custom field selection from provided data" + operationId: createIncidentCustomFieldSelection parameters: - explode: false in: path - name: id + name: incident_id required: true schema: type: string style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_incident_custom_field_selection' + required: true responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: 57832657-a5c2-4950-aa35-bcd96b2cbb2a - type: incident_post_mortems - attributes: - incident_id: 6d18d07b-2e95-461e-9711-e29893cd34c9 - title: Quaerat eos quia et. - status: draft - url: https://test.rootly.com/account/post_mortems/quaerat-eos-quia-et - short_url: null - content: null - published_at: null - started_at: 2025-05-22T06:46:16.457-07:00 - mitigated_at: null - resolved_at: null - cancelled_at: null - show_timeline: true - show_timeline_starred_only: false - show_timeline_genius: true - show_timeline_trail: true - show_timeline_tasks: true - show_timeline_action_items: true - show_timeline_order: desc - show_functionalities_impacted: true - show_services_impacted: true - show_groups_impacted: true - show_action_items: true - created_at: 2025-05-22T06:46:17.104-07:00 - updated_at: 2025-05-22T06:46:17.111-07:00 - relationships: - incident_retrospective_steps: - data: - - id: 8faac01e-d580-436a-8a84-bc62c9ff6d7d - type: incident_retrospective_steps schema: - $ref: '#/components/schemas/incident_post_mortem_response' - description: incident_post_mortem found - "404": + $ref: '#/components/schemas/incident_custom_field_selection_response' + description: incident_custom_field_selection created + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + 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: Retrieves an incident retrospective + summary: "[DEPRECATED] Creates an incident custom field selection" tags: - - IncidentRetrospectives + - "[DEPRECATED] IncidentCustomFieldSelections" + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - put: - description: Update a specific incident retrospective by id - operationId: updateIncidentPostmortem + /v1/incident_custom_field_selections/{id}: + delete: + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Delete a specific\ + \ incident custom field selection by id" + operationId: deleteIncidentCustomFieldSelection parameters: - explode: false in: path @@ -17614,73 +12167,31 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_incident_post_mortem' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 57832657-a5c2-4950-aa35-bcd96b2cbb2a - type: incident_post_mortems - attributes: - incident_id: 6d18d07b-2e95-461e-9711-e29893cd34c9 - title: Retrospective updated - status: draft - url: https://test.rootly.com/account/post_mortems/quaerat-eos-quia-et - short_url: null - content: null - published_at: null - started_at: 2025-05-22T06:46:16.457-07:00 - mitigated_at: null - resolved_at: null - cancelled_at: null - show_timeline: false - show_timeline_starred_only: false - show_timeline_genius: true - show_timeline_trail: true - show_timeline_tasks: true - show_timeline_action_items: true - show_timeline_order: desc - show_functionalities_impacted: true - show_services_impacted: true - show_groups_impacted: true - show_action_items: true - created_at: 2025-05-22T06:46:17.104-07:00 - updated_at: 2025-05-22T06:46:31.720-07:00 - relationships: - incident_retrospective_steps: - data: [] schema: - $ref: '#/components/schemas/incident_post_mortem_response' - description: incident_post_mortem updated + $ref: '#/components/schemas/incident_custom_field_selection_response' + description: incident_custom_field_selection deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident retrospective + summary: "[DEPRECATED] Delete an incident custom field selection" tags: - - IncidentRetrospectives - x-content-type: application/vnd.api+json + - "[DEPRECATED] IncidentCustomFieldSelections" x-accepts: - application/vnd.api+json - /v1/incident_retrospective_steps/{id}: get: - description: Retrieves a specific incident retrospective step by id - operationId: getIncidentRetrospectiveStep + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Retrieves a specific\ + \ incident custom field selection by id" + operationId: getIncidentCustomFieldSelection parameters: - explode: false in: path @@ -17693,48 +12204,27 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: c5b31007-82f2-4418-8eb2-539aca0ae15e - type: incident_retrospective_steps - attributes: - retrospective_step_id: 257ceea8-acc9-4d6f-86a0-489bc513f6ed - incident_id: c2403b3d-2f93-48d9-8270-3bee85d4ef9d - title: Step 4 - description: null - due_date: null - user_id: null - kind: custom - position: 1 - skippable: false - status: todo - status_changed_at: null - status_changed_by_id: null - created_at: 2025-05-22T06:46:33.809-07:00 - updated_at: 2025-05-22T06:46:33.809-07:00 schema: - $ref: '#/components/schemas/incident_retrospective_step_response' - description: incident retrospective_step found + $ref: '#/components/schemas/incident_custom_field_selection_response' + description: incident_custom_field_selection found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident retrospective step + summary: "[DEPRECATED] Retrieves an incident custom field selection" tags: - - IncidentRetrospectiveSteps + - "[DEPRECATED] IncidentCustomFieldSelections" x-accepts: - application/vnd.api+json put: - description: Update a specific incident retrospective step by id - operationId: updateIncidentRetrospectiveStep + deprecated: true + description: "[DEPRECATED] Use form field endpoints instead. Update a specific\ + \ incident custom field selection by id" + operationId: updateIncidentCustomFieldSelection parameters: - explode: false in: path @@ -17747,60 +12237,37 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_retrospective_step' + $ref: '#/components/schemas/update_incident_custom_field_selection' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: c5b31007-82f2-4418-8eb2-539aca0ae15e - type: incident_retrospective_steps - attributes: - retrospective_step_id: 257ceea8-acc9-4d6f-86a0-489bc513f6ed - incident_id: c2403b3d-2f93-48d9-8270-3bee85d4ef9d - title: Step 2 - description: Step 2 description - due_date: 2024-12-05T08:10:58.323-08:00 - user_id: null - kind: custom - position: 2 - skippable: true - status: todo - status_changed_at: null - status_changed_by_id: null - created_at: 2025-05-22T06:46:33.809-07:00 - updated_at: 2025-05-22T06:46:34.556-07:00 schema: - $ref: '#/components/schemas/incident_retrospective_step_response' - description: incident_retrospective_step updated + $ref: '#/components/schemas/incident_custom_field_selection_response' + description: incident_custom_field_selection updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident retrospective step + summary: "[DEPRECATED] Update an incident custom field selection" tags: - - IncidentRetrospectiveSteps + - "[DEPRECATED] IncidentCustomFieldSelections" x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_roles/{incident_role_id}/incident_role_tasks: + /v1/events/{incident_event_id}/functionalities: get: - description: List incident_role tasks - operationId: listIncidentRoleTasks + description: List incident event functionalities + operationId: listIncidentEventFunctionalities parameters: - explode: false in: path - name: incident_role_id + name: incident_event_id required: true schema: type: string @@ -17831,22 +12298,22 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_role_task_list' + $ref: '#/components/schemas/incident_event_functionality_list' description: success security: - bearer_auth: [] - summary: List incident role tasks + summary: List incident event functionalities tags: - - IncidentRoleTasks + - IncidentEventFunctionalities x-accepts: - application/vnd.api+json post: - description: Creates a new task from provided data - operationId: createIncidentRoleTask + description: Creates a new event functionality from provided data + operationId: createIncidentEventFunctionality parameters: - explode: false in: path - name: incident_role_id + name: incident_event_id required: true schema: type: string @@ -17855,58 +12322,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_role_task' + $ref: '#/components/schemas/new_incident_event_functionality' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: e753da0c-7c36-4834-9e07-ac7f13f0e8aa - type: incident_role_tasks - attributes: - incident_role_id: 174d37fb-80da-4ca4-bbb9-04ec75b915f3 - task: New task - description: New task description - priority: high - created_at: 2025-05-22T06:46:36.158-07:00 - updated_at: 2025-05-22T06:46:36.158-07:00 schema: - $ref: '#/components/schemas/incident_role_task_response' - description: incident_role_task created + $ref: '#/components/schemas/incident_event_functionality_response' + description: incident_event_functionality created "422": content: application/vnd.api+json: - example: - errors: - - title: Task can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident role task + summary: Creates an incident event functionality tags: - - IncidentRoleTasks + - IncidentEventFunctionalities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_role_tasks/{id}: + /v1/incident_event_functionalities/{id}: delete: - description: Delete a specific incident_role task by id - operationId: deleteIncidentRoleTask + description: Delete a specific incident event functionality by id + operationId: deleteIncidentEventFunctionality parameters: - explode: false in: path @@ -17919,40 +12367,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1d18ae80-75d7-48b2-9dac-d759baddcc47 - type: incident_role_tasks - attributes: - incident_role_id: 174d37fb-80da-4ca4-bbb9-04ec75b915f3 - task: Dolorum autem aut hic. - description: Voluptatem dolor molestiae rerum. - priority: medium - created_at: 2025-05-22T06:46:35.979-07:00 - updated_at: 2025-05-22T06:46:37.956-07:00 schema: - $ref: '#/components/schemas/incident_role_task_response' - description: incident_role_task deleted + $ref: '#/components/schemas/incident_event_functionality_response' + description: incident_event deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident role task + summary: Delete an incident event functionality tags: - - IncidentRoleTasks + - IncidentEventFunctionalities x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_role_task by id - operationId: getIncidentRoleTask + description: Retrieves a specific incident_event_functionality by id + operationId: getIncidentEventFunctionalities parameters: - explode: false in: path @@ -17965,40 +12398,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 1d18ae80-75d7-48b2-9dac-d759baddcc47 - type: incident_role_tasks - attributes: - incident_role_id: 174d37fb-80da-4ca4-bbb9-04ec75b915f3 - task: Dolorum autem aut hic. - description: Voluptatem dolor molestiae rerum. - priority: medium - created_at: 2025-05-22T06:46:35.979-07:00 - updated_at: 2025-05-22T06:46:35.989-07:00 schema: - $ref: '#/components/schemas/incident_role_task_response' - description: incident_role_task found + $ref: '#/components/schemas/incident_event_functionality_response' + description: incident_event_functionality found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident role task + summary: Retrieves an incident event functionality tags: - - IncidentRoleTasks + - IncidentEventFunctionalities x-accepts: - application/vnd.api+json put: - description: Update a specific incident_role task by id - operationId: updateIncidentRoleTask + description: Update a specific incident event functionality by id + operationId: updateIncidentEventFunctionality parameters: - explode: false in: path @@ -18011,49 +12429,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_role_task' + $ref: '#/components/schemas/update_incident_event_functionality' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 1d18ae80-75d7-48b2-9dac-d759baddcc47 - type: incident_role_tasks - attributes: - incident_role_id: 174d37fb-80da-4ca4-bbb9-04ec75b915f3 - task: Task updated - description: Task description updated - priority: medium - created_at: 2025-05-22T06:46:35.979-07:00 - updated_at: 2025-05-22T06:46:37.399-07:00 schema: - $ref: '#/components/schemas/incident_role_task_response' - description: incident_role_task updated + $ref: '#/components/schemas/incident_event_functionality_response' + description: incident_event_functionality updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident role task + summary: Update an incident event tags: - - IncidentRoleTasks + - IncidentEventFunctionalities x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_roles: + /v1/events/{incident_event_id}/services: get: - description: List incident roles - operationId: listIncidentRoles + description: List incident event services + operationId: listIncidentEventServices parameters: + - explode: false + in: path + name: incident_event_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -18075,147 +12485,68 @@ paths: 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[slug]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_event_service_list' + description: success + security: + - bearer_auth: [] + summary: List incident event services + tags: + - IncidentEventServices + x-accepts: + - application/vnd.api+json + post: + description: Creates a new event service from provided data + operationId: createIncidentEventService + parameters: + - explode: false + in: path + name: incident_event_id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[enabled]" - required: false - schema: - type: boolean - 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: sort - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/incident_role_list' - description: success - security: - - bearer_auth: [] - summary: List incident roles - tags: - - IncidentRoles - x-accepts: - - application/vnd.api+json - post: - description: Creates a new incident role from provided data - operationId: createIncidentRole - parameters: [] + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_role' + $ref: '#/components/schemas/new_incident_event_service' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 2a8093eb-ad86-4675-adbe-08bd7829eff3 - type: incident_roles - attributes: - slug: my-incident-role - name: My Incident Role - summary: My Incident Role summary - description: My Incident Role description - position: 1 - optional: false - enabled: true - allow_multi_user_assignment: true - created_at: 2025-05-22T06:46:42.260-07:00 - updated_at: 2025-05-22T06:46:42.260-07:00 schema: - $ref: '#/components/schemas/incident_role_response' - description: incident_role created + $ref: '#/components/schemas/incident_event_service_response' + description: incident_event_service created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident role + summary: Creates an incident event service tags: - - IncidentRoles + - IncidentEventServices x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_roles/{id}: + /v1/incident_event_services/{id}: delete: - description: Delete a specific incident_role by id - operationId: deleteIncidentRole + description: Delete a specific incident event service by id + operationId: deleteIncidentEventService parameters: - explode: false in: path @@ -18228,44 +12559,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 5223ce3b-075a-4021-a8ad-3086bf8ff0f1 - type: incident_roles - attributes: - slug: ut-saepe-accusamus-modi - name: Ut saepe accusamus modi. - summary: null - description: null - position: 1 - optional: false - enabled: true - allow_multi_user_assignment: false - created_at: 2025-05-22T06:46:40.019-07:00 - updated_at: 2025-05-22T06:46:44.157-07:00 schema: - $ref: '#/components/schemas/incident_role_response' - description: incident_role deleted + $ref: '#/components/schemas/incident_event_service_response' + description: incident_event deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident role + summary: Delete an incident event functionalitu tags: - - IncidentRoles + - IncidentEventServices x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_role by id - operationId: getIncidentRole + description: Retrieves a specific incident_event_service by id + operationId: getIncidentEventServices parameters: - explode: false in: path @@ -18278,44 +12590,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 5223ce3b-075a-4021-a8ad-3086bf8ff0f1 - type: incident_roles - attributes: - slug: ut-saepe-accusamus-modi - name: Ut saepe accusamus modi. - summary: null - description: null - position: 1 - optional: false - enabled: true - allow_multi_user_assignment: false - created_at: 2025-05-22T06:46:40.019-07:00 - updated_at: 2025-05-22T06:46:40.019-07:00 schema: - $ref: '#/components/schemas/incident_role_response' - description: incident_role found + $ref: '#/components/schemas/incident_event_service_response' + description: incident_event_service found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident role + summary: Retrieves an incident event service tags: - - IncidentRoles + - IncidentEventServices x-accepts: - application/vnd.api+json put: - description: Update a specific incident_role by id - operationId: updateIncidentRole + description: Update a specific incident event service by id + operationId: updateIncidentEventService parameters: - explode: false in: path @@ -18328,52 +12621,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_role' + $ref: '#/components/schemas/update_incident_event_service' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 5223ce3b-075a-4021-a8ad-3086bf8ff0f1 - type: incident_roles - attributes: - slug: my-incident-role-updated - name: My Incident Role Updated - summary: My Incident Role Summary Updated - description: My Incident Role Description Updated - position: 2 - optional: true - enabled: true - allow_multi_user_assignment: false - created_at: 2025-05-22T06:46:40.019-07:00 - updated_at: 2025-05-22T06:46:43.583-07:00 schema: - $ref: '#/components/schemas/incident_role_response' - description: incident_role updated + $ref: '#/components/schemas/incident_event_service_response' + description: incident_event_service updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident role + summary: Update an incident event tags: - - IncidentRoles + - IncidentEventServices x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/status-page-events: + /v1/incidents/{incident_id}/events: get: - description: List incident status page events - operationId: listIncidentStatusPages + description: List incident events + operationId: listIncidentEvents parameters: - explode: false in: path @@ -18408,18 +12682,18 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_status_page_event_list' + $ref: '#/components/schemas/incident_event_list' description: success security: - bearer_auth: [] - summary: List incident status page events + summary: List incident events tags: - - IncidentStatusPageEvents + - IncidentEvents x-accepts: - application/vnd.api+json post: description: Creates a new event from provided data - operationId: createIncidentStatusPage + operationId: createIncidentEvent parameters: - explode: false in: path @@ -18432,63 +12706,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_status_page_event' + $ref: '#/components/schemas/new_incident_event' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 0878a132-9d31-479a-9743-e89e4e7a1583 - type: incident_status_page_events - attributes: - incident_id: 22f6ab3d-b253-49be-be8d-f98118177d22 - status_page_id: 18c19c19-de7b-432a-8e33-c63e65279ae6 - status: investigating - notify_subscribers: true - should_tweet: false - started_at: 2025-05-22T06:46:46.578-07:00 - created_at: 2025-05-22T06:46:46.578-07:00 - updated_at: 2025-05-22T06:46:46.578-07:00 - event: New Event schema: - $ref: '#/components/schemas/incident_status_page_event_response' - description: incident_status_page_event created + $ref: '#/components/schemas/incident_event_response' + description: incident_event created "422": content: application/vnd.api+json: - example: - errors: - - title: Status page must exist - status: "422" - - title: Event can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident status page event + summary: Creates an incident event tags: - - IncidentStatusPageEvents + - IncidentEvents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/status-page-events/{id}: + /v1/events/{id}: delete: - description: Delete a specific incident status page event by id - operationId: deleteIncidentStatusPage + description: Delete a specific incident event by id + operationId: deleteIncidentEvent parameters: - explode: false in: path @@ -18501,43 +12751,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: bb5b18fa-e416-4d27-b1fe-0c5975eb21bc - type: incident_status_page_events - attributes: - incident_id: 22f6ab3d-b253-49be-be8d-f98118177d22 - status_page_id: 18c19c19-de7b-432a-8e33-c63e65279ae6 - status: investigating - notify_subscribers: false - should_tweet: false - started_at: 2025-05-22T06:46:46.184-07:00 - created_at: 2025-05-22T06:46:46.184-07:00 - updated_at: 2025-05-22T06:46:48.888-07:00 - event: Et temporibus quia enim. schema: - $ref: '#/components/schemas/incident_status_page_event_response' - description: incident_status_page_event deleted + $ref: '#/components/schemas/incident_event_response' + description: incident_event deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident status page event + summary: Delete an incident event tags: - - IncidentStatusPageEvents + - IncidentEvents x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_status_page_event by id - operationId: getIncidentStatusPages + description: Retrieves a specific incident_event by id + operationId: getIncidentEvents parameters: - explode: false in: path @@ -18550,43 +12782,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: bb5b18fa-e416-4d27-b1fe-0c5975eb21bc - type: incident_status_page_events - attributes: - incident_id: 22f6ab3d-b253-49be-be8d-f98118177d22 - status_page_id: 18c19c19-de7b-432a-8e33-c63e65279ae6 - status: investigating - notify_subscribers: false - should_tweet: false - started_at: 2025-05-22T06:46:46.184-07:00 - created_at: 2025-05-22T06:46:46.184-07:00 - updated_at: 2025-05-22T06:46:46.184-07:00 - event: Et temporibus quia enim. schema: - $ref: '#/components/schemas/incident_status_page_event_response' - description: incident_status_page_event found + $ref: '#/components/schemas/incident_event_response' + description: incident_event found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident status page event + summary: Retrieves an incident event tags: - - IncidentStatusPageEvents + - IncidentEvents x-accepts: - application/vnd.api+json put: - description: Update a specific incident status page event by id - operationId: updateIncidentStatusPage + description: Update a specific incident event by id + operationId: updateIncidentEvent parameters: - explode: false in: path @@ -18599,51 +12813,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_status_page_event' + $ref: '#/components/schemas/update_incident_event' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: bb5b18fa-e416-4d27-b1fe-0c5975eb21bc - type: incident_status_page_events - attributes: - incident_id: 22f6ab3d-b253-49be-be8d-f98118177d22 - status_page_id: ef400f0b-bd32-4240-bd6a-2a076b4053c2 - status: investigating - notify_subscribers: false - should_tweet: false - started_at: 2025-05-22T06:46:46.184-07:00 - created_at: 2025-05-22T06:46:46.184-07:00 - updated_at: 2025-05-22T06:46:48.162-07:00 - event: Event updated schema: - $ref: '#/components/schemas/incident_status_page_event_response' - description: incident_status_page_event updated + $ref: '#/components/schemas/incident_event_response' + description: incident_event updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident status page event + summary: Update an incident event tags: - - IncidentStatusPageEvents + - IncidentEvents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{incident_id}/sub_statuses: + /v1/incidents/{incident_id}/feedbacks: get: - description: List incident_sub_statuses - operationId: listIncidentSubStatuses + description: List incident feedbacks + operationId: listIncidentFeedbacks parameters: - explode: false in: path @@ -18652,30 +12848,11 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: sub_status,assigned_by_user" - explode: true + - explode: true in: query name: include required: false schema: - enum: - - sub_status - - assigned_by_user - type: string - style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true - in: query - name: sort - required: false - schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - - assigned_at - - -assigned_at type: string style: form - explode: true @@ -18692,58 +12869,23 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[sub_status_id]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[assigned_at][gt]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[assigned_at][gte]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[assigned_at][lt]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[assigned_at][lte]" - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_sub_status_list' + $ref: '#/components/schemas/incident_feedback_list' description: success security: - bearer_auth: [] - summary: List incident_sub_statuses + summary: List incident feedbacks tags: - - IncidentSubStatuses + - IncidentFeedbacks x-accepts: - application/vnd.api+json post: - description: Creates a new sub-status assignment from provided data - operationId: createIncidentSubStatus + description: Creates a new feedback from provided data + operationId: createIncidentFeedback parameters: - explode: false in: path @@ -18756,53 +12898,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_sub_status' + $ref: '#/components/schemas/new_incident_feedback' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 7d9446a6-5692-4a21-9cfd-0aee9edd1a49 - type: incident_sub_statuses - attributes: - sub_status_id: 0f35cfae-189b-421b-8a23-6be0a9789245 - incident_id: 89308391-3b55-4db3-b84c-011069200be8 - assigned_at: 2025-05-22T06:46:50.000-07:00 - assigned_by_user_id: null - relationships: - sub_status: - data: - id: 0f35cfae-189b-421b-8a23-6be0a9789245 - type: sub_statuses - assigned_by_user: - data: null schema: - $ref: '#/components/schemas/incident_sub_status_response' - description: incident_sub_status created + $ref: '#/components/schemas/incident_feedback_response' + description: incident_feedback created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a sub-status assignment + summary: Creates an incident feedback tags: - - IncidentSubStatuses + - IncidentFeedbacks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_sub_statuses/{id}: - delete: - description: Delete a specific incident_sub_status by id - operationId: deleteIncidentSubStatus + /v1/feedbacks/{id}: + get: + description: Retrieves a specific incident_feedback by id + operationId: getIncidentFeedbacks parameters: - explode: false in: path @@ -18815,101 +12943,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 0b28a79f-2ce1-4629-a06d-5ab593b77fad - type: incident_sub_statuses - attributes: - sub_status_id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - incident_id: 89308391-3b55-4db3-b84c-011069200be8 - assigned_at: 2025-05-22T06:46:50.720-07:00 - assigned_by_user_id: 286 - relationships: - sub_status: - data: - id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - type: sub_statuses - assigned_by_user: - data: - id: "286" - type: users schema: - $ref: '#/components/schemas/incident_sub_status_response' - description: incident_sub_status deleted + $ref: '#/components/schemas/incident_feedback_response' + description: incident_feedback found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident_sub_status - tags: - - IncidentSubStatuses - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific incident_sub_status by id - operationId: getIncidentSubStatus - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - - description: "comma separated if needed. eg: sub_status,assigned_by_user" - explode: true - in: query - name: include - required: false - schema: - enum: - - sub_status - - assigned_by_user - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 0b28a79f-2ce1-4629-a06d-5ab593b77fad - type: incident_sub_statuses - attributes: - sub_status_id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - incident_id: 89308391-3b55-4db3-b84c-011069200be8 - assigned_at: 2025-05-22T06:46:50.720-07:00 - assigned_by_user_id: 286 - relationships: - sub_status: - data: - id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - type: sub_statuses - assigned_by_user: - data: - id: "286" - type: users - schema: - $ref: '#/components/schemas/incident_sub_status_response' - description: sub_status found - security: - - bearer_auth: [] - summary: Retrieves incident_sub_status + summary: Retrieves an incident feedback tags: - - IncidentSubStatuses + - IncidentFeedbacks x-accepts: - application/vnd.api+json put: - description: Update a specific incident_sub_status by id - operationId: updateIncidentSubStatus + description: Update a specific incident feedback by id + operationId: updateIncidentFeedback parameters: - explode: false in: path @@ -18922,46 +12974,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_sub_status' + $ref: '#/components/schemas/update_incident_feedback' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 0b28a79f-2ce1-4629-a06d-5ab593b77fad - type: incident_sub_statuses - attributes: - sub_status_id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - incident_id: 89308391-3b55-4db3-b84c-011069200be8 - assigned_at: 2025-05-22T06:46:52.000-07:00 - assigned_by_user_id: 286 - relationships: - sub_status: - data: - id: 58f38e9e-263e-43bd-8b4b-b1d8eb733246 - type: sub_statuses - assigned_by_user: - data: - id: "286" - type: users schema: - $ref: '#/components/schemas/incident_sub_status_response' - description: incident_sub_status updated + $ref: '#/components/schemas/incident_feedback_response' + description: incident_feedback updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: Update incident_sub_status + summary: Update an incident feedback tags: - - IncidentSubStatuses + - IncidentFeedbacks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_types: + /v1/incidents/{incident_id}/form_field_selections: get: - description: List incident types - operationId: listIncident Types + description: List incident form field selections + operationId: listIncidentFormFieldSelections parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -18983,146 +13030,68 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[slug]" - 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[color]" - 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: sort - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_type_list' + $ref: '#/components/schemas/incident_form_field_selection_list' description: success security: - bearer_auth: [] - summary: List incident types + summary: List incident form field selections tags: - - IncidentTypes + - IncidentFormFieldSelections x-accepts: - application/vnd.api+json post: - description: Creates a new incident_type from provided data - operationId: createIncidentType - parameters: [] + description: Creates a new incident form field selection from provided data + operationId: createIncidentFormFieldSelection + parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_incident_type' + $ref: '#/components/schemas/new_incident_form_field_selection' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: b7ee8200-0a22-45af-814a-4e3a5a5257aa - type: incident_types - attributes: - slug: bug - name: Bug - description: Bug caused by a human - color: '#FFF' - position: 1 - notify_emails: - - hello@rootly.com - - world@rootly.com - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: leadership - created_at: 2025-05-22T06:46:57.100-07:00 - updated_at: 2025-05-22T06:46:57.100-07:00 schema: - $ref: '#/components/schemas/incident_type_response' - description: incident_type created + $ref: '#/components/schemas/incident_form_field_selection_response' + description: incident_form_field_selection created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an incident type + summary: Creates an incident form field selection tags: - - IncidentTypes + - IncidentFormFieldSelections x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incident_types/{id}: + /v1/incident_form_field_selections/{id}: delete: - description: Delete a specific incident_type by id - operationId: deleteIncidentType + description: Delete a specific incident form field selection by id + operationId: deleteIncidentFormFieldSelection parameters: - explode: false in: path @@ -19135,44 +13104,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 85408920-920c-4a10-a732-a8a235c1614a - type: incident_types - attributes: - slug: libero-modi-perferendis-officia - name: Libero modi perferendis officia. - description: Temporibus delectus quo tempore. - color: '#D7E7F5' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:46:54.845-07:00 - updated_at: 2025-05-22T06:46:58.972-07:00 schema: - $ref: '#/components/schemas/incident_type_response' - description: incident_type deleted + $ref: '#/components/schemas/incident_form_field_selection_response' + description: incident_form_field_selection deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident type + summary: Delete an incident form field selection tags: - - IncidentTypes + - IncidentFormFieldSelections x-accepts: - application/vnd.api+json get: - description: Retrieves a specific incident_type by id - operationId: getIncidentType + description: Retrieves a specific incident form field selection by id + operationId: getIncidentFormFieldSelection parameters: - explode: false in: path @@ -19185,44 +13135,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 85408920-920c-4a10-a732-a8a235c1614a - type: incident_types - attributes: - slug: libero-modi-perferendis-officia - name: Libero modi perferendis officia. - description: Temporibus delectus quo tempore. - color: '#D7E7F5' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:46:54.845-07:00 - updated_at: 2025-05-22T06:46:54.845-07:00 schema: - $ref: '#/components/schemas/incident_type_response' - description: incident_type found + $ref: '#/components/schemas/incident_form_field_selection_response' + description: incident_form_field_selection found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident type + summary: Retrieves an incident form field selection tags: - - IncidentTypes + - IncidentFormFieldSelections x-accepts: - application/vnd.api+json put: - description: Update a specific incident_type by id - operationId: updateIncidentType + description: Update a specific incident form field selection by id + operationId: updateIncidentFormFieldSelection parameters: - explode: false in: path @@ -19235,73 +13166,61 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident_type' + $ref: '#/components/schemas/update_incident_form_field_selection' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 85408920-920c-4a10-a732-a8a235c1614a - type: incident_types - attributes: - slug: p1 - name: P1 - description: Medium Priority - color: '#000' - position: 2 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:46:54.845-07:00 - updated_at: 2025-05-22T06:46:58.400-07:00 schema: - $ref: '#/components/schemas/incident_type_response' - description: incident_type updated + $ref: '#/components/schemas/incident_form_field_selection_response' + description: incident_form_field_selection updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident type + summary: Update an incident form field selection tags: - - IncidentTypes + - IncidentFormFieldSelections x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents: + /v1/incident_permission_sets/{incident_permission_set_id}/booleans: get: - description: List incidents - operationId: listIncidents + description: List incident_permission_set_booleans + operationId: listIncidentPermissionSetBooleans parameters: + - explode: false + in: path + name: incident_permission_set_id + required: true + schema: + type: string + style: simple - explode: true in: query - name: "page[number]" + name: include required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "page[number]" required: false schema: type: integer style: form - explode: true in: query - name: "filter[search]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query @@ -19312,133 +13231,234 @@ paths: style: form - explode: true in: query - name: "filter[status]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[private]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[user_id]" - required: false - schema: - type: integer - style: form - - explode: true - in: query - name: "filter[severity]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[severity_id]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[labels]" + name: "filter[created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[types]" + name: sort required: false schema: type: string style: form - - explode: true - in: query - name: "filter[type_ids]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[environments]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[environment_ids]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[functionalities]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_boolean_list' + description: success + security: + - bearer_auth: [] + summary: List incident_permission_set_booleans + tags: + - IncidentPermissionSetBooleans + x-accepts: + - application/vnd.api+json + post: + description: Creates a new incident_permission_set_boolean from provided data + operationId: createIncidentPermissionSetBoolean + parameters: + - explode: false + in: path + name: incident_permission_set_id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[functionality_ids]" - required: false + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_incident_permission_set_boolean' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_boolean_response' + description: incident_permission_set_boolean 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 an incident_permission_set_boolean + tags: + - IncidentPermissionSetBooleans + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/incident_permission_set_booleans/{id}: + delete: + description: Delete a specific incident_permission_set_boolean by id + operationId: deleteIncidentPermissionSetBoolean + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[services]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_boolean_response' + description: incident_permission_set_boolean deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an incident_permission_set_boolean + tags: + - IncidentPermissionSetBooleans + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific incident_permission_set_boolean by id + operationId: getIncidentPermissionSetBoolean + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[service_ids]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_boolean_response' + description: incident_permission_set_boolean found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an incident_permission_set_boolean + tags: + - IncidentPermissionSetBooleans + x-accepts: + - application/vnd.api+json + put: + description: Update a specific incident_permission_set_boolean by id + operationId: updateIncidentPermissionSetBoolean + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[teams]" - required: false + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_incident_permission_set_boolean' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_boolean_response' + description: incident_permission_set_boolean updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an incident_permission_set_boolean + tags: + - IncidentPermissionSetBooleans + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/incident_permission_sets/{incident_permission_set_id}/resources: + get: + description: List incident_permission_set_resources + operationId: listIncidentPermissionSetResources + parameters: + - explode: false + in: path + name: incident_permission_set_id + required: true schema: type: string - style: form + style: simple - explode: true in: query - name: "filter[team_ids]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[cause]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[cause_ids]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[custom_field_selected_option_ids]" + name: "filter[kind]" required: false schema: type: string @@ -19473,263 +13493,678 @@ paths: style: form - explode: true in: query - name: "filter[updated_at][gt]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[updated_at][gte]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[updated_at][lt]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[updated_at][lte]" + name: sort required: false schema: type: string style: form - - explode: true - in: query - name: "filter[started_at][gt]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_resource_list' + description: success + security: + - bearer_auth: [] + summary: List incident_permission_set_resources + tags: + - IncidentPermissionSetResources + x-accepts: + - application/vnd.api+json + post: + description: Creates a new incident_permission_set_resource from provided data + operationId: createIncidentPermissionSetResource + parameters: + - explode: false + in: path + name: incident_permission_set_id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[started_at][gte]" - required: false + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_incident_permission_set_resource' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_resource_response' + description: incident_permission_set_resource 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 an incident_permission_set_resource + tags: + - IncidentPermissionSetResources + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/incident_permission_set_resources/{id}: + delete: + description: Delete a specific incident_permission_set_resource by id + operationId: deleteIncidentPermissionSetResource + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[started_at][lt]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_resource_response' + description: incident_permission_set_resource deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an incident_permission_set_resource + tags: + - IncidentPermissionSetResources + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific incident_permission_set_resource by id + operationId: getIncidentPermissionSetResource + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form - - explode: true - in: query - name: "filter[started_at][lte]" - required: false + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_resource_response' + description: incident_permission_set_resource found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an incident_permission_set_resource + tags: + - IncidentPermissionSetResources + x-accepts: + - application/vnd.api+json + put: + description: Update a specific incident_permission_set_resource by id + operationId: updateIncidentPermissionSetResource + parameters: + - explode: false + in: path + name: id + required: true schema: type: string - style: form + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_incident_permission_set_resource' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_resource_response' + description: incident_permission_set_resource updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an incident_permission_set_resource + tags: + - IncidentPermissionSetResources + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/incident_permission_sets: + get: + description: List incident_permission_sets + operationId: listIncidentPermissionSets + parameters: - explode: true in: query - name: "filter[detected_at][gt]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[detected_at][gte]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[detected_at][lt]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[detected_at][lte]" + name: "filter[search]" required: false schema: type: string style: form - explode: true in: query - name: "filter[acknowledged_at][gt]" + name: "filter[slug]" required: false schema: type: string style: form - explode: true in: query - name: "filter[acknowledged_at][gte]" + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "filter[acknowledged_at][lt]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[acknowledged_at][lte]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][gt]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][gte]" + name: "filter[created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[mitigated_at][lt]" + name: sort required: false schema: type: string style: form - - explode: true - in: query - name: "filter[mitigated_at][lte]" - required: false + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_list' + description: success + security: + - bearer_auth: [] + summary: List incident_permission_sets + tags: + - IncidentPermissionSets + x-accepts: + - application/vnd.api+json + post: + description: Creates a new incident_permission_set from provided data + operationId: createIncidentPermissionSet + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_incident_permission_set' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_response' + description: incident_permission_set 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 an incident_permission_set + tags: + - IncidentPermissionSets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/incident_permission_sets/{id}: + delete: + description: Delete a specific incident_permission_set by id + operationId: deleteIncidentPermissionSet + parameters: + - explode: false + in: path + name: id + required: true schema: - type: string - style: form - - explode: true - in: query - name: "filter[resolved_at][gt]" - required: false + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_response' + description: incident_permission_set deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an incident_permission_set + tags: + - IncidentPermissionSets + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific incident_permission_set by id + operationId: getIncidentPermissionSet + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_response' + description: incident_permission_set found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an incident_permission_set + tags: + - IncidentPermissionSets + x-accepts: + - application/vnd.api+json + put: + description: Update a specific incident_permission_set by id + operationId: updateIncidentPermissionSet + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_incident_permission_set' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incident_permission_set_response' + description: incident_permission_set updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an incident_permission_set + tags: + - IncidentPermissionSets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/post_mortems: + get: + description: List incident retrospectives + operationId: listIncidentPostMortems + parameters: + - explode: true + in: query + name: include + required: false schema: type: string style: form - explode: true in: query - name: "filter[resolved_at][gte]" + 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[resolved_at][lt]" + name: "filter[status]" required: false schema: type: string style: form - explode: true in: query - name: "filter[resolved_at][lte]" + name: "filter[severity]" required: false schema: type: string style: form - explode: true in: query - name: "filter[closed_at][gt]" + name: "filter[type]" required: false schema: type: string style: form - explode: true in: query - name: "filter[closed_at][gte]" + name: "filter[user_id]" + required: false + schema: + type: integer + style: form + - description: Filter by incident type slugs + explode: true + in: query + name: "filter[types]" + required: false + schema: + type: string + style: form + - description: Filter by incident type IDs (UUIDs) + explode: true + in: query + name: "filter[type_ids]" + required: false + schema: + type: string + style: form + - description: Filter by environment slugs + explode: true + in: query + name: "filter[environments]" + required: false + schema: + type: string + style: form + - description: Filter by environment IDs (UUIDs) + explode: true + in: query + name: "filter[environment_ids]" + required: false + schema: + type: string + style: form + - description: Filter by functionality slugs + explode: true + in: query + name: "filter[functionalities]" + required: false + schema: + type: string + style: form + - description: Filter by functionality IDs (UUIDs) + explode: true + in: query + name: "filter[functionality_ids]" + required: false + schema: + type: string + style: form + - description: Filter by service slugs + explode: true + in: query + name: "filter[services]" + required: false + schema: + type: string + style: form + - description: Filter by service IDs (UUIDs) + explode: true + in: query + name: "filter[service_ids]" + required: false + schema: + type: string + style: form + - description: Filter by team/group slugs + explode: true + in: query + name: "filter[teams]" + required: false + schema: + type: string + style: form + - description: Filter by team/group IDs (UUIDs) + explode: true + in: query + name: "filter[team_ids]" + required: false + schema: + type: string + style: form + - description: Filter by cause slugs + explode: true + in: query + name: "filter[causes]" + required: false + schema: + type: string + style: form + - description: Filter by cause IDs (UUIDs) + explode: true + in: query + name: "filter[cause_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[closed_at][lt]" + name: "filter[created_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[closed_at][lte]" + name: "filter[created_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[in_triage_at][gt]" + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[in_triage_at][gte]" + name: "filter[created_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[in_triage_at][lt]" + name: "filter[started_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[in_triage_at][lte]" + name: "filter[started_at][gte]" required: false schema: type: string style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true + - explode: true in: query - name: sort + name: "filter[started_at][lt]" required: false schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at type: string style: form - - description: "comma separated if needed. eg: sub_statuses,causes,subscribers" - explode: true + - explode: true in: query - name: include + name: "filter[started_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[mitigated_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[mitigated_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[mitigated_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[mitigated_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: sort required: false schema: - enum: - - sub_statuses - - causes - - subscribers - - roles - - slack_messages - - environments - - incident_types - - services - - functionalities - - groups - - events - - action_items - - custom_field_selections - - feedbacks - - incident_post_mortem type: string style: form responses: @@ -19737,1214 +14172,89 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/incident_list' + $ref: '#/components/schemas/incident_post_mortem_list' description: success security: - bearer_auth: [] - summary: List incidents + summary: List incident retrospectives tags: - - Incidents + - IncidentRetrospectives x-accepts: - application/vnd.api+json - post: - description: Creates a new incident from provided data - operationId: createIncident - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_incident' + /v1/post_mortems/{id}: + get: + description: List incidents retrospectives + operationId: ListIncidentPostmortem + parameters: + - explode: false + in: path + name: id required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: c3e81255-3620-43a8-a260-7e2834a3d600 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 11 - title: Oh no! Something is broken - slug: oh-no-something-is-broken - kind: normal - private: false - summary: |- - this is the description and there are new lines - - this is the next line - - this is the 3rd line - status: started - source: api - url: http://localhost:3001/account/incidents/11-oh-no-something-is-broken - short_url: null - user: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:15.698-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 84315fdd-923b-45e7-ad8e-cce567cb5b84 - type: severities - attributes: - name: 5uuzs - slug: 5uuzs - description: Sit dignissimos molestias voluptas. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:07.337-07:00 - updated_at: 2025-05-22T06:47:07.337-07:00 - in_triage_by: null - started_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:15.698-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:15.898-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:15.965-07:00 - updated_at: 2025-05-22T06:47:16.138-07:00 - labels: - platform: windows - version: "1.12" - CaseSensitive: preserve - relationships: - causes: - data: - - id: e4bd38d3-a915-4d3f-bd4a-c5e191d4ac2e - type: causes - - id: c60ff767-e655-4eaf-9426-236f0dd72476 - type: causes - subscribers: - data: [] - roles: - data: - - id: 6dc55aa9-6a3e-4bf6-bc6d-c79ae32fed2a - type: incident_role_assignments - environments: - data: - - id: c9ba5b1c-b5d7-4662-87b4-a60b5d47d40e - type: environments - - id: 7712251d-c1d9-44e5-b955-040da262aa9a - type: environments - incident_types: - data: - - id: 3367b5d8-34f0-4705-b974-15e6bf19583d - type: incident_types - - id: e47a23ab-732e-4aae-9c02-34bc081d2a9a - type: incident_types - services: - data: - - id: 3ba40030-ecfe-4640-b80a-0ef69e208d0d - type: services - - id: 89c303f5-7d62-4616-a289-6de761a618ef - type: services - functionalities: - data: - - id: fe1625b9-d4c2-4c5f-a41f-fb0a61cce861 - type: functionalities - - id: 3f463171-a940-412b-b251-281ecbc3a2b2 - type: functionalities - groups: - data: - - id: 95924bb5-05a8-4dc2-aa16-9113c2b9a094 - type: groups - - id: 1c45d310-dd63-410b-a3c7-d4244124e1e5 - type: groups - events: - data: - - id: 5ed5442e-eb8e-4c51-9f6c-178a2f54bebd - type: incident_events - - id: a8392ffa-384e-4506-b28f-4ad28386f0a0 - type: incident_events - - id: c42d9717-074a-4435-a425-108c9c80b92c - type: incident_events - - id: 5674e014-8be0-4a55-bb3a-6bd6190b3723 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] - schema: - $ref: '#/components/schemas/incident_response' - description: incident created - "422": + "200": content: application/vnd.api+json: - example: - errors: - - title: Detected at can not be before Started time - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid causes association - "401": + $ref: '#/components/schemas/incident_post_mortem_response' + description: incident_post_mortem found + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates an incident + summary: Retrieves an incident retrospective tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRetrospectives x-accepts: - application/vnd.api+json - /v1/incidents/{id}: - delete: - description: Delete a specific incident by id - operationId: deleteIncident + put: + description: Update a specific incident retrospective by id + operationId: updateIncidentPostmortem parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_incident_post_mortem' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:21.436-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident deleted + $ref: '#/components/schemas/incident_post_mortem_response' + description: incident_post_mortem updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an incident + summary: Update an incident retrospective tags: - - Incidents + - IncidentRetrospectives + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/incident_retrospective_steps/{id}: get: - description: Retrieves a specific incident by id - operationId: getIncident + description: Retrieves a specific incident retrospective step by id + operationId: getIncidentRetrospectiveStep parameters: - explode: false in: path @@ -20953,596 +14263,29 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: sub_statuses,causes,subscribers" - explode: true - in: query - name: include - required: false - schema: - enum: - - sub_statuses - - causes - - subscribers - - roles - - slack_messages - - environments - - incident_types - - services - - functionalities - - groups - - events - - action_items - - custom_field_selections - - feedbacks - - incident_post_mortem - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:00.911-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident found + $ref: '#/components/schemas/incident_retrospective_step_response' + description: incident retrospective_step found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an incident + summary: Retrieves an incident retrospective step tags: - - Incidents + - IncidentRetrospectiveSteps x-accepts: - application/vnd.api+json put: - description: Update a specific incident by id - operationId: updateIncident + description: Update a specific incident retrospective step by id + operationId: updateIncidentRetrospectiveStep parameters: - explode: false in: path @@ -21555,1360 +14298,83 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_incident' + $ref: '#/components/schemas/update_incident_retrospective_step' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Oh no! Something is broken again - slug: odit-ut-ut-aliquid - kind: normal - private: true - summary: What could it be again? - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:20.365-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: 82630049-658d-4ef8-84d9-777ed28ca52f - type: incident_events - - id: 0fd45cdf-79f1-4b27-9c52-c8e6ee6c16f2 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident updated + $ref: '#/components/schemas/incident_retrospective_step_response' + description: incident_retrospective_step updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an incident + summary: Update an incident retrospective step tags: - - Incidents + - IncidentRetrospectiveSteps x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{id}/mitigate: - put: - description: Mitigate a specific incident by id - operationId: mitigateIncident + /v1/incident_roles/{incident_role_id}/incident_role_tasks: + get: + description: List incident_role tasks + operationId: listIncidentRoleTasks parameters: - explode: false in: path - name: id + name: incident_role_id required: true schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/mitigate_incident' - required: true + - 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: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: mitigated - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:22.313-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: Restart database fixed it! - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: 2025-05-22T06:47:22.520-07:00 - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:22.579-07:00 - labels: {} - relationships: - incident_post_mortem: - data: - id: 8bc5d3ba-3feb-4400-904a-581278b1863a - type: incident_post_mortems - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: 3cab1f5d-892f-4d5b-9d01-ccac8189505d - type: incident_events - - id: efbd9ce6-e1ce-45ff-98a6-e8f58ac7c532 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] - schema: - $ref: '#/components/schemas/incident_response' - description: incident mitigated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/incident_role_task_list' + description: success security: - bearer_auth: [] - summary: Mitigate an incident + summary: List incident role tasks tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoleTasks x-accepts: - application/vnd.api+json - /v1/incidents/{id}/resolve: - put: - description: Resolve a specific incident by id - operationId: resolveIncident + post: + description: Creates a new task from provided data + operationId: createIncidentRoleTask parameters: - explode: false in: path - name: id + name: incident_role_id required: true schema: type: string @@ -22917,773 +14383,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/resolve_incident' + $ref: '#/components/schemas/new_incident_role_task' required: true responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: resolved - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:23.477-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: Restart database fixed it! - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: 2025-05-22T06:47:23.661-07:00 - resolved_at: 2025-05-22T06:47:23.661-07:00 - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:23.772-07:00 - labels: {} - relationships: - incident_post_mortem: - data: - id: 8bc5d3ba-3feb-4400-904a-581278b1863a - type: incident_post_mortems - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: 8304c23a-7888-4163-90ae-980445468440 - type: incident_events - - id: a99079b1-6cc6-45d1-b83d-1edd34ccdcf2 - type: incident_events - - id: 81466dfe-2865-4662-972b-9766ed3d22e5 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident resolved - "404": + $ref: '#/components/schemas/incident_role_task_response' + description: incident_role_task created + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + 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: Resolve an incident + summary: Creates an incident role task tags: - - Incidents + - IncidentRoleTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{id}/cancel: - put: - description: Cancel a specific incident by id - operationId: cancelIncident + /v1/incident_role_tasks/{id}: + delete: + description: Delete a specific incident_role task by id + operationId: deleteIncidentRoleTask parameters: - explode: false in: path @@ -23692,773 +14424,29 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/cancel_incident' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: cancelled - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:24.643-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigation_message: null - resolution_message: null - cancellation_message: Nevermind! - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: 2025-05-22T06:47:24.837-07:00 - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:24.913-07:00 - labels: {} - relationships: - incident_post_mortem: - data: - id: 8bc5d3ba-3feb-4400-904a-581278b1863a - type: incident_post_mortems - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: f0b9cd14-0a90-4495-b63a-b398f28e94b3 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident cancel + $ref: '#/components/schemas/incident_role_task_response' + description: incident_role_task deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Cancel an incident + summary: Delete an incident role task tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoleTasks x-accepts: - application/vnd.api+json - /v1/incidents/{id}/in_triage: - put: - description: Set a specific incident by ID to triage state - operationId: triageIncident + get: + description: Retrieves a specific incident_role_task by id + operationId: getIncidentRoleTask parameters: - explode: false in: path @@ -24467,781 +14455,29 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/in_triage_incident' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: b6632b4f-d81a-45fb-b53a-6ba588ac89ea - type: incidents - attributes: - parent_incident_id: null - sequential_id: 10 - title: Iusto perspiciatis qui tempore. - slug: iusto-perspiciatis-qui-tempore - kind: normal - private: false - summary: Voluptatem ut dolorem. Molestiae incidunt dolorem. Ipsa - odio rerum. - status: in_triage - source: web - url: http://localhost:3001/account/incidents/10-iusto-perspiciatis-qui-tempore - short_url: null - user: - data: - id: "301" - type: users - attributes: - name: Dee Pouros - email: xavier@macgyver.test - phone: null - phone_2: null - first_name: Dee - last_name: Pouros - full_name: Dee Pouros - full_name_with_team: "[Schmeler-Denesik] Dee Pouros" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:07.155-07:00 - created_at: 2025-05-22T06:47:06.671-07:00 - relationships: - email_addresses: - data: - - id: a32d6d98-e437-4bad-87ca-81f43d6b2a85 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 7638fc0c-4ae0-4f76-991b-856102680ce1 - type: severities - attributes: - name: mzd1l - slug: mzd1l - description: Qui natus aut sed. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:07.116-07:00 - updated_at: 2025-05-22T06:47:07.116-07:00 - in_triage_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:26.444-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - started_by: - data: - id: "301" - type: users - attributes: - name: Dee Pouros - email: xavier@macgyver.test - phone: null - phone_2: null - first_name: Dee - last_name: Pouros - full_name: Dee Pouros - full_name_with_team: "[Schmeler-Denesik] Dee Pouros" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:07.155-07:00 - created_at: 2025-05-22T06:47:06.671-07:00 - relationships: - email_addresses: - data: - - id: a32d6d98-e437-4bad-87ca-81f43d6b2a85 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: 2025-05-22T06:47:26.635-07:00 - started_at: null - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:07.124-07:00 - updated_at: 2025-05-22T06:47:26.698-07:00 - labels: {} - relationships: - incident_post_mortem: - data: - id: a20720d2-4bb3-42f3-95a8-cc53afbb0059 - type: incident_post_mortems - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d8748447-4e09-46f5-ac1d-c1a2c2ad1413 - type: incident_events - - id: 0245baa0-bf58-4ca0-bc70-7ca2d0d3c9c3 - type: incident_events - - id: eeaca573-61d2-4ec0-8d01-b040cb0aa96c - type: incident_events - - id: 11831d61-9291-4fb2-8c0e-c0d10a113e76 - type: incident_events - - id: 916bd571-c142-40cc-9bba-57731264bd88 - type: incident_events - - id: e75d7f4c-7560-4f94-82b7-4ceb00c4dc11 - type: incident_events - - id: 8d6a91cb-f5d6-41ae-a92c-d34b4be09d6c - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident set to triage + $ref: '#/components/schemas/incident_role_task_response' + description: incident_role_task found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Triage an incident + summary: Retrieves an incident role task tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoleTasks x-accepts: - application/vnd.api+json - /v1/incidents/{id}/restart: put: - description: Restart a specific incident by id - operationId: restartIncident + description: Update a specific incident_role task by id + operationId: updateIncidentRoleTask parameters: - explode: false in: path @@ -25254,3753 +14490,275 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/restart_incident' + $ref: '#/components/schemas/update_incident_role_task' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: b6632b4f-d81a-45fb-b53a-6ba588ac89ea - type: incidents - attributes: - parent_incident_id: null - sequential_id: 10 - title: Iusto perspiciatis qui tempore. - slug: iusto-perspiciatis-qui-tempore - kind: normal - private: false - summary: Voluptatem ut dolorem. Molestiae incidunt dolorem. Ipsa - odio rerum. - status: started - source: web - url: http://localhost:3001/account/incidents/10-iusto-perspiciatis-qui-tempore - short_url: null - user: - data: - id: "301" - type: users - attributes: - name: Dee Pouros - email: xavier@macgyver.test - phone: null - phone_2: null - first_name: Dee - last_name: Pouros - full_name: Dee Pouros - full_name_with_team: "[Schmeler-Denesik] Dee Pouros" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:07.155-07:00 - created_at: 2025-05-22T06:47:06.671-07:00 - relationships: - email_addresses: - data: - - id: a32d6d98-e437-4bad-87ca-81f43d6b2a85 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 7638fc0c-4ae0-4f76-991b-856102680ce1 - type: severities - attributes: - name: mzd1l - slug: mzd1l - description: Qui natus aut sed. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:07.116-07:00 - updated_at: 2025-05-22T06:47:07.116-07:00 - in_triage_by: null - started_by: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:27.563-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:27.740-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:07.124-07:00 - updated_at: 2025-05-22T06:47:27.793-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: 77eda385-103f-4b40-8334-7f51302b5b50 - type: incident_events - - id: eeaca573-61d2-4ec0-8d01-b040cb0aa96c - type: incident_events - - id: 11831d61-9291-4fb2-8c0e-c0d10a113e76 - type: incident_events - - id: 916bd571-c142-40cc-9bba-57731264bd88 - type: incident_events - - id: e75d7f4c-7560-4f94-82b7-4ceb00c4dc11 - type: incident_events - - id: 8d6a91cb-f5d6-41ae-a92c-d34b4be09d6c - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: incident restarted + $ref: '#/components/schemas/incident_role_task_response' + description: incident_role_task updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Restart an incident + summary: Update an incident role task tags: - - Incidents + - IncidentRoleTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{id}/duplicate: - put: - description: Mark an incident as a duplicate - operationId: markAsDuplicateIncident + /v1/incident_roles: + get: + description: List incident roles + operationId: listIncidentRoles parameters: - - explode: false - in: path - name: id - required: true + - 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: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/resolve_incident' - required: true + style: form + - explode: true + in: query + name: "filter[slug]" + 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[enabled]" + required: false + schema: + type: boolean + 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: sort + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: cancelled - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: Duplicate ! - public_title: null - duplicate_incident_id: cc4f7401-1bb7-4585-9923-7028080aa78c - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: 2025-05-22T06:47:28.944-07:00 - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:29.013-07:00 - labels: {} - relationships: - incident_post_mortem: - data: - id: 8bc5d3ba-3feb-4400-904a-581278b1863a - type: incident_post_mortems - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d215b4c8-5331-4504-a016-7a3ab6522869 - type: incident_events - - id: 845330bb-66c3-4208-b2e7-28e5936171c0 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] - schema: - $ref: '#/components/schemas/incident_response' - description: incident marked as duplicated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/incident_role_list' + description: success security: - bearer_auth: [] - summary: Mark an incident as a duplicate + summary: List incident roles tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoles x-accepts: - application/vnd.api+json - /v1/incidents/{id}/add_subscribers: post: - description: Add subscribers to incident - operationId: addSubscribersToIncident - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple + description: Creates a new incident role from provided data + operationId: createIncidentRole + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/add_subscribers' + $ref: '#/components/schemas/new_incident_role' required: true responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:00.911-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: - - id: f383029d-613c-4acb-b228-9843bdb2982e - type: incident_subscribers - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: add subscribers to incident - "404": + $ref: '#/components/schemas/incident_role_response' + description: incident_role created + "422": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + 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: Add subscribers to incident + summary: Creates an incident role tags: - - Incidents + - IncidentRoles x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/incidents/{id}/remove_subscribers: + /v1/incident_roles/{id}: delete: - description: Remove subscribers to incident - operationId: removeSubscribersToIncident + description: Delete a specific incident_role by id + operationId: deleteIncidentRole parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/remove_subscribers' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:00.911-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: [] - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: remove subscribers from incident + $ref: '#/components/schemas/incident_role_response' + description: incident_role deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Remove subscribers from incident + summary: Delete an incident role tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoles x-accepts: - application/vnd.api+json - /v1/incidents/{id}/assign_role_to_user: - post: - description: Assign user to incident - operationId: assignUserToIncident + get: + description: Retrieves a specific incident_role by id + operationId: getIncidentRole parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/assign_role_to_user' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:32.083-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: - - id: 42d28bfe-87e8-4f41-918f-5f61a0c743b7 - type: incident_subscribers - roles: - data: - - id: 5cf5689d-3d72-4b36-8a21-734d1615af0c - type: incident_role_assignments - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: 5f0fa6a3-8f8c-402e-b24d-68a422d60925 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] - included: - - id: 5cf5689d-3d72-4b36-8a21-734d1615af0c - type: incident_role_assignments - attributes: - incident_role: - data: - id: 815fcb33-4135-4c9e-8571-3f2a7117b866 - type: incident_roles - attributes: - slug: asperiores-vel-beatae-minima - name: Asperiores vel beatae minima. - summary: null - description: null - position: 1 - optional: false - enabled: true - allow_multi_user_assignment: false - created_at: 2025-05-22T06:47:07.465-07:00 - updated_at: 2025-05-22T06:47:07.465-07:00 - user: - data: - id: "289" - type: users - attributes: - name: Annita Wolff - email: sandy@weimann.example - phone: null - phone_2: null - first_name: Annita - last_name: Wolff - full_name: Annita Wolff - full_name_with_team: "[Schmeler-Denesik] Annita Wolff" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:31.900-07:00 - created_at: 2025-05-22T06:46:59.395-07:00 - relationships: - email_addresses: - data: - - id: 85183e4a-ff2f-433e-828a-fbe9d3ffeabb - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] schema: - $ref: '#/components/schemas/incident_response' - description: assign user to incident + $ref: '#/components/schemas/incident_role_response' + description: incident_role found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Assign user to incident + summary: Retrieves an incident role tags: - - Incidents - x-content-type: application/vnd.api+json + - IncidentRoles x-accepts: - application/vnd.api+json - /v1/incidents/{id}/unassign_role_from_user: - delete: - description: Remove assigned user from incident - operationId: removeAssignedUserFromIncident + put: + description: Update a specific incident_role by id + operationId: updateIncidentRole parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/unassign_role_from_user' + $ref: '#/components/schemas/update_incident_role' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 3df2515f-3cc3-4285-98c4-2168f7a76c56 - type: incidents - attributes: - parent_incident_id: null - sequential_id: 1 - title: Odit ut ut aliquid. - slug: odit-ut-ut-aliquid - kind: normal - private: false - summary: Assumenda provident aut. Assumenda occaecati explicabo. - Non inventore voluptatum. - status: started - source: web - url: http://localhost:3001/account/incidents/1-odit-ut-ut-aliquid - short_url: null - user: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - severity: - data: - id: 37a51805-7c23-4dab-af67-405fe2c43393 - type: severities - attributes: - name: j0po1 - slug: j0po1 - description: Aut alias totam consequuntur. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:47:00.817-07:00 - updated_at: 2025-05-22T06:47:00.817-07:00 - in_triage_by: null - started_by: - data: - id: "291" - type: users - attributes: - name: Ike Klein - email: barbara@langosh-torphy.example - phone: null - phone_2: null - first_name: Ike - last_name: Klein - full_name: Ike Klein - full_name_with_team: "[Schmeler-Denesik] Ike Klein" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:47:00.856-07:00 - created_at: 2025-05-22T06:47:00.386-07:00 - relationships: - email_addresses: - data: - - id: 75e899ca-99db-464b-b9d1-a3ed30b34a07 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 070850d3-910f-42f7-ac8e-881e3d1cf114 - created_at: 2025-05-22T06:46:59.584-07:00 - updated_at: 2025-05-22T06:46:59.584-07:00 - display_order: 2 - api_keys_permissions: - - create - - update - - read - - delete - billing_permissions: [] - environments_permissions: - - create - - read - - update - - delete - functionalities_permissions: - - create - - read - - update - - delete - groups_permissions: - - create - - read - - update - - delete - incident_causes_permissions: - - create - - read - - update - - delete - incident_roles_permissions: - - create - - read - - update - - delete - incident_types_permissions: - - create - - read - - update - - delete - incidents_permissions: - - create - - read - - update - - delete - private_incidents_permissions: [] - invitations_permissions: - - create - - read - - update - - delete - playbooks_permissions: - - create - - read - - update - - delete - retrospective_permissions: - - create - - read - - update - - delete - roles_permissions: [] - services_permissions: - - create - - read - - update - - delete - severities_permissions: - - create - - read - - update - - delete - status_pages_permissions: - - create - - read - - update - - delete - workflows_permissions: - - create - - read - - update - - delete - team_id: 235 - name: user - slug: user - is_editable: true - is_deletable: false - incident_feedbacks_permissions: - - read - - create - - update - form_fields_permissions: - - create - - read - - update - - delete - webhooks_permissions: [] - audits_permissions: [] - secrets_permissions: - - create - - read - - update - - delete - deleted_at: null - incident_permission_set_id: ce8e0129-ae20-4109-9ce5-9ce632b86933 - pulses_permissions: - - create - - update - - read - alerts_permissions: - - create - - read - paging_permissions: - - create - - read - - update - - delete - sub_statuses_permissions: - - read - catalogs_permissions: - - create - - read - - update - - delete - communication_permissions: - - read - incident_communication_permissions: - - read - integrations_permissions: [] - on_call_role: - data: - id: 9817be29-441f-481c-88af-391816fec02b - team_id: 235 - name: None - slug: none - system_role: no_access - deleted_at: null - created_at: 2025-05-22T06:46:59.607-07:00 - updated_at: 2025-05-22T06:46:59.607-07:00 - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - on_call_roles_permissions: [] - schedules_permissions: [] - services_permissions: [] - shift_overrides_permissions: [] - workflows_permissions: [] - contacts_permissions: [] - live_call_routing_permissions: [] - heartbeats_permissions: [] - alert_urgency_permissions: [] - schedule_override_permissions: [] - webhooks_permissions: [] - alert_sources_permissions: [] - on_call_readiness_report_permissions: [] - alert_routing_rules_permissions: [] - mitigated_by: null - resolved_by: null - closed_by: null - cancelled_by: null - mitigation_message: null - resolution_message: null - cancellation_message: null - public_title: null - duplicate_incident_id: null - retrospective_progress_status: not_started - zoom_meeting_id: null - zoom_meeting_start_url: null - zoom_meeting_join_url: null - zoom_meeting_password: null - zoom_meeting_pstn_password: null - zoom_meeting_h323_password: null - zoom_meeting_global_dial_in_numbers: [] - shortcut_story_id: null - shortcut_story_url: null - shortcut_task_id: null - shortcut_task_url: null - asana_task_id: null - asana_task_url: null - github_issue_id: null - github_issue_url: null - gitlab_issue_id: null - gitlab_issue_url: null - jira_issue_key: null - jira_issue_id: null - jira_issue_url: null - google_meeting_id: null - google_meeting_url: null - trello_card_id: null - trello_card_url: null - linear_issue_id: null - linear_issue_url: null - zendesk_ticket_id: null - zendesk_ticket_url: null - motion_task_id: null - motion_task_url: null - clickup_task_id: null - clickup_task_url: null - slack_channel_name: null - slack_channel_id: null - slack_channel_url: null - slack_channel_short_url: null - slack_channel_deep_link: null - slack_channel_archived: false - slack_last_message_ts: null - service_now_incident_id: null - service_now_incident_key: null - service_now_incident_url: null - opsgenie_incident_id: null - opsgenie_incident_url: null - opsgenie_alert_id: null - opsgenie_alert_url: null - victor_ops_incident_id: null - victor_ops_incident_url: null - pagerduty_incident_id: null - pagerduty_incident_number: null - pagerduty_incident_url: null - mattermost_channel_id: null - mattermost_channel_name: null - mattermost_channel_url: null - confluence_page_id: null - confluence_page_url: null - quip_page_id: null - quip_page_url: null - airtable_base_key: null - airtable_table_name: null - airtable_record_id: null - airtable_record_url: null - google_drive_id: null - google_drive_parent_id: null - google_drive_url: null - sharepoint_page_id: null - sharepoint_page_url: null - datadog_notebook_id: null - datadog_notebook_url: null - freshservice_ticket_id: null - freshservice_ticket_url: null - freshservice_task_id: null - freshservice_task_url: null - scheduled_for: null - scheduled_until: null - in_triage_at: null - started_at: 2025-05-22T06:47:00.825-07:00 - detected_at: null - acknowledged_at: null - mitigated_at: null - resolved_at: null - closed_at: null - cancelled_at: null - created_at: 2025-05-22T06:47:00.825-07:00 - updated_at: 2025-05-22T06:47:34.888-07:00 - labels: {} - relationships: - causes: - data: [] - subscribers: - data: - - id: f90b162a-04e7-4e64-bac5-74ae306d9d97 - type: incident_subscribers - roles: - data: [] - environments: - data: [] - incident_types: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - events: - data: - - id: f89cef6e-4c5e-4893-bb87-b2b4ca4cf540 - type: incident_events - - id: d843dae2-84f1-4d33-8b1b-adf5c0451dea - type: incident_events - - id: b6699095-08a1-4df9-b271-e3b9c5dfc395 - type: incident_events - action_items: - data: [] - custom_field_selections: - data: [] - feedbacks: - data: [] - attachments: - data: [] - slack_messages: - data: [] schema: - $ref: '#/components/schemas/incident_response' - description: remove assigned user from incident + $ref: '#/components/schemas/incident_role_response' + description: incident_role updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Remove assigned user from incident + summary: Update an incident role tags: - - Incidents + - IncidentRoles x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/ip_ranges: - get: - description: Retrieves the IP ranges for rootly.com services - operationId: getIpRanges - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: ip_ranges - type: ip_ranges - attributes: - integrations_ipv4: - - 34.232.217.139 - - 18.213.181.255 - integrations_ipv6: [] - webhooks_ipv4: - - 34.232.217.139 - - 18.213.181.255 - webhooks_ipv6: [] - schema: - $ref: '#/components/schemas/ip_ranges_response' - description: ip_ranges found - security: - - bearer_auth: [] - summary: Retrieves IP ranges - tags: - - IpRanges - x-accepts: - - application/vnd.api+json - /v1/live_call_routers: + /v1/incidents/{incident_id}/status-page-events: get: - description: List Live Call Routers - operationId: listLiveCallRouters + description: List incident status page events + operationId: listIncidentStatusPages parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -29022,196 +14780,68 @@ paths: 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]" - 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: sort - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/live_call_router_list' + $ref: '#/components/schemas/incident_status_page_event_list' description: success security: - bearer_auth: [] - summary: List Live Call Routers + summary: List incident status page events tags: - - LiveCallRouters + - IncidentStatusPageEvents x-accepts: - application/vnd.api+json post: - description: Creates a new Live Call Router from provided data - operationId: createLiveCallRouter - parameters: [] + description: Creates a new event from provided data + operationId: createIncidentStatusPage + parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_live_call_router' + $ref: '#/components/schemas/new_incident_status_page_event' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: da4c913f-47e5-4202-a2c5-c739b2f3c36f - type: live_call_routers - attributes: - kind: voicemail - name: live_call_router-prod - country_code: US - phone_type: toll_free - phone_number: "+14155552344" - voicemail_greeting: hello - slug: live_call_router-prod - enabled: true - created_at: 2025-05-22T06:47:37.809-07:00 - updated_at: 2025-05-22T06:47:37.809-07:00 - alert_urgency_id: e639afb6-2703-45db-bab2-1d65ac683d1a - escalation_policy_trigger: - id: 7ad8f078-05b2-4ea7-a54e-e75f66d30489 - type: service schema: - $ref: '#/components/schemas/live_call_router_response' - description: live_call_router created + $ref: '#/components/schemas/incident_status_page_event_response' + description: incident_status_page_event created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Live Call Router + summary: Creates an incident status page event tags: - - LiveCallRouters + - IncidentStatusPageEvents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/live_call_routers/generate_phone_number: - get: - description: Generates a phone number for Live Call Router - operationId: generatePhoneNumberLiveCallRouter - parameters: - - explode: true - in: query - name: country_code - required: true - schema: - enum: - - US - - GB - - NZ - - CA - - AU - type: string - style: form - - explode: true - in: query - name: phone_type - required: true - schema: - enum: - - local - - toll_free - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - phone_number: "+18001000052" - description: live_call_router phone number - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid params - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: live_call_router without required params - security: - - bearer_auth: [] - summary: Generates a phone number for Live Call Router - tags: - - LiveCallRouters - x-accepts: - - application/vnd.api+json - /v1/live_call_routers/{id}: + /v1/status-page-events/{id}: delete: - description: Delete a specific Live Call Router by id - operationId: deleteLiveCallRouter + description: Delete a specific incident status page event by id + operationId: deleteIncidentStatusPage parameters: - explode: false in: path @@ -29224,48 +14854,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 9ccb090e-ff8e-48da-9039-ec6a76491a67 - type: live_call_routers - attributes: - kind: voicemail - name: Accusantium doloribus temporibus dolorem. - country_code: US - phone_type: local - phone_number: "14155551234" - voicemail_greeting: Omnis deserunt quas nesciunt. - slug: accusantium-doloribus-temporibus-dolorem - enabled: true - created_at: 2025-05-22T06:47:49.657-07:00 - updated_at: 2025-05-22T06:47:49.844-07:00 - alert_urgency_id: 37c02ae3-4b9d-4bee-902a-367874bd4101 - escalation_policy_trigger: - id: 5bbf3d58-7049-4958-af78-a1dfd48e25c7 - type: service schema: - $ref: '#/components/schemas/live_call_router_response' - description: live_call_router deleted + $ref: '#/components/schemas/incident_status_page_event_response' + description: incident_status_page_event deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Live Call Router + summary: Delete an incident status page event tags: - - LiveCallRouters + - IncidentStatusPageEvents x-accepts: - application/vnd.api+json get: - description: Retrieves a specific Live Call Router by id - operationId: getLiveCallRouter + description: Retrieves a specific incident_status_page_event by id + operationId: getIncidentStatusPages parameters: - explode: false in: path @@ -29278,48 +14885,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a2cdf9ac-3280-45ed-a10f-34f551686212 - type: live_call_routers - attributes: - kind: voicemail - name: Eius quis saepe laborum. - country_code: US - phone_type: local - phone_number: "14155551234" - voicemail_greeting: Quis quia ut et. - slug: eius-quis-saepe-laborum - enabled: true - created_at: 2025-05-22T06:47:42.004-07:00 - updated_at: 2025-05-22T06:47:42.004-07:00 - alert_urgency_id: 601e0845-4076-4be0-9936-af2505a6e58a - escalation_policy_trigger: - id: e6e45bd3-4806-4e68-8b8a-16967988a816 - type: service schema: - $ref: '#/components/schemas/live_call_router_response' - description: live_call_router found + $ref: '#/components/schemas/incident_status_page_event_response' + description: incident_status_page_event found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a Live Call Router + summary: Retrieves an incident status page event tags: - - LiveCallRouters + - IncidentStatusPageEvents x-accepts: - application/vnd.api+json put: - description: Update a specific Live Call Router by id - operationId: updateLiveCallRouter + description: Update a specific incident status page event by id + operationId: updateIncidentStatusPage parameters: - explode: false in: path @@ -29332,62 +14916,65 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_live_call_router' + $ref: '#/components/schemas/update_incident_status_page_event' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 97024ff0-482e-4e3c-83cf-40c0abfc2132 - type: live_call_routers - attributes: - kind: voicemail - name: live_call_router_staging - country_code: US - phone_type: local - phone_number: "14155551234" - voicemail_greeting: Ea debitis molestias optio. - slug: aliquam-mollitia-ducimus-porro - enabled: true - created_at: 2025-05-22T06:47:45.436-07:00 - updated_at: 2025-05-22T06:47:45.629-07:00 - alert_urgency_id: 0ccc56bc-67bb-4cc4-9bc4-5718e9d42690 - escalation_policy_trigger: - id: 9f25e72a-8c99-4f4b-a3ca-ec2f06a1b040 - type: service schema: - $ref: '#/components/schemas/live_call_router_response' - description: live_call_router updated + $ref: '#/components/schemas/incident_status_page_event_response' + description: incident_status_page_event updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a Live Call Router + summary: Update an incident status page event tags: - - LiveCallRouters + - IncidentStatusPageEvents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/on_call_roles: + /v1/incidents/{incident_id}/sub_statuses: get: - description: List On-Call Roles - operationId: listOnCallRoles + description: List incident_sub_statuses + operationId: listIncidentSubStatuses parameters: - - explode: true + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple + - description: "comma separated if needed. eg: sub_status,assigned_by_user" + explode: true in: query name: include required: false schema: + enum: + - sub_status + - assigned_by_user + type: string + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - assigned_at + - -assigned_at type: string style: form - explode: true @@ -29406,56 +14993,35 @@ paths: style: form - explode: true in: query - name: "filter[search]" + name: "filter[sub_status_id]" required: false schema: type: string style: form - explode: true in: query - name: "filter[slug]" + name: "filter[assigned_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "filter[assigned_at][gte]" 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]" + name: "filter[assigned_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: sort + name: "filter[assigned_at][lte]" required: false schema: type: string @@ -29465,92 +15031,57 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/on_call_role_list' + $ref: '#/components/schemas/incident_sub_status_list' description: success security: - bearer_auth: [] - summary: List On-Call Roles + summary: List incident_sub_statuses tags: - - OnCallRoles + - IncidentSubStatuses x-accepts: - application/vnd.api+json post: - description: Creates a new On-Call Role from provided data - operationId: createOnCallRole - parameters: [] + description: Creates a new sub-status assignment from provided data + operationId: createIncidentSubStatus + parameters: + - explode: false + in: path + name: incident_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_on_call_role' + $ref: '#/components/schemas/new_incident_sub_status' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: cd854a95-e740-4ebc-bd3d-7964463f2662 - type: on_call_roles - attributes: - team_id: 269 - name: Infrastructure - slug: infrastructure - system_role: custom - alert_sources_permissions: [] - alert_urgency_permissions: [] - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - contacts_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - heartbeats_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - live_call_routing_permissions: [] - schedule_override_permissions: [] - schedules_permissions: [] - services_permissions: [] - webhooks_permissions: [] - workflows_permissions: [] - updated_at: 2025-05-22T06:47:54.678-07:00 - created_at: 2025-05-22T06:47:54.678-07:00 - schema: - $ref: '#/components/schemas/on_call_role_response' - description: on_call_role created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/incident_sub_status_response' + description: incident_sub_status created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an On-Call Role + summary: Creates a sub-status assignment tags: - - OnCallRoles + - IncidentSubStatuses x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/on_call_roles/{id}: + /v1/incident_sub_statuses/{id}: delete: - description: Delete a specific On-Call Role by id - operationId: deleteOnCallRole + description: Delete a specific incident_sub_status by id + operationId: deleteIncidentSubStatus parameters: - explode: false in: path @@ -29563,57 +15094,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: f0a3dfc2-0f38-4c22-99f0-3c55ca54c276 - type: on_call_roles - attributes: - team_id: 269 - name: On-Call Role 15 - slug: on-call-role-15 - system_role: custom - alert_sources_permissions: [] - alert_urgency_permissions: [] - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - contacts_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - heartbeats_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - live_call_routing_permissions: [] - schedule_override_permissions: [] - schedules_permissions: [] - services_permissions: [] - webhooks_permissions: [] - workflows_permissions: [] - updated_at: 2025-05-22T06:47:57.668-07:00 - created_at: 2025-05-22T06:47:57.498-07:00 schema: - $ref: '#/components/schemas/on_call_role_response' - description: on_call_role deleted + $ref: '#/components/schemas/incident_sub_status_response' + description: incident_sub_status deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an On-Call Role + summary: Delete an incident_sub_status tags: - - OnCallRoles + - IncidentSubStatuses x-accepts: - application/vnd.api+json get: - description: Retrieves a specific On-Call Role by id - operationId: getOnCallRole + description: Retrieves a specific incident_sub_status by id + operationId: getIncidentSubStatus parameters: - explode: false in: path @@ -29622,61 +15121,34 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: sub_status,assigned_by_user" + explode: true + in: query + name: include + required: false + schema: + enum: + - sub_status + - assigned_by_user + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 18d37902-754c-4de3-9d9f-05c2bcd9cabd - type: on_call_roles - attributes: - team_id: 269 - name: On-Call Role 11 - slug: on-call-role-11 - system_role: admin - alert_sources_permissions: [] - alert_urgency_permissions: [] - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - contacts_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - heartbeats_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - live_call_routing_permissions: [] - schedule_override_permissions: [] - schedules_permissions: [] - services_permissions: [] - webhooks_permissions: [] - workflows_permissions: [] - updated_at: 2025-05-22T06:47:55.269-07:00 - created_at: 2025-05-22T06:47:55.269-07:00 schema: - $ref: '#/components/schemas/on_call_role_response' - description: on_call_role found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/incident_sub_status_response' + description: sub_status found security: - bearer_auth: [] - summary: Retrieves an On-Call Role + summary: Retrieves incident_sub_status tags: - - OnCallRoles + - IncidentSubStatuses x-accepts: - application/vnd.api+json put: - description: Update a specific On-Call Role by id - operationId: updateOnCallRole + description: Update a specific incident_sub_status by id + operationId: updateIncidentSubStatus parameters: - explode: false in: path @@ -29689,73 +15161,28 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_on_call_role' + $ref: '#/components/schemas/update_incident_sub_status' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 927be85e-3d54-40d5-962f-4c8f04a7d538 - type: on_call_roles - attributes: - team_id: 269 - name: Security - slug: on-call-role-13 - system_role: custom - alert_sources_permissions: [] - alert_urgency_permissions: [] - alerts_permissions: [] - api_keys_permissions: [] - audits_permissions: [] - contacts_permissions: [] - escalation_policies_permissions: [] - groups_permissions: [] - heartbeats_permissions: [] - integrations_permissions: [] - invitations_permissions: [] - live_call_routing_permissions: [] - schedule_override_permissions: [] - schedules_permissions: [] - services_permissions: [] - webhooks_permissions: [] - workflows_permissions: [] - updated_at: 2025-05-22T06:47:56.515-07:00 - created_at: 2025-05-22T06:47:56.349-07:00 - schema: - $ref: '#/components/schemas/on_call_role_response' - description: on_call_role updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/incident_sub_status_response' + description: incident_sub_status updated security: - bearer_auth: [] - summary: Update an On-Call Role + summary: Update incident_sub_status tags: - - OnCallRoles + - IncidentSubStatuses x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedules/{schedule_id}/on_call_shadows: + /v1/incident_types: get: - description: List shadow shifts for schedule - operationId: listOnCallShadows + description: List incident types + operationId: listIncidentTypes parameters: - - explode: false - in: path - name: schedule_id - required: true - schema: - type: string - style: simple - explode: true in: query name: include @@ -29777,538 +15204,242 @@ paths: schema: type: integer style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/on_call_shadows_list' - description: success - security: - - bearer_auth: [] - summary: List On Call Shadows for Shift - tags: - - OnCallShadows - x-accepts: - - application/vnd.api+json - post: - description: Creates a new on call shadow configuration from provided data - operationId: createOnCallShadow - parameters: - - explode: false - in: path - name: schedule_id - required: true + - explode: true + in: query + name: "filter[slug]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_on_call_shadow' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 7b37ad63-6edb-4282-95d9-7a22e4aa094b - type: on_call_shadows - attributes: - schedule_id: 422851c7-df24-4e7d-9358-cef5e45fa6af - shadowable_type: User - shadowable_id: "332" - shadow_user_id: 331 - starts_at: 2025-05-24T06:48:00.126-07:00 - ends_at: 2025-05-25T06:48:00.126-07:00 - created_at: 2025-05-22T06:48:00.297-07:00 - updated_at: 2025-05-22T06:48:00.297-07:00 - schema: - $ref: '#/components/schemas/on_call_shadow_response' - description: shadow shift is created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Shadow user must exist - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: creates an shadow configuration - tags: - - OnCallShadows - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/on_call_shadows/{id}: - delete: - description: Delete a specific on call shadow configuration by id - operationId: deleteOnCallShadow - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[name]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 1dd17d1c-7863-4fe1-8ac6-a484555e35eb - type: on_call_shadows - attributes: - schedule_id: 422851c7-df24-4e7d-9358-cef5e45fa6af - shadowable_type: User - shadowable_id: "332" - shadow_user_id: 331 - starts_at: 2025-05-22T08:47:59.000-07:00 - ends_at: 2025-05-23T06:47:59.000-07:00 - created_at: 2025-05-22T06:47:59.982-07:00 - updated_at: 2025-05-22T06:47:59.982-07:00 - schema: - $ref: '#/components/schemas/on_call_shadow_response' - description: override shift deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete an on call shadow configuration - tags: - - OverrideShifts - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific On Call Shadow configuration by ID - operationId: getOnCallShadow - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[color]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 1dd17d1c-7863-4fe1-8ac6-a484555e35eb - type: on_call_shadows - attributes: - schedule_id: 422851c7-df24-4e7d-9358-cef5e45fa6af - shadowable_type: User - shadowable_id: "332" - shadow_user_id: 331 - starts_at: 2025-05-22T08:47:59.000-07:00 - ends_at: 2025-05-23T06:47:59.000-07:00 - created_at: 2025-05-22T06:47:59.982-07:00 - updated_at: 2025-05-22T06:47:59.982-07:00 - schema: - $ref: '#/components/schemas/on_call_shadow_response' - description: override shift found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves an On Call Shadow configuration by ID - tags: - - OnCallShadows - x-accepts: - - application/vnd.api+json - put: - description: Update a specific on call shadow configuration by id - operationId: updateOnCallShadow - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[created_at][gt]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_on_call_shadow' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 1dd17d1c-7863-4fe1-8ac6-a484555e35eb - type: on_call_shadows - attributes: - schedule_id: 422851c7-df24-4e7d-9358-cef5e45fa6af - shadowable_type: Schedule - shadowable_id: 422851c7-df24-4e7d-9358-cef5e45fa6af - shadow_user_id: 331 - starts_at: 2025-05-22T08:47:59.000-07:00 - ends_at: 2025-05-23T06:47:59.000-07:00 - created_at: 2025-05-22T06:47:59.982-07:00 - updated_at: 2025-05-22T06:48:01.483-07:00 - schema: - $ref: '#/components/schemas/on_call_shadow_response' - description: on call shadows configuration is is updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update an On Call Shadow configuration - tags: - - OnCallShadows - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/schedules/{schedule_id}/override_shifts: - get: - description: List override shifts - operationId: listOverrideShifts - parameters: - - explode: false - in: path - name: schedule_id - required: true + style: form + - explode: true + in: query + name: "filter[created_at][gte]" + required: false schema: type: string - style: simple + style: form - explode: true in: query - name: include + name: "filter[created_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[created_at][lte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: sort required: false schema: - type: integer + type: string style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/override_shift_list' + $ref: '#/components/schemas/incident_type_list' description: success security: - bearer_auth: [] - summary: List override shifts + summary: List incident types tags: - - OverrideShifts + - IncidentTypes x-accepts: - application/vnd.api+json post: - description: Creates a new override shift from provided data - operationId: createOverrideShift - parameters: - - explode: false - in: path - name: schedule_id - required: true - schema: - type: string - style: simple + description: Creates a new incident_type from provided data + operationId: createIncidentType + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_override_shift' + $ref: '#/components/schemas/new_incident_type' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 76bb6639-28c9-41eb-a444-fdaee4f6f21e - type: shifts - attributes: - schedule_id: 89ec7aa2-0169-4b8a-8402-c15bc88ef852 - rotation_id: null - starts_at: 2025-05-22T08:48:04.000-07:00 - ends_at: 2025-05-23T06:48:04.000-07:00 - is_override: true - relationships: - shift_override: - data: - id: 54050b74-a505-49af-9803-606bade83146 - type: shift_overrides - user: - data: - id: "336" - type: users schema: - $ref: '#/components/schemas/override_shift_response' - description: override_shift created + $ref: '#/components/schemas/incident_type_response' + description: incident_type created "422": content: application/vnd.api+json: - example: - errors: - - title: User must exist - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: creates an override shift + summary: Creates an incident type tags: - - OverrideShifts + - IncidentTypes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/override_shifts/{id}: + /v1/incident_types/{id}: delete: - description: Delete a specific override shift by id - operationId: deleteOverrideShift + description: Delete a specific incident_type by id + operationId: deleteIncidentType parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 9762e62e-0c5c-4126-9a39-bd6e8d0794fd - type: shifts - attributes: - schedule_id: 89ec7aa2-0169-4b8a-8402-c15bc88ef852 - rotation_id: 113c873e-57bf-4432-ae86-258328d979e7 - starts_at: 2025-05-22T00:48:04.000-07:00 - ends_at: 2025-05-22T08:48:04.000-07:00 - is_override: true - relationships: - shift_override: - data: null - user: - data: - id: "344" - type: users schema: - $ref: '#/components/schemas/override_shift_response' - description: override shift deleted + $ref: '#/components/schemas/incident_type_response' + description: incident_type deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an override shift + summary: Delete an incident type tags: - - OverrideShifts + - IncidentTypes x-accepts: - application/vnd.api+json get: - description: Retrieves a specific override shift by id - operationId: getOverrideShift + description: Retrieves a specific incident_type by id + operationId: getIncidentType parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 9762e62e-0c5c-4126-9a39-bd6e8d0794fd - type: shifts - attributes: - schedule_id: 89ec7aa2-0169-4b8a-8402-c15bc88ef852 - rotation_id: 113c873e-57bf-4432-ae86-258328d979e7 - starts_at: 2025-05-22T00:48:04.000-07:00 - ends_at: 2025-05-22T08:48:04.000-07:00 - is_override: true - relationships: - shift_override: - data: null - user: - data: - id: "344" - type: users schema: - $ref: '#/components/schemas/override_shift_response' - description: override shift found + $ref: '#/components/schemas/incident_type_response' + description: incident_type found by slug "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an override shift + summary: Retrieves an incident type tags: - - OverrideShifts + - IncidentTypes x-accepts: - application/vnd.api+json put: - description: Update a specific override shift by id - operationId: updateOverrideShift + description: Update a specific incident_type by id + operationId: updateIncidentType parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_override_shift' + $ref: '#/components/schemas/update_incident_type' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 9762e62e-0c5c-4126-9a39-bd6e8d0794fd - type: shifts - attributes: - schedule_id: 89ec7aa2-0169-4b8a-8402-c15bc88ef852 - rotation_id: 113c873e-57bf-4432-ae86-258328d979e7 - starts_at: 2025-05-22T00:48:04.000-07:00 - ends_at: 2025-05-22T08:48:04.000-07:00 - is_override: true - relationships: - shift_override: - data: - id: b57b2c2e-be14-48e9-9670-e5ac87a60020 - type: shift_overrides - user: - data: - id: "345" - type: users schema: - $ref: '#/components/schemas/override_shift_response' - description: override shift updated + $ref: '#/components/schemas/incident_type_response' + description: incident_type updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an override shift + summary: Update an incident type tags: - - OverrideShifts + - IncidentTypes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/playbooks/{playbook_id}/playbook_tasks: + /v1/incident_types/properties: get: - description: List playbook tasks - operationId: listPlaybookTasks + description: List IncidentType Catalog Properties + operationId: listIncidentTypeCatalogProperties parameters: - - explode: false - in: path - name: playbook_id - required: true + - description: "comma separated if needed. eg: catalog" + explode: true + in: query + name: include + required: false schema: + enum: + - catalog type: string - style: simple - - explode: true + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: include + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true @@ -30325,250 +15456,111 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[slug]" + 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[kind]" + 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 responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/playbook_task_list' + $ref: '#/components/schemas/catalog_property_list' description: success security: - bearer_auth: [] - summary: List playbook tasks + summary: List Catalog Properties tags: - - PlaybookTasks + - IncidentTypes x-accepts: - application/vnd.api+json post: - description: Creates a new task from provided data - operationId: createPlaybookTask - parameters: - - explode: false - in: path - name: playbook_id - required: true - schema: - type: string - style: simple + description: Creates a new Catalog Property from provided data + operationId: createIncidentTypeCatalogProperty + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_playbook_task' + $ref: '#/components/schemas/new_catalog_property' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: b72b9d7f-9f8b-40e8-83ac-019f530f92b8 - type: playbook_tasks - attributes: - playbook_id: de1a053f-2dea-42a0-a003-1699a6a53777 - task: New task - description: New task description - position: 1 - created_at: 2025-05-22T06:48:09.475-07:00 - updated_at: 2025-05-22T06:48:09.475-07:00 schema: - $ref: '#/components/schemas/playbook_task_response' - description: playbook_task created + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute "422": content: application/vnd.api+json: - example: - errors: - - title: Task can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: exceeds max fields per catalog "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a playbook task + summary: Creates a Catalog Property tags: - - PlaybookTasks + - IncidentTypes x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/playbook_tasks/{id}: - delete: - description: Delete a specific playbook task by id - operationId: deletePlaybookTask + /v1/incidents: + get: + description: List incidents + operationId: listIncidents parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: f69a229b-2c29-44f2-925c-32e535fb3535 - type: playbook_tasks - attributes: - playbook_id: de1a053f-2dea-42a0-a003-1699a6a53777 - task: Nobis adipisci et facere. - description: Alias eos aut est. - position: 3 - created_at: 2025-05-22T06:48:09.200-07:00 - updated_at: 2025-05-22T06:48:12.077-07:00 - schema: - $ref: '#/components/schemas/playbook_task_response' - description: playbook_task deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete a playbook task - tags: - - PlaybookTasks - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific playbook_task by id - operationId: getPlaybookTask - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: f69a229b-2c29-44f2-925c-32e535fb3535 - type: playbook_tasks - attributes: - playbook_id: de1a053f-2dea-42a0-a003-1699a6a53777 - task: Nobis adipisci et facere. - description: Alias eos aut est. - position: 3 - created_at: 2025-05-22T06:48:09.200-07:00 - updated_at: 2025-05-22T06:48:09.209-07:00 - schema: - $ref: '#/components/schemas/playbook_task_response' - description: playbook_task found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a playbook task - tags: - - PlaybookTasks - x-accepts: - - application/vnd.api+json - put: - description: Update a specific playbook task by id - operationId: updatePlaybookTask - 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_playbook_task' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: f69a229b-2c29-44f2-925c-32e535fb3535 - type: playbook_tasks - attributes: - playbook_id: de1a053f-2dea-42a0-a003-1699a6a53777 - task: Task updated - description: Task description updated - position: 2 - created_at: 2025-05-22T06:48:09.200-07:00 - updated_at: 2025-05-22T06:48:11.307-07:00 - schema: - $ref: '#/components/schemas/playbook_task_response' - description: playbook_task updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update a playbook task - tags: - - PlaybookTasks - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/playbooks: - get: - description: List playbooks - operationId: listPlaybooks - parameters: - - description: "comma separated if needed. eg: severities,environments,services" - explode: true - in: query - name: include - required: false - schema: - enum: - - severities - - environments - - services - - functionalities - - groups - - causes - - incident_types - type: string - style: form - explode: true in: query name: "page[number]" @@ -30583,695 +15575,177 @@ paths: schema: type: integer style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/playbook_list' - description: success - security: - - bearer_auth: [] - summary: List playbooks - tags: - - Playbooks - x-accepts: - - application/vnd.api+json - post: - description: Creates a new playbook from provided data - operationId: createPlaybook - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_playbook' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: f82c05e1-4b6b-4124-912f-baae47bb77cc - type: playbooks - attributes: - title: How to handle customer-facing incident? - summary: This is a summary - external_url: null - severity_ids: [] - environment_ids: - - a9afe563-581b-4411-bfc4-7e2f518258ac - - 89aa790d-5dd7-41d8-8f51-faf333e9104a - service_ids: - - 72296f8f-489e-4de6-99fb-0bb7ade01b2c - - 45f9c084-ecc9-4076-b74f-c1770b0f46b9 - functionality_ids: - - 6d14c6c2-7130-4722-b5fa-d1370972da3b - - 60abca98-fcee-48e8-81b9-bcd636e52327 - group_ids: [] - incident_type_ids: [] - cause_ids: [] - created_at: 2025-05-22T06:48:17.062-07:00 - updated_at: 2025-05-22T06:48:17.062-07:00 - relationships: - severities: - data: [] - environments: - data: - - id: a9afe563-581b-4411-bfc4-7e2f518258ac - type: environments - - id: 89aa790d-5dd7-41d8-8f51-faf333e9104a - type: environments - services: - data: - - id: 72296f8f-489e-4de6-99fb-0bb7ade01b2c - type: services - - id: 45f9c084-ecc9-4076-b74f-c1770b0f46b9 - type: services - functionalities: - data: - - id: 6d14c6c2-7130-4722-b5fa-d1370972da3b - type: functionalities - - id: 60abca98-fcee-48e8-81b9-bcd636e52327 - type: functionalities - groups: - data: [] - causes: - data: [] - incident_types: - data: [] - schema: - $ref: '#/components/schemas/playbook_response' - description: playbook created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Title can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Creates a playbook - tags: - - Playbooks - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/playbooks/{id}: - delete: - description: Delete a specific playbook by id - operationId: deletePlaybook - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[search]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 46849555-2c6d-4bd2-b61b-ade22a8fbd69 - type: playbooks - attributes: - title: Rem asperiores accusamus itaque. - summary: null - external_url: null - severity_ids: [] - environment_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - incident_type_ids: [] - cause_ids: [] - created_at: 2025-05-22T06:48:13.610-07:00 - updated_at: 2025-05-22T06:48:19.964-07:00 - relationships: - severities: - data: [] - environments: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - causes: - data: [] - incident_types: - data: [] - schema: - $ref: '#/components/schemas/playbook_response' - description: playbook deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete a playbook - tags: - - Playbooks - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific playbook by id - operationId: getPlaybook - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[kind]" + required: false schema: type: string - style: simple - - description: "comma separated if needed. eg: severities,environments,services" - explode: true + style: form + - explode: true in: query - name: include + name: "filter[status]" required: false schema: - enum: - - severities - - environments - - services - - functionalities - - groups - - causes - - incident_types type: string style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 46849555-2c6d-4bd2-b61b-ade22a8fbd69 - type: playbooks - attributes: - title: Rem asperiores accusamus itaque. - summary: null - external_url: null - severity_ids: [] - environment_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - incident_type_ids: [] - cause_ids: [] - created_at: 2025-05-22T06:48:13.610-07:00 - updated_at: 2025-05-22T06:48:13.610-07:00 - relationships: - severities: - data: [] - environments: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - causes: - data: [] - incident_types: - data: [] - schema: - $ref: '#/components/schemas/playbook_response' - description: playbook found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a playbook - tags: - - Playbooks - x-accepts: - - application/vnd.api+json - put: - description: Update a specific playbook by id - operationId: updatePlaybook - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[private]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_playbook' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 46849555-2c6d-4bd2-b61b-ade22a8fbd69 - type: playbooks - attributes: - title: How to handle security incident? - summary: This is a summary - external_url: null - severity_ids: [] - environment_ids: [] - service_ids: [] - functionality_ids: [] - group_ids: [] - incident_type_ids: [] - cause_ids: [] - created_at: 2025-05-22T06:48:13.610-07:00 - updated_at: 2025-05-22T06:48:19.051-07:00 - relationships: - severities: - data: [] - environments: - data: [] - services: - data: [] - functionalities: - data: [] - groups: - data: [] - causes: - data: [] - incident_types: - data: [] - schema: - $ref: '#/components/schemas/playbook_response' - description: playbook updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update a playbook - tags: - - Playbooks - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/post_mortem_templates: - get: - description: List Retrospective Templates - operationId: listPostmortemTemplates - parameters: + style: form - explode: true in: query - name: include + name: "filter[user_id]" + required: false + schema: + type: integer + style: form + - explode: true + in: query + name: "filter[severity]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[severity_id]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[labels]" required: false schema: - type: integer + type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/post_mortem_template_list' - description: success - security: - - bearer_auth: [] - summary: List Retrospective Templates - tags: - - RetrospectiveTemplates - x-accepts: - - application/vnd.api+json - post: - description: Creates a new Retrospective Template from provided data - operationId: createPostmortemTemplate - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_post_mortem_template' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: f5ec47b4-3ef1-47aa-a273-a8db92703b4d - type: post_mortem_templates - attributes: - name: My Retrospective Template - slug: my-retrospective-template - format: markdown - default: false - content: | -
-

Test template

- -

Test new line

-
- created_at: 2025-05-22T06:48:24.529-07:00 - updated_at: 2025-05-22T06:48:24.534-07:00 - schema: - $ref: '#/components/schemas/post_mortem_template_response' - description: post_mortem_template created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Creates a retrospective template - tags: - - RetrospectiveTemplates - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/post_mortem_templates/{id}: - delete: - description: Delete a specific Retrospective Template by id - operationId: deletePostmortemTemplate - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[types]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: b31dd9ad-e16b-4513-b043-430b6314b140 - type: post_mortem_templates - attributes: - name: Non laboriosam earum in. - slug: non-laboriosam-earum-in - format: html - default: false - content: "" - created_at: 2025-05-22T06:48:21.625-07:00 - updated_at: 2025-05-22T06:48:26.366-07:00 - schema: - $ref: '#/components/schemas/post_mortem_template_response' - description: Retrospective Template deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Delete a Retrospective Template - tags: - - RetrospectiveTemplates - x-accepts: - - application/vnd.api+json - get: - description: Retrieves a specific Retrospective Template by id - operationId: getPostmortemTemplate - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[type_ids]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: b31dd9ad-e16b-4513-b043-430b6314b140 - type: post_mortem_templates - attributes: - name: Non laboriosam earum in. - slug: non-laboriosam-earum-in - format: html - default: false - content: "" - created_at: 2025-05-22T06:48:21.625-07:00 - updated_at: 2025-05-22T06:48:21.633-07:00 - schema: - $ref: '#/components/schemas/post_mortem_template_response' - description: Retrospective Template found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a Retrospective Template - tags: - - RetrospectiveTemplates - x-accepts: - - application/vnd.api+json - put: - description: Update a specific Retrospective Template by id - operationId: updatePostmortemTemplate - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[environments]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_post_mortem_template' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: b31dd9ad-e16b-4513-b043-430b6314b140 - type: post_mortem_templates - attributes: - name: My Retrospective Template Updated - slug: non-laboriosam-earum-in - format: markdown - default: false - content: | -
-

Test update template

- -

Test new line

-
- created_at: 2025-05-22T06:48:21.625-07:00 - updated_at: 2025-05-22T06:48:25.773-07:00 - schema: - $ref: '#/components/schemas/post_mortem_template_response' - description: Retrospective Template updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update a Retrospective Template - tags: - - RetrospectiveTemplates - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/pulses: - get: - description: List pulses - operationId: listPulses - parameters: + style: form - explode: true in: query - name: include + name: "filter[environment_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[source]" + name: "filter[functionalities]" required: false schema: type: string style: form - explode: true in: query - name: "filter[services]" + name: "filter[functionality_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[environments]" + name: "filter[functionality_names]" required: false schema: type: string style: form - explode: true in: query - name: "filter[labels]" + name: "filter[services]" required: false schema: type: string style: form - explode: true in: query - name: "filter[refs]" + name: "filter[service_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][gt]" + name: "filter[service_names]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][gte]" + name: "filter[teams]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][lt]" + name: "filter[team_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[started_at][lte]" + name: "filter[team_names]" required: false schema: type: string style: form - explode: true in: query - name: "filter[ended_at][gt]" + name: "filter[cause]" required: false schema: type: string style: form - explode: true in: query - name: "filter[ended_at][gte]" + name: "filter[cause_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[ended_at][lt]" + name: "filter[custom_field_selected_option_ids]" required: false schema: type: string style: form - explode: true in: query - name: "filter[ended_at][lte]" + name: "filter[slack_channel_id]" required: false schema: type: string @@ -31306,568 +15780,272 @@ paths: style: form - explode: true in: query - name: "page[number]" + name: "filter[updated_at][gt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[updated_at][gte]" required: false schema: - type: integer + type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/pulse_list' - description: success - security: - - bearer_auth: [] - summary: List pulses - tags: - - Pulses - x-accepts: - - application/vnd.api+json - post: - description: Creates a new pulse from provided data - operationId: createPulse - parameters: [] - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_pulse' - required: true - responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 3186bd51-c58f-4bb3-81d1-bec2f77de758 - type: pulses - attributes: - short_id: null - source: k8s - summary: Deploy k8s - labels: - - key: status - value: succeeded - refs: - - key: sha - value: cd62148cbc5eb42168fe99fdb50a364e12b206ac - - key: image - value: registry.rootly.com/rootly/my-service:cd6214 - services: - - id: 23830880-6ef6-4981-a1e8-d99133eb4592 - team_id: 284 - name: Aut dolorem iste odit. - slug: aut-dolorem-iste-odit - description: Commodi laudantium doloremque repudiandae. - deleted_at: null - created_at: 2025-05-22T06:48:27.855-07:00 - updated_at: 2025-05-22T06:48:27.855-07:00 - opsgenie_id: null - pagerduty_id: null - public_description: null - github_repository_branch: master - github_repository_name: null - color: '#FAEBB7' - heroku_app_name: null - gitlab_repository_name: null - gitlab_repository_branch: master - kubernetes_deployment_name: null - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - backstage_id: null - show_uptime: true - show_uptime_last_days: 60 - status: operational - external_id: null - notify_emails: [] - cortex_id: null - alerts_email_enabled: false - alerts_email_address: service-b7407c9108553f7c2d25c7adedc62935@email.rootly.com - opsgenie_team_id: null - service_now_ci_sys_id: null - alert_urgency_id: null - opslevel_id: null - datadog_id: null - environments: - - id: 87322f1d-6c12-462e-9deb-209e56dce237 - team_id: 284 - name: Consequatur natus nemo quo. - slug: consequatur-natus-nemo-quo - description: Sed vitae rem dolore. - color: '#eeeef6' - deleted_at: null - created_at: 2025-05-22T06:48:27.869-07:00 - updated_at: 2025-05-22T06:48:27.869-07:00 - incidents_count: 0 - position: 1 - slack_channels: [] - slack_aliases: [] - external_id: null - notify_emails: [] - data: - url: https://additionaldata.com - external_url: https://external-url.com - started_at: 2025-05-22T06:39:00.000-07:00 - ended_at: 2025-05-22T06:41:00.000-07:00 - created_at: 2025-05-22T06:48:30.322-07:00 - updated_at: 2025-05-22T06:48:30.322-07:00 - schema: - $ref: '#/components/schemas/pulse_response' - description: pulse created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Summary can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token - security: - - bearer_auth: [] - summary: Creates a pulse - tags: - - Pulses - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/pulses/{id}: - get: - description: Retrieves a specific pulse by id - operationId: getPulse - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[updated_at][lt]" + required: false schema: type: string - style: simple - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: c7ee93a5-17ce-45af-91a9-fffbd64b3118 - type: pulses - attributes: - short_id: null - source: unknown - summary: Laborum quae quis iste. - labels: [] - refs: [] - services: [] - environments: [] - data: {} - external_url: null - started_at: 2025-05-22T06:48:27.799-07:00 - ended_at: null - created_at: 2025-05-22T06:48:27.799-07:00 - updated_at: 2025-05-22T06:48:27.799-07:00 - schema: - $ref: '#/components/schemas/pulse_response' - description: pulse found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a pulse - tags: - - Pulses - x-accepts: - - application/vnd.api+json - put: - description: Update a specific pulse by id - operationId: updatePulse - parameters: - - explode: false - in: path - name: id - required: true + style: form + - explode: true + in: query + name: "filter[updated_at][lte]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_pulse' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: c7ee93a5-17ce-45af-91a9-fffbd64b3118 - type: pulses - attributes: - short_id: null - source: unknown - summary: Deploy k8s - labels: [] - refs: [] - services: - - id: d8614426-70f1-425c-aaf0-616ea665f030 - team_id: 284 - name: Sit rem eveniet qui. - slug: sit-rem-eveniet-qui - description: Natus id repudiandae accusantium. - deleted_at: null - created_at: 2025-05-22T06:48:27.879-07:00 - updated_at: 2025-05-22T06:48:27.879-07:00 - opsgenie_id: null - pagerduty_id: null - public_description: null - github_repository_branch: master - github_repository_name: null - color: '#D7F5E1' - heroku_app_name: null - gitlab_repository_name: null - gitlab_repository_branch: master - kubernetes_deployment_name: null - incidents_count: 0 - position: 2 - slack_channels: [] - slack_aliases: [] - backstage_id: null - show_uptime: true - show_uptime_last_days: 60 - status: operational - external_id: null - notify_emails: [] - cortex_id: null - alerts_email_enabled: false - alerts_email_address: service-001797b81926a886d941857eca9d458a@email.rootly.com - opsgenie_team_id: null - service_now_ci_sys_id: null - alert_urgency_id: null - opslevel_id: null - datadog_id: null - environments: - - id: 4a670558-b76a-4984-85a9-7809cb43e47c - team_id: 284 - name: Est repellat tenetur id. - slug: est-repellat-tenetur-id - description: Reprehenderit vel eaque aut. - color: '#e9f7e9' - deleted_at: null - created_at: 2025-05-22T06:48:27.893-07:00 - updated_at: 2025-05-22T06:48:27.893-07:00 - incidents_count: 0 - position: 2 - slack_channels: [] - slack_aliases: [] - external_id: null - notify_emails: [] - data: {} - external_url: null - started_at: 2025-05-22T06:48:27.799-07:00 - ended_at: null - created_at: 2025-05-22T06:48:27.799-07:00 - updated_at: 2025-05-22T06:48:32.231-07:00 - schema: - $ref: '#/components/schemas/pulse_response' - description: pulse updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update a pulse - tags: - - Pulses - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/retrospective_configurations: - get: - description: List retrospective configurations - operationId: listRetrospectiveConfigurations - parameters: - - description: "comma separated if needed. eg: severities,groups" - explode: true + style: form + - explode: true in: query - name: include + name: "filter[started_at][gt]" required: false schema: - enum: - - severities - - groups - - incident_types type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[started_at][gte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[started_at][lt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[kind]" + name: "filter[started_at][lte]" required: false schema: type: string style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/retrospective_configuration_list' - description: success - security: - - bearer_auth: [] - summary: List retrospective configurations - tags: - - RetrospectiveConfigurations - x-accepts: - - application/vnd.api+json - /v1/retrospective_configurations/{id}: - get: - description: Retrieves a specific retrospective_configuration by id - operationId: getRetrospectiveConfiguration - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[detected_at][gt]" + required: false schema: type: string - style: simple - - description: "comma separated if needed. eg: severities,groups" - explode: true + style: form + - explode: true in: query - name: include + name: "filter[detected_at][gte]" required: false schema: - enum: - - severities - - groups - - incident_types type: string style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 81cd874c-9aba-4b16-8d9f-3f61bea7e42f - type: retrospective_configurations - attributes: - kind: skip - severity_ids: - - 32d3de46-6801-4184-a5d6-8766d4cffa12 - incident_type_ids: [] - group_ids: [] - created_at: 2025-05-22T06:48:34.078-07:00 - updated_at: 2025-05-22T06:48:34.078-07:00 - relationships: - severities: - data: - - id: 32d3de46-6801-4184-a5d6-8766d4cffa12 - type: severities - groups: - data: [] - incident_types: - data: [] - schema: - $ref: '#/components/schemas/retrospective_configuration_response' - description: retrospective_configuration found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Retrieves a Retrospective Configuration - tags: - - RetrospectiveConfigurations - x-accepts: - - application/vnd.api+json - put: - description: Update a specific retrospective configuration by id - operationId: updateRetrospectiveConfiguration - parameters: - - explode: false - in: path - name: id - required: true + - explode: true + in: query + name: "filter[detected_at][lt]" + required: false schema: type: string - style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_retrospective_configuration' - required: true - responses: - "200": - content: - application/vnd.api+json: - example: - data: - id: 4e88bab2-4e79-49a9-979f-3993d75a5ce0 - type: retrospective_configurations - attributes: - kind: skip - severity_ids: [] - incident_type_ids: [] - group_ids: - - 29c9bb34-b9c0-4857-9b90-10a15e259fc7 - created_at: 2025-05-22T06:48:36.806-07:00 - updated_at: 2025-05-22T06:48:36.806-07:00 - relationships: - severities: - data: [] - groups: - data: - - id: 29c9bb34-b9c0-4857-9b90-10a15e259fc7 - type: groups - incident_types: - data: [] - schema: - $ref: '#/components/schemas/retrospective_configuration_response' - description: retrospective configuration updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Update a retrospective configuration - tags: - - RetrospectiveConfigurations - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/retrospective_process_groups/{retrospective_process_group_id}/steps: - get: - description: List RetrospectiveProcessGroup Steps - operationId: listRetrospectiveProcessGroupSteps - parameters: - - explode: false - in: path - name: retrospective_process_group_id - required: true + style: form + - explode: true + in: query + name: "filter[detected_at][lte]" + required: false schema: type: string - style: simple + style: form - explode: true in: query - name: include + name: "filter[acknowledged_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "page[number]" + name: "filter[acknowledged_at][gte]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[acknowledged_at][lt]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[retrospective_step_id]" + name: "filter[acknowledged_at][lte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gt]" + name: "filter[mitigated_at][gt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "filter[mitigated_at][gte]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "filter[mitigated_at][lt]" required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][lte]" + name: "filter[mitigated_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[resolved_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[closed_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[closed_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[closed_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[closed_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[in_triage_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[in_triage_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[in_triage_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[in_triage_at][lte]" + required: false + schema: + type: string + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - started_at + - -started_at + - in_triage_at + - -in_triage_at + - mitigated_at + - -mitigated_at + - resolved_at + - -resolved_at + type: string + style: form + - description: "comma separated if needed. eg: sub_statuses,causes,subscribers" + explode: true + in: query + name: include required: false schema: + enum: + - sub_statuses + - causes + - subscribers + - roles + - slack_messages + - environments + - incident_types + - services + - functionalities + - groups + - events + - action_items + - custom_field_selections + - feedbacks + - incident_post_mortem + - alerts type: string style: form responses: @@ -31875,1080 +16053,660 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/retrospective_process_group_step_list' + $ref: '#/components/schemas/incident_list' description: success security: - bearer_auth: [] - summary: List RetrospectiveProcessGroup Steps + summary: List incidents tags: - - RetrospectiveProcessGroupSteps + - Incidents x-accepts: - application/vnd.api+json post: - description: Creates a new retrospective process group step from provided data - operationId: createRetrospectiveProcessGroupStep - parameters: - - explode: false - in: path - name: retrospective_process_group_id - required: true - schema: - type: string - style: simple + description: Creates a new incident from provided data + operationId: createIncident + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_retrospective_process_group_step' + $ref: '#/components/schemas/new_incident' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: e92e2773-901f-4def-9e7a-519b388a5b70 - type: retrospective_process_group_steps - attributes: - retrospective_process_group_id: 64bb966a-0888-430a-868c-e218f0bd0bcc - retrospective_step_id: 40857c1a-5513-4c13-abaa-bcfc59e36b9f - position: 1 - updated_at: 2025-05-22T06:48:41.185-07:00 - created_at: 2025-05-22T06:48:41.185-07:00 schema: - $ref: '#/components/schemas/retrospective_process_group_step_response' - description: retrospective_process_group_step created + $ref: '#/components/schemas/incident_response' + description: incident created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid causes association "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a retrospective process group step + summary: Creates an incident tags: - - RetrospectiveProcessGroupSteps + - Incidents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/retrospective_process_group_steps/{id}: + /v1/incidents/{id}: delete: - description: Delete a specific RetrospectiveProcessGroup Step by id - operationId: deleteRetrospectiveProcessGroupStep + description: Delete a specific incident by id + operationId: deleteIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 8aa827a0-0817-421f-abf9-8342bdf05f5e - type: retrospective_process_group_steps - attributes: - retrospective_process_group_id: 64bb966a-0888-430a-868c-e218f0bd0bcc - retrospective_step_id: 063cb7d7-a046-413c-9a18-f4462eebae21 - position: 1 - updated_at: 2025-05-22T06:48:43.223-07:00 - created_at: 2025-05-22T06:48:43.052-07:00 schema: - $ref: '#/components/schemas/retrospective_process_group_step_response' - description: retrospective_process_group_step deleted + $ref: '#/components/schemas/incident_response' + description: incident deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a RetrospectiveProcessGroup Step + summary: Delete an incident tags: - - RetrospectiveProcessGroupSteps + - Incidents x-accepts: - application/vnd.api+json get: - description: Retrieves a specific RetrospectiveProcessGroup Step by id - operationId: getRetrospectiveProcessGroupStep + description: Retrieves a specific incident by id + operationId: getIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + - description: "comma separated if needed. eg: sub_statuses,causes,subscribers" + explode: true + in: query + name: include + required: false + schema: + enum: + - sub_statuses + - causes + - subscribers + - roles + - slack_messages + - environments + - incident_types + - services + - functionalities + - groups + - events + - action_items + - custom_field_selections + - feedbacks + - incident_post_mortem + - alerts + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: fde7ce91-8483-4879-95ab-4e1f5d770e7b - type: retrospective_process_group_steps - attributes: - retrospective_process_group_id: 64bb966a-0888-430a-868c-e218f0bd0bcc - retrospective_step_id: ca052f30-4e97-482f-8002-faaaae11457d - position: 1 - updated_at: 2025-05-22T06:48:41.937-07:00 - created_at: 2025-05-22T06:48:41.937-07:00 schema: - $ref: '#/components/schemas/retrospective_process_group_step_response' - description: sub_status found + $ref: '#/components/schemas/incident_response' + description: incident found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: Retrieves a RetrospectiveProcessGroup Step + summary: Retrieves an incident tags: - - RetrospectiveProcessGroupSteps + - Incidents x-accepts: - application/vnd.api+json put: - description: Update a specific RetrospectiveProcessGroup Step by id - operationId: updateRetrospectiveProcessGroupStep + description: Update a specific incident by id + operationId: updateIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_retrospective_process_group_step' + $ref: '#/components/schemas/update_incident' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 456797dd-dca1-40b6-b69f-c77da03ad159 - type: retrospective_process_group_steps - attributes: - retrospective_process_group_id: 64bb966a-0888-430a-868c-e218f0bd0bcc - retrospective_step_id: 8c7de1fd-62eb-4995-8678-53a8e984f245 - position: 2 - updated_at: 2025-05-22T06:48:42.649-07:00 - created_at: 2025-05-22T06:48:42.493-07:00 schema: - $ref: '#/components/schemas/retrospective_process_group_step_response' - description: retrospective_process_group_step updated - security: - - bearer_auth: [] - summary: Update RetrospectiveProcessGroup Step - tags: - - RetrospectiveProcessGroupSteps - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/retrospective_processes/{retrospective_process_id}/groups: - get: - description: List Retrospective Process Groups - operationId: listRetrospectiveProcessGroups - parameters: - - explode: false - in: path - name: retrospective_process_id - required: true - schema: - type: string - style: simple - - description: "comma separated if needed. eg: retrospective_process_group_steps" - explode: true - in: query - name: include - required: false - schema: - enum: - - retrospective_process_group_steps - type: string - style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true - in: query - name: sort - required: false - schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - - position - - -position - 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 - - explode: true - in: query - name: "filter[sub_status_id]" - 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 - responses: - "200": + $ref: '#/components/schemas/incident_response' + description: incident updated + "404": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/retrospective_process_group_list' - description: success + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: List Retrospective Process Groups + summary: Update an incident tags: - - RetrospectiveProcessGroups + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - post: - description: Creates a new retrospective process group from provided data - operationId: createRetrospectiveProcessGroup + /v1/incidents/{id}/mitigate: + put: + description: Mitigate a specific incident by id + operationId: mitigateIncident parameters: - explode: false in: path - name: retrospective_process_id + name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_retrospective_process_group' + $ref: '#/components/schemas/mitigate_incident' required: true responses: - "201": + "200": content: application/vnd.api+json: - example: - data: - id: 96efd514-c358-4858-8ad3-1d510d77fce7 - type: retrospective_process_groups - attributes: - retrospective_process_id: 84ad6907-2b65-4f69-9afa-649f0c91be62 - sub_status_id: 6fe733a5-3d48-484d-8430-ae732ea5b7aa - position: 3 - updated_at: 2025-05-22T06:48:46.497-07:00 - created_at: 2025-05-22T06:48:46.497-07:00 - relationships: - retrospective_process_group_steps: - data: [] schema: - $ref: '#/components/schemas/retrospective_process_group_response' - description: retrospective_process_group created - "401": + $ref: '#/components/schemas/incident_response' + description: incident mitigated + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates a retrospective process group + summary: Mitigate an incident tags: - - RetrospectiveProcessGroups + - Incidents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/retrospective_process_groups/{id}: - delete: - description: Delete a specific Retrospective Process Group by id - operationId: deleteRetrospectiveProcessGroup + /v1/incidents/{id}/resolve: + put: + description: Resolve a specific incident by id + operationId: resolveIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/resolve_incident' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 50f2a527-e1ad-4e75-80e3-ddc2407645a7 - type: retrospective_process_groups - attributes: - retrospective_process_id: 84ad6907-2b65-4f69-9afa-649f0c91be62 - sub_status_id: 34d94037-2870-4ccb-b1e6-9d23d229282d - position: 1 - updated_at: 2025-05-22T06:48:47.356-07:00 - created_at: 2025-05-22T06:48:45.965-07:00 - relationships: - retrospective_process_group_steps: - data: [] schema: - $ref: '#/components/schemas/retrospective_process_group_response' - description: retrospective_process_group deleted + $ref: '#/components/schemas/incident_response' + description: incident resolved "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Retrospective Process Group + summary: Resolve an incident tags: - - RetrospectiveProcessGroups + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific Retrospective Process Group by id - operationId: getRetrospectiveProcessGroup + /v1/incidents/{id}/cancel: + put: + description: Cancel a specific incident by id + operationId: cancelIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - - description: "comma separated if needed. eg: retrospective_process_group_steps" - explode: true - in: query - name: include - required: false - schema: - enum: - - retrospective_process_group_steps - type: string - style: form + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/cancel_incident' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 50f2a527-e1ad-4e75-80e3-ddc2407645a7 - type: retrospective_process_groups - attributes: - retrospective_process_id: 84ad6907-2b65-4f69-9afa-649f0c91be62 - sub_status_id: 34d94037-2870-4ccb-b1e6-9d23d229282d - position: 1 - updated_at: 2025-05-22T06:48:45.965-07:00 - created_at: 2025-05-22T06:48:45.965-07:00 - relationships: - retrospective_process_group_steps: - data: [] schema: - $ref: '#/components/schemas/retrospective_process_group_response' - description: sub_status found + $ref: '#/components/schemas/incident_response' + description: incident cancel + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: Retrieves a Retrospective Process Group + summary: Cancel an incident tags: - - RetrospectiveProcessGroups + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json + /v1/incidents/{id}/in_triage: put: - description: Update a specific Retrospective Process Group by id - operationId: updateRetrospectiveProcessGroup + description: Set a specific incident by ID to triage state + operationId: triageIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_retrospective_process_group' + $ref: '#/components/schemas/in_triage_incident' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 50f2a527-e1ad-4e75-80e3-ddc2407645a7 - type: retrospective_process_groups - attributes: - retrospective_process_id: 84ad6907-2b65-4f69-9afa-649f0c91be62 - sub_status_id: 34d94037-2870-4ccb-b1e6-9d23d229282d - position: 1 - updated_at: 2025-05-22T06:48:45.965-07:00 - created_at: 2025-05-22T06:48:45.965-07:00 - relationships: - retrospective_process_group_steps: - data: [] schema: - $ref: '#/components/schemas/retrospective_process_group_response' - description: retrospective_process_group updated - security: - - bearer_auth: [] - summary: Update a Retrospective Process Group - tags: - - RetrospectiveProcessGroups - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/retrospective_processes: - get: - description: List retrospective processes - operationId: listRetrospectiveProcesses - parameters: - - description: "comma separated if needed. eg: retrospective_steps,severities" - explode: true - in: query - name: include - required: false - schema: - enum: - - retrospective_steps - - severities - - incident_types - - groups - 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": + $ref: '#/components/schemas/incident_response' + description: incident set to triage + "404": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/retrospective_process_list' - description: success + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: List retrospective processes + summary: Triage an incident tags: - - RetrospectiveProcesses + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - post: - description: Creates a new retrospective process from provided data - operationId: createRetrospectiveProcess - parameters: [] + /v1/incidents/{id}/restart: + put: + description: Restart a specific incident by id + operationId: restartIncident + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_retrospective_process' + $ref: '#/components/schemas/restart_incident' required: true responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: b3c4c1af-1e0a-48a2-b207-10f75a28d2ff - type: retrospective_processes - attributes: - name: Retrospective Process 1 - description: Retrospective Process 1 Description - is_default: false - created_at: 2025-05-22T06:48:51.082-07:00 - updated_at: 2025-05-22T06:48:51.082-07:00 - retrospective_process_matching_criteria: - severity_ids: - - 80da1321-85a6-4568-a454-3144e165a687 - relationships: - retrospective_steps: - data: - - id: 866a24bb-dfe8-46e3-9eb9-d8bce6325870 - type: retrospective_steps - - id: 5675cf12-884d-44d3-af25-881bf2abddb6 - type: retrospective_steps - severities: - data: - - id: 80da1321-85a6-4568-a454-3144e165a687 - type: severities - schema: - $ref: '#/components/schemas/retrospective_process_response' - description: retrospective_process created - "422": + "200": content: application/vnd.api+json: - example: - name: - - can't be blank schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": + $ref: '#/components/schemas/incident_response' + description: incident restarted + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates a retrospective process + summary: Restart an incident tags: - - RetrospectiveProcesses + - Incidents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/retrospective_processes/{id}: - delete: - description: Delete a specific retrospective process by id - operationId: deleteRetrospectiveProcess + /v1/incidents/{id}/duplicate: + put: + description: Mark an incident as a duplicate + operationId: markAsDuplicateIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/resolve_incident' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 9f500383-20fb-49b7-8adf-48237711710d - type: retrospective_processes - attributes: - name: Id pariatur dolorem nobis. - description: Aut neque ea. Possimus ea qui. Provident quos est. - is_default: false - created_at: 2025-05-22T06:48:48.842-07:00 - updated_at: 2025-05-22T06:48:52.998-07:00 - retrospective_process_matching_criteria: - incident_type_ids: - - d4bdcc62-4f39-457e-b68e-ea908db31872 - relationships: - retrospective_steps: - data: - - id: 5837b9a7-866f-49e5-b28c-53b71d6f259f - type: retrospective_steps - - id: e89bcc64-ba17-4860-b1c6-c88956761540 - type: retrospective_steps - incident_types: - data: - - id: d4bdcc62-4f39-457e-b68e-ea908db31872 - type: incident_types schema: - $ref: '#/components/schemas/retrospective_process_response' - description: retrospective_process deleted + $ref: '#/components/schemas/incident_response' + description: incident marked as duplicated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a retrospective process + summary: Mark an incident as a duplicate tags: - - RetrospectiveProcesses + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific retrospective process by id - operationId: getRetrospectiveProcess + /v1/incidents/{id}/detach_from_parent: + put: + description: Detach a sub-incident from its parent incident + operationId: detachFromParentIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - - description: "comma separated if needed. eg: retrospective_steps,severities" - explode: true - in: query - name: include - required: false - schema: - enum: - - retrospective_steps - - severities - - incident_types - - groups - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 9f500383-20fb-49b7-8adf-48237711710d - type: retrospective_processes - attributes: - name: Id pariatur dolorem nobis. - description: Aut neque ea. Possimus ea qui. Provident quos est. - is_default: false - created_at: 2025-05-22T06:48:48.842-07:00 - updated_at: 2025-05-22T06:48:48.842-07:00 - retrospective_process_matching_criteria: - incident_type_ids: - - d4bdcc62-4f39-457e-b68e-ea908db31872 - relationships: - retrospective_steps: - data: - - id: 5837b9a7-866f-49e5-b28c-53b71d6f259f - type: retrospective_steps - - id: e89bcc64-ba17-4860-b1c6-c88956761540 - type: retrospective_steps - incident_types: - data: - - id: d4bdcc62-4f39-457e-b68e-ea908db31872 - type: incident_types schema: - $ref: '#/components/schemas/retrospective_process_response' - description: retrospective_process found + $ref: '#/components/schemas/incident_response' + description: incident detached from parent + "422": + description: incident has no parent "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a retrospective process + summary: Detach an incident from its parent tags: - - RetrospectiveProcesses + - Incidents x-accepts: - application/vnd.api+json + /v1/incidents/{id}/unmark_as_duplicate: put: - description: Updates a specific retrospective process by id - operationId: updateRetrospectiveProcess + description: Remove the duplicate marking from an incident + operationId: unmarkAsDuplicateIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_retrospective_process' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 9f500383-20fb-49b7-8adf-48237711710d - type: retrospective_processes - attributes: - name: Retrospective Process 2 - description: Retrospective Process 2 description - is_default: false - created_at: 2025-05-22T06:48:48.842-07:00 - updated_at: 2025-05-22T06:48:52.408-07:00 - retrospective_process_matching_criteria: - group_ids: - - b75e5108-4903-4a15-bd4c-439078ac2983 - relationships: - retrospective_steps: - data: - - id: 5837b9a7-866f-49e5-b28c-53b71d6f259f - type: retrospective_steps - - id: e89bcc64-ba17-4860-b1c6-c88956761540 - type: retrospective_steps - groups: - data: - - id: b75e5108-4903-4a15-bd4c-439078ac2983 - type: groups schema: - $ref: '#/components/schemas/retrospective_process_response' - description: retrospective_process updated + $ref: '#/components/schemas/incident_response' + description: duplicate marking removed + "422": + description: incident is not marked as duplicate "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a retrospective process - tags: - - RetrospectiveProcesses - x-content-type: application/vnd.api+json - x-accepts: - - application/vnd.api+json - /v1/retrospective_processes/{retrospective_process_id}/retrospective_steps: - get: - description: List retrospective steps - operationId: listRetrospectiveSteps - parameters: - - explode: false - in: path - name: retrospective_process_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 - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/retrospective_step_list' - description: success - security: - - bearer_auth: [] - summary: List retrospective steps + summary: Remove duplicate marking from an incident tags: - - RetrospectiveSteps + - Incidents x-accepts: - application/vnd.api+json + /v1/incidents/{id}/add_subscribers: post: - description: Creates a new retrospective step from provided data - operationId: createRetrospectiveStep + description: Add subscribers to incident + operationId: addSubscribersToIncident parameters: - explode: false in: path - name: retrospective_process_id + name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_retrospective_step' + $ref: '#/components/schemas/add_subscribers' required: true responses: - "201": - content: - application/vnd.api+json: - example: - data: - id: 5ff1172a-f016-4517-8bd8-3634e2dd5bef - type: retrospective_steps - attributes: - retrospective_process_id: c916291a-e55c-4226-ba5b-2e56bf83c524 - title: Step 1 - description: Step 1 description - incident_role_id: 73ea36a1-07b3-4be7-abc6-ab5ea53c79a2 - due_after_days: 5 - position: 1 - skippable: false - created_at: 2025-05-22T06:48:54.612-07:00 - updated_at: 2025-05-22T06:48:54.612-07:00 - schema: - $ref: '#/components/schemas/retrospective_step_response' - description: retrospective_step created - "422": + "200": content: application/vnd.api+json: - example: - errors: - - title: Title can't be blank - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": + $ref: '#/components/schemas/incident_response' + description: add subscribers to incident + "404": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: resource not found security: - bearer_auth: [] - summary: Creates a retrospective step + summary: Add subscribers to incident tags: - - RetrospectiveSteps + - Incidents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/retrospective_steps/{id}: + /v1/incidents/{id}/remove_subscribers: delete: - description: Delete a specific retrospective step by id - operationId: deleteRetrospectiveStep + description: Remove subscribers to incident + operationId: removeSubscribersToIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/remove_subscribers' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 11b3d18a-0b0f-45af-9dea-690d8479bae3 - type: retrospective_steps - attributes: - retrospective_process_id: c916291a-e55c-4226-ba5b-2e56bf83c524 - title: Step 11 - description: Bar - incident_role_id: 73ea36a1-07b3-4be7-abc6-ab5ea53c79a2 - due_after_days: null - position: 1 - skippable: true - created_at: 2025-05-22T06:48:54.416-07:00 - updated_at: 2025-05-22T06:48:56.492-07:00 schema: - $ref: '#/components/schemas/retrospective_step_response' - description: retrospective_step deleted + $ref: '#/components/schemas/incident_response' + description: remove subscribers from incident "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a retrospective step + summary: Remove subscribers from incident tags: - - RetrospectiveSteps + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific retrospective step by id - operationId: getRetrospectiveStep + /v1/incidents/{id}/assign_role_to_user: + post: + description: Assign user to incident + operationId: assignUserToIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/assign_role_to_user' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 11b3d18a-0b0f-45af-9dea-690d8479bae3 - type: retrospective_steps - attributes: - retrospective_process_id: c916291a-e55c-4226-ba5b-2e56bf83c524 - title: Step 11 - description: Bar - incident_role_id: 73ea36a1-07b3-4be7-abc6-ab5ea53c79a2 - due_after_days: null - position: 1 - skippable: true - created_at: 2025-05-22T06:48:54.416-07:00 - updated_at: 2025-05-22T06:48:54.416-07:00 schema: - $ref: '#/components/schemas/retrospective_step_response' - description: retrospective_step found + $ref: '#/components/schemas/incident_response' + description: assign user to incident "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a retrospective step + summary: Assign user to incident tags: - - RetrospectiveSteps + - Incidents + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - put: - description: Update a specific retrospective step by id - operationId: updateRetrospectiveStep + /v1/incidents/{id}/unassign_role_from_user: + delete: + description: Remove assigned user from incident + operationId: removeAssignedUserFromIncident parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_retrospective_step' + $ref: '#/components/schemas/unassign_role_from_user' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 11b3d18a-0b0f-45af-9dea-690d8479bae3 - type: retrospective_steps - attributes: - retrospective_process_id: c916291a-e55c-4226-ba5b-2e56bf83c524 - title: Step 2 - description: Step 2 description - incident_role_id: 88463ed8-7530-464d-95b3-e08b0035126b - due_after_days: 7 - position: 2 - skippable: true - created_at: 2025-05-22T06:48:54.416-07:00 - updated_at: 2025-05-22T06:48:55.871-07:00 schema: - $ref: '#/components/schemas/retrospective_step_response' - description: retrospective_step updated + $ref: '#/components/schemas/incident_response' + description: remove assigned user from incident "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a retrospective step + summary: Remove assigned user from incident tags: - - RetrospectiveSteps + - Incidents x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/roles: + /v1/ip_ranges: get: - description: List roles - operationId: listRoles - parameters: - - explode: true + description: Retrieves the IP ranges for rootly.com services + operationId: getIpRanges + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/ip_ranges_response' + description: ip_ranges found + security: + - bearer_auth: [] + summary: Retrieves IP ranges + tags: + - IpRanges + x-accepts: + - application/vnd.api+json + /v1/live_call_routers: + get: + description: List Live Call Routers + operationId: listLiveCallRouters + parameters: + - explode: true in: query name: include required: false @@ -32978,14 +16736,14 @@ paths: style: form - explode: true in: query - name: "filter[slug]" + name: "filter[name]" required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "filter[slug]" required: false schema: type: string @@ -33030,131 +16788,105 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/role_list' + $ref: '#/components/schemas/live_call_router_list' description: success security: - bearer_auth: [] - summary: List roles + summary: List Live Call Routers tags: - - Roles + - LiveCallRouters x-accepts: - application/vnd.api+json post: - description: Creates a new role from provided data - operationId: createRole + description: Creates a new Live Call Router from provided data + operationId: createLiveCallRouter parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_role' + $ref: '#/components/schemas/new_live_call_router' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: d242838f-854f-4abb-bfb2-c61e3f561030 - type: roles - attributes: - team_id: 311 - name: Infrastructure - slug: infrastructure - is_deletable: true - is_editable: true - alerts_permissions: - - create - - read - api_keys_permissions: - - read - audits_permissions: [] - billing_permissions: - - update - environments_permissions: - - read - form_fields_permissions: - - read - functionalities_permissions: - - read - groups_permissions: - - read - incident_causes_permissions: - - read - incident_feedbacks_permissions: - - read - - create - - update - incident_permission_set_id: 5d65be2f-1543-4d9c-8a50-399ac667308b - incident_roles_permissions: - - read - incident_types_permissions: - - read - incidents_permissions: - - read - integrations_permissions: [] - invitations_permissions: - - read - playbooks_permissions: - - read - private_incidents_permissions: [] - pulses_permissions: - - create - - update - - read - retrospective_permissions: - - read - roles_permissions: - - read - secrets_permissions: - - create - services_permissions: - - read - severities_permissions: - - read - status_pages_permissions: - - read - webhooks_permissions: - - read - workflows_permissions: - - read - updated_at: 2025-05-22T06:48:59.976-07:00 - created_at: 2025-05-22T06:48:59.976-07:00 schema: - $ref: '#/components/schemas/role_response' - description: role created + $ref: '#/components/schemas/live_call_router_response' + description: live_call_router created with multiple targets without calling_tree_enabled + (backward compat) "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a role + summary: Creates a Live Call Router tags: - - Roles + - LiveCallRouters x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/roles/{id}: + /v1/live_call_routers/generate_phone_number: + get: + description: Generates a phone number for Live Call Router + operationId: generatePhoneNumberLiveCallRouter + parameters: + - explode: true + in: query + name: country_code + required: true + schema: + enum: + - AU + - CA + - DE + - NL + - NZ + - SE + - GB + - US + type: string + style: form + - explode: true + in: query + name: phone_type + required: true + schema: + enum: + - local + - toll_free + - mobile + type: string + style: form + responses: + "200": + description: live_call_router phone number + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: live_call_router without required params + security: + - bearer_auth: [] + summary: Generates a phone number for Live Call Router + tags: + - LiveCallRouters + x-accepts: + - application/vnd.api+json + /v1/live_call_routers/{id}: delete: - description: Delete a specific role by id - operationId: deleteRole + description: Delete a specific Live Call Router by id + operationId: deleteLiveCallRouter parameters: - explode: false in: path @@ -33167,96 +16899,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 30e8c1f6-65a3-4c6e-b566-46e3b069f119 - type: roles - attributes: - team_id: 322 - name: Role 15 - slug: role-15 - is_deletable: true - is_editable: true - alerts_permissions: - - create - - read - api_keys_permissions: - - read - audits_permissions: [] - billing_permissions: - - update - environments_permissions: - - read - form_fields_permissions: - - read - functionalities_permissions: - - read - groups_permissions: - - read - incident_causes_permissions: - - read - incident_feedbacks_permissions: - - read - - create - - update - incident_permission_set_id: b16c70fc-214d-49af-842d-d7fe636a3206 - incident_roles_permissions: - - read - incident_types_permissions: - - read - incidents_permissions: - - read - integrations_permissions: [] - invitations_permissions: - - read - playbooks_permissions: - - read - private_incidents_permissions: [] - pulses_permissions: - - create - - update - - read - retrospective_permissions: - - read - roles_permissions: - - read - secrets_permissions: - - create - services_permissions: - - read - severities_permissions: - - read - status_pages_permissions: - - read - webhooks_permissions: - - read - workflows_permissions: - - read - updated_at: 2025-05-22T06:49:08.058-07:00 - created_at: 2025-05-22T06:49:07.874-07:00 schema: - $ref: '#/components/schemas/role_response' - description: role deleted + $ref: '#/components/schemas/live_call_router_response' + description: live_call_router deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a role + summary: Delete a Live Call Router tags: - - Roles + - LiveCallRouters x-accepts: - application/vnd.api+json get: - description: Retrieves a specific role by id - operationId: getRole + description: Retrieves a specific Live Call Router by id + operationId: getLiveCallRouter parameters: - explode: false in: path @@ -33269,96 +16930,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: d261bb6d-0996-4e2b-b3d8-b9aff9c1f811 - type: roles - attributes: - team_id: 314 - name: Role 11 - slug: role-11 - is_deletable: true - is_editable: true - alerts_permissions: - - create - - read - api_keys_permissions: - - read - audits_permissions: [] - billing_permissions: - - update - environments_permissions: - - read - form_fields_permissions: - - read - functionalities_permissions: - - read - groups_permissions: - - read - incident_causes_permissions: - - read - incident_feedbacks_permissions: - - read - - create - - update - incident_permission_set_id: 5e8ec31b-2461-478c-9602-b305ed3e3cb9 - incident_roles_permissions: - - read - incident_types_permissions: - - read - incidents_permissions: - - read - integrations_permissions: [] - invitations_permissions: - - read - playbooks_permissions: - - read - private_incidents_permissions: [] - pulses_permissions: - - create - - update - - read - retrospective_permissions: - - read - roles_permissions: - - read - secrets_permissions: - - create - services_permissions: - - read - severities_permissions: - - read - status_pages_permissions: - - read - webhooks_permissions: - - read - workflows_permissions: - - read - updated_at: 2025-05-22T06:49:02.727-07:00 - created_at: 2025-05-22T06:49:02.727-07:00 schema: - $ref: '#/components/schemas/role_response' - description: role found + $ref: '#/components/schemas/live_call_router_response' + description: live_call_router found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a role + summary: Retrieves a Live Call Router tags: - - Roles + - LiveCallRouters x-accepts: - application/vnd.api+json put: - description: Update a specific role by id - operationId: updateRole + description: Update a specific Live Call Router by id + operationId: updateLiveCallRouter parameters: - explode: false in: path @@ -33371,127 +16961,54 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_role' + $ref: '#/components/schemas/update_live_call_router' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: ac9f0456-ef86-4bed-9335-e9016d67c608 - type: roles - attributes: - team_id: 318 - name: Security - slug: role-13 - is_deletable: true - is_editable: true - alerts_permissions: - - create - - read - api_keys_permissions: - - read - audits_permissions: [] - billing_permissions: - - update - environments_permissions: - - read - form_fields_permissions: - - read - functionalities_permissions: - - read - groups_permissions: - - read - incident_causes_permissions: - - read - incident_feedbacks_permissions: - - read - - create - - update - incident_permission_set_id: 15938326-11ec-4c4a-880b-0179691c618b - incident_roles_permissions: - - read - incident_types_permissions: - - read - incidents_permissions: - - read - integrations_permissions: [] - invitations_permissions: - - read - playbooks_permissions: - - read - private_incidents_permissions: [] - pulses_permissions: - - create - - update - - read - retrospective_permissions: - - read - roles_permissions: - - read - secrets_permissions: - - create - services_permissions: - - read - severities_permissions: - - read - status_pages_permissions: - - read - webhooks_permissions: - - read - workflows_permissions: - - read - updated_at: 2025-05-22T06:49:05.449-07:00 - created_at: 2025-05-22T06:49:05.276-07:00 schema: - $ref: '#/components/schemas/role_response' - description: role updated + $ref: '#/components/schemas/live_call_router_response' + description: live_call_router updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a role + summary: Update a Live Call Router tags: - - Roles + - LiveCallRouters x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_active_days: + /v1/incidents/{incident_id}/meeting_recordings: get: - description: List schedule rotation active days - operationId: listScheduleRotationActiveDays + description: "List all meeting recording sessions for an incident. Returns recordings\ + \ sorted by session number. Each recording represents one bot session with\ + \ its own transcript, status, and metadata." + operationId: listMeetingRecordings parameters: - - explode: false + - description: Incident UUID + explode: false in: path - name: schedule_rotation_id + name: incident_id required: true schema: type: string style: simple - - explode: true - in: query - name: include - required: false - schema: - type: string - style: form - - explode: true + - description: Page number + explode: true in: query name: "page[number]" required: false schema: type: integer style: form - - explode: true + - description: Number of recordings per page + explode: true in: query name: "page[size]" required: false @@ -33503,87 +17020,67 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/schedule_rotation_active_day_list' - description: success + $ref: '#/components/schemas/meeting_recording_list' + description: meeting recordings listed + "404": + description: incident not found security: - bearer_auth: [] - summary: List schedule rotation active days + summary: List meeting recordings tags: - - ScheduleRotationActiveDays + - Meeting Recordings x-accepts: - application/vnd.api+json post: - description: Creates a new schedule rotation active day from provided data - operationId: createScheduleRotationActiveDay + description: "Invite a recording bot to the incident's meeting. If no previous\ + \ recordings exist for the platform, a new bot is invited (session 1). If\ + \ previous sessions exist, a new session is created (re-invite). The bot joins\ + \ the meeting, records audio/video, and generates a transcript when the session\ + \ ends." + operationId: createMeetingRecording parameters: - - explode: false + - description: Incident UUID + explode: false in: path - name: schedule_rotation_id + name: incident_id required: true schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/new_schedule_rotation_active_day' - required: true + - description: Meeting platform + explode: true + in: query + name: platform + required: false + schema: + enum: + - zoom + - google_meet + - microsoft_teams + - webex + type: string + style: form responses: "201": - content: - application/vnd.api+json: - example: - data: - id: 1a64aa56-6b69-4f65-b6cc-f0bfe687cd2d - type: schedule_rotation_active_days - attributes: - schedule_rotation_id: 44207178-7700-468f-a976-782880106786 - day_name: M - created_at: 2025-05-22T06:49:11.505-07:00 - updated_at: 2025-05-22T06:49:11.505-07:00 - active_time_attributes: - - start_time: 07:30 - end_time: 16:30 - - start_time: 17:00 - end_time: 20:00 - schema: - $ref: '#/components/schemas/schedule_rotation_active_day_response' - description: schedule_rotation_active_day created + description: recording session created "422": - content: - application/vnd.api+json: - example: - errors: - - title: Day name can't be blank - status: "422" - schema: - $ref: '#/components/schemas/errors_list' - description: invalid request - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" - schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + description: validation error (e.g. bot already active) security: - bearer_auth: [] - summary: Creates a schedule rotation active day + summary: Create meeting recording tags: - - ScheduleRotationActiveDays - x-content-type: application/vnd.api+json + - Meeting Recordings x-accepts: - - application/vnd.api+json - /v1/schedule_rotation_active_days/{id}: + - application/json + /v1/meeting_recordings/{id}: delete: - description: Delete a specific schedule rotation active day - operationId: deleteScheduleRotationActiveDay + description: "Delete a meeting recording. Only completed or failed recordings\ + \ can be deleted. Active recordings (pending, recording, paused) must be stopped\ + \ first." + operationId: deleteMeetingRecording parameters: - - explode: false + - description: Meeting Recording UUID + explode: false in: path name: id required: true @@ -33592,43 +17089,23 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 25b36265-8ff1-4159-8142-7e4d6c390dd2 - type: schedule_rotation_active_days - attributes: - schedule_rotation_id: 44207178-7700-468f-a976-782880106786 - day_name: S - created_at: 2025-05-22T06:49:11.334-07:00 - updated_at: 2025-05-22T06:49:13.385-07:00 - active_time_attributes: [] - schema: - $ref: '#/components/schemas/schedule_rotation_active_day_response' - description: schedule_rotation_active_day deleted - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: meeting recording deleted + "422": + description: cannot delete active recording security: - bearer_auth: [] - summary: Delete a schedule rotation active day + summary: Delete a meeting recording tags: - - ScheduleRotationActiveDays + - Meeting Recordings x-accepts: - - application/vnd.api+json + - application/json get: - description: Retrieves a specific schedule rotation active day by id - operationId: getScheduleRotationActiveDay + description: "Retrieve a single meeting recording session including its status,\ + \ duration, speaker count, word count, and transcript summary." + operationId: getMeetingRecording parameters: - - explode: false + - description: Meeting Recording UUID + explode: false in: path name: id required: true @@ -33637,103 +17114,154 @@ paths: style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 25b36265-8ff1-4159-8142-7e4d6c390dd2 - type: schedule_rotation_active_days - attributes: - schedule_rotation_id: 44207178-7700-468f-a976-782880106786 - day_name: S - created_at: 2025-05-22T06:49:11.334-07:00 - updated_at: 2025-05-22T06:49:11.334-07:00 - active_time_attributes: [] - schema: - $ref: '#/components/schemas/schedule_rotation_active_day_response' - description: schedule_rotation_active_day found + description: meeting recording found "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: meeting recording not found security: - bearer_auth: [] - summary: Retrieves a schedule rotation active day + summary: Get a meeting recording tags: - - ScheduleRotationActiveDays + - Meeting Recordings x-accepts: - - application/vnd.api+json - put: - description: Update a specific schedule rotation active day by id - operationId: updateScheduleRotationActiveDay + - application/json + /v1/meeting_recordings/{id}/delete_video: + delete: + description: "Delete only the video file from a meeting recording. The transcript,\ + \ summary, and all metadata are preserved. Only non-active recordings with\ + \ an attached video can have their video deleted." + operationId: deleteMeetingRecordingVideo parameters: - - explode: false + - description: Meeting Recording UUID + explode: false in: path name: id required: true schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_schedule_rotation_active_day' + responses: + "200": + description: video deleted + "422": + description: cannot delete video (active recording or no video) + security: + - bearer_auth: [] + summary: Delete video from a meeting recording + tags: + - Meeting Recordings + x-accepts: + - application/json + /v1/meeting_recordings/{id}/pause: + post: + description: Pause an active recording session. The bot remains in the meeting + but stops capturing audio/video. Use the resume endpoint to continue recording. + operationId: pauseMeetingRecording + parameters: + - description: Meeting Recording UUID + explode: false + in: path + name: id required: true + schema: + type: string + style: simple responses: "200": - content: - application/vnd.api+json: - example: - data: - id: 25b36265-8ff1-4159-8142-7e4d6c390dd2 - type: schedule_rotation_active_days - attributes: - schedule_rotation_id: 44207178-7700-468f-a976-782880106786 - day_name: M - created_at: 2025-05-22T06:49:11.334-07:00 - updated_at: 2025-05-22T06:49:12.729-07:00 - active_time_attributes: - - start_time: 10:30 - end_time: 03:30 - schema: - $ref: '#/components/schemas/schedule_rotation_active_day_response' - description: schedule_rotation_active_day updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + description: recording paused + "422": + description: recording is not active security: - bearer_auth: [] - summary: Update a schedule rotation active day + summary: Pause a meeting recording tags: - - ScheduleRotationActiveDays - x-content-type: application/vnd.api+json + - Meeting Recordings x-accepts: - - application/vnd.api+json - /v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_users: - get: - operationId: listScheduleRotationUsers + - application/json + /v1/meeting_recordings/{id}/resume: + post: + description: Resume a paused recording session. The bot continues capturing + audio/video from the meeting. + operationId: resumeMeetingRecording parameters: - - explode: false + - description: Meeting Recording UUID + explode: false in: path - name: schedule_rotation_id + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + description: recording resumed + "422": + description: recording is not paused + security: + - bearer_auth: [] + summary: Resume a meeting recording + tags: + - Meeting Recordings + x-accepts: + - application/json + /v1/meeting_recordings/{id}/stop: + post: + description: "Stop an active or paused recording. The bot finishes processing,\ + \ generates a transcript, and the session status transitions to completed.\ + \ This is irreversible — to record again, create a new session." + operationId: stopMeetingRecording + parameters: + - description: Meeting Recording UUID + explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + responses: + "200": + description: recording stopped + "422": + description: recording cannot be stopped + security: + - bearer_auth: [] + summary: Stop a meeting recording + tags: + - Meeting Recordings + x-accepts: + - application/json + /v1/meeting_recordings/{id}/leave: + post: + description: "Remove the recording bot from the meeting entirely. Unlike stop,\ + \ this immediately disconnects the bot. The session will transition to analyzing\ + \ and then completed once transcript processing finishes." + operationId: leaveMeetingRecording + parameters: + - description: Meeting Recording UUID + explode: false + in: path + name: id required: true schema: type: string style: simple + responses: + "200": + description: bot left the call + "422": + description: bot is not in a call + security: + - bearer_auth: [] + summary: Leave a meeting call + tags: + - Meeting Recordings + x-accepts: + - application/json + /v1/on_call_pay_reports: + get: + description: List on-call pay reports + operationId: listOnCallPayReports + parameters: - explode: true in: query name: include @@ -33755,86 +17283,97 @@ paths: schema: type: integer style: form + - explode: true + in: query + name: "filter[status]" + 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 responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/schedule_rotation_user_list' + $ref: '#/components/schemas/on_call_pay_report_list' description: success security: - bearer_auth: [] - summary: List schedule rotation users + summary: List On-Call Pay Reports tags: - - ScheduleRotationUsers + - OnCallPayReports x-accepts: - application/vnd.api+json post: - description: Creates a new schedule rotation user from provided data - operationId: createScheduleRotationUser - parameters: - - explode: false - in: path - name: schedule_rotation_id - required: true - schema: - type: string - style: simple + description: Generates a new on-call pay report for the given date range. The + report is generated asynchronously. + operationId: createOnCallPayReport + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_schedule_rotation_user' + $ref: '#/components/schemas/new_on_call_pay_report' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: cf52e2a4-231f-4704-aeda-3a32e77edb91 - type: schedule_rotation_users - attributes: - schedule_rotation_id: 1e9a0727-8c3b-41ef-901b-1793326a1e32 - user_id: 396 - position: 2 - created_at: 2025-05-22T06:49:15.316-07:00 - updated_at: 2025-05-22T06:49:15.316-07:00 schema: - $ref: '#/components/schemas/schedule_rotation_user_response' - description: schedule_rotation_user created + $ref: '#/components/schemas/on_call_pay_report_response' + description: on_call_pay_report created "422": content: application/vnd.api+json: - example: - errors: - - title: User must exist - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a schedule rotation user + summary: Creates an On-Call Pay Report tags: - - ScheduleRotationUsers + - OnCallPayReports x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedule_rotation_users/{id}: - delete: - description: Delete a specific schedule rotation user by id - operationId: deleteScheduleRotationUser + /v1/on_call_pay_reports/{id}: + get: + description: Retrieves a specific on-call pay report by id + operationId: getOnCallPayReport parameters: - explode: false in: path @@ -33843,43 +17382,36 @@ paths: schema: type: string style: simple + - explode: true + in: query + name: include + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: 5ea40d61-9c2b-44f4-9f22-88016153b42e - type: schedule_rotation_users - attributes: - schedule_rotation_id: 1e9a0727-8c3b-41ef-901b-1793326a1e32 - user_id: 396 - position: 2 - created_at: 2025-05-22T06:49:15.136-07:00 - updated_at: 2025-05-22T06:49:17.137-07:00 schema: - $ref: '#/components/schemas/schedule_rotation_user_response' - description: schedule_rotation_user deleted + $ref: '#/components/schemas/on_call_pay_report_response' + description: on_call_pay_report found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: resource not found for different team security: - bearer_auth: [] - summary: Delete a schedule rotation user + summary: Retrieves an On-Call Pay Report tags: - - ScheduleRotationUsers + - OnCallPayReports x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific schedule rotation user by id - operationId: getScheduleRotationUser + put: + description: Update a specific on-call pay report by id. Triggers report regeneration. + operationId: updateOnCallPayReport parameters: - explode: false in: path @@ -33888,43 +17420,43 @@ paths: schema: type: string style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_on_call_pay_report' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 5ea40d61-9c2b-44f4-9f22-88016153b42e - type: schedule_rotation_users - attributes: - schedule_rotation_id: 1e9a0727-8c3b-41ef-901b-1793326a1e32 - user_id: 396 - position: 2 - created_at: 2025-05-22T06:49:15.136-07:00 - updated_at: 2025-05-22T06:49:15.141-07:00 schema: - $ref: '#/components/schemas/schedule_rotation_user_response' - description: schedule_rotation_user found + $ref: '#/components/schemas/on_call_pay_report_response' + description: on_call_pay_report updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: not allowed when flipper disabled + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request security: - bearer_auth: [] - summary: Retrieves a schedule rotation user + summary: Update an On-Call Pay Report tags: - - ScheduleRotationUsers + - OnCallPayReports + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - put: - description: Update a specific schedule rotation user by id - operationId: updateScheduleRotationUser + /v1/on_call_pay_reports/{id}/regenerate: + post: + description: Triggers regeneration of an existing on-call pay report. + operationId: regenerateOnCallPayReport parameters: - explode: false in: path @@ -33933,59 +17465,31 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.api+json: - schema: - $ref: '#/components/schemas/update_schedule_rotation_user' - required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 5ea40d61-9c2b-44f4-9f22-88016153b42e - type: schedule_rotation_users - attributes: - schedule_rotation_id: 1e9a0727-8c3b-41ef-901b-1793326a1e32 - user_id: 396 - position: 2 - created_at: 2025-05-22T06:49:15.136-07:00 - updated_at: 2025-05-22T06:49:15.141-07:00 schema: - $ref: '#/components/schemas/schedule_rotation_user_response' - description: schedule_rotation_user updated + $ref: '#/components/schemas/on_call_pay_report_response' + description: on_call_pay_report regeneration triggered "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: on_call_pay_report not found security: - bearer_auth: [] - summary: Update schedule rotation user + summary: Regenerate an On-Call Pay Report tags: - - ScheduleRotationUsers - x-content-type: application/vnd.api+json + - OnCallPayReports x-accepts: - application/vnd.api+json - /v1/schedules/{schedule_id}/schedule_rotations: + /v1/on_call_roles: get: - description: List schedule rotations - operationId: listScheduleRotations + description: List On-Call Roles + operationId: listOnCallRoles parameters: - - explode: false - in: path - name: schedule_id - required: true - schema: - type: string - style: simple - explode: true in: query name: include @@ -34007,6 +17511,55 @@ paths: 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[slug]" + 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[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: sort @@ -34019,94 +17572,56 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/schedule_rotation_list' + $ref: '#/components/schemas/on_call_role_list' description: success security: - bearer_auth: [] - summary: List schedule rotations + summary: List On-Call Roles tags: - - ScheduleRotations + - OnCallRoles x-accepts: - application/vnd.api+json post: - description: Creates a new schedule rotation from provided data - operationId: createScheduleRotation - parameters: - - explode: false - in: path - name: schedule_id - required: true - schema: - type: string - style: simple + description: Creates a new On-Call Role from provided data + operationId: createOnCallRole + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_schedule_rotation' + $ref: '#/components/schemas/new_on_call_role' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 9bca8e12-6584-4a04-8769-e6b06618b828 - type: schedule_rotations - attributes: - schedule_id: 2188f847-62d9-4f1c-a6d9-154609237188 - name: Schedule Rotation Name - position: 1 - schedule_rotationable_type: ScheduleWeeklyRotation - active_all_week: false - active_days: - - M - - T - active_time_type: same_time - time_zone: American Samoa - schedule_rotationable_attributes: - handoff_time: 21:30 - handoff_day: T - active_time_attributes: - - start_time: 07:30 - end_time: 16:30 - - start_time: 17:00 - end_time: 21:00 schema: - $ref: '#/components/schemas/schedule_rotation_response' - description: schedule_rotation created with custom active times + $ref: '#/components/schemas/on_call_role_response' + description: on_call_role created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a schedule rotation + summary: Creates an On-Call Role tags: - - ScheduleRotations + - OnCallRoles x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedule_rotations/{id}: + /v1/on_call_roles/{id}: delete: - description: Delete a specific schedule rotation by id - operationId: deleteScheduleRotation + description: Delete a specific On-Call Role by id + operationId: deleteOnCallRole parameters: - explode: false in: path @@ -34119,45 +17634,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: f4f11c33-ff57-44d1-b242-6115f3d4877b - type: schedule_rotations - attributes: - schedule_id: 2188f847-62d9-4f1c-a6d9-154609237188 - name: Schedule Rotation 13 - position: 1 - schedule_rotationable_type: ScheduleDailyRotation - active_all_week: true - active_days: [] - active_time_type: all_day - time_zone: UTC - schedule_rotationable_attributes: - handoff_time: 17:00 - active_time_attributes: [] schema: - $ref: '#/components/schemas/schedule_rotation_response' - description: schedule_rotation deleted + $ref: '#/components/schemas/on_call_role_response' + description: on_call_role deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a schedule rotation + summary: Delete an On-Call Role tags: - - ScheduleRotations + - OnCallRoles x-accepts: - application/vnd.api+json get: - description: Retrieves a specific schedule rotation by id - operationId: getScheduleRotation + description: Retrieves a specific On-Call Role by id + operationId: getOnCallRole parameters: - explode: false in: path @@ -34170,45 +17665,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: f4f11c33-ff57-44d1-b242-6115f3d4877b - type: schedule_rotations - attributes: - schedule_id: 2188f847-62d9-4f1c-a6d9-154609237188 - name: Schedule Rotation 13 - position: 1 - schedule_rotationable_type: ScheduleDailyRotation - active_all_week: true - active_days: [] - active_time_type: all_day - time_zone: UTC - schedule_rotationable_attributes: - handoff_time: 17:00 - active_time_attributes: [] schema: - $ref: '#/components/schemas/schedule_rotation_response' - description: schedule_rotation found + $ref: '#/components/schemas/on_call_role_response' + description: on_call_role found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a schedule rotation + summary: Retrieves an On-Call Role tags: - - ScheduleRotations + - OnCallRoles x-accepts: - application/vnd.api+json put: - description: Update a specific schedule rotation by id - operationId: updateScheduleRotation + description: Update a specific On-Call Role by id + operationId: updateOnCallRole parameters: - explode: false in: path @@ -34221,104 +17696,44 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_schedule_rotation' + $ref: '#/components/schemas/update_on_call_role' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: f4f11c33-ff57-44d1-b242-6115f3d4877b - type: schedule_rotations - attributes: - schedule_id: 2188f847-62d9-4f1c-a6d9-154609237188 - name: Updated Schedule Rotation Name - position: 1 - schedule_rotationable_type: ScheduleWeeklyRotation - active_all_week: false - active_days: - - M - - T - active_time_type: same_time - time_zone: American Samoa - schedule_rotationable_attributes: - handoff_time: 22:30 - handoff_day: T - active_time_attributes: - - start_time: 07:30 - end_time: 20:30 schema: - $ref: '#/components/schemas/schedule_rotation_response' - description: schedule_rotation updated + $ref: '#/components/schemas/on_call_role_response' + description: on_call_role updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a schedule rotation + summary: Update an On-Call Role tags: - - ScheduleRotations + - OnCallRoles x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedules: + /v1/schedules/{schedule_id}/on_call_shadows: get: - description: List schedules - operationId: listSchedules + description: List shadow shifts for schedule + operationId: listOnCallShadows parameters: - - explode: true - in: query - name: include - 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[name]" - 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 + - explode: false + in: path + name: schedule_id + required: true schema: type: string - style: form + style: simple - explode: true in: query - name: "filter[created_at][lte]" + name: include required: false schema: type: string @@ -34342,84 +17757,65 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/schedule_list' + $ref: '#/components/schemas/on_call_shadows_list' description: success security: - bearer_auth: [] - summary: List schedules + summary: List On Call Shadows for Shift tags: - - Schedules + - OnCallShadows x-accepts: - application/vnd.api+json post: - description: Creates a new schedule from provided data - operationId: createSchedule - parameters: [] + description: Creates a new on call shadow configuration from provided data + operationId: createOnCallShadow + parameters: + - explode: false + in: path + name: schedule_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_schedule' + $ref: '#/components/schemas/new_on_call_shadow' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 7206f9d2-f171-4236-9b4b-0e8a958531e8 - type: schedules - attributes: - name: Schedule Name - description: Schedule Description - all_time_coverage: true - slack_user_group: {} - owner_user_id: 411 - owner_group_ids: - - 19625879-8b2f-4240-b374-57e9c5386818 - created_at: 2025-05-22T06:49:32.843-07:00 - updated_at: 2025-05-22T06:49:32.843-07:00 - relationships: - owner_user: - data: - id: "411" - type: users - escalation_policies: - data: [] schema: - $ref: '#/components/schemas/schedule_response' - description: schedule created + $ref: '#/components/schemas/on_call_shadow_response' + description: shadow shift is created "422": content: application/vnd.api+json: - example: - name: - - can't be blank schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a schedule + summary: creates an shadow configuration tags: - - Schedules + - OnCallShadows x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedules/{id}: + /v1/on_call_shadows/{id}: delete: - description: Delete a specific schedule by id - operationId: deleteSchedule + description: Delete a specific on call shadow configuration by id. Future shadows + are hard-deleted. Active shadows (started in the past) have their end time + truncated to preserve historical data. + operationId: deleteOnCallShadow parameters: - explode: false in: path @@ -34432,50 +17828,31 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 9d731214-f783-47b1-a5bd-ca7a3257cfc4 - type: schedules - attributes: - name: Schedule 10 - description: Schedule description - all_time_coverage: false - slack_user_group: {} - owner_user_id: 411 - owner_group_ids: - - 19625879-8b2f-4240-b374-57e9c5386818 - created_at: 2025-05-22T06:49:27.017-07:00 - updated_at: 2025-05-22T06:49:35.659-07:00 - relationships: - owner_user: - data: - id: "411" - type: users - escalation_policies: - data: [] schema: - $ref: '#/components/schemas/schedule_response' - description: schedule deleted + $ref: '#/components/schemas/on_call_shadow_response' + description: active shadow is preserved with truncated end time + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: shadow period already ended "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a schedule + summary: Delete an on call shadow configuration tags: - - Schedules + - OverrideShifts x-accepts: - application/vnd.api+json get: - description: Retrieves a specific schedule by id - operationId: getSchedule + description: Retrieves a specific On Call Shadow configuration by ID + operationId: getOnCallShadow parameters: - explode: false in: path @@ -34488,50 +17865,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 9d731214-f783-47b1-a5bd-ca7a3257cfc4 - type: schedules - attributes: - name: Schedule 10 - description: Schedule description - all_time_coverage: false - slack_user_group: {} - owner_user_id: 411 - owner_group_ids: - - 19625879-8b2f-4240-b374-57e9c5386818 - created_at: 2025-05-22T06:49:27.017-07:00 - updated_at: 2025-05-22T06:49:27.017-07:00 - relationships: - owner_user: - data: - id: "411" - type: users - escalation_policies: - data: [] schema: - $ref: '#/components/schemas/schedule_response' - description: schedule found + $ref: '#/components/schemas/on_call_shadow_response' + description: override shift found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a schedule + summary: Retrieves an On Call Shadow configuration by ID tags: - - Schedules + - OnCallShadows x-accepts: - application/vnd.api+json put: - description: Updates a specific schedule by id - operationId: updateSchedule + description: Update a specific on call shadow configuration by id + operationId: updateOnCallShadow parameters: - explode: false in: path @@ -34544,141 +17896,169 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_schedule' + $ref: '#/components/schemas/update_on_call_shadow' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 9d731214-f783-47b1-a5bd-ca7a3257cfc4 - type: schedules - attributes: - name: Updated schedule name - description: Updated schedule description - all_time_coverage: true - slack_user_group: {} - owner_user_id: 411 - owner_group_ids: - - 19625879-8b2f-4240-b374-57e9c5386818 - created_at: 2025-05-22T06:49:27.017-07:00 - updated_at: 2025-05-22T06:49:35.054-07:00 - relationships: - owner_user: - data: - id: "411" - type: users - escalation_policies: - data: [] schema: - $ref: '#/components/schemas/schedule_response' - description: schedule updated + $ref: '#/components/schemas/on_call_shadow_response' + description: on call shadows configuration is is updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a schedule + summary: Update an On Call Shadow configuration tags: - - Schedules + - OnCallShadows x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/schedules/{id}/shifts: + /v1/oncalls: get: - description: Retrieves schedule shifts - operationId: getScheduleShifts + description: "List who is currently on-call, with support for filtering by escalation\ + \ policy, schedule, and user. Returns on-call entries grouped by escalation\ + \ policy level." + operationId: listOncalls parameters: - - explode: false - in: path - name: id - required: true + - description: "comma separated if needed. eg: user,schedule" + explode: true + in: query + name: include + required: false + schema: + enum: + - user + - schedule + - escalation_policy + type: string + style: form + - description: "Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z).\ + \ Defaults to current time." + explode: true + in: query + name: since + required: false schema: type: string - style: simple - - explode: true + style: form + - description: "End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z).\ + \ Defaults to 'since' time." + explode: true in: query - name: to + name: until required: false schema: type: string style: form - - explode: true + - description: "When true, returns only the first on-call user per escalation\ + \ policy level" + explode: true in: query - name: from + name: earliest + required: false + schema: + type: boolean + style: form + - description: "Timezone for response times (e.g., America/New_York). Defaults\ + \ to UTC." + explode: true + in: query + name: time_zone + required: false + schema: + type: string + style: form + - description: Comma-separated escalation policy IDs + explode: true + in: query + name: "filter[escalation_policy_ids]" + required: false + schema: + type: string + style: form + - description: Comma-separated schedule IDs + explode: true + in: query + name: "filter[schedule_ids]" + required: false + schema: + type: string + style: form + - description: Comma-separated user IDs + explode: true + in: query + name: "filter[user_ids]" + required: false + schema: + type: string + style: form + - description: Comma-separated service IDs + explode: true + in: query + name: "filter[service_ids]" + required: false + schema: + type: string + style: form + - description: Comma-separated group IDs (teams) + explode: true + in: query + name: "filter[group_ids]" + required: false + schema: + type: string + style: form + - description: "Comma-separated notification types to include. One or both of:\ + \ audible, quiet. When present, oncalls are returned from every non-deferral\ + \ escalation path whose notification_type is in the filter, sorted audible-first.\ + \ When absent, only the default path's oncalls are returned (existing behavior)." + explode: true + in: query + name: "filter[notification_types]" required: false schema: type: string style: form responses: "200": + description: success + "404": content: application/vnd.api+json: - example: - data: - - id: 24df91bf-252d-498d-bfc3-42712ea7e5e2 - type: shifts - attributes: - schedule_id: 9d731214-f783-47b1-a5bd-ca7a3257cfc4 - rotation_id: e3ea123c-0868-4248-a9bc-cb484cd8909f - starts_at: 2025-05-22T04:49:28.000-07:00 - ends_at: 2025-05-22T08:49:28.000-07:00 - is_override: true - relationships: - shift_override: - data: null - user: - data: - id: "436" - type: users - - id: 4295f5ba-0962-4d5f-870b-11b2b13f3222 - type: shifts - attributes: - schedule_id: 9d731214-f783-47b1-a5bd-ca7a3257cfc4 - rotation_id: 862098d1-4463-431b-9692-8443781b829d - starts_at: 2025-05-22T09:49:29.000-07:00 - ends_at: 2025-05-22T13:49:29.000-07:00 - is_override: false - relationships: - shift_override: - data: null - user: - data: - id: "440" - type: users schema: - $ref: '#/components/schemas/shift_list' - description: schedule shifts found - "404": + $ref: '#/components/schemas/errors_list' + description: resource not found when alerting is disabled + "401": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: resource not found + description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Retrieves a schedule shifts + summary: List on-calls tags: - - Shifts + - OnCalls x-accepts: - application/vnd.api+json - /v1/secrets: + /v1/schedules/{schedule_id}/override_shifts: get: - description: List secrets - operationId: listSecrets + description: List override shifts + operationId: listOverrideShifts parameters: + - explode: false + in: path + name: schedule_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -34705,77 +18085,65 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/secret_list' + $ref: '#/components/schemas/override_shift_list' description: success security: - bearer_auth: [] - summary: List secrets + summary: List override shifts tags: - - Secrets + - OverrideShifts x-accepts: - application/vnd.api+json post: - description: Creates a new secret from provided data - operationId: createSecret - parameters: [] + description: "Creates a new override shift from provided data. If any existing\ + \ override shifts overlap with the specified time range, they will be automatically\ + \ deleted and replaced by the new override." + operationId: createOverrideShift + parameters: + - explode: false + in: path + name: schedule_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_secret' + $ref: '#/components/schemas/new_override_shift' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 5cff925c-fa00-4225-8629-3b044b573101 - type: secrets - attributes: - kind: built_in - name: zohlxtfwlq - secret: "[REDACTED]" - hashicorp_vault_mount: secret - hashicorp_vault_path: null - hashicorp_vault_version: 0 - created_at: 2025-05-22T06:49:39.711-07:00 - updated_at: 2025-05-22T06:49:39.711-07:00 schema: - $ref: '#/components/schemas/secret_response' - description: secret created + $ref: '#/components/schemas/override_shift_response' + description: returns assignee relationship when schedule nesting enabled "422": content: application/vnd.api+json: - example: - errors: - - title: "Name only allows letters, numbers, and underscore" - status: "422" schema: $ref: '#/components/schemas/errors_list' - description: invalid request + description: cannot create schedule-based override shift "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a secret + summary: creates an override shift tags: - - Secrets + - OverrideShifts x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/secrets/{id}: + /v1/override_shifts/{id}: delete: - description: Delete a specific secret by id - operationId: deleteSecret + description: Delete a specific override shift by id + operationId: deleteOverrideShift parameters: - explode: false in: path @@ -34788,42 +18156,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 4a927218-1c77-4b88-91de-ea46017b20f6 - type: secrets - attributes: - kind: built_in - name: scqzwvxemk - secret: "[REDACTED]" - hashicorp_vault_mount: secret - hashicorp_vault_path: null - hashicorp_vault_version: 0 - created_at: 2025-05-22T06:49:37.760-07:00 - updated_at: 2025-05-22T06:49:41.519-07:00 schema: - $ref: '#/components/schemas/secret_response' - description: secret deleted + $ref: '#/components/schemas/override_shift_response' + description: override shift deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a secret + summary: Delete an override shift tags: - - Secrets + - OverrideShifts x-accepts: - application/vnd.api+json get: - description: Retrieve a specific secret by id - operationId: getSecret + description: Retrieves a specific override shift by id + operationId: getOverrideShift parameters: - explode: false in: path @@ -34836,42 +18187,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 4a927218-1c77-4b88-91de-ea46017b20f6 - type: secrets - attributes: - kind: built_in - name: scqzwvxemk - secret: "[REDACTED]" - hashicorp_vault_mount: secret - hashicorp_vault_path: null - hashicorp_vault_version: 0 - created_at: 2025-05-22T06:49:37.760-07:00 - updated_at: 2025-05-22T06:49:37.760-07:00 schema: - $ref: '#/components/schemas/secret_response' - description: secret found + $ref: '#/components/schemas/override_shift_response' + description: override shift found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a secret + summary: Retrieves an override shift tags: - - Secrets + - OverrideShifts x-accepts: - application/vnd.api+json put: - description: Update a specific secret by id - operationId: updateSecret + description: Update a specific override shift by id + operationId: updateOverrideShift parameters: - explode: false in: path @@ -34884,51 +18218,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_secret' + $ref: '#/components/schemas/update_override_shift' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 4a927218-1c77-4b88-91de-ea46017b20f6 - type: secrets - attributes: - kind: built_in - name: foo_bar - secret: "[REDACTED]" - hashicorp_vault_mount: secret - hashicorp_vault_path: null - hashicorp_vault_version: 0 - created_at: 2025-05-22T06:49:37.760-07:00 - updated_at: 2025-05-22T06:49:40.965-07:00 schema: - $ref: '#/components/schemas/secret_response' - description: secret updated + $ref: '#/components/schemas/override_shift_response' + description: override shift updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a secret + summary: Update an override shift tags: - - Secrets + - OverrideShifts x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/services: + /v1/playbooks/{playbook_id}/playbook_tasks: get: - description: List services - operationId: listServices + description: List playbook tasks + operationId: listPlaybookTasks parameters: + - explode: false + in: path + name: playbook_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -34950,200 +18274,68 @@ paths: 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]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[backstage_id]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[cortex_id]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[opslevel_id]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[external_id]" - 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: sort - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/service_list' + $ref: '#/components/schemas/playbook_task_list' description: success security: - bearer_auth: [] - summary: List services + summary: List playbook tasks tags: - - Services + - PlaybookTasks x-accepts: - application/vnd.api+json post: - description: Creates a new service from provided data - operationId: createService - parameters: [] + description: Creates a new task from provided data + operationId: createPlaybookTask + parameters: + - explode: false + in: path + name: playbook_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_service' + $ref: '#/components/schemas/new_playbook_task' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 4ad5d834-c81c-4cc4-bfe0-d13b671c5e38 - type: services - attributes: - name: elasticsearch-prod - slug: elasticsearch-prod - description: Elastisearch - public_description: Public description - notify_emails: - - john@rootly.com - - doe@rootly.com - color: '#FFF' - status: operational - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: engineering - github_repository_name: rootlyhq/my-github-service - github_repository_branch: main - gitlab_repository_name: rootlyhq/my-gitlab-service - gitlab_repository_branch: main - opsgenie_id: 8743a1b2-11da-480e-8493-744660987bef - pagerduty_id: PQ9K7I8 - backstage_id: null - external_id: d795fe69-acc2-4b30-92c9-3c25cbb92056 - cortex_id: null - service_now_ci_sys_id: null - environment_ids: - - 2d1341fa-f01c-4b43-81d7-aedc5940e6ee - service_ids: - - a76b105f-3a3e-4262-a7fe-9a34b6102ca5 - owners_group_ids: - - eeaeef59-8b40-4581-a60f-1ef228b6bf04 - owners_user_ids: - - 443 - incidents_count: 0 - alert_urgency_id: null - alerts_email_enabled: true - alerts_email_address: service-88f1ad8c69f61937a116dc3baa683e21@test.email.rootly.com - created_at: 2025-05-22T06:49:50.624-07:00 - updated_at: 2025-05-22T06:49:50.624-07:00 schema: - $ref: '#/components/schemas/service_response' - description: service created + $ref: '#/components/schemas/playbook_task_response' + description: playbook_task created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a service + summary: Creates a playbook task tags: - - Services + - PlaybookTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/services/{id}: + /v1/playbook_tasks/{id}: delete: - description: Delete a specific service by id - operationId: deleteService + description: Delete a specific playbook task by id + operationId: deletePlaybookTask parameters: - explode: false in: path @@ -35156,66 +18348,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a76b105f-3a3e-4262-a7fe-9a34b6102ca5 - type: services - attributes: - name: Rerum reiciendis rem ad. - slug: rerum-reiciendis-rem-ad - description: Itaque dolorum quam nesciunt. - public_description: null - notify_emails: [] - color: '#D7F5E1' - status: partial_outage - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: [] - slack_aliases: [] - github_repository_name: null - github_repository_branch: master - gitlab_repository_name: null - gitlab_repository_branch: master - opsgenie_id: null - pagerduty_id: null - backstage_id: null - external_id: null - cortex_id: null - service_now_ci_sys_id: null - environment_ids: [] - service_ids: [] - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: service-f22a5a93351479dc1578799bcce662e6@email.rootly.com - created_at: 2025-05-22T06:49:42.882-07:00 - updated_at: 2025-05-22T06:49:54.516-07:00 schema: - $ref: '#/components/schemas/service_response' - description: service deleted + $ref: '#/components/schemas/playbook_task_response' + description: playbook_task deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a service + summary: Delete a playbook task tags: - - Services + - PlaybookTasks x-accepts: - application/vnd.api+json get: - description: Retrieves a specific service by id - operationId: getService + description: Retrieves a specific playbook_task by id + operationId: getPlaybookTask parameters: - explode: false in: path @@ -35228,66 +18379,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: a76b105f-3a3e-4262-a7fe-9a34b6102ca5 - type: services - attributes: - name: Rerum reiciendis rem ad. - slug: rerum-reiciendis-rem-ad - description: Itaque dolorum quam nesciunt. - public_description: null - notify_emails: [] - color: '#D7F5E1' - status: partial_outage - position: 1 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: [] - slack_aliases: [] - github_repository_name: null - github_repository_branch: master - gitlab_repository_name: null - gitlab_repository_branch: master - opsgenie_id: null - pagerduty_id: null - backstage_id: null - external_id: null - cortex_id: null - service_now_ci_sys_id: null - environment_ids: [] - service_ids: [] - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: service-f22a5a93351479dc1578799bcce662e6@email.rootly.com - created_at: 2025-05-22T06:49:42.882-07:00 - updated_at: 2025-05-22T06:49:43.200-07:00 schema: - $ref: '#/components/schemas/service_response' - description: service found + $ref: '#/components/schemas/playbook_task_response' + description: playbook_task found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a service + summary: Retrieves a playbook task tags: - - Services + - PlaybookTasks x-accepts: - application/vnd.api+json put: - description: Update a specific service by id - operationId: updateService + description: Update a specific playbook task by id + operationId: updatePlaybookTask parameters: - explode: false in: path @@ -35300,203 +18410,48 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_service' + $ref: '#/components/schemas/update_playbook_task' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: a76b105f-3a3e-4262-a7fe-9a34b6102ca5 - type: services - attributes: - name: elasticsearch-staging - slug: rerum-reiciendis-rem-ad - description: Elastisearch - public_description: Public description updated - notify_emails: - - hello@rootly.com - - world@rootly.com - color: '#FFF' - status: partial_outage - position: 2 - show_uptime: true - show_uptime_last_days: 60 - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: leadership - github_repository_name: rootlyhq/my-another-github-service - github_repository_branch: master - gitlab_repository_name: rootlyhq/my-another-gitlab-service - gitlab_repository_branch: master - opsgenie_id: 8743a1b2-11da-480e-8493-744660987bec - pagerduty_id: PQ9K7I9 - backstage_id: null - external_id: 33bfcc62-cc35-46e6-a270-8c52a56fb358 - cortex_id: null - service_now_ci_sys_id: null - environment_ids: - - 2d1341fa-f01c-4b43-81d7-aedc5940e6ee - service_ids: - - a76b105f-3a3e-4262-a7fe-9a34b6102ca5 - owners_group_ids: [] - owners_user_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: service-f22a5a93351479dc1578799bcce662e6@email.rootly.com - created_at: 2025-05-22T06:49:42.882-07:00 - updated_at: 2025-05-22T06:49:52.848-07:00 schema: - $ref: '#/components/schemas/service_response' - description: service updated + $ref: '#/components/schemas/playbook_task_response' + description: playbook_task updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a service + summary: Update a playbook task tags: - - Services + - PlaybookTasks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/services/{id}/incidents_chart: + /v1/playbooks: get: - description: Get service incidents chart - operationId: getServiceIncidentsChart + description: List playbooks + operationId: listPlaybooks parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - - explode: true + - description: "comma separated if needed. eg: severities,environments,services" + explode: true in: query - name: period - required: true - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - "2025-03-23 00:00:00 UTC": 0 - "2025-03-30 00:00:00 UTC": 0 - "2025-04-06 00:00:00 UTC": 0 - "2025-04-13 00:00:00 UTC": 0 - "2025-04-20 00:00:00 UTC": 0 - "2025-04-27 00:00:00 UTC": 0 - "2025-05-04 00:00:00 UTC": 0 - "2025-05-11 00:00:00 UTC": 0 - "2025-05-18 00:00:00 UTC": 1 - schema: - $ref: '#/components/schemas/incidents_chart_response' - description: success - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Get service incidents chart - tags: - - Services - x-accepts: - - application/vnd.api+json - /v1/services/{id}/uptime_chart: - get: - description: Get service uptime chart - operationId: getServiceUptimeChart - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - - explode: true - in: query - name: period - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - "2025-05-07": 100.0 - "2025-05-08": 100.0 - "2025-05-09": 100.0 - "2025-05-10": 100.0 - "2025-05-11": 100.0 - "2025-05-12": 100.0 - "2025-05-13": 100.0 - "2025-05-14": 100.0 - "2025-05-15": 100.0 - "2025-05-16": 100.0 - "2025-05-17": 100.0 - "2025-05-18": 100.0 - "2025-05-19": 50.0 - "2025-05-20": 0.0 - "2025-05-21": 100.0 - "2025-05-22": 100.0 - schema: - $ref: '#/components/schemas/uptime_chart_response' - description: success - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Get service uptime chart - tags: - - Services - x-accepts: - - application/vnd.api+json - /v1/severities: - get: - description: List severities - operationId: listSeverities - parameters: - - explode: true - in: query - name: include - required: false + name: include + required: false schema: + enum: + - severities + - environments + - services + - functionalities + - groups + - causes + - incident_types type: string style: form - explode: true @@ -35513,161 +18468,61 @@ paths: 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[slug]" - 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[severity]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[color]" - 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: sort - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/severity_list' + $ref: '#/components/schemas/playbook_list' description: success security: - bearer_auth: [] - summary: List severities + summary: List playbooks tags: - - Severities + - Playbooks x-accepts: - application/vnd.api+json post: - description: Creates a new severity from provided data - operationId: createSeverity + description: Creates a new playbook from provided data + operationId: createPlaybook parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_severity' + $ref: '#/components/schemas/new_playbook' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 161f88ac-9a83-4423-ba73-07a56d85158d - type: severities - attributes: - name: P0 - slug: p0 - description: High Priority - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: - - hello@rootly.com - - world@rootly.com - slack_channels: - - id: C03MKDSEJE8 - name: elastisearch - slack_aliases: - - id: S03F7QUV7F1 - name: leadership - created_at: 2025-05-22T06:50:00.291-07:00 - updated_at: 2025-05-22T06:50:00.291-07:00 schema: - $ref: '#/components/schemas/severity_response' - description: severity created + $ref: '#/components/schemas/playbook_response' + description: playbook created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a severity + summary: Creates a playbook tags: - - Severities + - Playbooks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/severities/{id}: + /v1/playbooks/{id}: delete: - description: Delete a specific severity by id - operationId: deleteSeverity + description: Delete a specific playbook by id + operationId: deletePlaybook parameters: - explode: false in: path @@ -35680,45 +18535,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: aa938f87-3c36-41fd-97b8-dff1b1447a21 - type: severities - attributes: - name: 824n0 - slug: 824n0 - description: Non omnis ut laboriosam. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:49:58.004-07:00 - updated_at: 2025-05-22T06:50:02.085-07:00 schema: - $ref: '#/components/schemas/severity_response' - description: severity deleted + $ref: '#/components/schemas/playbook_response' + description: playbook deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a severity + summary: Delete a playbook tags: - - Severities + - Playbooks x-accepts: - application/vnd.api+json get: - description: Retrieves a specific severity by id - operationId: getSeverity + description: Retrieves a specific playbook by id + operationId: getPlaybook parameters: - explode: false in: path @@ -35727,49 +18562,45 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: severities,environments,services" + explode: true + in: query + name: include + required: false + schema: + enum: + - severities + - environments + - services + - functionalities + - groups + - causes + - incident_types + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: aa938f87-3c36-41fd-97b8-dff1b1447a21 - type: severities - attributes: - name: 824n0 - slug: 824n0 - description: Non omnis ut laboriosam. - severity: medium - color: '#E58A1F' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:49:58.004-07:00 - updated_at: 2025-05-22T06:49:58.004-07:00 schema: - $ref: '#/components/schemas/severity_response' - description: severity found + $ref: '#/components/schemas/playbook_response' + description: playbook found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a severity + summary: Retrieves a playbook tags: - - Severities + - Playbooks x-accepts: - application/vnd.api+json put: - description: Update a specific severity by id - operationId: updateSeverity + description: Update a specific playbook by id + operationId: updatePlaybook parameters: - explode: false in: path @@ -35782,167 +18613,34 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_severity' + $ref: '#/components/schemas/update_playbook' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: aa938f87-3c36-41fd-97b8-dff1b1447a21 - type: severities - attributes: - name: P1 - slug: p1 - description: Medium Priority - severity: medium - color: '#000' - position: 2 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - created_at: 2025-05-22T06:49:58.004-07:00 - updated_at: 2025-05-22T06:50:01.537-07:00 schema: - $ref: '#/components/schemas/severity_response' - description: severity updated + $ref: '#/components/schemas/playbook_response' + description: playbook updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a severity + summary: Update a playbook tags: - - Severities + - Playbooks x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/shifts: - get: - description: List shifts - operationId: listShifts - parameters: - - description: "comma separated if needed. eg: shift_override,user" - explode: true - in: query - name: include - required: false - schema: - enum: - - shift_override - - user - type: string - style: form - - description: Start range for shifts - explode: true - in: query - name: to - required: false - schema: - type: string - style: form - - description: End range for shifts - explode: true - in: query - name: from - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "user_ids[]" - required: false - schema: - items: - type: integer - type: array - style: form - - explode: true - in: query - name: "schedule_ids[]" - required: false - schema: - items: - type: string - type: array - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - - id: 5e7bb8ac-ae6d-4535-80e0-2d33a4837f88 - type: shifts - attributes: - schedule_id: 2e7e2260-b5da-44c7-a579-f47c62de8508 - rotation_id: c9de8171-51e8-45ea-b2bb-12f1a090d8b1 - starts_at: 2024-07-02T21:00:00.000-07:00 - ends_at: 2024-07-02T23:00:00.000-07:00 - is_override: true - relationships: - shift_override: - data: null - user: - data: - id: "449" - type: users - - id: 90f27b4f-08e7-42b0-b4b7-272900b32a57 - type: shifts - attributes: - schedule_id: 2e7e2260-b5da-44c7-a579-f47c62de8508 - rotation_id: 6b860d0b-2f77-458e-ba53-c8bf8ca9701d - starts_at: 2024-07-02T19:00:00.000-07:00 - ends_at: 2024-07-02T21:00:00.000-07:00 - is_override: false - relationships: - shift_override: - data: null - user: - data: - id: "449" - type: users - schema: - $ref: '#/components/schemas/shift_list' - description: success - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: List shifts - tags: - - Shifts - x-accepts: - - application/vnd.api+json - /v1/status-pages/{status_page_id}/templates: + /v1/post_mortem_templates: get: - description: List status page templates - operationId: listStatusPageTemplates + description: List Retrospective Templates + operationId: listPostmortemTemplates parameters: - - explode: false - in: path - name: status_page_id - required: true - schema: - type: string - style: simple - explode: true in: query name: include @@ -35969,246 +18667,157 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/status_page_template_list' + $ref: '#/components/schemas/post_mortem_template_list' description: success security: - bearer_auth: [] - summary: List status page templates + summary: List Retrospective Templates tags: - - StatusPageTemplates + - RetrospectiveTemplates x-accepts: - application/vnd.api+json post: - description: Creates a new template from provided data - operationId: createStatusPageTemplate - parameters: - - explode: false - in: path - name: status_page_id - required: true - schema: - type: string - style: simple + description: Creates a new Retrospective Template from provided data + operationId: createPostmortemTemplate + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/status_page_template' + $ref: '#/components/schemas/new_post_mortem_template' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 785226b2-d3a3-49cb-9a9a-bcec04668964 - type: status_page_templates - attributes: - status_page_id: 19e4076a-6b1e-4d08-be59-fc812c81cfaf - title: Created from API - body: This was created from API. - update_status: null - should_notify_subscribers: false - position: 4 - enabled: true - created_at: 2025-05-22T06:50:07.450-07:00 - updated_at: 2025-05-22T06:50:07.450-07:00 - kind: normal schema: - $ref: '#/components/schemas/status_page_template_response' - description: incident_event created + $ref: '#/components/schemas/post_mortem_template_response' + description: post_mortem_template created with TipTap blocks "422": content: application/vnd.api+json: - example: - errors: - - title: Title can't be blank - status: "422" - - title: Body can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a status page template + summary: Creates a retrospective template tags: - - StatusPageTemplates + - RetrospectiveTemplates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/templates/{id}: + /v1/post_mortem_templates/{id}: delete: - description: Delete a specific template event by id - operationId: deleteStatusPageTemplate + description: Delete a specific Retrospective Template by id + operationId: deletePostmortemTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 14d5f69e-f426-4e1a-803f-cde825a05669 - type: status_page_templates - attributes: - status_page_id: 19e4076a-6b1e-4d08-be59-fc812c81cfaf - title: Sint - body: Necessitatibus quis libero alias. - update_status: null - should_notify_subscribers: false - position: 1 - enabled: true - created_at: 2025-05-22T06:50:07.172-07:00 - updated_at: 2025-05-22T06:50:10.041-07:00 - kind: normal schema: - $ref: '#/components/schemas/status_page_template_response' - description: incident_event deleted + $ref: '#/components/schemas/post_mortem_template_response' + description: Retrospective Template deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a incident event + summary: Delete a Retrospective Template tags: - - StatusPageTemplates + - RetrospectiveTemplates x-accepts: - application/vnd.api+json get: - description: Retrieves a specific status_page_template by id - operationId: getStatusPageTemplate + description: Retrieves a specific Retrospective Template by id + operationId: getPostmortemTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 14d5f69e-f426-4e1a-803f-cde825a05669 - type: status_page_templates - attributes: - status_page_id: 19e4076a-6b1e-4d08-be59-fc812c81cfaf - title: Sint - body: Necessitatibus quis libero alias. - update_status: null - should_notify_subscribers: false - position: 1 - enabled: true - created_at: 2025-05-22T06:50:07.172-07:00 - updated_at: 2025-05-22T06:50:07.172-07:00 - kind: normal schema: - $ref: '#/components/schemas/status_page_template_response' - description: status page template found + $ref: '#/components/schemas/post_mortem_template_response' + description: Retrospective Template found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a status page template + summary: Retrieves a Retrospective Template tags: - - StatusPageTemplates + - RetrospectiveTemplates x-accepts: - application/vnd.api+json put: - description: Update a specific template event by id - operationId: updateStatusPageTemplate + description: Update a specific Retrospective Template by id + operationId: updatePostmortemTemplate parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/status_page_template' + $ref: '#/components/schemas/update_post_mortem_template' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 14d5f69e-f426-4e1a-803f-cde825a05669 - type: status_page_templates - attributes: - status_page_id: 19e4076a-6b1e-4d08-be59-fc812c81cfaf - title: Update template title - body: Update template body - update_status: null - should_notify_subscribers: false - position: 1 - enabled: true - created_at: 2025-05-22T06:50:07.172-07:00 - updated_at: 2025-05-22T06:50:09.266-07:00 - kind: normal schema: - $ref: '#/components/schemas/status_page_template_response' - description: incident_event updated + $ref: '#/components/schemas/post_mortem_template_response' + description: Retrospective Template updated with sanitized content "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update status page template + summary: Update a Retrospective Template tags: - - StatusPageTemplates + - RetrospectiveTemplates x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/status-pages: + /v1/pulses: get: - description: List status pages - operationId: listStatusPages + description: List pulses + operationId: listPulses parameters: - explode: true in: query @@ -36219,35 +18828,91 @@ paths: style: form - explode: true in: query - name: "page[number]" + name: "filter[source]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "page[size]" + name: "filter[services]" required: false schema: - type: integer + type: string style: form - explode: true in: query - name: "filter[search]" + name: "filter[environments]" required: false schema: type: string style: form - explode: true in: query - name: "filter[name]" + name: "filter[labels]" required: false schema: type: string style: form - explode: true in: query - name: "filter[slug]" + name: "filter[refs]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[started_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[started_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[started_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[started_at][lte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[ended_at][gt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[ended_at][gte]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[ended_at][lt]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[ended_at][lte]" required: false schema: type: string @@ -36282,109 +18947,73 @@ paths: style: form - explode: true in: query - name: sort + name: "page[number]" required: false schema: - type: string + 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_list' + $ref: '#/components/schemas/pulse_list' description: success security: - bearer_auth: [] - summary: List status pages + summary: List pulses tags: - - StatusPages + - Pulses x-accepts: - application/vnd.api+json post: - description: Creates a new status page from provided data - operationId: createStatusPage + description: Creates a new pulse from provided data + operationId: createPulse parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_status_page' + $ref: '#/components/schemas/new_pulse' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 21882183-c77b-495e-8089-c47191f7b465 - type: status_pages - attributes: - title: My Status Page - public_title: null - description: My Status Page description - public_description: null - header_color: '#0061F2' - footer_color: '#1F2F41' - allow_search_engine_index: true - public: false - website_url: null - website_privacy_url: null - website_support_url: null - ga_tracking_id: null - time_zone: Etc/UTC - success_message: All Systems Operational - failure_message: Something's not quite right - authentication_enabled: false - authentication_password: "[REDACTED]" - enabled: true - functionality_ids: - - 44e6b205-4331-4407-b5b7-c5872d6600fe - service_ids: - - f8b2e288-275a-460b-b7cd-719fff3d4234 - allow_email_subscribers: true - allow_sms_subscribers: true - allow_rss_atom_feeds: true - show_uptime: true - show_uptime_last_days: 30 - external_domain_names: [] - created_at: 2025-05-22T06:50:16.038-07:00 - updated_at: 2025-05-22T06:50:16.038-07:00 schema: - $ref: '#/components/schemas/status_page_response' - description: status_page created + $ref: '#/components/schemas/pulse_response' + description: pulse created "422": content: application/vnd.api+json: - example: - errors: - - title: Title can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a status page + summary: Creates a pulse tags: - - StatusPages + - Pulses x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/status-pages/{id}: - delete: - description: Delete a specific status page by id - operationId: deleteStatusPage + /v1/pulses/{id}: + get: + description: Retrieves a specific pulse by id + operationId: getPulse parameters: - explode: false in: path @@ -36397,62 +19026,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 0faeba90-cabf-4b4a-9509-313ee576d69f - type: status_pages - attributes: - title: Ea beatae praesentium voluptas. - public_title: null - description: null - public_description: null - header_color: '#0061F2' - footer_color: '#1F2F41' - allow_search_engine_index: true - public: false - website_url: null - website_privacy_url: null - website_support_url: null - ga_tracking_id: null - time_zone: Etc/UTC - success_message: All Systems Operational - failure_message: Something's not quite right - authentication_enabled: false - authentication_password: "[REDACTED]" - enabled: true - functionality_ids: [] - service_ids: [] - allow_email_subscribers: true - allow_sms_subscribers: true - allow_rss_atom_feeds: true - show_uptime: true - show_uptime_last_days: 90 - external_domain_names: [] - created_at: 2025-05-22T06:50:11.573-07:00 - updated_at: 2025-05-22T06:50:18.924-07:00 schema: - $ref: '#/components/schemas/status_page_response' - description: status_page deleted + $ref: '#/components/schemas/pulse_response' + description: pulse found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a status page + summary: Retrieves a pulse tags: - - StatusPages + - Pulses x-accepts: - application/vnd.api+json - get: - description: Retrieves a specific status page by id - operationId: getStatusPage + put: + description: Update a specific pulse by id + operationId: updatePulse parameters: - explode: false in: path @@ -36461,66 +19053,132 @@ paths: schema: type: string style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_pulse' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 0faeba90-cabf-4b4a-9509-313ee576d69f - type: status_pages - attributes: - title: Ea beatae praesentium voluptas. - public_title: null - description: null - public_description: null - header_color: '#0061F2' - footer_color: '#1F2F41' - allow_search_engine_index: true - public: false - website_url: null - website_privacy_url: null - website_support_url: null - ga_tracking_id: null - time_zone: Etc/UTC - success_message: All Systems Operational - failure_message: Something's not quite right - authentication_enabled: false - authentication_password: "[REDACTED]" - enabled: true - functionality_ids: [] - service_ids: [] - allow_email_subscribers: true - allow_sms_subscribers: true - allow_rss_atom_feeds: true - show_uptime: true - show_uptime_last_days: 90 - external_domain_names: [] - created_at: 2025-05-22T06:50:11.573-07:00 - updated_at: 2025-05-22T06:50:11.573-07:00 schema: - $ref: '#/components/schemas/status_page_response' - description: status_page found - "404": + $ref: '#/components/schemas/pulse_response' + description: pulse updated + "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a status page + summary: Update a pulse tags: - - StatusPages + - Pulses + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/retrospective_configurations: + get: + description: List retrospective configurations + operationId: listRetrospectiveConfigurations + parameters: + - description: "comma separated if needed. eg: severities,groups" + explode: true + in: query + name: include + required: false + schema: + enum: + - severities + - groups + - incident_types + 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 + - explode: true + in: query + name: "filter[kind]" + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/retrospective_configuration_list' + description: success + security: + - bearer_auth: [] + summary: List retrospective configurations + tags: + - RetrospectiveConfigurations + x-accepts: + - application/vnd.api+json + /v1/retrospective_configurations/{id}: + get: + description: Retrieves a specific retrospective_configuration by id + operationId: getRetrospectiveConfiguration + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - description: "comma separated if needed. eg: severities,groups" + explode: true + in: query + name: include + required: false + schema: + enum: + - severities + - groups + - incident_types + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/retrospective_configuration_response' + description: retrospective_configuration found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a Retrospective Configuration + tags: + - RetrospectiveConfigurations x-accepts: - application/vnd.api+json put: - description: Update a specific status page by id - operationId: updateStatusPage + description: Update a specific retrospective configuration by id + operationId: updateRetrospectiveConfiguration parameters: - explode: false in: path @@ -36533,71 +19191,41 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_status_page' + $ref: '#/components/schemas/update_retrospective_configuration' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 0faeba90-cabf-4b4a-9509-313ee576d69f - type: status_pages - attributes: - title: My Status Page Updated - public_title: null - description: My Status Page Description Updated - public_description: null - header_color: '#0061F2' - footer_color: '#1F2F41' - allow_search_engine_index: true - public: false - website_url: null - website_privacy_url: null - website_support_url: null - ga_tracking_id: null - time_zone: Etc/UTC - success_message: All Systems Operational - failure_message: Something's not quite right - authentication_enabled: false - authentication_password: "[REDACTED]" - enabled: true - functionality_ids: [] - service_ids: [] - allow_email_subscribers: true - allow_sms_subscribers: true - allow_rss_atom_feeds: true - show_uptime: true - show_uptime_last_days: 60 - external_domain_names: [] - created_at: 2025-05-22T06:50:11.573-07:00 - updated_at: 2025-05-22T06:50:17.976-07:00 schema: - $ref: '#/components/schemas/status_page_response' - description: status_page updated + $ref: '#/components/schemas/retrospective_configuration_response' + description: retrospective configuration updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a status page + summary: Update a retrospective configuration tags: - - StatusPages + - RetrospectiveConfigurations x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/sub_statuses: + /v1/retrospective_process_groups/{retrospective_process_group_id}/steps: get: - description: List Sub-Statuses - operationId: listSubStatuses + description: List RetrospectiveProcessGroup Steps + operationId: listRetrospectiveProcessGroupSteps parameters: + - explode: false + in: path + name: retrospective_process_group_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -36621,21 +19249,7 @@ paths: style: form - explode: true in: query - name: "filter[slug]" - 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[parent_status]" + name: "filter[retrospective_step_id]" required: false schema: type: string @@ -36673,79 +19287,57 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/sub_status_list' + $ref: '#/components/schemas/retrospective_process_group_step_list' description: success security: - bearer_auth: [] - summary: List Sub-Statuses + summary: List RetrospectiveProcessGroup Steps tags: - - SubStatuses + - RetrospectiveProcessGroupSteps x-accepts: - application/vnd.api+json post: - description: Creates a new Sub-Status from provided data - operationId: createSubStatus - parameters: [] + description: Creates a new retrospective process group step from provided data + operationId: createRetrospectiveProcessGroupStep + parameters: + - explode: false + in: path + name: retrospective_process_group_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_sub_status' + $ref: '#/components/schemas/new_retrospective_process_group_step' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: f88f07e5-b70a-4308-b491-b5c6cb538c38 - type: sub_statuses - attributes: - name: Test - description: This is a description - slug: test - parent_status: started - position: 13 - deleted_at: null - updated_at: 2025-05-22T06:50:22.566-07:00 - created_at: 2025-05-22T06:50:22.566-07:00 - schema: - $ref: '#/components/schemas/sub_status_response' - description: sub_status created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: Name is too short (minimum is 1 character) - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid request + $ref: '#/components/schemas/retrospective_process_group_step_response' + description: retrospective_process_group_step created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a Sub-Status + summary: Creates a retrospective process group step tags: - - SubStatuses + - RetrospectiveProcessGroupSteps x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/sub_statuses/{id}: + /v1/retrospective_process_group_steps/{id}: delete: - description: Delete a specific Sub-Status by id - operationId: deleteSubStatus + description: Delete a specific RetrospectiveProcessGroup Step by id + operationId: deleteRetrospectiveProcessGroupStep parameters: - explode: false in: path @@ -36758,42 +19350,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: eb30cd78-4dec-42f4-a017-18186f051a30 - type: sub_statuses - attributes: - name: 1z94c - description: Nesciunt perspiciatis dolorum ut. - slug: 1z94c - parent_status: started - position: 3 - deleted_at: 2025-05-22T06:50:24.324-07:00 - updated_at: 2025-05-22T06:50:24.324-07:00 - created_at: 2025-05-22T06:50:20.605-07:00 schema: - $ref: '#/components/schemas/sub_status_response' - description: sub_status deleted + $ref: '#/components/schemas/retrospective_process_group_step_response' + description: retrospective_process_group_step deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a Sub-Status + summary: Delete a RetrospectiveProcessGroup Step tags: - - SubStatuses + - RetrospectiveProcessGroupSteps x-accepts: - application/vnd.api+json get: - description: Retrieves a specific Sub-Status by id - operationId: getSubStatus + description: Retrieves a specific RetrospectiveProcessGroup Step by id + operationId: getRetrospectiveProcessGroupStep parameters: - explode: false in: path @@ -36806,42 +19381,19 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: eb30cd78-4dec-42f4-a017-18186f051a30 - type: sub_statuses - attributes: - name: 1z94c - description: Nesciunt perspiciatis dolorum ut. - slug: 1z94c - parent_status: started - position: 3 - deleted_at: null - updated_at: 2025-05-22T06:50:20.605-07:00 - created_at: 2025-05-22T06:50:20.605-07:00 schema: - $ref: '#/components/schemas/sub_status_response' + $ref: '#/components/schemas/retrospective_process_group_step_response' description: sub_status found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found security: - bearer_auth: [] - summary: Retrieves a Sub-Status + summary: Retrieves a RetrospectiveProcessGroup Step tags: - - SubStatuses + - RetrospectiveProcessGroupSteps x-accepts: - application/vnd.api+json put: - description: Update a specific Sub-Status by id - operationId: updateSubStatus + description: Update a specific RetrospectiveProcessGroup Step by id + operationId: updateRetrospectiveProcessGroupStep parameters: - explode: false in: path @@ -36854,124 +19406,77 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_sub_status' + $ref: '#/components/schemas/update_retrospective_process_group_step' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: eb30cd78-4dec-42f4-a017-18186f051a30 - type: sub_statuses - attributes: - name: 1z94c - description: Updated description - slug: 1z94c - parent_status: started - position: 3 - deleted_at: null - updated_at: 2025-05-22T06:50:23.759-07:00 - created_at: 2025-05-22T06:50:20.605-07:00 - schema: - $ref: '#/components/schemas/sub_status_response' - description: sub_status updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/retrospective_process_group_step_response' + description: retrospective_process_group_step updated security: - bearer_auth: [] - summary: Update a Sub-Status + summary: Update RetrospectiveProcessGroup Step tags: - - SubStatuses + - RetrospectiveProcessGroupSteps x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/teams: + /v1/retrospective_processes/{retrospective_process_id}/groups: get: - description: List teams - operationId: listTeams + description: List Retrospective Process Groups + operationId: listRetrospectiveProcessGroups parameters: - - 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 - - explode: true - in: query - name: "filter[search]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[slug]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name]" - required: false + - explode: false + in: path + name: retrospective_process_id + required: true schema: type: string - style: form - - explode: true + style: simple + - description: "comma separated if needed. eg: retrospective_process_group_steps" + explode: true in: query - name: "filter[backstage_id]" + name: include required: false schema: + enum: + - retrospective_process_group_steps type: string style: form - - explode: true + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true in: query - name: "filter[cortex_id]" + name: sort required: false schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position type: string style: form - explode: true in: query - name: "filter[opslevel_id]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[external_id]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[color]" + name: "filter[sub_status_id]" required: false schema: type: string @@ -37004,121 +19509,62 @@ paths: 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/team_list' + $ref: '#/components/schemas/retrospective_process_group_list' description: success security: - bearer_auth: [] - summary: List teams + summary: List Retrospective Process Groups tags: - - Teams + - RetrospectiveProcessGroups x-accepts: - application/vnd.api+json post: - description: Creates a new team from provided data - operationId: createTeam - parameters: [] + description: Creates a new retrospective process group from provided data + operationId: createRetrospectiveProcessGroup + parameters: + - explode: false + in: path + name: retrospective_process_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_team' + $ref: '#/components/schemas/new_retrospective_process_group' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 29208612-053b-4880-91f4-2c7a002d1eaa - type: groups - attributes: - slug: infrastructure - name: Infrastructure - description: Everything infrastructure related - color: '#FFF' - position: 1 - notify_emails: - - john@rootly.com - - doe@rootly.com - slack_channels: - - id: C03MKDSEJE8 - name: infrastructure - slack_aliases: - - id: S03F7QUV7F1 - name: infrastructure - pagerduty_id: PQ9K7I8 - pagerduty_service_id: null - backstage_id: null - external_id: d795fe69-acc2-4b30-92c9-3c25cbb92056 - opsgenie_id: 8743a1b2-11da-480e-8493-744660987bef - victor_ops_id: e877c558-12e2-44d2-8723-5c86f7473c54 - pagertree_id: daa8bcd6-bf4a-4716-976c-812832ae115e - cortex_id: null - service_now_ci_sys_id: null - user_ids: - - 470 - - 471 - admin_ids: [] - incidents_count: 0 - alert_urgency_id: null - alerts_email_enabled: true - alerts_email_address: group-2130f9d44fcfe5f15bdf395f35ba013a@test.email.rootly.com - created_at: 2025-05-22T06:50:32.985-07:00 - updated_at: 2025-05-22T06:50:32.998-07:00 - relationships: - users: - data: - - id: "470" - type: users - - id: "471" - type: users - schema: - $ref: '#/components/schemas/team_response' - description: team created - "422": - content: - application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" schema: - $ref: '#/components/schemas/errors_list' - description: invalid association + $ref: '#/components/schemas/retrospective_process_group_response' + description: retrospective_process_group created "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a team + summary: Creates a retrospective process group tags: - - Teams + - RetrospectiveProcessGroups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/teams/{id}: + /v1/retrospective_process_groups/{id}: delete: - description: Delete a specific team by id - operationId: deleteTeam + description: Delete a specific Retrospective Process Group by id + operationId: deleteRetrospectiveProcessGroup parameters: - explode: false in: path @@ -37131,62 +19577,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: f177c95c-c7bb-43e2-8b43-e5fd2c3f4826 - type: groups - attributes: - slug: harum-dolores-dolorum-debitis - name: Harum dolores dolorum debitis. - description: null - color: '#D7E7F5' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - pagerduty_id: null - pagerduty_service_id: null - backstage_id: null - external_id: null - opsgenie_id: null - victor_ops_id: null - pagertree_id: null - cortex_id: null - service_now_ci_sys_id: null - user_ids: [] - admin_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: group-905c197de000e175c1e7027d644d35c2@email.rootly.com - created_at: 2025-05-22T06:50:25.944-07:00 - updated_at: 2025-05-22T06:50:35.901-07:00 - relationships: - users: - data: [] schema: - $ref: '#/components/schemas/team_response' - description: team deleted + $ref: '#/components/schemas/retrospective_process_group_response' + description: retrospective_process_group deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a team + summary: Delete a Retrospective Process Group tags: - - Teams + - RetrospectiveProcessGroups x-accepts: - application/vnd.api+json get: - description: Retrieves a specific team by id - operationId: getTeam + description: Retrieves a specific Retrospective Process Group by id + operationId: getRetrospectiveProcessGroup parameters: - explode: false in: path @@ -37195,66 +19604,33 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: retrospective_process_group_steps" + explode: true + in: query + name: include + required: false + schema: + enum: + - retrospective_process_group_steps + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: f177c95c-c7bb-43e2-8b43-e5fd2c3f4826 - type: groups - attributes: - slug: harum-dolores-dolorum-debitis - name: Harum dolores dolorum debitis. - description: null - color: '#D7E7F5' - position: 1 - notify_emails: [] - slack_channels: [] - slack_aliases: [] - pagerduty_id: null - pagerduty_service_id: null - backstage_id: null - external_id: null - opsgenie_id: null - victor_ops_id: null - pagertree_id: null - cortex_id: null - service_now_ci_sys_id: null - user_ids: [] - admin_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: group-905c197de000e175c1e7027d644d35c2@email.rootly.com - created_at: 2025-05-22T06:50:25.944-07:00 - updated_at: 2025-05-22T06:50:25.944-07:00 - relationships: - users: - data: [] - schema: - $ref: '#/components/schemas/team_response' - description: team found - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/retrospective_process_group_response' + description: sub_status found security: - bearer_auth: [] - summary: Retrieves a team + summary: Retrieves a Retrospective Process Group tags: - - Teams + - RetrospectiveProcessGroups x-accepts: - application/vnd.api+json put: - description: Update a specific team by id - operationId: updateTeam + description: Update a specific Retrospective Process Group by id + operationId: updateRetrospectiveProcessGroup parameters: - explode: false in: path @@ -37267,169 +19643,39 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_team' + $ref: '#/components/schemas/update_retrospective_process_group' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: f177c95c-c7bb-43e2-8b43-e5fd2c3f4826 - type: groups - attributes: - slug: security - name: Security - description: Everything security related - color: '#000' - position: 2 - notify_emails: - - hello@rootly.com - - world@rootly.com - slack_channels: - - id: C03MKDSEJE8 - name: infrastructure - slack_aliases: - - id: S03F7QUV7F1 - name: infrastructure - pagerduty_id: PQ9K7I9 - pagerduty_service_id: null - backstage_id: null - external_id: 95ee00ee-4b35-40f7-bd0f-a919f9b8008d - opsgenie_id: a6edf90f-1a61-4592-99a7-bcf101c81bca - victor_ops_id: 0ae4de13-145a-4214-9cd5-c982ef95a740 - pagertree_id: c4378a92-505c-49e4-a46e-c44c830bbc99 - cortex_id: null - service_now_ci_sys_id: null - user_ids: - - 470 - admin_ids: [] - incidents_count: 1 - alert_urgency_id: null - alerts_email_enabled: false - alerts_email_address: group-905c197de000e175c1e7027d644d35c2@email.rootly.com - created_at: 2025-05-22T06:50:25.944-07:00 - updated_at: 2025-05-22T06:50:35.198-07:00 - relationships: - users: - data: - - id: "470" - type: users schema: - $ref: '#/components/schemas/team_response' - description: team updated - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found + $ref: '#/components/schemas/retrospective_process_group_response' + description: retrospective_process_group updated security: - bearer_auth: [] - summary: Update a team + summary: Update a Retrospective Process Group tags: - - Teams + - RetrospectiveProcessGroups x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/teams/{id}/incidents_chart: - get: - description: Get team incidents chart - operationId: getTeamIncidentsChart - parameters: - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - - explode: true - in: query - name: period - required: true - schema: - type: string - style: form - responses: - "200": - content: - application/vnd.api+json: - example: - data: - "2025-04-21": 0 - "2025-04-22": 0 - "2025-04-23": 0 - "2025-04-24": 0 - "2025-04-25": 0 - "2025-04-26": 0 - "2025-04-27": 0 - "2025-04-28": 0 - "2025-04-29": 0 - "2025-04-30": 0 - "2025-05-01": 0 - "2025-05-02": 0 - "2025-05-03": 0 - "2025-05-04": 0 - "2025-05-05": 0 - "2025-05-06": 0 - "2025-05-07": 0 - "2025-05-08": 0 - "2025-05-09": 0 - "2025-05-10": 0 - "2025-05-11": 0 - "2025-05-12": 0 - "2025-05-13": 0 - "2025-05-14": 0 - "2025-05-15": 0 - "2025-05-16": 0 - "2025-05-17": 0 - "2025-05-18": 0 - "2025-05-19": 1 - "2025-05-20": 0 - "2025-05-21": 0 - "2025-05-22": 0 - schema: - $ref: '#/components/schemas/incidents_chart_response' - description: success - "404": - content: - application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" - schema: - $ref: '#/components/schemas/errors_list' - description: resource not found - security: - - bearer_auth: [] - summary: Get team incidents chart - tags: - - Teams - x-accepts: - - application/vnd.api+json - /v1/users/{user_id}/notification_rules: + /v1/retrospective_processes: get: - description: List user notification rules - operationId: listUserNotificationRules + description: List retrospective processes + operationId: listRetrospectiveProcesses parameters: - - explode: false - in: path - name: user_id - required: true - schema: - type: string - style: simple - - explode: true + - description: "comma separated if needed. eg: retrospective_steps,severities" + explode: true in: query name: include required: false schema: + enum: + - retrospective_steps + - severities + - incident_types + - groups type: string style: form - explode: true @@ -37446,100 +19692,61 @@ paths: schema: type: integer 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/user_notification_rule_list' + $ref: '#/components/schemas/retrospective_process_list' description: success security: - bearer_auth: [] - summary: List user notification rules + summary: List retrospective processes tags: - - UserNotificationRules + - RetrospectiveProcesses x-accepts: - application/vnd.api+json post: - description: Creates a new user notification rule from provided data - operationId: createUserNotificationRule - parameters: - - explode: false - in: path - name: user_id - required: true - schema: - type: string - style: simple + description: Creates a new retrospective process from provided data + operationId: createRetrospectiveProcess + parameters: [] requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_user_notification_rule' + $ref: '#/components/schemas/new_retrospective_process' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 425dcfe4-47fe-42d7-8c9f-b132bade27b4 - type: user_notification_rules - attributes: - user_id: 475 - delay: 2 - position: 1 - user_email_address_id: af79bb5c-3b2f-4b9f-a19c-47dbc8ceadfd - user_call_number_id: 8a027a08-c52c-4751-8bad-18631ac86162 - user_sms_number_id: 8a027a08-c52c-4751-8bad-18631ac86162 - user_device_id: 42cce05b-81bc-4ea5-970d-0d02c8cad355 - enabled_contact_types: - - email - created_at: 2025-05-22T06:50:38.198-07:00 - updated_at: 2025-05-22T06:50:38.198-07:00 schema: - $ref: '#/components/schemas/user_notification_rule_response' - description: user_notification_rule created + $ref: '#/components/schemas/retrospective_process_response' + description: retrospective_process created "422": content: application/vnd.api+json: - example: - errors: - - title: Enabled contact types You must select at least 1 contact - type - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates an user notification rule + summary: Creates a retrospective process tags: - - UserNotificationRules + - RetrospectiveProcesses x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/notification_rules/{id}: + /v1/retrospective_processes/{id}: delete: - description: Delete a specific user notification rule by id - operationId: deleteUserNotificationRule + description: Delete a specific retrospective process by id + operationId: deleteRetrospectiveProcess parameters: - explode: false in: path @@ -37552,45 +19759,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: c40b9601-3838-4602-897d-93d08e11a314 - type: user_notification_rules - attributes: - user_id: 475 - delay: 1 - position: 2 - user_email_address_id: null - user_call_number_id: null - user_sms_number_id: null - user_device_id: null - enabled_contact_types: - - email - created_at: 2025-05-22T06:50:38.014-07:00 - updated_at: 2025-05-22T06:50:38.027-07:00 schema: - $ref: '#/components/schemas/user_notification_rule_response' - description: user_notification_rule deleted + $ref: '#/components/schemas/retrospective_process_response' + description: retrospective_process deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an user notification rule + summary: Delete a retrospective process tags: - - UserNotificationRules + - RetrospectiveProcesses x-accepts: - application/vnd.api+json get: - description: Retrieves a specific user notification rule by id - operationId: getUserNotificationRule + description: Retrieves a specific retrospective process by id + operationId: getRetrospectiveProcess parameters: - explode: false in: path @@ -37599,49 +19786,42 @@ paths: schema: type: string style: simple + - description: "comma separated if needed. eg: retrospective_steps,severities" + explode: true + in: query + name: include + required: false + schema: + enum: + - retrospective_steps + - severities + - incident_types + - groups + type: string + style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: c40b9601-3838-4602-897d-93d08e11a314 - type: user_notification_rules - attributes: - user_id: 475 - delay: 1 - position: 2 - user_email_address_id: null - user_call_number_id: null - user_sms_number_id: null - user_device_id: null - enabled_contact_types: - - email - created_at: 2025-05-22T06:50:38.014-07:00 - updated_at: 2025-05-22T06:50:38.027-07:00 schema: - $ref: '#/components/schemas/user_notification_rule_response' - description: user_notification_rule found + $ref: '#/components/schemas/retrospective_process_response' + description: retrospective_process found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an user notification rule + summary: Retrieves a retrospective process tags: - - UserNotificationRules + - RetrospectiveProcesses x-accepts: - application/vnd.api+json put: - description: Update a specific user notification rule by id - operationId: updateUserNotificationRule + description: Updates a specific retrospective process by id + operationId: updateRetrospectiveProcess parameters: - explode: false in: path @@ -37654,657 +19834,131 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_user_notification_rule' + $ref: '#/components/schemas/update_retrospective_process' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: c40b9601-3838-4602-897d-93d08e11a314 - type: user_notification_rules - attributes: - user_id: 475 - delay: 2 - position: 1 - user_email_address_id: af79bb5c-3b2f-4b9f-a19c-47dbc8ceadfd - user_call_number_id: 8a027a08-c52c-4751-8bad-18631ac86162 - user_sms_number_id: null - user_device_id: 42cce05b-81bc-4ea5-970d-0d02c8cad355 - enabled_contact_types: - - device - created_at: 2025-05-22T06:50:38.014-07:00 - updated_at: 2025-05-22T06:50:39.441-07:00 schema: - $ref: '#/components/schemas/user_notification_rule_response' - description: user_notification_rule updated + $ref: '#/components/schemas/retrospective_process_response' + description: retrospective_process updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update an user notification rule + summary: Update a retrospective process tags: - - UserNotificationRules + - RetrospectiveProcesses x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/users: + /v1/retrospective_processes/{retrospective_process_id}/retrospective_steps: get: - description: List users - operationId: listUsers + description: List retrospective steps + operationId: listRetrospectiveSteps 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[email]" - required: false + - explode: false + in: path + name: retrospective_process_id + required: true schema: type: string - style: form + style: simple - explode: true in: query - name: "filter[created_at][gt]" + name: include required: false schema: type: string style: form - explode: true in: query - name: "filter[created_at][gte]" + name: "page[number]" required: false schema: - type: string + type: integer style: form - explode: true in: query - name: "filter[created_at][lt]" + name: "page[size]" required: false schema: - type: string + type: integer style: form - explode: true - in: query - name: "filter[created_at][lte]" - required: false - schema: - type: string - style: form - - description: "comma separated if needed. eg: created_at,updated_at" - explode: true in: query name: sort required: false schema: - enum: - - created_at - - -created_at - - updated_at - - -updated_at - type: string - style: form - - description: "comma separated if needed. eg: email_addresses,phone_numbers" - explode: true - in: query - name: include - required: false - schema: - enum: - - email_addresses - - phone_numbers - - devices - - role - - on_call_role type: string style: form responses: "200": content: application/vnd.api+json: - example: - data: - - id: "490" - type: users - attributes: - name: Kerrie Kling - email: stacee@feil-rath.example - phone: null - phone_2: null - first_name: Kerrie - last_name: Kling - full_name: Kerrie Kling - full_name_with_team: "[Connelly-Reynolds] Kerrie Kling" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:43.705-07:00 - created_at: 2025-05-22T06:50:43.705-07:00 - relationships: - email_addresses: - data: - - id: 281fb5ab-466b-4aac-9ed2-3dd13e1e461c - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 1a958a25-f295-4232-9f73-fcfa974796a0 - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "489" - type: users - attributes: - name: Charley Hudson - email: nicki_lynch@flatley.example - phone: null - phone_2: null - first_name: Charley - last_name: Hudson - full_name: Charley Hudson - full_name_with_team: "[Connelly-Reynolds] Charley Hudson" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:43.571-07:00 - created_at: 2025-05-22T06:50:43.571-07:00 - relationships: - email_addresses: - data: - - id: 06924b21-c538-47a9-875f-0f876029b1ca - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "488" - type: users - attributes: - name: Linwood Franecki - email: wilda_steuber@oconner-macgyver.example - phone: null - phone_2: null - first_name: Linwood - last_name: Franecki - full_name: Linwood Franecki - full_name_with_team: "[Connelly-Reynolds] Linwood Franecki" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:43.405-07:00 - created_at: 2025-05-22T06:50:43.405-07:00 - relationships: - email_addresses: - data: - - id: 58d92b9e-a1dd-4d5b-ab69-de3903175337 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 70e5cede-b198-4cf1-af88-9c65ce5dd280 - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "486" - type: users - attributes: - name: Debbra Herzog - email: wilbert@walsh.example - phone: null - phone_2: null - first_name: Debbra - last_name: Herzog - full_name: Debbra Herzog - full_name_with_team: "[Connelly-Reynolds] Debbra Herzog" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.730-07:00 - created_at: 2025-05-22T06:50:42.730-07:00 - relationships: - email_addresses: - data: - - id: 98a63d43-551a-4403-b57a-c6b663913033 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "485" - type: users - attributes: - name: Sanora Sporer - email: eli.cassin@jacobson.example - phone: null - phone_2: null - first_name: Sanora - last_name: Sporer - full_name: Sanora Sporer - full_name_with_team: "[Connelly-Reynolds] Sanora Sporer" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.604-07:00 - created_at: 2025-05-22T06:50:42.604-07:00 - relationships: - email_addresses: - data: - - id: bd3ca941-d205-43f9-94c3-c57c048e358b - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "484" - type: users - attributes: - name: Vida Parker - email: scot@muller.test - phone: null - phone_2: null - first_name: Vida - last_name: Parker - full_name: Vida Parker - full_name_with_team: "[Connelly-Reynolds] Vida Parker" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.475-07:00 - created_at: 2025-05-22T06:50:42.475-07:00 - relationships: - email_addresses: - data: - - id: e77f381c-c26e-4f3b-a1d5-e98d4abb9878 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "483" - type: users - attributes: - name: Jade Pfeffer - email: rocio@borer-mills.test - phone: null - phone_2: null - first_name: Jade - last_name: Pfeffer - full_name: Jade Pfeffer - full_name_with_team: "[Connelly-Reynolds] Jade Pfeffer" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.349-07:00 - created_at: 2025-05-22T06:50:42.349-07:00 - relationships: - email_addresses: - data: - - id: 271137c1-d4f6-40ec-a4ad-542ae21f2e73 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "482" - type: users - attributes: - name: Jacque Strosin - email: tifany@monahan.example - phone: null - phone_2: null - first_name: Jacque - last_name: Strosin - full_name: Jacque Strosin - full_name_with_team: "[Connelly-Reynolds] Jacque Strosin" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.214-07:00 - created_at: 2025-05-22T06:50:42.214-07:00 - relationships: - email_addresses: - data: - - id: 17b62d21-4dd4-4452-b975-fa1d52c621be - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "481" - type: users - attributes: - name: Marilou Harris - email: jesusita.osinski@kutch.test - phone: null - phone_2: null - first_name: Marilou - last_name: Harris - full_name: Marilou Harris - full_name_with_team: "[Connelly-Reynolds] Marilou Harris" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:42.031-07:00 - created_at: 2025-05-22T06:50:42.031-07:00 - relationships: - email_addresses: - data: - - id: 03494776-04c1-4a38-bbf0-753a796683b5 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "480" - type: users - attributes: - name: Kenya Langworth - email: robin.welch@spinka.example - phone: null - phone_2: null - first_name: Kenya - last_name: Langworth - full_name: Kenya Langworth - full_name_with_team: "[Connelly-Reynolds] Kenya Langworth" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:41.830-07:00 - created_at: 2025-05-22T06:50:41.830-07:00 - relationships: - email_addresses: - data: - - id: ba40d117-fcd4-4ca6-878a-28ac3b5cbe47 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "479" - type: users - attributes: - name: Quinn Pouros - email: kelvin@altenwerth.test - phone: null - phone_2: null - first_name: Quinn - last_name: Pouros - full_name: Quinn Pouros - full_name_with_team: "[Connelly-Reynolds] Quinn Pouros" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:41.643-07:00 - created_at: 2025-05-22T06:50:41.643-07:00 - relationships: - email_addresses: - data: - - id: 9b5a0965-de2d-480d-be54-d141dce7e590 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "478" - type: users - attributes: - name: Janie Mohr - email: riley@ruecker.test - phone: null - phone_2: null - first_name: Janie - last_name: Mohr - full_name: Janie Mohr - full_name_with_team: "[Connelly-Reynolds] Janie Mohr" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:41.428-07:00 - created_at: 2025-05-22T06:50:41.428-07:00 - relationships: - email_addresses: - data: - - id: 19a29c53-0171-431c-affc-e1cebf9d5623 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: d22d568b-1c35-4fdf-acf9-7c0b1e201e9e - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - - id: "477" - type: users - attributes: - name: Malissa Maggio - email: roy_barrows@dickens.test - phone: null - phone_2: null - first_name: Malissa - last_name: Maggio - full_name: Malissa Maggio - full_name_with_team: "[Connelly-Reynolds] Malissa Maggio" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:46.656-07:00 - created_at: 2025-05-22T06:50:40.507-07:00 - relationships: - email_addresses: - data: - - id: 5e8f4d3c-e455-4435-9cb8-1d11531c56aa - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 70e5cede-b198-4cf1-af88-9c65ce5dd280 - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles - links: - self: http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50 - first: http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50 - prev: null - next: null - last: http://www.example.com/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=50 - meta: - current_page: 1 - next_page: null - prev_page: null - total_count: 13 - total_pages: 1 - schema: - $ref: '#/components/schemas/user_list' - description: user found - "401": - content: - application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: - $ref: '#/components/schemas/errors_list' - description: responds with unauthorized for invalid token + $ref: '#/components/schemas/retrospective_step_list' + description: success security: - bearer_auth: [] - summary: List users + summary: List retrospective steps tags: - - Users + - RetrospectiveSteps x-accepts: - application/vnd.api+json - /v1/users/me: - get: - description: Get current user - operationId: getCurrentUser + post: + description: Creates a new retrospective step from provided data + operationId: createRetrospectiveStep + parameters: + - explode: false + in: path + name: retrospective_process_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_retrospective_step' + required: true responses: - "200": + "201": content: application/vnd.api+json: - example: - data: - id: "477" - type: users - attributes: - name: Malissa Maggio - email: roy_barrows@dickens.test - phone: null - phone_2: null - first_name: Malissa - last_name: Maggio - full_name: Malissa Maggio - full_name_with_team: "[Connelly-Reynolds] Malissa Maggio" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:47.229-07:00 - created_at: 2025-05-22T06:50:40.507-07:00 - relationships: - email_addresses: - data: - - id: 5e8f4d3c-e455-4435-9cb8-1d11531c56aa - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 70e5cede-b198-4cf1-af88-9c65ce5dd280 - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles schema: - $ref: '#/components/schemas/user_response' - description: user found + $ref: '#/components/schemas/retrospective_step_response' + description: retrospective_step created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Get current user + summary: Creates a retrospective step tags: - - Users + - RetrospectiveSteps + x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/users/{id}: + /v1/retrospective_steps/{id}: delete: - description: Delete a specific user by id - operationId: deleteUser + description: Delete a specific retrospective step by id + operationId: deleteRetrospectiveStep parameters: - explode: false in: path @@ -38317,59 +19971,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: "478" - type: users - attributes: - name: Janie Mohr - email: riley@ruecker.test - phone: null - phone_2: null - first_name: Janie - last_name: Mohr - full_name: Janie Mohr - full_name_with_team: "[Connelly-Reynolds] Janie Mohr" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:41.428-07:00 - created_at: 2025-05-22T06:50:41.428-07:00 - relationships: - email_addresses: - data: - - id: 19a29c53-0171-431c-affc-e1cebf9d5623 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: null - on_call_role: - data: null schema: - $ref: '#/components/schemas/user_response' - description: user deleted + $ref: '#/components/schemas/retrospective_step_response' + description: retrospective_step deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete an user + summary: Delete a retrospective step tags: - - Users + - RetrospectiveSteps x-accepts: - application/vnd.api+json get: - description: Retrieves a specific user by id - operationId: getUser + description: Retrieves a specific retrospective step by id + operationId: getRetrospectiveStep parameters: - explode: false in: path @@ -38378,81 +19998,29 @@ paths: schema: type: string style: simple - - description: "comma separated if needed. eg: email_addresses,phone_numbers" - explode: true - in: query - name: include - required: false - schema: - enum: - - email_addresses - - phone_numbers - - devices - - role - - on_call_role - type: string - style: form responses: "200": content: application/vnd.api+json: - example: - data: - id: "477" - type: users - attributes: - name: Malissa Maggio - email: roy_barrows@dickens.test - phone: null - phone_2: null - first_name: Malissa - last_name: Maggio - full_name: Malissa Maggio - full_name_with_team: "[Connelly-Reynolds] Malissa Maggio" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:47.545-07:00 - created_at: 2025-05-22T06:50:40.507-07:00 - relationships: - email_addresses: - data: - - id: 5e8f4d3c-e455-4435-9cb8-1d11531c56aa - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: 70e5cede-b198-4cf1-af88-9c65ce5dd280 - type: roles - on_call_role: - data: - id: 3fbd8e20-b7c6-4259-a788-c266424ceeea - type: on_call_roles schema: - $ref: '#/components/schemas/user_response' - description: user found + $ref: '#/components/schemas/retrospective_step_response' + description: retrospective_step found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves an user + summary: Retrieves a retrospective step tags: - - Users + - RetrospectiveSteps x-accepts: - application/vnd.api+json put: - description: Update a specific user by id - operationId: updateUser + description: Update a specific retrospective step by id + operationId: updateRetrospectiveStep parameters: - explode: false in: path @@ -38465,71 +20033,33 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_user' + $ref: '#/components/schemas/update_retrospective_step' + required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: "478" - type: users - attributes: - name: New Name - email: riley@ruecker.test - phone: null - phone_2: null - first_name: New - last_name: Name - full_name: New Name - full_name_with_team: "[Connelly-Reynolds] New Name" - slack_id: null - time_zone: UTC - updated_at: 2025-05-22T06:50:49.920-07:00 - created_at: 2025-05-22T06:50:41.428-07:00 - relationships: - email_addresses: - data: - - id: 19a29c53-0171-431c-affc-e1cebf9d5623 - type: user_email_addresses - phone_numbers: - data: [] - devices: - data: [] - role: - data: - id: e6470a33-8e13-433a-987c-9c7334deed8a - type: roles - on_call_role: - data: - id: 2610a484-5929-4dc6-9c0f-8ea673616220 - type: on_call_roles schema: - $ref: '#/components/schemas/user_response' - description: update name and role simultaneously + $ref: '#/components/schemas/retrospective_step_response' + description: retrospective_step updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - detail: On-call role not found or does not belong to this team - status: "404" schema: $ref: '#/components/schemas/errors_list' - description: returns 404 for on_call_role_id belonging to another team + description: resource not found security: - bearer_auth: [] - summary: Update a user + summary: Update a retrospective step tags: - - Users + - RetrospectiveSteps x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/webhooks/endpoints/{endpoint_id}/deliveries: + /v1/roles: get: - description: List webhook deliveries for given endpoint - operationId: listWebhooksDeliveries + description: List roles + operationId: listRoles parameters: - explode: true in: query @@ -38538,13 +20068,6 @@ paths: schema: type: string style: form - - explode: false - in: path - name: endpoint_id - required: true - schema: - type: string - style: simple - explode: true in: query name: "page[number]" @@ -38559,201 +20082,226 @@ paths: 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[slug]" + 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[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: sort + required: false + schema: + type: string + style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/webhooks_delivery_list' + $ref: '#/components/schemas/role_list' description: success security: - bearer_auth: [] - summary: List webhook deliveries + summary: List roles tags: - - WebhooksDeliveries + - Roles x-accepts: - application/vnd.api+json - /v1/webhooks/deliveries/{id}/deliver: post: - description: Retries a webhook delivery - operationId: deliverWebhooksDelivery + description: Creates a new role from provided data + operationId: createRole + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_role' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/role_response' + description: role 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 role + tags: + - Roles + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/roles/{id}: + delete: + description: Delete a specific role by id + operationId: deleteRole parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 794a1f56-4617-481a-bdf0-bb88380bd672 - type: webhooks_deliveries - attributes: - endpoint_id: ec1befbf-3785-499d-ac6f-8c2a22d451e7 - payload: "{\"event\":{\"id\":\"02e9aeed-18b0-445f-b31b-d319e952b28c\"\ - ,\"type\":\"incident.created\",\"issued_at\":\"2025-05-22T06:50:54.142-07:00\"\ - },\"data\":{\"id\":null,\"sequential_id\":null,\"title\":\"\ - Inclusive Tree\",\"slug\":\"inclusive-tree\",\"kind\":\"normal\"\ - ,\"private\":false,\"summary\":null,\"status\":\"started\",\"\ - url\":\"http://localhost:3001/account/incidents\",\"short_url\"\ - :null,\"mitigation_message\":null,\"resolution_message\":null,\"\ - cancellation_message\":null,\"public_title\":null,\"zoom_meeting_id\"\ - :null,\"zoom_meeting_start_url\":null,\"zoom_meeting_join_url\"\ - :null,\"zoom_meeting_password\":null,\"zoom_meeting_pstn_password\"\ - :null,\"zoom_meeting_h323_password\":null,\"zoom_meeting_global_dial_in_numbers\"\ - :[],\"shortcut_story_id\":null,\"shortcut_story_url\":null,\"\ - shortcut_task_id\":null,\"shortcut_task_url\":null,\"asana_task_id\"\ - :null,\"asana_task_url\":null,\"github_issue_id\":null,\"github_issue_url\"\ - :null,\"gitlab_issue_id\":null,\"gitlab_issue_url\":null,\"\ - jira_issue_id\":null,\"jira_issue_url\":null,\"google_meeting_id\"\ - :null,\"google_meeting_url\":null,\"trello_card_id\":null,\"\ - trello_card_url\":null,\"linear_issue_id\":null,\"linear_issue_url\"\ - :null,\"zendesk_ticket_id\":null,\"zendesk_ticket_url\":null,\"\ - motion_task_id\":null,\"motion_task_url\":null,\"clickup_task_id\"\ - :null,\"clickup_task_url\":null,\"slack_channel_name\":null,\"\ - slack_channel_id\":null,\"slack_channel_url\":null,\"slack_channel_short_url\"\ - :null,\"slack_channel_deep_link\":null,\"slack_channel_archived\"\ - :false,\"service_now_incident_id\":null,\"service_now_incident_key\"\ - :null,\"service_now_incident_url\":null,\"opsgenie_incident_id\"\ - :null,\"opsgenie_incident_url\":null,\"opsgenie_alert_id\":null,\"\ - opsgenie_alert_url\":null,\"victor_ops_incident_id\":null,\"\ - victor_ops_incident_url\":null,\"pagerduty_incident_id\":null,\"\ - pagerduty_incident_number\":null,\"pagerduty_incident_url\"\ - :null,\"mattermost_channel_id\":null,\"mattermost_channel_name\"\ - :null,\"mattermost_channel_url\":null,\"confluence_page_id\"\ - :null,\"confluence_page_url\":null,\"quip_page_id\":null,\"\ - quip_page_url\":null,\"airtable_base_key\":null,\"airtable_table_name\"\ - :null,\"airtable_record_id\":null,\"airtable_record_url\":null,\"\ - google_drive_id\":null,\"google_drive_parent_id\":null,\"google_drive_url\"\ - :null,\"sharepoint_page_id\":null,\"sharepoint_page_url\":null,\"\ - datadog_notebook_id\":null,\"datadog_notebook_url\":null,\"\ - freshservice_ticket_id\":null,\"freshservice_ticket_url\":null,\"\ - freshservice_task_id\":null,\"freshservice_task_url\":null,\"\ - started_at\":\"2025-05-22T06:50:54.120-07:00\",\"detected_at\"\ - :null,\"acknowledged_at\":null,\"mitigated_at\":null,\"resolved_at\"\ - :null,\"cancelled_at\":null,\"created_at\":null,\"updated_at\"\ - :null,\"labels\":{},\"severity\":null,\"user\":null,\"started_by\"\ - :null,\"mitigated_by\":null,\"resolved_by\":null,\"cancelled_by\"\ - :null,\"causes\":[],\"roles\":[],\"environments\":[],\"incident_types\"\ - :[],\"services\":[],\"functionalities\":[],\"groups\":[],\"\ - events\":[],\"action_items\":[],\"form_field_selections\":[],\"\ - feedbacks\":[]}}" - delivered_at: 2025-05-22T06:50:54.557-07:00 - created_at: 2025-05-22T06:50:54.164-07:00 - updated_at: 2025-05-22T06:50:54.557-07:00 schema: - $ref: '#/components/schemas/webhooks_delivery_response' - description: webhooks_delivery delivered + $ref: '#/components/schemas/role_response' + description: role deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found security: - bearer_auth: [] - summary: Retries a webhook delivery + summary: Delete a role tags: - - WebhooksDeliveries + - Roles x-accepts: - application/vnd.api+json - /v1/webhooks/deliveries/{id}: get: - description: Retrieves a specific webhook delivery by id - operationId: getWebhooksDelivery + description: Retrieves a specific role by id + operationId: getRole parameters: - explode: false in: path name: id required: true schema: - type: string + $ref: '#/components/schemas/getAlertField_id_parameter' style: simple responses: "200": content: application/vnd.api+json: - example: - data: - id: 794a1f56-4617-481a-bdf0-bb88380bd672 - type: webhooks_deliveries - attributes: - endpoint_id: ec1befbf-3785-499d-ac6f-8c2a22d451e7 - payload: "{\"event\":{\"id\":\"02e9aeed-18b0-445f-b31b-d319e952b28c\"\ - ,\"type\":\"incident.created\",\"issued_at\":\"2025-05-22T06:50:54.142-07:00\"\ - },\"data\":{\"id\":null,\"sequential_id\":null,\"title\":\"\ - Inclusive Tree\",\"slug\":\"inclusive-tree\",\"kind\":\"normal\"\ - ,\"private\":false,\"summary\":null,\"status\":\"started\",\"\ - url\":\"http://localhost:3001/account/incidents\",\"short_url\"\ - :null,\"mitigation_message\":null,\"resolution_message\":null,\"\ - cancellation_message\":null,\"public_title\":null,\"zoom_meeting_id\"\ - :null,\"zoom_meeting_start_url\":null,\"zoom_meeting_join_url\"\ - :null,\"zoom_meeting_password\":null,\"zoom_meeting_pstn_password\"\ - :null,\"zoom_meeting_h323_password\":null,\"zoom_meeting_global_dial_in_numbers\"\ - :[],\"shortcut_story_id\":null,\"shortcut_story_url\":null,\"\ - shortcut_task_id\":null,\"shortcut_task_url\":null,\"asana_task_id\"\ - :null,\"asana_task_url\":null,\"github_issue_id\":null,\"github_issue_url\"\ - :null,\"gitlab_issue_id\":null,\"gitlab_issue_url\":null,\"\ - jira_issue_id\":null,\"jira_issue_url\":null,\"google_meeting_id\"\ - :null,\"google_meeting_url\":null,\"trello_card_id\":null,\"\ - trello_card_url\":null,\"linear_issue_id\":null,\"linear_issue_url\"\ - :null,\"zendesk_ticket_id\":null,\"zendesk_ticket_url\":null,\"\ - motion_task_id\":null,\"motion_task_url\":null,\"clickup_task_id\"\ - :null,\"clickup_task_url\":null,\"slack_channel_name\":null,\"\ - slack_channel_id\":null,\"slack_channel_url\":null,\"slack_channel_short_url\"\ - :null,\"slack_channel_deep_link\":null,\"slack_channel_archived\"\ - :false,\"service_now_incident_id\":null,\"service_now_incident_key\"\ - :null,\"service_now_incident_url\":null,\"opsgenie_incident_id\"\ - :null,\"opsgenie_incident_url\":null,\"opsgenie_alert_id\":null,\"\ - opsgenie_alert_url\":null,\"victor_ops_incident_id\":null,\"\ - victor_ops_incident_url\":null,\"pagerduty_incident_id\":null,\"\ - pagerduty_incident_number\":null,\"pagerduty_incident_url\"\ - :null,\"mattermost_channel_id\":null,\"mattermost_channel_name\"\ - :null,\"mattermost_channel_url\":null,\"confluence_page_id\"\ - :null,\"confluence_page_url\":null,\"quip_page_id\":null,\"\ - quip_page_url\":null,\"airtable_base_key\":null,\"airtable_table_name\"\ - :null,\"airtable_record_id\":null,\"airtable_record_url\":null,\"\ - google_drive_id\":null,\"google_drive_parent_id\":null,\"google_drive_url\"\ - :null,\"sharepoint_page_id\":null,\"sharepoint_page_url\":null,\"\ - datadog_notebook_id\":null,\"datadog_notebook_url\":null,\"\ - freshservice_ticket_id\":null,\"freshservice_ticket_url\":null,\"\ - freshservice_task_id\":null,\"freshservice_task_url\":null,\"\ - started_at\":\"2025-05-22T06:50:54.120-07:00\",\"detected_at\"\ - :null,\"acknowledged_at\":null,\"mitigated_at\":null,\"resolved_at\"\ - :null,\"cancelled_at\":null,\"created_at\":null,\"updated_at\"\ - :null,\"labels\":{},\"severity\":null,\"user\":null,\"started_by\"\ - :null,\"mitigated_by\":null,\"resolved_by\":null,\"cancelled_by\"\ - :null,\"causes\":[],\"roles\":[],\"environments\":[],\"incident_types\"\ - :[],\"services\":[],\"functionalities\":[],\"groups\":[],\"\ - events\":[],\"action_items\":[],\"form_field_selections\":[],\"\ - feedbacks\":[]}}" - delivered_at: null - created_at: 2025-05-22T06:50:54.164-07:00 - updated_at: 2025-05-22T06:50:54.164-07:00 schema: - $ref: '#/components/schemas/webhooks_delivery_response' - description: webhooks_delivery found + $ref: '#/components/schemas/role_response' + description: role found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a webhook delivery + summary: Retrieves a role tags: - - WebhooksDeliveries + - Roles x-accepts: - application/vnd.api+json - /v1/webhooks/endpoints: + put: + description: Update a specific role by id + operationId: updateRole + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_role' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/role_response' + description: role updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a role + tags: + - Roles + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_active_days: get: - description: List webhook endpoints - operationId: listWebhooksEndpoints + description: List schedule rotation active days + operationId: listScheduleRotationActiveDays parameters: + - explode: false + in: path + name: schedule_rotation_id + required: true + schema: + type: string + style: simple - explode: true in: query name: include @@ -38775,102 +20323,68 @@ paths: schema: type: integer style: form - - explode: true - in: query - name: "filter[slug]" - required: false - schema: - type: string - style: form - - explode: true - in: query - name: "filter[name]" - required: false - schema: - type: string - style: form responses: "200": content: application/vnd.api+json: schema: - $ref: '#/components/schemas/webhooks_endpoint_list' + $ref: '#/components/schemas/schedule_rotation_active_day_list' description: success security: - bearer_auth: [] - summary: List webhook endpoints + summary: List schedule rotation active days tags: - - WebhooksEndpoints + - ScheduleRotationActiveDays x-accepts: - application/vnd.api+json post: - description: Creates a new webhook endpoint from provided data - operationId: createWebhooksEndpoint - parameters: [] + description: Creates a new schedule rotation active day from provided data + operationId: createScheduleRotationActiveDay + parameters: + - explode: false + in: path + name: schedule_rotation_id + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/new_webhooks_endpoint' + $ref: '#/components/schemas/new_schedule_rotation_active_day' required: true responses: "201": content: application/vnd.api+json: - example: - data: - id: 5cca0ed0-4152-456d-9a0d-f21b3981244c - type: webhooks_endpoints - attributes: - team_id: 368 - slug: test-ad709b7d-2a40-4809-985c-d88e1a8e329a - name: Test - url: https://test.com/test - secret: phpzkRKEodThgjv2 - event_types: - - incident.created - enabled: true - created_at: 2025-05-22T06:50:56.299-07:00 - updated_at: 2025-05-22T06:50:56.299-07:00 schema: - $ref: '#/components/schemas/webhooks_endpoint_response' - description: webhooks_endpoint created + $ref: '#/components/schemas/schedule_rotation_active_day_response' + description: schedule_rotation_active_day created "422": content: application/vnd.api+json: - example: - errors: - - title: Name can't be blank - status: "422" - - title: URL is not a valid URL - status: "422" - - title: URL can't be blank - status: "422" schema: $ref: '#/components/schemas/errors_list' description: invalid request "401": content: application/vnd.api+json: - example: - errors: - - title: Invalid token - status: "401" schema: $ref: '#/components/schemas/errors_list' description: responds with unauthorized for invalid token security: - bearer_auth: [] - summary: Creates a webhook endpoint + summary: Creates a schedule rotation active day tags: - - WebhooksEndpoints + - ScheduleRotationActiveDays x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json - /v1/webhooks/endpoints/{id}: + /v1/schedule_rotation_active_days/{id}: delete: - description: Delete a specific webhook endpoint by id - operationId: deleteWebhooksEndpoint + description: Delete a specific schedule rotation active day + operationId: deleteScheduleRotationActiveDay parameters: - explode: false in: path @@ -38883,43 +20397,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 931d682a-2fc9-4c9b-9ba3-edb16431c81e - type: webhooks_endpoints - attributes: - team_id: 368 - slug: test - name: test - url: https://test.com - secret: cz32YpvUohNm3eF5 - event_types: [] - enabled: true - created_at: 2025-05-22T06:50:56.133-07:00 - updated_at: 2025-05-22T06:50:58.086-07:00 schema: - $ref: '#/components/schemas/webhooks_endpoint_response' - description: webhooks_endpoint deleted + $ref: '#/components/schemas/schedule_rotation_active_day_response' + description: schedule_rotation_active_day deleted "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Delete a webhook endpoint + summary: Delete a schedule rotation active day tags: - - WebhooksEndpoints + - ScheduleRotationActiveDays x-accepts: - application/vnd.api+json get: - description: Retrieves a specific webhook endpoint by id - operationId: getWebhooksEndpoint + description: Retrieves a specific schedule rotation active day by id + operationId: getScheduleRotationActiveDay parameters: - explode: false in: path @@ -38932,43 +20428,25 @@ paths: "200": content: application/vnd.api+json: - example: - data: - id: 931d682a-2fc9-4c9b-9ba3-edb16431c81e - type: webhooks_endpoints - attributes: - team_id: 368 - slug: test - name: test - url: https://test.com - secret: cz32YpvUohNm3eF5 - event_types: [] - enabled: true - created_at: 2025-05-22T06:50:56.133-07:00 - updated_at: 2025-05-22T06:50:56.133-07:00 schema: - $ref: '#/components/schemas/webhooks_endpoint_response' - description: webhooks_endpoint found + $ref: '#/components/schemas/schedule_rotation_active_day_response' + description: schedule_rotation_active_day found "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Retrieves a webhook endpoint + summary: Retrieves a schedule rotation active day tags: - - WebhooksEndpoints + - ScheduleRotationActiveDays x-accepts: - application/vnd.api+json put: - description: Update a specific webhook endpoint by id - operationId: updateWebhooksEndpoint + description: Update a specific schedule rotation active day by id + operationId: updateScheduleRotationActiveDay parameters: - explode: false in: path @@ -38981,202 +20459,6783 @@ paths: content: application/vnd.api+json: schema: - $ref: '#/components/schemas/update_webhooks_endpoint' + $ref: '#/components/schemas/update_schedule_rotation_active_day' required: true responses: "200": content: application/vnd.api+json: - example: - data: - id: 931d682a-2fc9-4c9b-9ba3-edb16431c81e - type: webhooks_endpoints - attributes: - team_id: 368 - slug: test - name: Updated - url: https://test.com - secret: cz32YpvUohNm3eF5 - event_types: [] - enabled: true - created_at: 2025-05-22T06:50:56.133-07:00 - updated_at: 2025-05-22T06:50:57.531-07:00 schema: - $ref: '#/components/schemas/webhooks_endpoint_response' - description: webhooks_endpoint updated + $ref: '#/components/schemas/schedule_rotation_active_day_response' + description: schedule_rotation_active_day updated "404": content: application/vnd.api+json: - example: - errors: - - title: Not found or unauthorized - status: "404" schema: $ref: '#/components/schemas/errors_list' description: resource not found security: - bearer_auth: [] - summary: Update a webhook endpoint + summary: Update a schedule rotation active day tags: - - WebhooksEndpoints + - ScheduleRotationActiveDays x-content-type: application/vnd.api+json x-accepts: - application/vnd.api+json -components: - schemas: - attach_alert: + /v1/schedule_rotations/{schedule_rotation_id}/schedule_rotation_users: + get: + operationId: listScheduleRotationUsers + parameters: + - explode: false + in: path + name: schedule_rotation_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/schedule_rotation_user_list' + description: success + security: + - bearer_auth: [] + summary: List schedule rotation users + tags: + - ScheduleRotationUsers + x-accepts: + - application/vnd.api+json + post: + description: Creates a new schedule rotation user from provided data + operationId: createScheduleRotationUser + parameters: + - explode: false + in: path + name: schedule_rotation_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_schedule_rotation_user' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_rotation_user_response' + description: schedule_rotation_user 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 schedule rotation user + tags: + - ScheduleRotationUsers + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedule_rotation_users/{id}: + delete: + description: Delete a specific schedule rotation user by id + operationId: deleteScheduleRotationUser + 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/schedule_rotation_user_response' + description: schedule_rotation_user deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a schedule rotation user + tags: + - ScheduleRotationUsers + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific schedule rotation user by id + operationId: getScheduleRotationUser + 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/schedule_rotation_user_response' + description: schedule_rotation_user found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a schedule rotation user + tags: + - ScheduleRotationUsers + x-accepts: + - application/vnd.api+json + put: + description: Update a specific schedule rotation user by id + operationId: updateScheduleRotationUser + 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_schedule_rotation_user' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_rotation_user_response' + description: schedule_rotation_user updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update schedule rotation user + tags: + - ScheduleRotationUsers + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedules/{schedule_id}/schedule_rotations: + get: + description: List schedule rotations + operationId: listScheduleRotations + parameters: + - explode: false + in: path + name: schedule_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 + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_rotation_list' + description: success + security: + - bearer_auth: [] + summary: List schedule rotations + tags: + - ScheduleRotations + x-accepts: + - application/vnd.api+json + post: + description: Creates a new schedule rotation from provided data + operationId: createScheduleRotation + parameters: + - explode: false + in: path + name: schedule_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_schedule_rotation' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_rotation_response' + description: schedule_rotation created with custom active times + "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 schedule rotation + tags: + - ScheduleRotations + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedule_rotations/{id}: + delete: + description: Delete a specific schedule rotation by id + operationId: deleteScheduleRotation + 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/schedule_rotation_response' + description: schedule_rotation deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a schedule rotation + tags: + - ScheduleRotations + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific schedule rotation by id + operationId: getScheduleRotation + 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/schedule_rotation_response' + description: schedule_rotation found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a schedule rotation + tags: + - ScheduleRotations + x-accepts: + - application/vnd.api+json + put: + description: Update a specific schedule rotation by id + operationId: updateScheduleRotation + 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_schedule_rotation' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_rotation_response' + description: schedule_rotation updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a schedule rotation + tags: + - ScheduleRotations + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedules: + get: + description: List schedules + operationId: listSchedules + parameters: + - explode: true + in: query + name: include + 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[name]" + 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: "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/schedule_list' + description: success + security: + - bearer_auth: [] + summary: List schedules + tags: + - Schedules + x-accepts: + - application/vnd.api+json + post: + description: Creates a new schedule from provided data + operationId: createSchedule + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_schedule' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_response' + description: schedule 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 schedule + tags: + - Schedules + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedules/{id}: + delete: + description: Delete a specific schedule by id + operationId: deleteSchedule + 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/schedule_response' + description: schedule deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a schedule + tags: + - Schedules + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific schedule by id + operationId: getSchedule + 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/schedule_response' + description: schedule found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a schedule + tags: + - Schedules + x-accepts: + - application/vnd.api+json + put: + description: Updates a specific schedule by id + operationId: updateSchedule + 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_schedule' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/schedule_response' + description: schedule updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a schedule + tags: + - Schedules + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/schedules/{id}/shifts: + get: + description: Retrieves schedule shifts + operationId: getScheduleShifts + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - explode: true + in: query + name: to + required: false + schema: + type: string + style: form + - explode: true + in: query + name: from + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/shift_list' + description: schedule shifts found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a schedule shifts + tags: + - Shifts + x-accepts: + - application/vnd.api+json + /v1/secrets: + get: + description: List secrets + operationId: listSecrets + parameters: + - 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/secret_list' + description: success + security: + - bearer_auth: [] + summary: List secrets + tags: + - Secrets + x-accepts: + - application/vnd.api+json + post: + description: Creates a new secret from provided data + operationId: createSecret + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_secret' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/secret_response' + description: secret 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 secret + tags: + - Secrets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/secrets/{id}: + delete: + description: Delete a specific secret by id + operationId: deleteSecret + 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/secret_response' + description: secret deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a secret + tags: + - Secrets + x-accepts: + - application/vnd.api+json + get: + description: Retrieve a specific secret by id + operationId: getSecret + 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/secret_response' + description: secret found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a secret + tags: + - Secrets + x-accepts: + - application/vnd.api+json + put: + description: Update a specific secret by id + operationId: updateSecret + 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_secret' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/secret_response' + description: secret updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a secret + tags: + - Secrets + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/services: + get: + description: List services + operationId: listServices + parameters: + - 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 + - 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]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[backstage_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[cortex_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[opslevel_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[external_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[alert_broadcast_enabled]" + required: false + schema: + type: boolean + style: form + - explode: true + in: query + name: "filter[incident_broadcast_enabled]" + required: false + schema: + type: boolean + 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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/service_list' + description: success + security: + - bearer_auth: [] + summary: List services + tags: + - Services + x-accepts: + - application/vnd.api+json + post: + description: Creates a new service from provided data + operationId: createService + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_service' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/service_response' + description: service 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 service + tags: + - Services + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/services/{id}: + delete: + description: Delete a specific service by id + operationId: deleteService + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/service_response' + description: service deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a service + tags: + - Services + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific service by id + operationId: getService + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/service_response' + description: service found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a service + tags: + - Services + x-accepts: + - application/vnd.api+json + put: + description: Update a specific service by id + operationId: updateService + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_service' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/service_response' + description: service updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a service + tags: + - Services + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/services/{id}/incidents_chart: + get: + description: Get service incidents chart + operationId: getServiceIncidentsChart + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + - explode: true + in: query + name: period + required: true + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incidents_chart_response' + description: success + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Get service incidents chart + tags: + - Services + x-accepts: + - application/vnd.api+json + /v1/services/{id}/uptime_chart: + get: + description: Get service uptime chart + operationId: getServiceUptimeChart + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + - explode: true + in: query + name: period + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/uptime_chart_response' + description: success + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Get service uptime chart + tags: + - Services + x-accepts: + - application/vnd.api+json + /v1/services/properties: + get: + description: List Service Catalog Properties + operationId: listServiceCatalogProperties + parameters: + - description: "comma separated if needed. eg: catalog" + explode: true + in: query + name: include + required: false + schema: + enum: + - catalog + type: string + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position + 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 + - explode: true + in: query + name: "filter[slug]" + 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[kind]" + 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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_property_list' + description: success + security: + - bearer_auth: [] + summary: List Catalog Properties + tags: + - Services + x-accepts: + - application/vnd.api+json + post: + description: Creates a new Catalog Property from provided data + operationId: createServiceCatalogProperty + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_catalog_property' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: exceeds max fields per catalog + "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 Catalog Property + tags: + - Services + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/severities: + get: + description: List severities + operationId: listSeverities + parameters: + - 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 + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug]" + 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[severity]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[color]" + 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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/severity_list' + description: success + security: + - bearer_auth: [] + summary: List severities + tags: + - Severities + x-accepts: + - application/vnd.api+json + post: + description: Creates a new severity from provided data + operationId: createSeverity + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_severity' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/severity_response' + description: severity 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 severity + tags: + - Severities + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/severities/{id}: + delete: + description: Delete a specific severity by id + operationId: deleteSeverity + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/severity_response' + description: severity deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a severity + tags: + - Severities + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific severity by id + operationId: getSeverity + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/severity_response' + description: severity found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a severity + tags: + - Severities + x-accepts: + - application/vnd.api+json + put: + description: Update a specific severity by id + operationId: updateSeverity + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_severity' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/severity_response' + description: severity updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a severity + tags: + - Severities + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/shifts: + get: + description: List shifts + operationId: listShifts + parameters: + - description: "comma separated if needed. eg: shift_override,user. Note: `user`\ + \ is deprecated, use `assignee` instead." + explode: true + in: query + name: include + required: false + schema: + enum: + - shift_override + - user + - assignee + - 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)" + explode: true + in: query + name: from + required: false + 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)" + explode: true + in: query + name: to + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "user_ids[]" + required: false + schema: + items: + type: integer + type: array + style: form + - explode: true + in: query + name: "schedule_ids[]" + required: false + schema: + items: + type: string + type: array + style: form + - description: Page number (defaults to 1) + explode: true + in: query + name: "page[number]" + required: false + schema: + type: integer + style: form + - description: "Number of shifts per page (defaults to 50, max 1000)" + 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/shift_list' + description: success + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: List shifts + tags: + - Shifts + x-accepts: + - application/vnd.api+json + /v1/slas: + get: + description: List SLAs + operationId: listSLAs + 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[slug]" + 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[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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sla_list' + description: success + security: + - bearer_auth: [] + summary: List SLAs + tags: + - SLAs + x-accepts: + - application/vnd.api+json + post: + description: Creates a new SLA from provided data + operationId: createSLA + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_sla' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sla_response' + description: SLA 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 an SLA + tags: + - SLAs + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/slas/{id}: + delete: + description: Delete a specific SLA by id + operationId: deleteSLA + 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/sla_response' + description: SLA deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found for another team + security: + - bearer_auth: [] + summary: Delete an SLA + tags: + - SLAs + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific SLA by id + operationId: getSLA + 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/sla_response' + description: SLA found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found for another team + security: + - bearer_auth: [] + summary: Retrieves an SLA + tags: + - SLAs + x-accepts: + - application/vnd.api+json + put: + description: Update a specific SLA by id + operationId: updateSLA + 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_sla' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sla_response' + description: SLA updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found for another team + security: + - bearer_auth: [] + summary: Update an SLA + tags: + - SLAs + 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 + operationId: listStatusPageTemplates + 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_template_list' + description: success + security: + - bearer_auth: [] + summary: List status page templates + tags: + - StatusPageTemplates + x-accepts: + - application/vnd.api+json + post: + description: Creates a new template from provided data + operationId: createStatusPageTemplate + 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/status_page_template' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_template_response' + description: incident_event 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 status page template + tags: + - StatusPageTemplates + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/templates/{id}: + delete: + description: Delete a specific template event by id + operationId: deleteStatusPageTemplate + 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/status_page_template_response' + description: incident_event deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a incident event + tags: + - StatusPageTemplates + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific status_page_template by id + operationId: getStatusPageTemplate + 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/status_page_template_response' + description: status page template 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 template + tags: + - StatusPageTemplates + x-accepts: + - application/vnd.api+json + put: + description: Update a specific template event by id + operationId: updateStatusPageTemplate + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_template' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_template_response' + description: incident_event updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update status page template + tags: + - StatusPageTemplates + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/status-pages: + get: + description: List status pages + operationId: listStatusPages + parameters: + - 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 + - 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]" + 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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_list' + description: success + security: + - bearer_auth: [] + summary: List status pages + tags: + - StatusPages + x-accepts: + - application/vnd.api+json + post: + description: Creates a new status page from provided data + operationId: createStatusPage + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_status_page' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_response' + description: status page with SAML created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid SAML configuration + "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 status page + tags: + - StatusPages + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/status-pages/{id}: + delete: + description: Delete a specific status page by id + operationId: deleteStatusPage + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_response' + description: status_page deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a status page + tags: + - StatusPages + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific status page by id + operationId: getStatusPage + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_response' + description: status_page 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 + tags: + - StatusPages + x-accepts: + - application/vnd.api+json + put: + description: Update a specific status page by id + operationId: updateStatusPage + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_status_page' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_page_response' + description: external_domain_names persisted + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid section_order + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a status page + tags: + - StatusPages + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/statuses: + get: + description: List Statuses + operationId: listStatuses + parameters: + - 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 + - explode: true + in: query + name: "filter[slug]" + 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[enabled]" + required: false + schema: + type: boolean + 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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_list' + description: success + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: List Statuses + tags: + - Statuses + x-accepts: + - application/vnd.api+json + /v1/statuses/{id}: + get: + description: Retrieves a specific Status by id + operationId: getStatus + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/status_response' + description: status found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a Status + tags: + - Statuses + x-accepts: + - application/vnd.api+json + /v1/sub_statuses: + get: + description: List Sub-Statuses + operationId: listSubStatuses + parameters: + - 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 + - explode: true + in: query + name: "filter[slug]" + 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[parent_status]" + 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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sub_status_list' + description: success + security: + - bearer_auth: [] + summary: List Sub-Statuses + tags: + - SubStatuses + x-accepts: + - application/vnd.api+json + post: + description: Creates a new Sub-Status from provided data + operationId: createSubStatus + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_sub_status' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sub_status_response' + description: sub_status 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 Sub-Status + tags: + - SubStatuses + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/sub_statuses/{id}: + delete: + description: Delete a specific Sub-Status by id + operationId: deleteSubStatus + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sub_status_response' + description: sub_status deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a Sub-Status + tags: + - SubStatuses + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific Sub-Status by id + operationId: getSubStatus + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sub_status_response' + description: sub_status found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a Sub-Status + tags: + - SubStatuses + x-accepts: + - application/vnd.api+json + put: + description: Update a specific Sub-Status by id + operationId: updateSubStatus + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getAlertField_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_sub_status' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/sub_status_response' + description: sub_status updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a Sub-Status + tags: + - SubStatuses + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/teams: + get: + description: List teams + operationId: listTeams + parameters: + - description: "comma separated if needed. eg: users" + explode: true + in: query + name: include + required: false + schema: + enum: + - users + - schedules + - escalation_policies + 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 + - explode: true + in: query + name: "filter[search]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[slug]" + 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[backstage_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[cortex_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[opslevel_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[external_id]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[color]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[alert_broadcast_enabled]" + required: false + schema: + type: boolean + style: form + - explode: true + in: query + name: "filter[incident_broadcast_enabled]" + required: false + schema: + type: boolean + 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: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/team_list' + description: success + security: + - bearer_auth: [] + summary: List teams + tags: + - Teams + x-accepts: + - application/vnd.api+json + post: + description: Creates a new team from provided data + operationId: createTeam + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_team' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/team_response' + description: team created + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid association + "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 team + tags: + - Teams + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/teams/{id}: + delete: + description: Delete a specific team by id + operationId: deleteTeam + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getTeam_id_parameter' + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/team_response' + description: team deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete a team + tags: + - Teams + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific team by id + operationId: getTeam + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getTeam_id_parameter' + style: simple + - description: "comma separated if needed. eg: users" + explode: true + in: query + name: include + required: false + schema: + enum: + - users + - schedules + - escalation_policies + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/team_response' + description: team found by slug + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a team + tags: + - Teams + x-accepts: + - application/vnd.api+json + put: + description: Update a specific team by id + operationId: updateTeam + parameters: + - explode: false + in: path + name: id + required: true + schema: + $ref: '#/components/schemas/getTeam_id_parameter' + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/update_team' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/team_response' + description: team updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update a team + tags: + - Teams + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/teams/{id}/incidents_chart: + get: + description: Get team incidents chart + operationId: getTeamIncidentsChart + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - explode: true + in: query + name: period + required: true + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/incidents_chart_response' + description: success + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Get team incidents chart + tags: + - Teams + x-accepts: + - application/vnd.api+json + /v1/teams/properties: + get: + description: List Group Catalog Properties + operationId: listGroupCatalogProperties + parameters: + - description: "comma separated if needed. eg: catalog" + explode: true + in: query + name: include + required: false + schema: + enum: + - catalog + type: string + style: form + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + - position + - -position + 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 + - explode: true + in: query + name: "filter[slug]" + 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[kind]" + 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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_property_list' + description: success + security: + - bearer_auth: [] + summary: List Catalog Properties + tags: + - Teams + x-accepts: + - application/vnd.api+json + post: + description: Creates a new Catalog Property from provided data + operationId: createGroupCatalogProperty + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_catalog_property' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/catalog_property_response' + description: catalog_property created ignores wrong catalog_type attribute + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: exceeds max fields per catalog + "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 Catalog Property + tags: + - Teams + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/users/{user_id}/email_addresses: + get: + description: Retrieves all email addresses for the specified user + operationId: getUserEmailAddresses + parameters: + - explode: false + in: path + name: user_id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_email_address_list' + description: user_email_addresses found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with not found when accessing other user's resources + security: + - bearer_auth: [] + summary: Retrieves user email addresses + tags: + - UserEmailAddresses + x-accepts: + - application/vnd.api+json + post: + description: Creates a new user email address from provided data + operationId: createUserEmailAddress + parameters: + - explode: false + in: path + name: user_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_user_email_address' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_email_address_response' + description: user_email_address created + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with not found when accessing other user's resources + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request + security: + - bearer_auth: [] + summary: Creates a user email address + tags: + - UserEmailAddresses + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/email_addresses/{id}: + delete: + description: Deletes a user email address + operationId: deleteUserEmailAddress + 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/user_email_address_response' + description: user_email_address deleted + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with not found when accessing other user's resources + security: + - bearer_auth: [] + summary: Delete user email address + tags: + - UserEmailAddresses + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific user email address + operationId: showUserEmailAddress + 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/user_email_address_response' + description: user_email_address found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with not found when accessing other user's resources + security: + - bearer_auth: [] + summary: Show user email address + tags: + - UserEmailAddresses + x-accepts: + - application/vnd.api+json + put: + description: Updates a user email address + operationId: updateUserEmailAddress + 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_user_email_address' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_email_address_response' + description: user_email_address updated + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with not found when accessing other user's resources + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid request + security: + - bearer_auth: [] + summary: Update user email address + tags: + - UserEmailAddresses + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/email_addresses/{id}/verify: + post: + description: Verifies an email address using a verification token + operationId: verifyUserEmailAddress + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - explode: true + in: query + name: token + required: true + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_email_address_response' + description: email address verified successfully + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: invalid or expired token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: email address not found + security: + - bearer_auth: [] + summary: Verifies an email address with token + tags: + - UserEmailAddresses + x-accepts: + - application/vnd.api+json + /v1/email_addresses/{id}/resend_verification: + post: + description: Resends verification email for an email address + operationId: resendUserEmailAddressVerification + 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/user_email_address_response' + description: verification email sent successfully + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: email address already verified + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: email address not found + security: + - bearer_auth: [] + summary: Resends verification email + tags: + - UserEmailAddresses + x-accepts: + - application/vnd.api+json + /v1/users/{user_id}/notification_rules: + get: + description: List user notification rules + operationId: listUserNotificationRules + parameters: + - explode: false + in: path + name: user_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 + - explode: true + in: query + name: sort + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_notification_rule_list' + description: success + security: + - bearer_auth: [] + summary: List user notification rules + tags: + - UserNotificationRules + x-accepts: + - application/vnd.api+json + post: + description: Creates a new user notification rule from provided data + operationId: createUserNotificationRule + parameters: + - explode: false + in: path + name: user_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_user_notification_rule' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_notification_rule_response' + description: user_notification_rule 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 an user notification rule + tags: + - UserNotificationRules + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/notification_rules/{id}: + delete: + description: Delete a specific user notification rule by id + operationId: deleteUserNotificationRule + 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/user_notification_rule_response' + description: user_notification_rule deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an user notification rule + tags: + - UserNotificationRules + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific user notification rule by id + operationId: getUserNotificationRule + 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/user_notification_rule_response' + description: user_notification_rule found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an user notification rule + tags: + - UserNotificationRules + x-accepts: + - application/vnd.api+json + put: + description: Update a specific user notification rule by id + operationId: updateUserNotificationRule + 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_user_notification_rule' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_notification_rule_response' + description: user_notification_rule updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update an user notification rule + tags: + - UserNotificationRules + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/users/{user_id}/phone_numbers: + get: + description: Retrieves all phone numbers for the specified user + operationId: getUserPhoneNumbers + parameters: + - explode: false + in: path + name: user_id + required: true + schema: + type: string + style: simple + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_phone_number_list' + description: user_phone_numbers found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves user phone numbers + tags: + - UserPhoneNumbers + x-accepts: + - application/vnd.api+json + post: + description: Creates a new user phone number from provided data + operationId: createUserPhoneNumber + parameters: + - explode: false + in: path + name: user_id + required: true + schema: + type: string + style: simple + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_user_phone_number' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_phone_number_response' + description: user_phone_number 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 + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Creates a user phone number + tags: + - UserPhoneNumbers + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/phone_numbers/{id}: + delete: + description: Deletes a user phone number + operationId: deleteUserPhoneNumber + 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/user_phone_number_response' + description: user_phone_number deleted + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + "422": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: cannot delete phone number used by notification rule + security: + - bearer_auth: [] + summary: Delete user phone number + tags: + - UserPhoneNumbers + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific user phone number + operationId: showUserPhoneNumber + 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/user_phone_number_response' + description: user_phone_number found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Show user phone number + tags: + - UserPhoneNumbers + x-accepts: + - application/vnd.api+json + put: + description: Updates a user phone number + operationId: updateUserPhoneNumber + 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_user_phone_number' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_phone_number_response' + description: user_phone_number updated and verification status reset + "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 + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Update user phone number + tags: + - UserPhoneNumbers + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/users: + get: + description: List users + operationId: listUsers + 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[email]" + 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 + - description: "comma separated if needed. eg: created_at,updated_at" + explode: true + in: query + name: sort + required: false + schema: + enum: + - created_at + - -created_at + - updated_at + - -updated_at + type: string + style: form + - description: "comma separated if needed. eg: email_addresses,phone_numbers" + explode: true + in: query + name: include + required: false + schema: + enum: + - email_addresses + - phone_numbers + - devices + - role + - on_call_role + - teams + - schedules + - notification_rules + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_list' + description: user found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: List users + tags: + - Users + x-accepts: + - application/vnd.api+json + /v1/users/me: + get: + description: Get current user + operationId: getCurrentUser + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_response' + description: user found + "401": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: responds with unauthorized for invalid token + security: + - bearer_auth: [] + summary: Get current user + tags: + - Users + x-accepts: + - application/vnd.api+json + /v1/users/{id}: + delete: + description: Delete a specific user by id + operationId: deleteUser + 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/user_response' + description: user deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Delete an user + tags: + - Users + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific user by id + operationId: getUser + parameters: + - explode: false + in: path + name: id + required: true + schema: + type: string + style: simple + - description: "comma separated if needed. eg: email_addresses,phone_numbers" + explode: true + in: query + name: include + required: false + schema: + enum: + - email_addresses + - phone_numbers + - devices + - role + - on_call_role + - teams + - schedules + - notification_rules + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_response' + description: schedules include only returns schedules from the current team + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves an user + tags: + - Users + x-accepts: + - application/vnd.api+json + put: + description: Update a specific user by id + operationId: updateUser + 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_user' + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/user_response' + description: update name and role simultaneously + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: returns 404 for on_call_role_id belonging to another team + security: + - bearer_auth: [] + summary: Update a user + tags: + - Users + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/webhooks/endpoints/{endpoint_id}/deliveries: + get: + description: List webhook deliveries for given endpoint + operationId: listWebhooksDeliveries + parameters: + - explode: true + in: query + name: include + required: false + schema: + type: string + style: form + - explode: false + in: path + name: endpoint_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 + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/webhooks_delivery_list' + description: success + security: + - bearer_auth: [] + summary: List webhook deliveries + tags: + - WebhooksDeliveries + x-accepts: + - application/vnd.api+json + /v1/webhooks/deliveries/{id}/deliver: + post: + description: Retries a webhook delivery + operationId: deliverWebhooksDelivery + 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/webhooks_delivery_response' + description: webhooks_delivery delivered + security: + - bearer_auth: [] + summary: Retries a webhook delivery + tags: + - WebhooksDeliveries + x-accepts: + - application/vnd.api+json + /v1/webhooks/deliveries/{id}: + get: + description: Retrieves a specific webhook delivery by id + operationId: getWebhooksDelivery + 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/webhooks_delivery_response' + description: webhooks_delivery found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: resource not found + security: + - bearer_auth: [] + summary: Retrieves a webhook delivery + tags: + - WebhooksDeliveries + x-accepts: + - application/vnd.api+json + /v1/webhooks/endpoints: + get: + description: List webhook endpoints + operationId: listWebhooksEndpoints + parameters: + - 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 + - explode: true + in: query + name: "filter[slug]" + required: false + schema: + type: string + style: form + - explode: true + in: query + name: "filter[name]" + required: false + schema: + type: string + style: form + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/webhooks_endpoint_list' + description: excludes hidden endpoints from listing + security: + - bearer_auth: [] + summary: List webhook endpoints + tags: + - WebhooksEndpoints + x-accepts: + - application/vnd.api+json + post: + description: Creates a new webhook endpoint from provided data + operationId: createWebhooksEndpoint + parameters: [] + requestBody: + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/new_webhooks_endpoint' + required: true + responses: + "201": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/webhooks_endpoint_response' + description: webhooks_endpoint 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 webhook endpoint + tags: + - WebhooksEndpoints + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json + /v1/webhooks/endpoints/{id}: + delete: + description: Delete a specific webhook endpoint by id + operationId: deleteWebhooksEndpoint + 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/webhooks_endpoint_response' + description: webhooks_endpoint deleted + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: hidden endpoint not accessible + security: + - bearer_auth: [] + summary: Delete a webhook endpoint + tags: + - WebhooksEndpoints + x-accepts: + - application/vnd.api+json + get: + description: Retrieves a specific webhook endpoint by id + operationId: getWebhooksEndpoint + 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/webhooks_endpoint_response' + description: webhooks_endpoint found + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: hidden endpoint not accessible + security: + - bearer_auth: [] + summary: Retrieves a webhook endpoint + tags: + - WebhooksEndpoints + x-accepts: + - application/vnd.api+json + put: + description: Update a specific webhook endpoint by id + operationId: updateWebhooksEndpoint + 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_webhooks_endpoint' + required: true + responses: + "200": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/webhooks_endpoint_response' + description: webhooks_endpoint updated + "404": + content: + application/vnd.api+json: + schema: + $ref: '#/components/schemas/errors_list' + description: hidden endpoint not accessible + security: + - bearer_auth: [] + summary: Update a webhook endpoint + tags: + - WebhooksEndpoints + x-content-type: application/vnd.api+json + x-accepts: + - application/vnd.api+json +components: + schemas: + attach_alert: + properties: + data: + $ref: '#/components/schemas/attach_alert_data' + required: + - data + type: object + new_alert: + properties: + data: + $ref: '#/components/schemas/new_alert_data' + required: + - data + type: object + update_alert: + properties: + data: + $ref: '#/components/schemas/update_alert_data' + required: + - data + type: object + alert: + properties: + short_id: + description: Human-readable short identifier for the alert + type: string + noise: + description: Whether the alert is marked as noise + enum: + - noise + - not_noise + nullable: true + type: string + source: + description: The source of the alert + enum: + - rootly + - manual + - api + - heartbeat + - web + - slack + - email + - workflow + - live_call_routing + - mobile + - pagerduty + - opsgenie + - victorops + - pagertree + - datadog + - dynatrace + - nobl9 + - zendesk + - asana + - clickup + - sentry + - rollbar + - jira + - honeycomb + - service_now + - linear + - grafana + - alertmanager + - google_cloud + - generic_webhook + - cloud_watch + - aws_sns + - azure + - splunk + - chronosphere + - app_optics + - bug_snag + - monte_carlo + - nagios + - prtg + - catchpoint + - app_dynamics + - checkly + - new_relic + - gitlab + type: string + status: + description: The status of the alert + enum: + - open + - triggered + - acknowledged + - resolved + - deferred + type: string + summary: + description: The summary of the alert + type: string + description: + description: The description of the alert + nullable: true + type: string + services: + description: Services attached to the alert + items: + allOf: + - $ref: '#/components/schemas/service' + type: object + type: array + groups: + description: Groups attached to the alert + items: + allOf: + - $ref: '#/components/schemas/team' + type: object + type: array + environments: + description: Environments attached to the alert + items: + allOf: + - $ref: '#/components/schemas/environment' + type: object + type: array + service_ids: + description: The Service IDs to attach to the alert. If your organization + has On-Call enabled and your notification target is a Service. This field + will be automatically set for you. + items: + type: string + nullable: true + type: array + group_ids: + description: The Group IDs to attach to the alert. If your organization + has On-Call enabled and your notification target is a Group. This field + will be automatically set for you. + items: + type: string + nullable: true + type: array + environment_ids: + description: The Environment IDs to attach to the alert + items: + type: string + nullable: true + type: array + external_id: + description: External ID + nullable: true + type: string + external_url: + description: External Url + nullable: true + type: string + alert_urgency_id: + description: The ID of the alert urgency + nullable: true + type: string + group_leader_alert_id: + description: The ID of the group leader alert + nullable: true + type: string + is_group_leader_alert: + description: Whether the alert is a group leader alert + nullable: true + type: boolean + labels: + items: + $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + type: array + data: + description: Additional data + nullable: true + type: object + deduplication_key: + description: Alerts sharing the same deduplication key are treated as a + single alert. + nullable: true + type: string + alert_field_values_attributes: + description: Custom alert field values to create with the alert + items: + $ref: '#/components/schemas/new_alert_data_attributes_alert_field_values_attributes_inner' + type: array + started_at: + description: When the alert started + format: date-time + nullable: true + type: string + ended_at: + description: When the alert ended + format: date-time + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - short_id + - source + - summary + - updated_at + type: object + alert_response: + properties: + data: + $ref: '#/components/schemas/alert_response_data' + required: + - data + type: object + alert_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + resolve_alert: + properties: + data: + $ref: '#/components/schemas/resolve_alert_data' + type: object + snooze_alert: + properties: + data: + $ref: '#/components/schemas/snooze_alert_data' + required: + - data + type: object + escalate_alert: + properties: + data: + $ref: '#/components/schemas/escalate_alert_data' + type: object + new_alert_event: + properties: + data: + $ref: '#/components/schemas/new_alert_event_data' + required: + - data + type: object + update_alert_event: + description: "Update an alert event. Note: Only alert events with kind='note'\ + \ can be updated. You cannot change the kind field." + properties: + data: + $ref: '#/components/schemas/update_alert_event_data' + required: + - data + type: object + alert_event: + properties: + kind: + enum: + - informational + - notification + - action + - status_update + - recording + - alert_grouping + - alert_urgency + - alert_routing + - note + - noise + - maintenance + - deferral + type: string + action: + enum: + - created + - escalation_policy_paged + - ignored_alert_request + - emailed + - slacked + - called + - texted + - notified + - skipped + - opened + - retriggered + - answered + - acknowledged + - escalated + - paged + - resolved + - attached + - snoozed + - triggered + - open + - updated + - added + - removed + - marked + - not_marked + - muted + - deferred + type: string + source: + type: string + user_id: + description: Author of the note. + nullable: true + type: integer + details: + description: Note message. + nullable: true + type: string + created_at: + type: string + updated_at: + type: string + required: + - action + - created_at + - kind + - source + - updated_at + type: object + alert_event_response: + properties: + data: + $ref: '#/components/schemas/alert_event_response_data' + required: + - data + type: object + alert_event_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_event_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_alerts_source: + properties: + data: + $ref: '#/components/schemas/new_alerts_source_data' + required: + - data + type: object + update_alerts_source: + properties: + data: + $ref: '#/components/schemas/update_alerts_source_data' + required: + - data + type: object + alerts_source: + properties: + name: + description: The name of the alert source + type: string + source_type: + description: The alert source type + enum: + - email + - app_dynamics + - catchpoint + - datadog + - dynatrace + - alertmanager + - google_cloud + - grafana + - sentry + - generic_webhook + - cloud_watch + - aws_sns + - checkly + - azure + - new_relic + - splunk + - chronosphere + - app_optics + - bug_snag + - honeycomb + - monte_carlo + - nagios + - prtg + type: string + alert_urgency_id: + description: ID for the default alert urgency assigned to this alert source + type: string + deduplicate_alerts_by_key: + description: "Toggle alert deduplication using deduplication key. If enabled,\ + \ deduplication_key_kind and deduplication_key_path are required." + type: boolean + deduplication_key_kind: + description: Kind of deduplication key. + enum: + - payload + type: string + deduplication_key_path: + description: Path to deduplication key. This is a JSON Path to extract the + deduplication key from the request body. + nullable: true + type: string + deduplication_key_regexp: + description: Regular expression to extract key from value found at key path. + nullable: true + type: string + owner_group_ids: + description: List of team IDs that will own the alert source + items: + type: string + type: array + alert_template_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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' + type: array + sourceable_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes' + resolution_rule_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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' + type: array + status: + description: The status of the alert source + enum: + - connected + - setup_complete + - setup_incomplete + type: string + secret: + description: The secret used to authenticate non-email alert sources + type: string + email: + description: The email generated for email alert sources + nullable: true + type: string + webhook_endpoint: + description: The webhook URL generated for non-email alert sources + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - name + - secret + - status + - updated_at + type: object + alerts_source_response: + properties: + data: + $ref: '#/components/schemas/alerts_source_response_data' + required: + - data + type: object + alerts_source_list: + properties: + data: + items: + $ref: '#/components/schemas/alerts_source_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_alert_route: + properties: + data: + $ref: '#/components/schemas/new_alert_route_data' + type: object + update_alert_route: + properties: + data: + $ref: '#/components/schemas/update_alert_route_data' + required: + - data + type: object + patch_alert_route: + properties: + data: + $ref: '#/components/schemas/patch_alert_route_data' + required: + - data + type: object + alert_route: + properties: + name: + description: The name of the alert route + type: string + enabled: + description: Whether the alert route is enabled + type: boolean + alerts_source_ids: + items: + description: The ID of the alerts source + format: uuid + type: string + type: array + owning_team_ids: + items: + description: The ID of the owning team + format: uuid + type: string + type: array + rules: + items: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner' + type: array + required: + - alerts_source_ids + - name + type: object + alert_route_response: + properties: + data: + $ref: '#/components/schemas/alert_route_response_data' + required: + - data + type: object + alert_route_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_route_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_alert_routing_rule: + properties: + data: + $ref: '#/components/schemas/new_alert_routing_rule_data' + required: + - data + type: object + update_alert_routing_rule: + properties: + data: + $ref: '#/components/schemas/update_alert_routing_rule_data' + required: + - data + type: object + alert_routing_rule: + properties: + name: + description: The name of the alert routing rule + type: string + enabled: + description: Whether the alert routing rule is enabled + type: boolean + alerts_source_id: + description: The ID of the alerts source + format: uuid + type: string + position: + description: The position of the alert routing rule for ordering evaluation + type: integer + condition_type: + description: The type of condition for the alert routing rule + enum: + - all + - any + type: string + conditions: + description: The conditions for the alert routing rule + items: + $ref: '#/components/schemas/alert_routing_rule_conditions_inner' + type: array + destination: + $ref: '#/components/schemas/alert_routing_rule_destination' + condition_groups: + description: The condition groups for the alert routing rule + items: + $ref: '#/components/schemas/alert_routing_rule_condition_groups_inner' + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - alerts_source_id + - condition_type + - created_at + - enabled + - name + - position + - updated_at + type: object + alert_routing_rule_response: + properties: + data: + $ref: '#/components/schemas/alert_routing_rule_response_data' + required: + - data + type: object + alert_routing_rule_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_routing_rule_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + alert_routing_rule_target: + description: The destination target for the alert routing rule + nullable: true + 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_routing_rule_condition: + description: A condition for alert routing rule + properties: + id: + description: Unique ID of the condition + format: uuid + type: string + property_field_type: + description: The type of the property field + enum: + - attribute + - payload + type: string + property_field_name: + description: The name of the property field + type: string + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty + type: string + property_field_value: + description: The value of the property field + nullable: true + type: string + property_field_values: + description: The values of the property field + items: + type: string + nullable: true + type: array + conditionable_id: + description: The ID of the conditionable object + format: uuid + nullable: true + type: string + conditionable_type: + description: The type of the conditionable object + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - property_field_condition_type + - property_field_name + - property_field_type + type: object + alert_routing_rule_condition_group: + description: A group of conditions for alert routing rule + properties: + id: + description: Unique ID of the condition group + format: uuid + type: string + position: + description: The position of the condition group for ordering + type: integer + conditions: + description: The conditions within this group + items: + $ref: '#/components/schemas/alert_routing_rule_condition' + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - position + type: object + new_alert_field: + properties: + data: + $ref: '#/components/schemas/new_alert_field_data' + required: + - data + type: object + update_alert_field: + properties: + data: + $ref: '#/components/schemas/update_alert_field_data' + required: + - data + type: object + alert_field: + properties: + slug: + description: The slug of the alert field + type: string + name: + description: The name of the alert field + type: string + kind: + description: The kind of alert field + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - kind + - name + - updated_at + type: object + alert_field_response: + properties: + data: + $ref: '#/components/schemas/alert_field_response_data' + required: + - data + type: object + alert_field_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_field_list_data_inner' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_alert_urgency: + properties: + data: + $ref: '#/components/schemas/new_alert_urgency_data' + required: + - data + type: object + update_alert_urgency: + properties: + data: + $ref: '#/components/schemas/update_alert_urgency_data' + required: + - data + type: object + alert_urgency: + properties: + name: + description: The name of the alert urgency + type: string + description: + description: The description of the alert urgency + type: string + position: + description: Position of the alert urgency + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - description + - name + - position + - updated_at + type: object + alert_urgency_response: + properties: + data: + $ref: '#/components/schemas/alert_urgency_response_data' + required: + - data + type: object + alert_urgency_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_urgency_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_alert_group: + properties: + data: + $ref: '#/components/schemas/new_alert_group_data' + required: + - data + type: object + update_alert_group: + properties: + data: + $ref: '#/components/schemas/update_alert_group_data' + required: + - data + type: object + alert_group: + properties: + name: + description: The name of the alert group + type: string + description: + description: The description of the alert group + nullable: true + type: string + slug: + description: The slug of the alert group + type: string + condition_type: + description: Grouping condition for the alert group + type: string + time_window: + description: Time window for the alert grouping + type: integer + group_by_alert_title: + deprecated: true + description: "[DEPRECATED] Whether the alerts are grouped by title or not.\ + \ This field is deprecated. Please use the `conditions` field with advanced\ + \ alert grouping instead." + type: boolean + group_by_alert_urgency: + deprecated: true + description: "[DEPRECATED] Whether the alerts are grouped by urgency or\ + \ not. This field is deprecated. Please use the `conditions` field with\ + \ advanced alert grouping instead." + type: boolean + targets: + items: + $ref: '#/components/schemas/new_alert_group_data_attributes_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' + type: array + conditions: + description: The conditions for the alert group + items: + $ref: '#/components/schemas/alert_group_conditions_inner' + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + deleted_at: + description: Date or deletion + nullable: true + type: string + required: + - condition_type + - created_at + - deleted_at + - description + - name + - time_window + - updated_at + type: object + alert_group_response: + properties: + data: + $ref: '#/components/schemas/alert_group_response_data' + required: + - data + type: object + alert_group_list: + properties: + data: + items: + $ref: '#/components/schemas/alert_group_response_data' + type: array + required: + - data + type: object + new_api_key: + properties: + data: + $ref: '#/components/schemas/new_api_key_data' + required: + - data + type: object + update_api_key: + properties: + data: + $ref: '#/components/schemas/update_api_key_data' + required: + - data + type: object + rotate_api_key: + properties: + data: + $ref: '#/components/schemas/rotate_api_key_data' + required: + - data + type: object + api_key: + properties: + name: + description: The name of the API key + type: string + description: + description: A description of the API key + nullable: true + type: string + kind: + description: The kind of the API key + enum: + - personal + - team + - organization + type: string + role_id: + description: The role ID + nullable: true + type: string + on_call_role_id: + description: The on-call role ID + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + expires_at: + description: Expiration date + nullable: true + type: string + last_used_at: + description: Date of last use + nullable: true + type: string + grace_period_ends_at: + description: Grace period end date + nullable: true + type: string + required: + - created_at + - kind + - name + - updated_at + type: object + api_key_response: + properties: + data: + $ref: '#/components/schemas/api_key_response_data' + required: + - data + type: object + api_key_with_token_response: + properties: + data: + $ref: '#/components/schemas/api_key_with_token_response_data' + required: + - data + type: object + api_key_list: + properties: + data: + items: + $ref: '#/components/schemas/api_key_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + audit: + properties: + event: + description: Describes the action that was taken. + type: string + item_type: + description: Describes the object in which the action was taken on + enum: + - AlertRoute + - AlertRoutingRule + - Alerts::Source + - ApiKey + - Catalog + - CatalogEntity + - CatalogEntityProperty + - CatalogField + - Cause + - CustomField + - CustomFieldOption + - CustomForm + - Dashboard + - EdgeConnector + - EdgeConnector::Action + - Environment + - EscalationPolicy + - EscalationPolicyPath + - ExportJob + - FormField + - Functionality + - GeniusWorkflow + - GeniusWorkflowGroup + - GeniusWorkflowRun + - Group + - GroupUser + - Heartbeat + - Incident + - LoginActivity + - IncidentActionItem + - IncidentEvent + - IncidentFormFieldSelection + - IncidentFormFieldSelectionUser + - IncidentPermissionSet + - IncidentPostMortem + - IncidentRoleAssignment + - IncidentRoleTask + - IncidentStatusPageEvent + - IncidentTask + - IncidentType + - Integrations::DatadogAccount + - Integrations::GithubAccount + - Integrations::GoogleMeetAccount + - Integrations::JiraAccount + - Integrations::MicrosoftTeamsAccount + - Integrations::OpsgenieAccount + - Integrations::PagerdutyAccount + - Integrations::ServiceNowAccount + - Integrations::SlackAccount + - Integrations::StatusPageIoAccount + - Integrations::ZendeskAccount + - Integrations::ZoomAccount + - LiveCallRouter + - Membership + - OnCallRole + - Playbook + - PlaybookTask + - Role + - Schedule + - Secret + - Service + - Severity + - StatusPage + nullable: true + type: string + item_type_display: + description: Human-friendly display name for the item type + nullable: true + type: string + object: + description: The object in which the action was taken on + nullable: true + type: object + object_changes: + description: The changes that occurred on the object + nullable: true + type: object + user_id: + description: The ID of who took action on the object. Together with whodunnit_type + can be used to find the user + nullable: true + type: integer + created_at: + description: Date of creation + type: string + item_id: + description: ID of the affected object + nullable: true + type: string + id: + description: ID of audit + nullable: true + type: integer + required: + - created_at + - event + type: object + audits_list: + properties: + data: + items: + $ref: '#/components/schemas/audits_list_data_inner' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_authorization: + properties: + data: + $ref: '#/components/schemas/new_authorization_data' + required: + - data + type: object + update_authorization: + properties: + data: + $ref: '#/components/schemas/update_authorization_data' + required: + - data + type: object + authorization: + properties: + authorizable_id: + description: The id of the resource being accessed. + type: string + authorizable_type: + description: The type of resource being accessed. + enum: + - Dashboard + type: string + grantee_id: + description: The resource id granted access. + type: string + grantee_type: + description: The type of resource granted access. + enum: + - User + - Team + type: string + permissions: + items: + enum: + - read + - update + - authorize + - destroy + type: string + type: array + created_at: + type: string + updated_at: + type: string + required: + - authorizable_id + - authorizable_type + - created_at + - grantee_id + - grantee_type + - permissions + - updated_at + type: object + authorization_response: + properties: + data: + $ref: '#/components/schemas/authorization_response_data' + required: + - data + type: object + authorization_list: + properties: + data: + items: + $ref: '#/components/schemas/authorization_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_catalog: + properties: + data: + $ref: '#/components/schemas/new_catalog_data' + required: + - data + type: object + update_catalog: + properties: + data: + $ref: '#/components/schemas/update_catalog_data' + required: + - data + type: object + catalog: + properties: + name: + type: string + description: + nullable: true + type: string + icon: + enum: + - globe-alt + - server-stack + - users + - user-group + - chart-bar + - shapes + - light-bulb + - cursor-arrow-ripple + type: string + position: + description: Default position of the catalog when displayed in a list. + nullable: true + type: integer + created_at: + type: string + updated_at: + type: string + required: + - created_at + - icon + - name + - position + - updated_at + type: object + catalog_response: + properties: + data: + $ref: '#/components/schemas/catalog_response_data' + required: + - data + type: object + catalog_list: + properties: + data: + items: + $ref: '#/components/schemas/catalog_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_catalog_field: + description: A catalog can have a maximum of 50 fields. + properties: + data: + $ref: '#/components/schemas/new_catalog_field_data' + required: + - data + type: object + update_catalog_field: + properties: + data: + $ref: '#/components/schemas/update_catalog_field_data' + required: + - data + type: object + catalog_field: + properties: + catalog_id: + nullable: true + type: string + name: + type: string + slug: + type: string + kind: + enum: + - text + - reference + type: string + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true + type: string + multiple: + description: Whether the attribute accepts multiple values. + type: boolean + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the field is required. + type: boolean + catalog_type: + description: The type of catalog the field belongs to. + enum: + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team + type: string + created_at: + type: string + updated_at: + type: string + required: + - catalog_id + - created_at + - kind + - multiple + - name + - position + - updated_at + type: object + catalog_field_response: + properties: + data: + $ref: '#/components/schemas/catalog_field_response_data' + required: + - data + type: object + catalog_field_list: + properties: + data: + items: + $ref: '#/components/schemas/catalog_field_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_catalog_property: + description: A catalog can have a maximum of 50 properties. + properties: + data: + $ref: '#/components/schemas/new_catalog_property_data' + required: + - data + type: object + update_catalog_property: + properties: + data: + $ref: '#/components/schemas/update_catalog_property_data' + required: + - data + type: object + catalog_property: + properties: + catalog_id: + nullable: true + type: string + name: + type: string + slug: + type: string + kind: + enum: + - text + - reference + type: string + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true + type: string + multiple: + description: Whether the attribute accepts multiple values. + type: boolean + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the property is required. + type: boolean + catalog_type: + description: The type of catalog the property belongs to. + enum: + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team + type: string + created_at: + type: string + updated_at: + type: string + required: + - catalog_id + - created_at + - kind + - multiple + - name + - position + - updated_at + type: object + catalog_property_response: properties: data: - $ref: '#/components/schemas/attach_alert_data' + $ref: '#/components/schemas/catalog_property_response_data' required: - data type: object - new_alert: + catalog_property_list: properties: data: - $ref: '#/components/schemas/new_alert_data' + items: + $ref: '#/components/schemas/catalog_property_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data + - links + - meta type: object - update_alert: + new_catalog_entity: properties: data: - $ref: '#/components/schemas/update_alert_data' + $ref: '#/components/schemas/new_catalog_entity_data' required: - data type: object - alert: + update_catalog_entity: properties: - noise: - description: Whether the alert is marked as noise - enum: - - noise - - not_noise + data: + $ref: '#/components/schemas/update_catalog_entity_data' + required: + - data + type: object + catalog_entity: + properties: + name: + type: string + description: nullable: true type: string - source: - description: The source of the alert + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + backstage_id: + description: The Backstage entity ID this catalog entity is linked to. + nullable: true + type: string + created_at: + type: string + updated_at: + type: string + properties: + description: Array of property values for this catalog entity + items: + $ref: '#/components/schemas/new_catalog_entity_data_attributes_properties_inner' + type: array + required: + - created_at + - name + - position + - updated_at + type: object + catalog_entity_response: + properties: + data: + $ref: '#/components/schemas/catalog_entity_response_data' + required: + - data + type: object + catalog_entity_list: + properties: + data: + items: + $ref: '#/components/schemas/catalog_entity_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_catalog_entity_property: + deprecated: true + description: "**Deprecated:** This endpoint is deprecated, please use the `fields`\ + \ attribute on catalog entities or native catalog endpoints (teams, services,\ + \ functionalities, incident_types, causes, environments) to set field values\ + \ instead." + properties: + data: + $ref: '#/components/schemas/new_catalog_entity_property_data' + required: + - data + type: object + update_catalog_entity_property: + deprecated: true + description: "**Deprecated:** This endpoint is deprecated, please use the `fields`\ + \ attribute on catalog entities or native catalog endpoints (teams, services,\ + \ functionalities, incident_types, causes, environments) to set field values\ + \ instead." + properties: + data: + $ref: '#/components/schemas/update_catalog_entity_property_data' + required: + - data + type: object + catalog_entity_property: + deprecated: true + description: "**Deprecated:** This endpoint is deprecated, please use `include=fields`\ + \ on catalog entities or native catalog endpoints (teams, services, functionalities,\ + \ incident_types, causes, environments) to retrieve field values instead." + properties: + catalog_entity_id: + type: string + catalog_field_id: + type: string + key: enum: - - rootly - - manual - - api - - web + - text + - catalog_entity - slack - - email - - workflow - - live_call_routing - - pagerduty - - opsgenie - - victorops - - pagertree - - datadog - - nobl9 - - zendesk - - asana - - clickup - - sentry - - rollbar - - jira - - honeycomb - - service_now - - linear - - grafana - - alertmanager - - google_cloud - - generic_webhook - - cloud_watch - - azure - - splunk - - chronosphere - - app_optics - - bug_snag - - monte_carlo - - nagios - - prtg - - catchpoint - - app_dynamics - - checkly - - new_relic - - gitlab + type: string + value: + type: string + created_at: + type: string + updated_at: + type: string + required: + - catalog_entity_id + - catalog_field_id + - created_at + - key + - updated_at + - value + type: object + catalog_entity_property_response: + deprecated: true + description: "**Deprecated:** This endpoint is deprecated, please use `include=fields`\ + \ on catalog entities or native catalog endpoints (teams, services, functionalities,\ + \ incident_types, causes, environments) to retrieve field values instead." + properties: + data: + $ref: '#/components/schemas/catalog_entity_property_response_data' + required: + - data + type: object + catalog_entity_property_list: + deprecated: true + description: "**Deprecated:** This endpoint is deprecated, please use `include=fields`\ + \ on catalog entities or native catalog endpoints (teams, services, functionalities,\ + \ incident_types, causes, environments) to retrieve field values instead." + properties: + data: + items: + $ref: '#/components/schemas/catalog_entity_property_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_catalog_checklist_template: + properties: + data: + $ref: '#/components/schemas/new_catalog_checklist_template_data' + required: + - data + type: object + update_catalog_checklist_template: + properties: + data: + $ref: '#/components/schemas/update_catalog_checklist_template_data' + required: + - data + type: object + catalog_checklist_template: + properties: + name: + description: The name of the checklist template + type: string + slug: + description: The slug of the checklist template + type: string + description: + description: The description of the checklist template + nullable: true + type: string + catalog_type: + description: The catalog type + enum: + - Service + - Functionality + - Environment + - Group + - Cause + - IncidentType + - Catalog + type: string + scope_type: + description: The scope type + enum: + - Team + - Catalog + type: string + scope_id: + description: The scope ID + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + fields: + description: Template fields in position order + items: + $ref: '#/components/schemas/catalog_checklist_template_fields_inner' + nullable: true + type: array + owners: + description: Template owners + items: + $ref: '#/components/schemas/catalog_checklist_template_owners_inner' + nullable: true + type: array + required: + - catalog_type + - created_at + - name + - scope_id + - scope_type + - updated_at + type: object + catalog_checklist_template_response: + properties: + data: + $ref: '#/components/schemas/catalog_checklist_template_response_data' + required: + - data + type: object + catalog_checklist_template_list: + properties: + data: + items: + $ref: '#/components/schemas/catalog_checklist_template_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + catalog_entity_checklist: + properties: + catalog_checklist_template_id: + description: The ID of the checklist template + type: string + auditable_type: + description: The type of the auditable entity + enum: + - Service + - Functionality + - Environment + - Group + - Cause + - IncidentType + - CatalogEntity + type: string + auditable_id: + description: The ID of the auditable entity type: string status: - description: The status of the alert + description: The status of the checklist enum: - - open - triggered - - acknowledged - - resolved + - in_progress + - completed + - cancelled type: string - summary: - description: The summary of the alert + started_at: + description: When the checklist was started + nullable: true + type: string + completed_at: + description: When the checklist was completed + nullable: true + type: string + completed_by_user_id: + description: The ID of the user who completed the checklist + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + checklist_fields: + description: Checklist fields + items: + $ref: '#/components/schemas/catalog_entity_checklist_checklist_fields_inner' + nullable: true + type: array + checklist_owners: + description: Checklist owners + items: + $ref: '#/components/schemas/catalog_entity_checklist_checklist_owners_inner' + nullable: true + type: array + required: + - auditable_id + - auditable_type + - catalog_checklist_template_id + - created_at + - status + - updated_at + type: object + catalog_entity_checklist_response: + properties: + data: + $ref: '#/components/schemas/catalog_entity_checklist_response_data' + required: + - data + type: object + catalog_entity_checklist_list: + properties: + data: + items: + $ref: '#/components/schemas/catalog_entity_checklist_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + new_cause: + properties: + data: + $ref: '#/components/schemas/new_cause_data' + required: + - data + type: object + update_cause: + properties: + data: + $ref: '#/components/schemas/update_cause_data' + required: + - data + type: object + cause: + properties: + name: + description: The name of the cause + type: string + slug: + description: The slug of the cause + type: string + description: + description: The description of the cause + nullable: true + type: string + position: + description: Position of the cause + nullable: true + type: integer + properties: + description: Array of property values for this cause. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - name + - updated_at + type: object + cause_response: + properties: + data: + $ref: '#/components/schemas/cause_response_data' + required: + - data + type: object + cause_list: + properties: + data: + items: + $ref: '#/components/schemas/cause_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_communications_stage: + properties: + data: + $ref: '#/components/schemas/new_communications_stage_data' + required: + - data + type: object + update_communications_stage: + properties: + data: + $ref: '#/components/schemas/update_communications_stage_data' + required: + - data + type: object + communications_stage: + properties: + name: + description: The name of the communications stage + type: string + slug: + description: The slug of the communications stage + type: string + description: + description: The description of the communications stage + nullable: true + type: string + position: + description: Position of the communications stage + nullable: true + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - name + - position + - updated_at + type: object + communications_stage_response: + properties: + data: + $ref: '#/components/schemas/communications_stage_response_data' + required: + - data + type: object + communications_stages_response: + properties: + data: + items: + $ref: '#/components/schemas/communications_stage_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + new_communications_type: + properties: + data: + $ref: '#/components/schemas/new_communications_type_data' + required: + - data + type: object + update_communications_type: + properties: + data: + $ref: '#/components/schemas/update_communications_type_data' + required: + - data + type: object + communications_type: + properties: + name: + description: The name of the communications type + type: string + slug: + description: The slug of the communications type + type: string + description: + description: The description of the communications type + nullable: true + type: string + color: + description: The color of the communications type + nullable: true + type: string + position: + description: Position of the communications type + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - color + - created_at + - name + - position + - updated_at + type: object + communications_type_response: + properties: + data: + $ref: '#/components/schemas/communications_type_response_data' + required: + - data + type: object + communications_types_response: + properties: + data: + items: + $ref: '#/components/schemas/communications_type_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + new_communications_template: + properties: + data: + $ref: '#/components/schemas/new_communications_template_data' + required: + - data + type: object + update_communications_template: + properties: + data: + $ref: '#/components/schemas/update_communications_template_data' + required: + - data + type: object + communications_template: + properties: + name: + description: The name of the communications template + type: string + slug: + description: The slug of the communications template + type: string + description: + description: The description of the communications template + nullable: true + type: string + position: + description: Position of the communications template + nullable: true + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string - description: - description: The description of the alert - nullable: true + communication_type_id: + description: The communication type ID type: string - services: - description: Services attached to the alert + communication_template_stages: + description: Communication template stages items: - allOf: - - $ref: '#/components/schemas/service' - type: object + $ref: '#/components/schemas/communications_template_communication_template_stages_inner' + nullable: true type: array - groups: - description: Groups attached to the alert + communication_type: + $ref: '#/components/schemas/communications_template_communication_type' + required: + - created_at + - name + - position + - updated_at + type: object + communications_template_response: + properties: + data: + $ref: '#/components/schemas/communications_template_response_data' + required: + - data + type: object + communications_templates_response: + properties: + data: items: - allOf: - - $ref: '#/components/schemas/team' - type: object + $ref: '#/components/schemas/communications_template_response_data' type: array - environments: - description: Environments attached to the alert + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + new_communications_group: + properties: + data: + $ref: '#/components/schemas/new_communications_group_data' + required: + - data + type: object + update_communications_group: + properties: + data: + $ref: '#/components/schemas/update_communications_group_data' + required: + - data + type: object + communications_group: + properties: + name: + description: The name of the communications group + type: string + slug: + description: The slug of the communications group + type: string + description: + description: The description of the communications group + nullable: true + type: string + communication_type_id: + description: The communication type ID + type: string + is_private: + description: Whether the group is private + type: boolean + condition_type: + description: Condition type + enum: + - any + - all + type: string + sms_channel: + description: SMS channel enabled + type: boolean + email_channel: + description: Email channel enabled + type: boolean + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + communication_group_conditions: + description: Group conditions attributes items: - allOf: - - $ref: '#/components/schemas/environment' - type: object + $ref: '#/components/schemas/new_communications_group_data_attributes_communication_group_conditions_inner' + nullable: true type: array - service_ids: - description: The Service ID's to attach to the alert. If your organization - has On-Call enabled and your notification target is a Service. This field - will be automatically set for you. + member_ids: + description: Array of member user IDs items: - type: string + type: integer nullable: true type: array - group_ids: - description: The Group ID's to attach to the alert. If your organization - has On-Call enabled and your notification target is a Group. This field - will be automatically set for you. + slack_channel_ids: + description: Array of Slack channel IDs items: type: string nullable: true type: array - environment_ids: - description: The Environment ID's to attach to the alert + communication_external_group_members: + description: External group members items: - type: string + $ref: '#/components/schemas/communications_group_communication_external_group_members_inner' nullable: true type: array - external_id: - description: External ID - nullable: true - type: string - external_url: - description: External Url - nullable: true - type: string - alert_urgency_id: - description: The ID of the alert urgency - nullable: true - type: string - labels: + required: + - communication_type_id + - condition_type + - created_at + - email_channel + - is_private + - name + - sms_channel + - updated_at + type: object + communications_group_response: + properties: + data: + $ref: '#/components/schemas/communications_group_response_data' + required: + - data + type: object + communications_groups_response: + properties: + data: items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + $ref: '#/components/schemas/communications_group_response_data' type: array - data: - description: Additional data - nullable: true + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' type: object + required: + - data + type: object + new_custom_field_option: + properties: + data: + $ref: '#/components/schemas/new_custom_field_option_data' + required: + - data + type: object + update_custom_field_option: + properties: + data: + $ref: '#/components/schemas/update_custom_field_option_data' + required: + - data + type: object + custom_field_option: + properties: + custom_field_id: + description: The ID of the parent custom field + type: integer + value: + description: The value of the custom_field_option + type: string + color: + description: The hex color of the custom_field_option + type: string + default: + type: boolean + position: + description: The position of the custom_field_option + type: integer created_at: description: Date of creation type: string @@ -39184,322 +27243,338 @@ components: description: Date of last update type: string required: + - color - created_at - - source - - summary + - position - updated_at + - value type: object - alert_response: + custom_field_option_response: properties: data: - $ref: '#/components/schemas/alert_response_data' + $ref: '#/components/schemas/custom_field_option_response_data' required: - data type: object - alert_list: + custom_field_option_list: properties: data: items: - $ref: '#/components/schemas/alert_response_data' + $ref: '#/components/schemas/custom_field_option_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - resolve_alert: - properties: - data: - $ref: '#/components/schemas/resolve_alert_data' - type: object - new_alert_event: + new_custom_field: properties: data: - $ref: '#/components/schemas/new_alert_event_data' + $ref: '#/components/schemas/new_custom_field_data' required: - data type: object - update_alert_event: + update_custom_field: properties: data: - $ref: '#/components/schemas/update_alert_event_data' + $ref: '#/components/schemas/update_custom_field_data' required: - data type: object - alert_event: + custom_field: properties: + label: + description: The name of the custom_field + type: string kind: - enum: - - informational - - notification - - action - - status_update - - recording - - alert_grouping - - alert_urgency - - alert_routing - - note - - noise - - maintenance + description: The kind of the custom_field type: string - action: - enum: - - created - - emailed - - slacked - - called - - texted - - notified - - opened - - retriggered - - answered - - acknowledged - - escalated - - paged - - resolved - - attached - - snoozed - - triggered - - updated - - added - - removed - - marked - - not_marked - - muted + enabled: + description: Whether the custom_field is enabled + type: boolean + slug: + description: The slug of the custom_field type: string - source: + description: + description: The description of the custom_field + nullable: true type: string - user_id: - description: Author of the note. + shown: + items: + description: Where the custom_field is shown + enum: + - incident_form + - incident_mitigation_form + - incident_resolution_form + - incident_post_mortem_form + - incident_slack_form + - incident_mitigation_slack_form + - incident_resolution_slack_form + - incident_post_mortem + type: string + type: array + required: + items: + description: Where the custom_field is required + enum: + - incident_form + - incident_mitigation_form + - incident_resolution_form + - incident_post_mortem_form + - incident_slack_form + - incident_mitigation_slack_form + - incident_resolution_slack_form + type: string nullable: true - type: integer - details: - description: Note message. + type: array + default: + description: The default value for text field kinds nullable: true type: string + position: + description: The position of the custom_field + type: integer created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - - action - created_at - - kind - - source + - label + - position + - required + - shown - updated_at type: object - alert_event_response: + custom_field_response: properties: data: - $ref: '#/components/schemas/alert_event_response_data' + $ref: '#/components/schemas/custom_field_response_data' required: - data type: object - alert_event_list: + custom_field_list: properties: data: items: - $ref: '#/components/schemas/alert_event_response_data' + $ref: '#/components/schemas/custom_field_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_alerts_source: + new_custom_form: properties: data: - $ref: '#/components/schemas/new_alerts_source_data' + $ref: '#/components/schemas/new_custom_form_data' required: - data type: object - update_alerts_source: + update_custom_form: properties: data: - $ref: '#/components/schemas/update_alerts_source_data' + $ref: '#/components/schemas/update_custom_form_data' required: - data type: object - alerts_source: + custom_form: properties: - alert_urgency_id: - description: ID for the default alert urgency assigned to this alert source - type: string name: - description: The name of the alert source - type: string - source_type: - description: The alert source type - type: string - status: - description: The current status of the alert source + description: The name of the custom form. type: string - secret: - description: A secret key used to authenticate incoming requests to this - alerts source + slug: + description: The custom form slug. Add this to form_field.shown or form_field.required + to associate form fields with custom forms. type: string - webhook_endpoint: - description: The URL endpoint of the alert source + description: nullable: true type: string - email: - description: The email address of the alert source - nullable: true + enabled: + type: boolean + command: + description: The Slack command used to trigger this form. type: string - owner_group_ids: - description: List of team IDs that will own the alert source - items: - type: string - type: array created_at: - description: Date of creation + description: Date of creation. type: string updated_at: - description: Date of last update + description: Date of last update. type: string - sourceable_attributes: - description: "Additional attributes specific to certain alert sources (e.g.,\ - \ generic_webhook), encapsulating source-specific configurations or details" - nullable: true - type: object - resolution_rule_attributes: - description: Additional attributes for email alerts source - nullable: true - type: object required: + - command - created_at + - enabled - name - - secret - - status - updated_at type: object - alerts_source_response: + custom_form_response: properties: data: - $ref: '#/components/schemas/alerts_source_response_data' + $ref: '#/components/schemas/custom_form_response_data' required: - data type: object - alerts_source_list: + custom_form_list: properties: data: items: - $ref: '#/components/schemas/alerts_source_response_data' + $ref: '#/components/schemas/custom_form_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_alert_routing_rule: + new_dashboard_panel: properties: data: - $ref: '#/components/schemas/new_alert_routing_rule_data' + $ref: '#/components/schemas/new_dashboard_panel_data' required: - data type: object - update_alert_routing_rule: + update_dashboard_panel: properties: data: - $ref: '#/components/schemas/update_alert_routing_rule_data' + $ref: '#/components/schemas/update_dashboard_panel_data' required: - data type: object - alert_routing_rule: + dashboard_panel: properties: - name: - description: The name of the alert routing rule - type: string - enabled: - description: Whether the alert routing rule is enabled - type: boolean - alerts_source_id: - description: The ID of the alerts source - format: uuid + dashboard_id: + description: The panel dashboard type: string - condition_type: - description: The type of condition for the alert routing rule - enum: - - all - - any + name: + description: The name of the dashboard_panel + nullable: true type: string - conditions: - description: The conditions for the alert routing rule + params: + $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params' + position: + $ref: '#/components/schemas/new_dashboard_panel_data_attributes_position' + data: items: - $ref: '#/components/schemas/alert_routing_rule_conditions_inner' + type: object type: array - destination: - $ref: '#/components/schemas/alert_routing_rule_destination' - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string required: - - alerts_source_id - - condition_type - - created_at - - destination - - enabled - - name - - updated_at + - params type: object - alert_routing_rule_response: + dashboard_panel_response: properties: data: - $ref: '#/components/schemas/alert_routing_rule_response_data' + $ref: '#/components/schemas/dashboard_panel_response_data' required: - data type: object - alert_routing_rule_list: + dashboard_panel_list: properties: data: items: - $ref: '#/components/schemas/alert_routing_rule_response_data' + $ref: '#/components/schemas/dashboard_panel_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_alert_urgency: + new_dashboard: properties: data: - $ref: '#/components/schemas/new_alert_urgency_data' + $ref: '#/components/schemas/new_dashboard_data' required: - data type: object - update_alert_urgency: + update_dashboard: properties: data: - $ref: '#/components/schemas/update_alert_urgency_data' + $ref: '#/components/schemas/update_dashboard_data' required: - data type: object - alert_urgency: + dashboard: properties: + team_id: + description: The dashboard team + type: integer + user_id: + description: The dashboard user owner if owner is of type user + nullable: true + type: integer name: - description: The name of the alert urgency + description: The name of the dashboard type: string description: - description: The description of the alert urgency + description: The description of the dashboard + nullable: true + type: string + owner: + description: The owner type of the dashboard + enum: + - user + - team + type: string + public: + description: Whether the dashboard is public + type: boolean + range: + description: The date range for dashboard panel data + nullable: true + type: string + period: + description: The grouping period for dashboard panel data + nullable: true + type: string + auto_refresh: + description: Whether the dashboard auto-updates the UI with new data. + type: boolean + color: + description: The hex color of the dashboard + enum: + - '#FCF2CF' + - '#D7F5E1' + - '#E9E2FF' + - '#FAE6E8' + - '#FAEEE6' + nullable: true + type: string + icon: + description: The emoji icon of the dashboard type: string - position: - description: Position of the alert urgency - type: integer created_at: description: Date of creation type: string @@ -39507,78 +27582,135 @@ components: description: Date of last update type: string required: - - created_at - - description - name - - position - - updated_at + - owner + - public + type: object + dashboard_response: + properties: + data: + $ref: '#/components/schemas/dashboard_response_data' + required: + - data + type: object + dashboard_list: + properties: + data: + items: + $ref: '#/components/schemas/dashboard_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + edge_connector: + properties: + data: + $ref: '#/components/schemas/edge_connector_data' + required: + - data + type: object + new_edge_connector: + properties: + edge_connector: + $ref: '#/components/schemas/new_edge_connector_edge_connector' + required: + - edge_connector + type: object + update_edge_connector: + properties: + edge_connector: + $ref: '#/components/schemas/updateEdgeConnector_request_data_attributes' + required: + - edge_connector type: object - alert_urgency_response: + edge_connector_action: properties: data: - $ref: '#/components/schemas/alert_urgency_response_data' + $ref: '#/components/schemas/edge_connector_action_data' required: - data type: object - alert_urgency_list: + new_edge_connector_action: properties: - data: - items: - $ref: '#/components/schemas/alert_urgency_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + action: + $ref: '#/components/schemas/new_edge_connector_action_action' required: - - data - - links + - action type: object - new_alert_group: + update_edge_connector_action: + properties: + action: + $ref: '#/components/schemas/updateEdgeConnectorAction_request_action' + required: + - action + type: object + new_environment: properties: data: - $ref: '#/components/schemas/new_alert_group_data' + $ref: '#/components/schemas/new_environment_data' required: - data type: object - update_alert_group: + update_environment: properties: data: - $ref: '#/components/schemas/update_alert_group_data' + $ref: '#/components/schemas/update_environment_data' required: - data type: object - alert_group: + environment: properties: name: - description: The name of the alert group + description: The name of the environment + type: string + slug: + description: The slug of the environment type: string description: - description: The description of the alert group + description: The description of the environment nullable: true type: string - slug: - description: The slug of the alert group - type: string - condition_type: - description: Grouping condition for the alert group + notify_emails: + description: Emails attached to the environment + items: + type: string + nullable: true + type: array + color: + description: The hex color of the environment + nullable: true type: string - time_window: - description: Time window for the alert grouping + position: + description: Position of the environment + nullable: true type: integer - group_by_alert_title: - description: Whether the alerts are grouped by title or not - type: boolean - group_by_alert_urgency: - description: Whether the alerts are grouped by urgency or not - type: boolean - targets: + slack_channels: + description: Slack Channels associated with this environment items: - $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' + $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + nullable: true type: array - attributes: + slack_aliases: + description: Slack Aliases associated with this environment items: - $ref: '#/components/schemas/new_alert_group_data_attributes_attributes_inner' + $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + nullable: true + type: array + properties: + description: Array of property values for this environment. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + nullable: true type: array created_at: description: Date of creation @@ -39586,653 +27718,1086 @@ components: updated_at: description: Date of last update type: string - deleted_at: - description: Date or deletion - nullable: true - type: string required: - - condition_type - created_at - - deleted_at - - description - - group_by_alert_title - - group_by_alert_urgency - name - - slug - - time_window - updated_at type: object - alert_group_response: - properties: - data: - $ref: '#/components/schemas/alert_group_response_data' - required: - - data - type: object - alert_group_list: + environment_response: properties: data: - items: - $ref: '#/components/schemas/alert_group_response_data' - type: array + $ref: '#/components/schemas/environment_response_data' required: - data type: object - audit: - properties: - event: - description: Describes the action that was taken. - type: string - item_type: - description: Describes the object in which the action was taken on - enum: - - ApiKey - - Cause - - CustomField - - CustomFieldOption - - CustomForm - - Dashboard - - Environment - - EscalationPolicy - - EscalationPolicyPath - - ExportJob - - FormField - - Functionality - - GeniusWorkflow - - GeniusWorkflowGroup - - GeniusWorkflowRun - - Group - - Heartbeat - - Incident - - IncidentActionItem - - IncidentEvent - - IncidentFormFieldSelection - - IncidentFormFieldSelectionUser - - IncidentPostMortem - - IncidentRoleAssignment - - IncidentRoleTask - - IncidentStatusPageEvent - - IncidentTask - - IncidentType - - LiveCallRouter - - OnCallRole - - Playbook - - PlaybookTask - - Role - - Schedule - - Service - - Severity - - StatusPage - nullable: true - type: string - object: - description: The object in which the action was taken on - nullable: true - type: object - object_changes: - description: The changes that occurred on the object - nullable: true - type: object - user_id: - description: The ID of who took action on the object. Together with whodunnit_type - can be used to find the user - nullable: true - type: integer - created_at: - description: Date of creation - type: string - item_id: - description: ID of the affected object - nullable: true - type: string - id: - description: ID of audit - nullable: true - type: integer - required: - - created_at - - event - type: object - audits_list: + environment_list: properties: data: items: - $ref: '#/components/schemas/audits_list_data_inner' + $ref: '#/components/schemas/environment_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_authorization: + errors_list: + properties: + errors: + items: + $ref: '#/components/schemas/errors_list_errors_inner' + type: array + type: object + new_escalation_policy: properties: data: - $ref: '#/components/schemas/new_authorization_data' + $ref: '#/components/schemas/new_escalation_policy_data' required: - data type: object - update_authorization: + update_escalation_policy: properties: data: - $ref: '#/components/schemas/update_authorization_data' + $ref: '#/components/schemas/update_escalation_policy_data' required: - data type: object - authorization: + escalation_policy: properties: - authorizable_id: - description: The id of the resource being accessed. - type: string - authorizable_type: - description: The type of resource being accessed. - enum: - - Dashboard - type: string - grantee_id: - description: The resource id granted access. + name: + description: The name of the escalation policy type: string - grantee_type: - description: The type of resource granted access. - enum: - - User - - Team + description: + description: The description of the escalation policy + nullable: true type: string - permissions: + repeat_count: + description: The number of times this policy will be executed until someone + acknowledges the alert + type: integer + created_by_user_id: + description: User who created the escalation policy + type: integer + last_updated_by_user_id: + description: User who updated the escalation policy + type: integer + group_ids: + description: Associated groups (alerting the group will trigger escalation + policy) + items: + type: string + type: array + service_ids: + description: Associated services (alerting the service will trigger escalation + policy) items: - enum: - - read - - update - - authorize - - destroy type: string type: array + business_hours: + $ref: '#/components/schemas/new_escalation_policy_data_attributes_business_hours' created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - - authorizable_id - - authorizable_type - - created_at - - grantee_id - - grantee_type - - permissions - - updated_at + - created_by_user_id + - name + - repeat_count type: object - authorization_response: + escalation_policy_response: properties: data: - $ref: '#/components/schemas/authorization_response_data' + $ref: '#/components/schemas/escalation_policy_response_data' required: - data type: object - authorization_list: + escalation_policy_list: properties: data: items: - $ref: '#/components/schemas/authorization_response_data' + $ref: '#/components/schemas/escalation_policy_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_catalog: + new_escalation_policy_path: properties: data: - $ref: '#/components/schemas/new_catalog_data' + $ref: '#/components/schemas/new_escalation_policy_path_data' required: - data type: object - update_catalog: + update_escalation_policy_path: properties: data: - $ref: '#/components/schemas/update_catalog_data' + $ref: '#/components/schemas/update_escalation_policy_path_data' required: - data type: object - catalog: + escalation_policy_path: properties: name: + description: The name of the escalation path type: string - description: + default: + description: Whether this escalation path is the default path + type: boolean + notification_type: + description: Notification rule type + type: string + path_type: + description: The type of escalation path + enum: + - escalation + - deferral + type: string + escalation_policy_id: + description: The ID of the escalation policy + type: string + after_deferral_behavior: + description: What happens after a deferral path finishes + enum: + - re_evaluate + - execute_path nullable: true type: string - icon: + after_deferral_path_id: + description: The escalation path to execute after this deferral path when + after_deferral_behavior is execute_path + nullable: true + type: string + match_mode: + description: How path rules are matched. enum: - - globe-alt - - server-stack - - users - - user-group - - chart-bar - - shapes - - light-bulb - - cursor-arrow-ripple + - match-all-rules + - match-any-rule type: string position: - description: Default position of the catalog when displayed in a list. + description: The position of this path in the paths for this EP. + type: integer + repeat: + description: Whether this path should be repeated until someone acknowledges + the alert + nullable: true + type: boolean + repeat_count: + description: The number of times this path will be executed until someone + acknowledges the alert nullable: true type: integer + initial_delay: + description: Initial delay for escalation path in minutes. Maximum 1 week + (10080). + type: integer created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string + rules: + description: Escalation path rules + items: + $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_rules_inner' + type: array + time_restriction_time_zone: + description: Time zone used for time restrictions. + 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 + - America/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 + - America/Lima + - 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 + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Europe/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 + - Casablanca + - Africa/Casablanca + - 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 + - Europe/Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kiev + - 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 + - Europe/Moscow + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Asia/Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Asia/Almaty + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Asia/Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Asia/Kolkata + - Mumbai + - Asia/Kolkata + - New Delhi + - Asia/Kolkata + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Rangoon + - Bangkok + - Asia/Bangkok + - Hanoi + - Asia/Bangkok + - 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 + - Asia/Tokyo + - Seoul + - Asia/Seoul + - Tokyo + - Asia/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 + - Pacific/Auckland + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo + 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' + type: array required: - - created_at - - icon + - default + - escalation_policy_id - name - - position - - updated_at + - notification_type + - repeat + - repeat_count type: object - catalog_response: + escalation_policy_path_response: properties: data: - $ref: '#/components/schemas/catalog_response_data' + $ref: '#/components/schemas/escalation_policy_path_response_data' required: - data type: object - catalog_list: + escalation_policy_path_list: properties: data: items: - $ref: '#/components/schemas/catalog_response_data' + $ref: '#/components/schemas/escalation_policy_path_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_catalog_field: + new_escalation_policy_level: properties: data: - $ref: '#/components/schemas/new_catalog_field_data' + $ref: '#/components/schemas/new_escalation_policy_level_data' required: - data type: object - update_catalog_field: + update_escalation_policy_level: properties: data: - $ref: '#/components/schemas/update_catalog_field_data' + $ref: '#/components/schemas/update_escalation_policy_level_data' required: - data type: object - catalog_field: + escalation_policy_level: properties: - catalog_id: - type: string - name: + escalation_policy_id: + description: The ID of the escalation policy type: string - slug: + escalation_policy_path_id: + description: The ID of the dynamic escalation policy path the level will + belong to. If nothing is specified it will add the level to your default + path. + nullable: true type: string - kind: + paging_strategy_configuration_strategy: + default: default enum: - - text - - reference + - default + - random + - cycle + - alert + nullable: true type: string - kind_catalog_id: - description: Restricts values to items of specified catalog. + paging_strategy_configuration_schedule_strategy: + default: on_call_only + enum: + - on_call_only + - everyone nullable: true type: string - multiple: - description: Whether the attribute accepts multiple values. - type: boolean + delay: + description: Delay before notifying targets in the next Escalation Level. + type: integer position: - description: Default position of the item when displayed in a list. - nullable: true + description: Position of the escalation policy level type: integer created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string + notification_target_params: + description: Escalation level's notification targets + items: + $ref: '#/components/schemas/update_escalation_policy_level_data_attributes_notification_target_params_inner' + type: array required: - - catalog_id - - created_at - - kind - - multiple - - name + - delay + - escalation_policy_id + - notification_target_params - position - - slug - - updated_at type: object - catalog_field_response: + escalation_policy_level_response: properties: data: - $ref: '#/components/schemas/catalog_field_response_data' + $ref: '#/components/schemas/escalation_policy_level_response_data' required: - data type: object - catalog_field_list: + escalation_policy_level_list: properties: data: items: - $ref: '#/components/schemas/catalog_field_response_data' + $ref: '#/components/schemas/escalation_policy_level_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_catalog_entity: + new_form_field_option: properties: data: - $ref: '#/components/schemas/new_catalog_entity_data' + $ref: '#/components/schemas/new_form_field_option_data' required: - data type: object - update_catalog_entity: + update_form_field_option: properties: data: - $ref: '#/components/schemas/update_catalog_entity_data' + $ref: '#/components/schemas/update_form_field_option_data' required: - data type: object - catalog_entity: + form_field_option: properties: - name: + id: + description: Unique ID of the form field option type: string - description: - nullable: true + form_field_id: + description: The ID of the parent custom field + type: string + value: + description: The value of the form field option type: string + color: + description: The hex color of the form field option + type: string + default: + type: boolean position: - description: Default position of the item when displayed in a list. - nullable: true + description: The position of the form field option type: integer created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: + - color - created_at - - name - position - updated_at + - value type: object - catalog_entity_response: + form_field_option_response: properties: data: - $ref: '#/components/schemas/catalog_entity_response_data' + $ref: '#/components/schemas/form_field_option_response_data' required: - data type: object - catalog_entity_list: + form_field_option_list: properties: data: items: - $ref: '#/components/schemas/catalog_entity_response_data' + $ref: '#/components/schemas/form_field_option_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_catalog_entity_property: + new_form_field_placement_condition: properties: data: - $ref: '#/components/schemas/new_catalog_entity_property_data' + $ref: '#/components/schemas/new_form_field_placement_condition_data' required: - data type: object - update_catalog_entity_property: + update_form_field_placement_condition: properties: data: - $ref: '#/components/schemas/update_catalog_entity_property_data' + $ref: '#/components/schemas/update_form_field_placement_condition_data' required: - data type: object - catalog_entity_property: + form_field_placement_condition: properties: - catalog_entity_id: - type: string - catalog_field_id: + form_field_placement_id: + description: The form field placement this condition applies. type: string - key: + conditioned: + description: The resource or attribute the condition applies. enum: - - text - - catalog_entity - type: string - value: + - placement + - required type: string - created_at: + position: + description: The condition position. + type: integer + form_field_id: + description: The condition field. type: string - updated_at: + comparison: + description: The condition comparison. + enum: + - equal + - not_equal + - is_set + - is_not_set type: string + values: + description: The values for comparison. + items: + description: The value for comparison. + type: string + type: array required: - - catalog_entity_id - - catalog_field_id - - created_at - - key - - updated_at - - value + - comparison + - conditioned + - form_field_id + - form_field_placement_id + - position + - values type: object - catalog_entity_property_response: + form_field_placement_condition_response: properties: data: - $ref: '#/components/schemas/catalog_entity_property_response_data' + $ref: '#/components/schemas/form_field_placement_condition_response_data' required: - data type: object - catalog_entity_property_list: + form_field_placement_condition_list: properties: data: items: - $ref: '#/components/schemas/catalog_entity_property_response_data' + $ref: '#/components/schemas/form_field_placement_condition_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_cause: + new_form_field_placement: properties: data: - $ref: '#/components/schemas/new_cause_data' + $ref: '#/components/schemas/new_form_field_placement_data' required: - data type: object - update_cause: + update_form_field_placement: properties: data: - $ref: '#/components/schemas/update_cause_data' + $ref: '#/components/schemas/update_form_field_placement_data' required: - data type: object - cause: + form_field_placement: properties: - name: - description: The name of the cause + form_field_id: + description: The form field that is placed. type: string - slug: - description: The slug of the cause + form_set_id: + description: The form set this field is placed in. type: string - description: - description: The description of the cause - nullable: true + form: + description: The form this field is placed on. type: string position: - description: Position of the cause - nullable: true + description: The position of the field placement. type: integer - created_at: - description: Date of creation + required: + description: Whether the field is unconditionally required on this form. + type: boolean + required_operator: + description: Logical operator when evaluating multiple form_field_placement_conditions + with conditioned=required + enum: + - and + - or type: string - updated_at: - description: Date of last update + placement_operator: + description: Logical operator when evaluating multiple form_field_placement_conditions + with conditioned=placement + enum: + - and + - or type: string + non_editable: + description: Whether the field is read-only and cannot be edited by users. + type: boolean required: - - created_at - - name - - updated_at + - form + - form_field_id + - form_set_id + - position + - required type: object - cause_response: + form_field_placement_response: properties: data: - $ref: '#/components/schemas/cause_response_data' + $ref: '#/components/schemas/form_field_placement_response_data' required: - data type: object - cause_list: + form_field_placement_list: properties: data: items: - $ref: '#/components/schemas/cause_response_data' + $ref: '#/components/schemas/form_field_placement_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_custom_field_option: + new_form_field_position: properties: data: - $ref: '#/components/schemas/new_custom_field_option_data' + $ref: '#/components/schemas/new_form_field_position_data' required: - data type: object - update_custom_field_option: + update_form_field_position: properties: data: - $ref: '#/components/schemas/update_custom_field_option_data' + $ref: '#/components/schemas/update_form_field_position_data' required: - data type: object - custom_field_option: + form_field_position: properties: - custom_field_id: - description: The ID of the parent custom field - type: integer - value: - description: The value of the custom_field_option + form_field_id: + description: The ID of the form field. type: string - color: - description: The hex color of the custom_field_option + form: + description: The form for the position + enum: + - web_new_incident_form + - web_update_incident_form + - web_incident_post_mortem_form + - web_incident_mitigation_form + - web_incident_resolution_form + - web_incident_cancellation_form + - web_scheduled_incident_form + - web_update_scheduled_incident_form + - incident_post_mortem + - slack_new_incident_form + - slack_update_incident_form + - slack_update_incident_status_form + - slack_incident_mitigation_form + - slack_incident_resolution_form + - slack_incident_cancellation_form + - slack_scheduled_incident_form + - slack_update_scheduled_incident_form type: string - default: - type: boolean position: - description: The position of the custom_field_option + description: The position of the form_field_position type: integer - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string required: - - color - - created_at + - form + - form_field_id - position - - updated_at - - value type: object - custom_field_option_response: + form_field_position_response: properties: data: - $ref: '#/components/schemas/custom_field_option_response_data' + $ref: '#/components/schemas/form_field_position_response_data' required: - data type: object - custom_field_option_list: + form_field_position_list: properties: data: items: - $ref: '#/components/schemas/custom_field_option_response_data' + $ref: '#/components/schemas/form_field_position_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_custom_field: + new_form_field: properties: data: - $ref: '#/components/schemas/new_custom_field_data' + $ref: '#/components/schemas/new_form_field_data' required: - data type: object - update_custom_field: + update_form_field: properties: data: - $ref: '#/components/schemas/update_custom_field_data' + $ref: '#/components/schemas/update_form_field_data' required: - data type: object - custom_field: + form_field: properties: - label: - description: The name of the custom_field - type: string kind: - description: The kind of the custom_field + description: The kind of the form field + enum: + - custom + - title + - summary + - mitigation_message + - resolution_message + - severity + - environments + - types + - services + - causes + - functionalities + - teams + - visibility + - mark_as_test + - mark_as_backfilled + - labels + - notify_emails + - trigger_manual_workflows + - show_ongoing_incidents + - attach_alerts + - mark_as_in_triage + - in_triage_at + - started_at + - detected_at + - acknowledged_at + - mitigated_at + - resolved_at + - closed_at + - custom_sub_status + - manual_starting_datetime_field + type: string + input_kind: + description: The input kind of the form field + enum: + - text + - textarea + - select + - multi_select + - date + - datetime + - number + - checkbox + - tags + - rich_text + type: string + value_kind: + description: The value kind of the form field + enum: + - inherit + - group + - service + - functionality + - user + - catalog_entity + - environment + - cause + - incident_type + type: string + value_kind_catalog_id: + description: The ID of the catalog used when value_kind is `catalog_entity` + nullable: true + type: string + name: + description: The name of the form field type: string - enabled: - description: Whether the custom_field is enabled - type: boolean slug: - description: The slug of the custom_field + description: The slug of the form field type: string description: - description: The description of the custom_field + description: The description of the form field nullable: true type: string shown: items: - description: Where the custom_field is shown - enum: - - incident_form - - incident_mitigation_form - - incident_resolution_form - - incident_post_mortem_form - - incident_slack_form - - incident_mitigation_slack_form - - incident_resolution_slack_form - - incident_post_mortem + description: "Where the form field is shown. Add custom forms using the\ + \ custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ + \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ + \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ + \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ + \ `incident_post_mortem`, `slack_new_incident_form`, `slack_update_incident_form`,\ + \ `slack_update_incident_status_form`, `slack_incident_mitigation_form`,\ + \ `slack_incident_resolution_form`, `slack_incident_cancellation_form`,\ + \ `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`" type: string type: array required: items: - description: Where the custom_field is required - enum: - - incident_form - - incident_mitigation_form - - incident_resolution_form - - incident_post_mortem_form - - incident_slack_form - - incident_mitigation_slack_form - - incident_resolution_slack_form + description: "Where the form field is required. Add custom forms using\ + \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ + \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ + \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ + \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ + \ `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`,\ + \ `slack_incident_mitigation_form`, `slack_incident_resolution_form`,\ + \ `slack_incident_cancellation_form`, `slack_scheduled_incident_form`,\ + \ `slack_update_scheduled_incident_form`" type: string - nullable: true type: array - default: - description: The default value for text field kinds + show_on_incident_details: + description: Whether the form field is shown on the incident details panel + type: boolean + enabled: + description: Whether the form field is enabled + type: boolean + default_values: + items: + description: The default values. + type: string + type: array + auto_set_by_catalog_property_id: + description: Catalog property ID to auto-set this form field. Only reference-kind + catalog properties are supported. nullable: true type: string - position: - description: The position of the custom_field - type: integer created_at: description: Date of creation type: string @@ -40241,218 +28806,152 @@ components: type: string required: - created_at - - label - - position + - default_values + - input_kind + - kind + - name - required - shown - - slug - updated_at + - value_kind type: object - custom_field_response: + form_field_response: properties: data: - $ref: '#/components/schemas/custom_field_response_data' + $ref: '#/components/schemas/form_field_response_data' required: - data type: object - custom_field_list: + form_field_list: properties: data: items: - $ref: '#/components/schemas/custom_field_response_data' + $ref: '#/components/schemas/form_field_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object - required: - - data - - links - type: object - new_custom_form: - properties: - data: - $ref: '#/components/schemas/new_custom_form_data' - required: - - data - type: object - update_custom_form: - properties: - data: - $ref: '#/components/schemas/update_custom_form_data' - required: - - data - type: object - custom_form: - properties: - name: - description: The name of the custom form. - type: string - slug: - description: The custom form slug. Add this to form_field.shown or form_field.required - to associate form fields with custom forms. - type: string - description: - nullable: true - type: string - enabled: - type: boolean - command: - description: The Slack command used to trigger this form. - type: string - created_at: - description: Date of creation. - type: string - updated_at: - description: Date of last update. - type: string - required: - - command - - created_at - - enabled - - name - - slug - - updated_at - type: object - custom_form_response: - properties: - data: - $ref: '#/components/schemas/custom_form_response_data' - required: - - data - type: object - custom_form_list: - properties: - data: - items: - $ref: '#/components/schemas/custom_form_response_data' - type: array - links: + meta: allOf: - - $ref: '#/components/schemas/links' + - $ref: '#/components/schemas/meta' type: object required: - data - links + - meta type: object - new_dashboard_panel: + new_form_set_condition: properties: data: - $ref: '#/components/schemas/new_dashboard_panel_data' + $ref: '#/components/schemas/new_form_set_condition_data' required: - data type: object - update_dashboard_panel: + update_form_set_condition: properties: data: - $ref: '#/components/schemas/update_dashboard_panel_data' + $ref: '#/components/schemas/update_form_set_condition_data' required: - data type: object - dashboard_panel: + form_set_condition: properties: - dashboard_id: - description: The panel dashboard + form_set_id: + description: The form set this condition applies. type: string - name: - description: The name of the dashboard_panel - nullable: true + form_field_id: + description: The form field this condition applies. type: string - params: - $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params' - position: - $ref: '#/components/schemas/new_dashboard_panel_data_attributes_position' - data: + comparison: + description: The condition comparison. + enum: + - equal + type: string + values: + description: The values for comparison. items: - type: object + description: The value for comparison. + type: string type: array required: - - params + - comparison + - form_field_id + - form_set_id + - values type: object - dashboard_panel_response: + form_set_condition_response: properties: data: - $ref: '#/components/schemas/dashboard_panel_response_data' + $ref: '#/components/schemas/form_set_condition_response_data' required: - data type: object - dashboard_panel_list: + form_set_condition_list: properties: data: items: - $ref: '#/components/schemas/dashboard_panel_response_data' + $ref: '#/components/schemas/form_set_condition_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_dashboard: + new_form_set: properties: data: - $ref: '#/components/schemas/new_dashboard_data' + $ref: '#/components/schemas/new_form_set_data' required: - data type: object - update_dashboard: + update_form_set: properties: data: - $ref: '#/components/schemas/update_dashboard_data' + $ref: '#/components/schemas/update_form_set_data' required: - data type: object - dashboard: + form_set: properties: - team_id: - description: The dashboard team - type: integer - user_id: - description: The dashboard user owner if owner is of type user - nullable: true - type: integer name: - description: The name of the dashboard - type: string - description: - description: The description of the dashboard - nullable: true - type: string - owner: - description: The owner type of the dashboard - enum: - - user - - team - type: string - public: - description: Whether the dashboard is public - type: boolean - range: - description: The date range for dashboard panel data - nullable: true + description: The name of the form set type: string - period: - description: The grouping period for dashboard panel data - nullable: true + slug: + description: The slug of the form set type: string - auto_refresh: - description: Whether the dashboard auto-updates the UI with new data. + is_default: + description: Whether the form set is default type: boolean - color: - description: The hex color of the dashboard - enum: - - '#FCF2CF' - - '#D7F5E1' - - '#E9E2FF' - - '#FAE6E8' - - '#FAEEE6' - nullable: true - type: string - icon: - description: The emoji icon of the dashboard - type: string + forms: + description: "The forms included in the form set. Add custom forms using\ + \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ + \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ + \ `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`,\ + \ `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`,\ + \ `slack_update_incident_status_form`, `slack_incident_mitigation_form`,\ + \ `slack_incident_resolution_form`, `slack_incident_cancellation_form`,\ + \ `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`" + items: + description: "The form included in the form set. Add custom forms using\ + \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ + \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ + \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ + \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ + \ `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`,\ + \ `slack_incident_mitigation_form`, `slack_incident_resolution_form`,\ + \ `slack_incident_cancellation_form`, `slack_scheduled_incident_form`,\ + \ `slack_update_scheduled_incident_form`" + type: string + type: array created_at: description: Date of creation type: string @@ -40460,83 +28959,157 @@ components: description: Date of last update type: string required: + - created_at + - forms + - is_default - name - - owner - - public + - updated_at type: object - dashboard_response: + form_set_response: properties: data: - $ref: '#/components/schemas/dashboard_response_data' + $ref: '#/components/schemas/form_set_response_data' required: - data type: object - dashboard_list: + form_set_list: properties: data: items: - $ref: '#/components/schemas/dashboard_response_data' + $ref: '#/components/schemas/form_set_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_environment: + new_functionality: properties: data: - $ref: '#/components/schemas/new_environment_data' + $ref: '#/components/schemas/new_functionality_data' required: - data type: object - update_environment: + update_functionality: properties: data: - $ref: '#/components/schemas/update_environment_data' + $ref: '#/components/schemas/update_functionality_data' required: - data type: object - environment: + functionality: properties: name: - description: The name of the environment + description: The name of the functionality type: string slug: - description: The slug of the environment + description: The slug of the functionality type: string description: - description: The description of the environment + description: The description of the functionality + nullable: true + type: string + public_description: + description: The public description of the functionality nullable: true type: string notify_emails: - description: Emails attached to the environment + description: Emails attached to the functionality items: type: string nullable: true type: array color: - description: The hex color of the environment + description: The hex color of the functionality + nullable: true + type: string + backstage_id: + description: "The Backstage entity id associated to this functionality.\ + \ eg: :namespace/:kind/:entity_name" + nullable: true + type: string + external_id: + description: The external id associated to this functionality + nullable: true + type: string + pagerduty_id: + description: The PagerDuty service id associated to this functionality + nullable: true + type: string + opsgenie_id: + description: The Opsgenie service id associated to this functionality + nullable: true + type: string + opsgenie_team_id: + description: The Opsgenie team id associated to this functionality + nullable: true + type: string + cortex_id: + description: The Cortex group id associated to this functionality + nullable: true + type: string + service_now_ci_sys_id: + description: The Service Now CI sys id associated to this functionality nullable: true type: string position: - description: Position of the environment + description: Position of the functionality nullable: true type: integer + environment_ids: + description: Environments associated with this functionality + items: + type: string + nullable: true + type: array + service_ids: + description: Services associated with this functionality + items: + type: string + nullable: true + type: array + owner_group_ids: + description: Owner Teams associated with this functionality + items: + type: string + nullable: true + type: array + owner_user_ids: + description: Owner Users associated with this functionality + items: + type: integer + nullable: true + type: array + escalation_policy_id: + description: The escalation policy id of the functionality + nullable: true + type: string slack_channels: - description: Slack Channels associated with this environment + description: Slack Channels associated with this functionality items: $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' nullable: true type: array slack_aliases: - description: Slack Aliases associated with this environment + description: Slack Aliases associated with this functionality items: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this functionality. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + nullable: true + type: array created_at: description: Date of creation type: string @@ -40548,1260 +29121,1581 @@ components: - name - updated_at type: object - environment_response: + incidents_chart_response: + required: + - data + type: object + uptime_chart_response: + required: + - data + type: object + functionality_response: properties: data: - $ref: '#/components/schemas/environment_response_data' + $ref: '#/components/schemas/functionality_response_data' required: - data type: object - environment_list: + functionality_list: properties: data: items: - $ref: '#/components/schemas/environment_response_data' + $ref: '#/components/schemas/functionality_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - errors_list: + add_action_item_task_params: properties: - errors: + task_type: + enum: + - add_action_item + type: string + attribute_to_query_by: + description: Attribute of the Incident to match against + enum: + - jira_issue_id + nullable: true + type: string + query_value: + description: Value that attribute_to_query_by to uses to match against + nullable: true + type: string + incident_role_id: + description: The role id this action item is associated with + type: string + assigned_to_user_id: + description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ + \ id this action item is assigned to" + type: string + assigned_to_user: + $ref: '#/components/schemas/add_action_item_task_params_assigned_to_user' + priority: + description: The action item priority + enum: + - high + - medium + - low + type: string + kind: + description: The action item kind + type: string + summary: + description: The action item summary + type: string + description: + description: The action item description + type: string + status: + description: The action item status + enum: + - open + - in_progress + - cancelled + - done + type: string + post_to_incident_timeline: + type: boolean + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + post_to_slack_channels: items: - $ref: '#/components/schemas/errors_list_errors_inner' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - type: object - new_escalation_policy: - properties: - data: - $ref: '#/components/schemas/new_escalation_policy_data' - required: - - data - type: object - update_escalation_policy: - properties: - data: - $ref: '#/components/schemas/update_escalation_policy_data' required: - - data + - priority + - status + - summary type: object - escalation_policy: + update_action_item_task_params: properties: - name: - description: The name of the escalation policy + task_type: + enum: + - update_action_item type: string - description: - description: The description of the escalation policy - nullable: true + query_value: + description: Value that attribute_to_query_by to uses to match against type: string - repeat_count: - description: The number of times this policy will be executed until someone - acknowledges the alert - type: integer - created_by_user_id: - description: User who created the escalation policy - type: integer - last_updated_by_user_id: - description: User who updated the escalation policy - type: integer + attribute_to_query_by: + default: id + description: Attribute of the action item to match against + enum: + - 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 + - gitlab_issue_id + - freshservice_ticket_id + - freshservice_task_id + - clickup_task_id + type: string + summary: + description: Brief description of the action item + type: string + assigned_to_user_id: + description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ + \ id this action item is assigned to" + type: string + assigned_to_user: + $ref: '#/components/schemas/add_action_item_task_params_assigned_to_user' group_ids: - description: Associated groups (alerting the group will trigger escalation - policy) - items: - type: string - type: array - service_ids: - description: Associated services (alerting the service will trigger escalation - policy) items: type: string + nullable: true type: array - business_hours: - $ref: '#/components/schemas/new_escalation_policy_data_attributes_business_hours' - created_at: - description: Date of creation + description: + description: The action item description type: string - updated_at: - description: Date of last update + priority: + description: The action item priority + enum: + - high + - medium + - low + type: string + status: + description: The action item status + enum: + - open + - in_progress + - cancelled + - done + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true type: string + post_to_incident_timeline: + type: boolean required: - - created_by_user_id - - name - - repeat_count + - attribute_to_query_by + - query_value type: object - escalation_policy_response: + add_role_task_params: properties: - data: - $ref: '#/components/schemas/escalation_policy_response_data' + task_type: + enum: + - add_role + type: string + incident_role_id: + description: The role id to add to the incident + type: string + assigned_to_user_id: + description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ + \ id this role is assigned to" + type: string + assigned_to_user: + $ref: '#/components/schemas/add_role_task_params_assigned_to_user' required: - - data + - incident_role_id type: object - escalation_policy_list: + add_slack_bookmark_task_params: + anyOf: [] + nullable: true properties: - data: - items: - $ref: '#/components/schemas/escalation_policy_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' + task_type: + enum: + - add_slack_bookmark + type: string + playbook_id: + description: The playbook id if bookmark is of an incident playbook + type: string + channel: + properties: + id: + type: string + name: + type: string type: object + title: + description: The bookmark title. Required if not a playbook bookmark + nullable: true + type: string + link: + description: The bookmark link. Required if not a playbook bookmark + nullable: true + type: string + emoji: + description: The bookmark emoji + type: string required: - - data - - links - type: object - new_escalation_policy_path: - properties: - data: - $ref: '#/components/schemas/new_escalation_policy_path_data' - required: - - data + - channel type: object - update_escalation_policy_path: + add_team_task_params: properties: - data: - $ref: '#/components/schemas/update_escalation_policy_path_data' + task_type: + enum: + - add_team + type: string + group_id: + description: The team id + type: string required: - - data + - group_id type: object - escalation_policy_path: + add_to_timeline_task_params: properties: - name: - description: The name of the escalation path - type: string - default: - description: Whether this escalation path is the default path - type: boolean - notification_type: - description: Notification rule type - type: string - escalation_policy_id: - description: The ID of the escalation policy - type: string - match_mode: - description: How path rules are matched. + task_type: enum: - - match-all-rules - - match-any-rule + - add_to_timeline type: string - position: - description: The position of this path in the paths for this EP. - type: integer - repeat: - description: Whether this path should be repeated until someone acknowledges - the alert - nullable: true - type: boolean - repeat_count: - description: The number of times this path will be executed until someone - acknowledges the alert - nullable: true - type: integer - initial_delay: - description: Initial delay for escalation path in minutes. Maximum 1 week - (10080). - type: integer - created_at: - description: Date of creation + event: + description: The timeline event description type: string - updated_at: - description: Date of last update + url: + description: A URL for the timeline event type: string - rules: - description: Escalation path rules + post_to_slack_channels: items: - $ref: '#/components/schemas/escalation_policy_path_rules_inner' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - default - - escalation_policy_id - - name - - notification_type - - repeat - - repeat_count + - event type: object - escalation_policy_path_response: + archive_slack_channels_task_params: properties: - data: - $ref: '#/components/schemas/escalation_policy_path_response_data' + task_type: + enum: + - archive_slack_channels + type: string + channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array required: - - data + - channels type: object - escalation_policy_path_list: + attach_datadog_dashboards_task_params: properties: - data: + task_type: + enum: + - attach_datadog_dashboards + type: string + dashboards: items: - $ref: '#/components/schemas/escalation_policy_path_list_data_inner' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object required: - - data - - links + - dashboards type: object - new_escalation_policy_level: + auto_assign_role_opsgenie_task_params: properties: - data: - $ref: '#/components/schemas/new_escalation_policy_level_data' + task_type: + enum: + - auto_assign_role_opsgenie + type: string + incident_role_id: + description: The role id + type: string + schedule: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - data + - incident_role_id + - schedule type: object - update_escalation_policy_level: + auto_assign_role_rootly_task_params: properties: - data: - $ref: '#/components/schemas/update_escalation_policy_level_data' + task_type: + enum: + - auto_assign_role_rootly + type: string + incident_role_id: + description: The role id + type: string + escalation_policy_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + service_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + user_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + group_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + schedule_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - data + - incident_role_id type: object - escalation_policy_level: + auto_assign_role_pagerduty_task_params: + anyOf: [] + nullable: true properties: - escalation_policy_id: - description: The ID of the escalation policy + task_type: + enum: + - auto_assign_role_pagerduty + type: string + incident_role_id: + description: The role id + type: string + service: + properties: + id: + type: string + name: + type: string + type: object + schedule: + properties: + id: + type: string + name: + type: string + type: object + escalation_policy: + properties: + id: + type: string + name: + type: string + type: object + required: + - incident_role_id + type: object + update_pagerduty_incident_task_params: + properties: + task_type: + enum: + - update_pagerduty_incident + type: string + pagerduty_incident_id: + description: Pagerduty incident id type: string - escalation_policy_path_id: - description: The ID of the dynamic escalation policy path the level will - belong to. If nothing is specified it will add the level to your default - path. - nullable: true + title: + description: Title to update to type: string - paging_strategy_configuration_strategy: + status: enum: - - default - - random - - cycle - - alert - nullable: true + - resolved + - acknowledged + - auto type: string - paging_strategy_configuration_schedule_strategy: - enum: - - on_call_only - - everyone - nullable: true + resolution: + description: A message outlining the incident's resolution in PagerDuty type: string - delay: - description: Delay before notification targets will be alerted. - type: integer - position: - description: Position of the escalation policy level + escalation_level: + description: Escalation level of policy attached to incident + example: 1 + maximum: 20 + minimum: 1 type: integer - created_at: - description: Date of creation + urgency: + description: "PagerDuty incident urgency, selecting auto will let Rootly\ + \ auto map our incident severity" + enum: + - high + - low + - auto type: string - updated_at: - description: Date of last update + priority: + description: "PagerDuty incident priority, selecting auto will let Rootly\ + \ auto map our incident severity" type: string - notification_target_params: - description: Escalation level's notification targets - items: - $ref: '#/components/schemas/update_escalation_policy_level_data_attributes_notification_target_params_inner' - type: array required: - - delay - - escalation_policy_id - - notification_target_params - - position + - pagerduty_incident_id type: object - escalation_policy_level_response: + create_pagerduty_status_update_task_params: properties: - data: - $ref: '#/components/schemas/escalation_policy_level_response_data' + task_type: + enum: + - create_pagerduty_status_update + type: string + pagerduty_incident_id: + description: PagerDuty incident id + type: string + message: + description: A message outlining the incident's resolution in PagerDuty + type: string required: - - data + - message + - pagerduty_incident_id type: object - escalation_policy_level_list: + create_pagertree_alert_task_params: properties: - data: + task_type: + enum: + - create_pagertree_alert + type: string + title: + description: Title of alert as text + type: string + description: + description: Description of alert as text + type: string + urgency: + enum: + - auto + - critical + - high + - medium + - low + type: string + severity: + enum: + - auto + - SEV-1 + - SEV-2 + - SEV-3 + - SEV-4 + type: string + teams: items: - $ref: '#/components/schemas/escalation_policy_level_list_data_inner' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_form_field_option: - properties: - data: - $ref: '#/components/schemas/new_form_field_option_data' - required: - - data - type: object - update_form_field_option: - properties: - data: - $ref: '#/components/schemas/update_form_field_option_data' - required: - - data + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + incident: + description: Setting to true makes an alert a Pagertree incident + type: boolean type: object - form_field_option: + update_pagertree_alert_task_params: properties: - form_field_id: - description: The ID of the parent custom field + task_type: + enum: + - update_pagertree_alert type: string - value: - description: The value of the form_field_option + pagertree_alert_id: + description: The prefix ID of the Pagertree alert type: string - color: - description: The hex color of the form_field_option + title: + description: Title of alert as text type: string - default: - type: boolean - position: - description: The position of the form_field_option - type: integer - created_at: - description: Date of creation + description: + description: Description of alert as text type: string - updated_at: - description: Date of last update + urgency: + enum: + - auto + - critical + - high + - medium + - low type: string - required: - - color - - created_at - - position - - updated_at - - value + severity: + enum: + - auto + - SEV-1 + - SEV-2 + - SEV-3 + - SEV-4 + type: string + teams: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + incident: + description: Setting to true makes an alert a Pagertree incident + type: boolean type: object - form_field_option_response: + auto_assign_role_victor_ops_task_params: properties: - data: - $ref: '#/components/schemas/form_field_option_response_data' + task_type: + enum: + - auto_assign_role_victor_ops + type: string + incident_role_id: + description: The role id + type: string + team: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - data + - incident_role_id + - team type: object - form_field_option_list: + call_people_task_params: properties: - data: + task_type: + enum: + - call_people + type: string + phone_numbers: items: - $ref: '#/components/schemas/form_field_option_response_data' + description: A recipient phone number + example: "[\"14150001111\"]" + type: string type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_form_field_placement_condition: - properties: - data: - $ref: '#/components/schemas/new_form_field_placement_condition_data' + name: + description: The name + type: string + content: + description: The message to be read by text-to-voice + type: string required: - - data + - content + - name + - phone_numbers type: object - update_form_field_placement_condition: + create_airtable_table_record_task_params: properties: - data: - $ref: '#/components/schemas/update_form_field_placement_condition_data' + task_type: + enum: + - create_airtable_table_record + type: string + base: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + table: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string required: - - data + - base + - table type: object - form_field_placement_condition: + create_asana_subtask_task_params: properties: - form_field_placement_id: - description: The form field placement this condition applies. - type: string - conditioned: - description: The resource or attribute the condition applies. + task_type: enum: - - placement - - required + - create_asana_subtask type: string - position: - description: The condition position. - type: integer - form_field_id: - description: The condition field. + parent_task_id: + description: The parent task id type: string - comparison: - description: The condition comparison. + title: + description: The subtask title + type: string + notes: + type: string + assign_user_email: + description: The assigned user's email + type: string + completion: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + due_date: + description: The due date + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + dependency_direction: + default: blocking enum: - - equal - - is_set - - is_not_set + - blocking + - blocked_by type: string - values: - description: The values for comparison. + dependent_task_ids: + description: Dependent task ids. Supports liquid syntax items: - description: The value for comparison. type: string + nullable: true type: array required: - - comparison - - conditioned - - form_field_id - - form_field_placement_id - - position - - values - type: object - form_field_placement_condition_response: - properties: - data: - $ref: '#/components/schemas/form_field_placement_condition_response_data' - required: - - data + - completion + - parent_task_id + - title type: object - form_field_placement_condition_list: + create_asana_task_task_params: properties: - data: + task_type: + enum: + - create_asana_task + type: string + workspace: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + projects: items: - $ref: '#/components/schemas/form_field_placement_condition_response_data' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_form_field_placement: - properties: - data: - $ref: '#/components/schemas/new_form_field_placement_data' - required: - - data - type: object - update_form_field_placement: - properties: - data: - $ref: '#/components/schemas/update_form_field_placement_data' - required: - - data - type: object - form_field_placement: - properties: - form_field_id: - description: The form field that is placed. + title: + description: The task title type: string - form_set_id: - description: The form set this field is placed in. + notes: type: string - form: - description: The form this field is placed on. + assign_user_email: + description: The assigned user's email type: string - position: - description: The position of the field placement. - type: integer - required: - description: Whether the field is unconditionally required on this form. - type: boolean - required_operator: - description: Logical operator when evaluating multiple form_field_placement_conditions - with conditioned=required - enum: - - and - - or + completion: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + due_date: + description: The due date type: string - placement_operator: - description: Logical operator when evaluating multiple form_field_placement_conditions - with conditioned=placement + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + dependency_direction: + default: blocking enum: - - and - - or + - blocking + - blocked_by type: string - required: - - form - - form_field_id - - form_set_id - - position - - required - type: object - form_field_placement_response: - properties: - data: - $ref: '#/components/schemas/form_field_placement_response_data' - required: - - data - type: object - form_field_placement_list: - properties: - data: + dependent_task_ids: + description: Dependent task ids. Supports liquid syntax items: - $ref: '#/components/schemas/form_field_placement_response_data' + type: string + nullable: true type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_form_field_position: - properties: - data: - $ref: '#/components/schemas/new_form_field_position_data' required: - - data + - completion + - projects + - title + - workspace type: object - update_form_field_position: + create_confluence_page_task_params: properties: - data: - $ref: '#/components/schemas/update_form_field_position_data' + task_type: + enum: + - create_confluence_page + type: string + integration: + $ref: '#/components/schemas/create_confluence_page_task_params_integration' + space: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + ancestor: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + template: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: + description: The page title + type: string + content: + description: The page content + type: string + post_mortem_template_id: + description: The Retrospective template to use + type: string + mark_post_mortem_as_published: + default: true + type: boolean required: - - data + - space + - title type: object - form_field_position: + create_datadog_notebook_task_params: properties: - form_field_id: - description: The ID of the form field. + task_type: + enum: + - create_datadog_notebook type: string - form: - description: The form for the position + post_mortem_template_id: + description: "Retrospective template to use when creating notebook, if desired" + type: string + mark_post_mortem_as_published: + default: true + type: boolean + template: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: + description: The notebook title + type: string + kind: + description: The notebook kind enum: - - web_new_incident_form - - web_update_incident_form - - web_incident_post_mortem_form - - web_incident_mitigation_form - - web_incident_resolution_form - - web_incident_cancellation_form - - web_scheduled_incident_form - - web_update_scheduled_incident_form - - incident_post_mortem - - slack_new_incident_form - - slack_update_incident_form - - slack_update_incident_status_form - - slack_incident_mitigation_form - - slack_incident_resolution_form - - slack_incident_cancellation_form - - slack_scheduled_incident_form - - slack_update_scheduled_incident_form + - postmortem + - runbook + - investigation + - documentation + - report + type: string + content: + description: The notebook content type: string - position: - description: The position of the form_field_position - type: integer - required: - - form - - form_field_id - - position - type: object - form_field_position_response: - properties: - data: - $ref: '#/components/schemas/form_field_position_response_data' required: - - data + - kind + - title type: object - form_field_position_list: + create_coda_page_task_params: properties: - data: - items: - $ref: '#/components/schemas/form_field_position_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + task_type: + enum: + - create_coda_page + type: string + post_mortem_template_id: + description: "Retrospective template to use when creating page, if desired" + type: string + mark_post_mortem_as_published: + default: true + type: boolean + title: + description: The Coda page title + type: string + subtitle: + description: The Coda page subtitle + type: string + content: + description: The Coda page content + type: string + template: + $ref: '#/components/schemas/create_coda_page_task_params_template' + folder_id: + description: The Coda folder id + type: string + doc: + $ref: '#/components/schemas/create_coda_page_task_params_doc' required: - - data - - links + - title type: object - new_form_field: + create_dropbox_paper_page_task_params: properties: - data: - $ref: '#/components/schemas/new_form_field_data' + task_type: + enum: + - create_dropbox_paper_page + type: string + post_mortem_template_id: + description: "Retrospective template to use when creating page task, if\ + \ desired" + type: string + mark_post_mortem_as_published: + default: true + type: boolean + title: + description: The page task title + type: string + content: + description: The page content + type: string + namespace: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + parent_folder: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - data + - title type: object - update_form_field: + create_github_issue_task_params: properties: - data: - $ref: '#/components/schemas/update_form_field_data' + task_type: + enum: + - create_github_issue + type: string + title: + description: The issue title + type: string + body: + description: The issue body + type: string + repository: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + labels: + description: The issue labels + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + issue_type: + $ref: '#/components/schemas/create_github_issue_task_params_issue_type' + parent_issue_number: + description: The parent issue number for sub-issue linking + nullable: true + type: string required: - - data + - repository + - title type: object - form_field: + create_gitlab_issue_task_params: properties: - kind: - description: The kind of the form field + task_type: enum: - - custom - - title - - summary - - mitigation_message - - resolution_message - - severity - - environments - - types - - services - - causes - - functionalities - - teams - - visibility - - mark_as_test - - mark_as_backfilled - - labels - - notify_emails - - trigger_manual_workflows - - show_ongoing_incidents - - attach_alerts - - mark_as_in_triage - - in_triage_at - - started_at - - detected_at - - acknowledged_at - - mitigated_at - - resolved_at - - closed_at - - manual_starting_datetime_field + - create_gitlab_issue type: string - input_kind: - description: The input kind of the form field + issue_type: + description: The issue type enum: - - text - - textarea - - select - - multi_select - - date - - datetime - - number - - checkbox - - tags - - rich_text + - issue + - incident + - test_case + - task type: string - value_kind: - description: The value kind of the form field + title: + description: The issue title + type: string + description: + description: The issue description + type: string + repository: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + labels: + description: The issue labels + type: string + due_date: + description: The due date + type: string + required: + - repository + - title + type: object + create_outlook_event_task_params: + properties: + task_type: enum: - - inherit - - group - - service - - functionality - - user - - catalog_entity + - create_outlook_event type: string - value_kind_catalog_id: - description: The ID of the catalog used when value_kind is `catalog_entity` + calendar: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + attendees: + description: Emails of attendees + items: + type: string + type: array + time_zone: + description: A valid IANA time zone name. nullable: true type: string - name: - description: The name of the form field + days_until_meeting: + description: The days until meeting + maximum: 31 + minimum: 0 + type: integer + time_of_meeting: + description: Time of meeting in format HH:MM + example: 14:30 type: string - slug: - description: The slug of the form field + meeting_duration: + description: "Meeting duration in format like '1 hour', '30 minutes'" + example: 1 hour + type: string + summary: + description: The event summary type: string description: - description: The description of the form field - nullable: true + description: The event description type: string - shown: + exclude_weekends: + type: boolean + enable_online_meeting: + description: Enable Microsoft Teams online meeting + type: boolean + post_to_incident_timeline: + type: boolean + post_to_slack_channels: items: - description: "Where the form field is shown. Add custom forms using the\ - \ custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ - \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ - \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ - \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ - \ `incident_post_mortem`, `slack_new_incident_form`, `slack_update_incident_form`,\ - \ `slack_update_incident_status_form`, `slack_incident_mitigation_form`,\ - \ `slack_incident_resolution_form`, `slack_incident_cancellation_form`,\ - \ `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`" - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - required: + required: + - calendar + - days_until_meeting + - description + - meeting_duration + - summary + - time_of_meeting + type: object + create_google_calendar_event_task_params: + properties: + task_type: + enum: + - create_google_calendar_event + type: string + attendees: + description: Emails of attendees items: - description: "Where the form field is required. Add custom forms using\ - \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ - \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ - \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ - \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ - \ `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`,\ - \ `slack_incident_mitigation_form`, `slack_incident_resolution_form`,\ - \ `slack_incident_cancellation_form`, `slack_scheduled_incident_form`,\ - \ `slack_update_scheduled_incident_form`" type: string type: array - show_on_incident_details: - description: Whether the form field is shown on the incident details panel + time_zone: + description: A valid IANA time zone name. + nullable: true + type: string + calendar_id: + default: primary + nullable: true + type: string + days_until_meeting: + description: The days until meeting + maximum: 31 + minimum: 0 + type: integer + time_of_meeting: + description: Time of meeting in format HH:MM + example: 14:30 + type: string + meeting_duration: + description: "Meeting duration in format like '1 hour', '30 minutes'" + example: 1 hour + type: string + send_updates: + description: Send an email to the attendees notifying them of the event type: boolean - enabled: - description: Whether the form field is enabled + can_guests_modify_event: type: boolean - default_values: - items: - description: The default values. - type: string - type: array - created_at: - description: Date of creation + can_guests_see_other_guests: + type: boolean + can_guests_invite_others: + type: boolean + summary: + description: The event summary type: string - updated_at: - description: Date of last update + description: + description: The event description type: string - required: - - created_at - - default_values - - input_kind - - kind - - name - - required - - shown - - slug - - updated_at - - value_kind - type: object - form_field_response: - properties: - data: - $ref: '#/components/schemas/form_field_response_data' - required: - - data - type: object - form_field_list: - properties: - data: + exclude_weekends: + type: boolean + conference_solution_key: + description: Sets the video conference type attached to the meeting + enum: + - eventHangout + - eventNamedHangout + - hangoutsMeet + - addOn + nullable: true + type: string + post_to_incident_timeline: + type: boolean + post_to_slack_channels: items: - $ref: '#/components/schemas/form_field_response_data' + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object required: - - data - - links + - days_until_meeting + - description + - meeting_duration + - summary + - time_of_meeting type: object - new_form_set_condition: + update_google_docs_page_task_params: properties: - data: - $ref: '#/components/schemas/new_form_set_condition_data' + task_type: + enum: + - update_google_docs_page + type: string + file_id: + description: The Google Doc file ID + type: string + title: + description: The Google Doc title + type: string + content: + description: The Google Doc content + type: string + post_mortem_template_id: + description: "Retrospective template to use when updating page, if desired" + type: string + template_id: + description: The Google Doc file ID to use as a template. + type: string required: - - data + - file_id type: object - update_form_set_condition: + update_coda_page_task_params: properties: - data: - $ref: '#/components/schemas/update_form_set_condition_data' + task_type: + enum: + - update_coda_page + type: string + doc_id: + description: The Coda doc id + type: string + page_id: + description: The Coda page id + type: string + title: + description: The Coda page title + type: string + subtitle: + description: The Coda page subtitle + type: string + content: + description: The Coda page content + type: string + template: + $ref: '#/components/schemas/create_coda_page_task_params_template' required: - - data + - page_id type: object - form_set_condition: + update_google_calendar_event_task_params: properties: - form_set_id: - description: The form set this condition applies. + task_type: + enum: + - create_google_calendar_event type: string - form_field_id: - description: The form field this condition applies. + calendar_id: + default: primary + nullable: true type: string - comparison: - description: The condition comparison. - enum: - - equal + event_id: + description: The event ID type: string - values: - description: The values for comparison. + summary: + description: The event summary + type: string + description: + description: The event description + type: string + adjustment_days: + description: Days to adjust meeting by + maximum: 31 + minimum: 0 + type: integer + time_of_meeting: + description: Time of meeting in format HH:MM + type: string + meeting_duration: + description: "Meeting duration in format like '1 hour', '30 minutes'" + example: 1 hour + type: string + send_updates: + description: Send an email to the attendees notifying them of the event + type: boolean + can_guests_modify_event: + type: boolean + can_guests_see_other_guests: + type: boolean + can_guests_invite_others: + type: boolean + attendees: + description: Emails of attendees items: - description: The value for comparison. type: string type: array + replace_attendees: + type: boolean + conference_solution_key: + description: Sets the video conference type attached to the meeting + enum: + - eventHangout + - eventNamedHangout + - hangoutsMeet + - addOn + nullable: true + type: string + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array required: - - comparison - - form_field_id - - form_set_id - - values - type: object - form_set_condition_response: - properties: - data: - $ref: '#/components/schemas/form_set_condition_response_data' - required: - - data - type: object - form_set_condition_list: - properties: - data: - items: - $ref: '#/components/schemas/form_set_condition_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_form_set: - properties: - data: - $ref: '#/components/schemas/new_form_set_data' - required: - - data - type: object - update_form_set: - properties: - data: - $ref: '#/components/schemas/update_form_set_data' - required: - - data + - event_id type: object - form_set: + create_sharepoint_page_task_params: properties: - name: - description: The name of the form set + task_type: + enum: + - create_sharepoint_page type: string - slug: - description: The slug of the form set + post_mortem_template_id: + description: "Retrospective template to use when creating page, if desired" type: string - is_default: - description: Whether the form set is default + mark_post_mortem_as_published: + default: true type: boolean - forms: - description: "The forms included in the form set. Add custom forms using\ - \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ - \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ - \ `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`,\ - \ `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`,\ - \ `slack_update_incident_status_form`, `slack_incident_mitigation_form`,\ - \ `slack_incident_resolution_form`, `slack_incident_cancellation_form`,\ - \ `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form`" - items: - description: "The form included in the form set. Add custom forms using\ - \ the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`,\ - \ `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`,\ - \ `web_incident_resolution_form`, `web_incident_cancellation_form`,\ - \ `web_scheduled_incident_form`, `web_update_scheduled_incident_form`,\ - \ `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`,\ - \ `slack_incident_mitigation_form`, `slack_incident_resolution_form`,\ - \ `slack_incident_cancellation_form`, `slack_scheduled_incident_form`,\ - \ `slack_update_scheduled_incident_form`" - type: string - type: array - created_at: - description: Date of creation + title: + description: The page title type: string - updated_at: - description: Date of last update + site: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + drive: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + parent_folder: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + content: + description: The page content + type: string + template_id: + description: The SharePoint file ID to use as a template type: string required: - - created_at - - forms - - is_default - - name - - slug - - updated_at + - drive + - site + - title type: object - form_set_response: + create_google_docs_page_task_params: properties: - data: - $ref: '#/components/schemas/form_set_response_data' + task_type: + enum: + - create_google_docs_page + type: string + post_mortem_template_id: + description: "Retrospective template to use when creating page, if desired" + type: string + mark_post_mortem_as_published: + default: true + type: boolean + title: + description: The page title + type: string + drive: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + parent_folder: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + content: + description: The page content + type: string + template_id: + description: The Google Doc file ID to use as a template + type: string + permissions: + description: Page permissions JSON + type: string required: - - data + - title type: object - form_set_list: + create_google_docs_permissions_task_params: properties: - data: - items: - $ref: '#/components/schemas/form_set_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + task_type: + enum: + - create_google_docs_permissions + type: string + file_id: + description: The Google Doc file ID + type: string + permissions: + description: Page permissions JSON + type: string + send_notification_email: + type: boolean + email_message: + description: Email message notification + nullable: true + type: string required: - - data - - links + - file_id + - permissions type: object - new_functionality: + remove_google_docs_permissions_task_params: properties: - data: - $ref: '#/components/schemas/new_functionality_data' + task_type: + enum: + - remove_google_docs_permissions + type: string + file_id: + description: The Google Doc file ID + type: string + attribute_to_query_by: + default: email_address + enum: + - type + - role + - email_address + type: string + value: + type: string required: - - data + - attribute_to_query_by + - file_id + - value type: object - update_functionality: + create_quip_page_task_params: properties: - data: - $ref: '#/components/schemas/update_functionality_data' + task_type: + enum: + - create_google_docs_page + type: string + post_mortem_template_id: + description: "Retrospective template to use when creating page, if desired" + type: string + title: + description: The page title + type: string + parent_folder_id: + description: The parent folder id + type: string + content: + description: The page content + type: string + template_id: + description: The Quip file ID to use as a template + type: string + mark_post_mortem_as_published: + default: true + type: boolean required: - - data + - title type: object - functionality: + create_google_meeting_task_params: properties: - name: - description: The name of the functionality + task_type: + enum: + - create_google_meeting type: string - slug: - description: The slug of the functionality + summary: + description: "[DEPRECATED] The meeting summary" + nullable: true type: string description: - description: The description of the functionality + description: "[DEPRECATED] The meeting description" nullable: true type: string - public_description: - description: The public description of the functionality + conference_solution_key: + description: "[DEPRECATED] Sets the video conference type attached to the\ + \ meeting" + enum: + - eventHangout + - eventNamedHangout + - hangoutsMeet + - addOn nullable: true type: string - notify_emails: - description: Emails attached to the functionality - items: - type: string - nullable: true - type: array - color: - description: The hex color of the functionality + record_meeting: + description: Rootly AI will record the meeting and automatically generate + a transcript and summary from your meeting + type: boolean + recording_mode: + description: "The video layout for the bot's recording (e.g. speaker_view,\ + \ gallery_view, gallery_view_v2, audio_only)" + enum: + - speaker_view + - gallery_view + - gallery_view_v2 + - audio_only nullable: true type: string - backstage_id: - description: "The Backstage entity id associated to this functionality.\ - \ eg: :namespace/:kind/:entity_name" - nullable: true + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + required: + - description + - summary + type: object + create_go_to_meeting_task_params: + properties: + task_type: + enum: + - create_go_to_meeting_task type: string - external_id: - description: The external id associated to this functionality - nullable: true + subject: + description: The meeting subject type: string - pagerduty_id: - description: The PagerDuty service id associated to this functionality + conference_call_info: + default: voip + enum: + - ptsn + - free + - hyrid + - voip + example: voip nullable: true type: string - opsgenie_id: - description: The Opsgenie service id associated to this functionality + password_required: nullable: true + type: boolean + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + required: + - subject + type: object + create_incident_task_params: + properties: + task_type: + enum: + - create_incident type: string - opsgenie_team_id: - description: The Opsgenie team id associated to this functionality - nullable: true + title: + description: The incident title type: string - cortex_id: - description: The Cortex group id associated to this functionality - nullable: true + summary: + description: The incident summary type: string - service_now_ci_sys_id: - description: The Service Now CI sys id associated to this functionality - nullable: true + severity_id: type: string - position: - description: Position of the functionality - nullable: true - type: integer - environment_ids: - description: Environments associated with this functionality + incident_type_ids: items: type: string - nullable: true type: array service_ids: - description: Services associated with this functionality + description: Array of service UUIDs items: type: string - nullable: true type: array - owners_group_ids: - description: Owner Teams associated with this functionality + functionality_ids: + description: Array of functionality UUIDs items: type: string - nullable: true type: array - owners_user_ids: - description: Owner Users associated with this functionality + environment_ids: items: - type: integer - nullable: true + type: string type: array - slack_channels: - description: Slack Channels associated with this functionality + group_ids: + description: Array of group/team UUIDs items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' - nullable: true + type: string type: array - slack_aliases: - description: Slack Aliases associated with this functionality - items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + private: + type: boolean + custom_fields_mapping: + description: "Custom field mappings. Can contain liquid markup and need\ + \ to be valid JSON. Use 'services', 'functionalities', or 'groups' keys\ + \ with arrays of names/slugs for name/slug lookup" nullable: true - type: array - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update type: string required: - - created_at - - name - - updated_at - type: object - incidents_chart_response: - required: - - data - type: object - uptime_chart_response: - required: - - data + - title type: object - functionality_response: + create_sub_incident_task_params: properties: - data: - $ref: '#/components/schemas/functionality_response_data' + task_type: + enum: + - create_sub_incident + type: string + title: + description: The sub incident title + type: string + summary: + description: The sub incident summary + type: string required: - - data + - title type: object - functionality_list: + create_incident_postmortem_task_params: properties: - data: - items: - $ref: '#/components/schemas/functionality_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + task_type: + enum: + - create_incident_postmortem + type: string + incident_id: + description: UUID of the incident that needs a retrospective + type: string + title: + description: The retrospective title + type: string + status: + nullable: true + type: string + template: + $ref: '#/components/schemas/create_incident_postmortem_task_params_template' required: - - data - - links + - incident_id + - title type: object - add_action_item_task_params: + create_jira_issue_task_params: properties: task_type: enum: - - add_action_item - type: string - attribute_to_query_by: - description: Attribute of the Incident to match against - enum: - - jira_issue_id - nullable: true + - create_jira_issue type: string - query_value: - description: Value that attribute_to_query_by to uses to match against - nullable: true + integration: + $ref: '#/components/schemas/create_jira_issue_task_params_integration' + title: + description: The issue title type: string - incident_role_id: - description: The role id this action item is associated with + description: + description: The issue description type: string - assigned_to_user_id: - description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ - \ id this action item is assigned to" + labels: + description: The issue labels type: string - assigned_to_user: - $ref: '#/components/schemas/add_action_item_task_params_assigned_to_user' - priority: - description: The action item priority - enum: - - high - - medium - - low + assign_user_email: + description: The assigned user's email type: string - kind: - description: The action item kind + reporter_user_email: + description: The reporter user's email type: string - summary: - description: The action item summary + project_key: + description: The project key type: string - description: - description: The action item description + due_date: + description: The due date type: string + issue_type: + $ref: '#/components/schemas/create_jira_issue_task_params_issue_type' + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' status: - description: The action item status - enum: - - open - - in_progress - - cancelled - - done - type: string - post_to_incident_timeline: - type: boolean + $ref: '#/components/schemas/create_jira_issue_task_params_status' custom_fields_mapping: description: Custom field mappings. Can contain liquid markup and need to be valid JSON nullable: true type: string - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array + update_payload: + description: Update payload. Can contain liquid markup and need to be valid + JSON + nullable: true + type: string required: - - priority - - status - - summary + - issue_type + - project_key + - title type: object - update_action_item_task_params: + create_jira_subtask_task_params: properties: task_type: enum: - - update_action_item - type: string - query_value: - description: Value that attribute_to_query_by to uses to match against + - create_jira_subtask type: string - attribute_to_query_by: - default: id - description: Attribute of the action item to match against - enum: - - 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 - - gitlab_issue_id - - freshservice_ticket_id - - freshservice_task_id - - clickup_task_id + integration: + $ref: '#/components/schemas/create_jira_issue_task_params_integration' + project_key: + description: The project key type: string - summary: - description: Brief description of the action item + parent_issue_id: + description: The parent issue type: string - assigned_to_user_id: - description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ - \ id this action item is assigned to" + title: + description: The issue title type: string - assigned_to_user: - $ref: '#/components/schemas/add_action_item_task_params_assigned_to_user' - group_ids: - items: - type: string - nullable: true - type: array description: - description: The action item description + description: The issue description + type: string + subtask_issue_type: + $ref: '#/components/schemas/create_jira_issue_task_params_issue_type' + labels: + description: The issue labels + type: string + due_date: + description: The due date type: string - priority: - description: The action item priority - enum: - - high - - medium - - low + assign_user_email: + description: The assigned user's email type: string - status: - description: The action item status - enum: - - open - - in_progress - - cancelled - - done + reporter_user_email: + description: The reporter user's email type: string + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + status: + $ref: '#/components/schemas/create_jira_issue_task_params_status' custom_fields_mapping: description: Custom field mappings. Can contain liquid markup and need to be valid JSON nullable: true type: string - post_to_incident_timeline: - type: boolean + update_payload: + description: Update payload. Can contain liquid markup and need to be valid + JSON + nullable: true + type: string required: - - attribute_to_query_by - - query_value + - parent_issue_id + - project_key + - subtask_issue_type + - title type: object - add_role_task_params: + create_linear_issue_task_params: properties: task_type: enum: - - add_role + - create_linear_issue type: string - incident_role_id: - description: The role id to add to the incident + title: + description: The issue title type: string - assigned_to_user_id: - description: "[DEPRECATED] Use assigned_to_user attribute instead. The user\ - \ id this role is assigned to" + description: + description: The issue description + type: string + team: + $ref: '#/components/schemas/create_linear_issue_task_params_team' + state: + $ref: '#/components/schemas/create_linear_issue_task_params_state' + project: + $ref: '#/components/schemas/create_linear_issue_task_params_project' + labels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + assign_user_email: + description: The assigned user's email type: string - assigned_to_user: - $ref: '#/components/schemas/add_role_task_params_assigned_to_user' required: - - incident_role_id + - state + - team + - title type: object - add_slack_bookmark_task_params: - anyOf: [] - nullable: true + create_linear_subtask_issue_task_params: properties: task_type: enum: - - add_slack_bookmark + - create_linear_subtask_issue type: string - playbook_id: - description: The playbook id if bookmark is of an incident playbook + parent_issue_id: + description: The parent issue type: string - channel: - properties: - id: - type: string - name: - type: string - type: object title: - description: The bookmark title. Required if not a playbook bookmark - nullable: true + description: The issue title type: string - link: - description: The bookmark link. Required if not a playbook bookmark - nullable: true + description: + description: The issue description type: string - emoji: - description: The bookmark emoji + state: + $ref: '#/components/schemas/create_linear_issue_task_params_state' + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + labels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + assign_user_email: + description: The assigned user's email type: string required: - - channel + - parent_issue_id + - state + - title type: object - add_team_task_params: + create_linear_issue_comment_task_params: properties: task_type: enum: - - add_team + - create_linear_issue_comment type: string - group_id: - description: The team id + issue_id: + description: The issue id + type: string + body: + description: The issue description type: string required: - - group_id + - body + - issue_id type: object - add_to_timeline_task_params: + create_microsoft_teams_meeting_task_params: properties: task_type: enum: - - add_to_timeline - type: string - event: - description: The timeline event description + - create_microsoft_teams_meeting type: string - url: - description: A URL for the timeline event + name: + description: The meeting name type: string - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - required: - - event - type: object - archive_slack_channels_task_params: - properties: - task_type: - enum: - - archive_slack_channels + subject: + description: The meeting subject type: string - channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - required: - - channels - type: object - attach_datadog_dashboards_task_params: - properties: - task_type: + record_meeting: + description: Rootly AI will record the meeting and automatically generate + a transcript and summary from your meeting + type: boolean + recording_mode: + description: "The video layout for the bot's recording (e.g. speaker_view,\ + \ gallery_view, gallery_view_v2, audio_only)" enum: - - attach_datadog_dashboards + - speaker_view + - gallery_view + - gallery_view_v2 + - audio_only + nullable: true type: string - dashboards: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array post_to_incident_timeline: type: boolean post_to_slack_channels: @@ -41809,646 +30703,560 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - dashboards + - name + - subject type: object - auto_assign_role_opsgenie_task_params: + create_microsoft_teams_channel_task_params: properties: task_type: enum: - - auto_assign_role_opsgenie - type: string - incident_role_id: - description: The role id + - create_microsoft_teams_channel type: string - schedule: + team: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: + description: Microsoft Team channel title + type: string + description: + description: Microsoft Team channel description + type: string + private: + default: auto + enum: + - auto + - "true" + - "false" + type: string required: - - incident_role_id - - schedule + - title + - workspace type: object - auto_assign_role_rootly_task_params: + create_microsoft_teams_chat_task_params: properties: task_type: enum: - - auto_assign_role_rootly + - create_microsoft_teams_chat type: string - incident_role_id: - description: The role id + topic: + description: Chat topic (only for group chats) + nullable: true type: string - escalation_policy_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - service_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - user_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - group_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - schedule_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + chat_type: + default: group + description: Type of chat to create + enum: + - group + - oneOnOne + type: string + members: + description: Array of members to include in the chat + items: + $ref: '#/components/schemas/create_microsoft_teams_chat_task_params_members_inner' + type: array required: - - incident_role_id + - members type: object - auto_assign_role_pagerduty_task_params: + add_microsoft_teams_tab_task_params: anyOf: [] nullable: true properties: task_type: enum: - - auto_assign_role_pagerduty + - add_microsoft_teams_tab type: string - incident_role_id: - description: The role id + playbook_id: + description: The playbook id if tab is of an incident playbook type: string - service: - properties: - id: - type: string - name: - type: string - type: object - schedule: + team: properties: id: type: string name: type: string type: object - escalation_policy: + channel: properties: id: type: string name: type: string type: object - required: - - incident_role_id - type: object - update_pagerduty_incident_task_params: - properties: - task_type: - enum: - - update_pagerduty_incident - type: string - pagerduty_incident_id: - description: Pagerduty incident id - type: string title: - description: Title to update to - type: string - status: - enum: - - resolved - - acknowledged - - auto - type: string - resolution: - description: A message outlining the incident's resolution in PagerDuty - type: string - escalation_level: - description: Escalation level of policy attached to incident - example: 1 - maximum: 20 - minimum: 1 - type: integer - urgency: - description: "PagerDuty incident urgency, selecting auto will let Rootly\ - \ auto map our incident severity" - enum: - - high - - low - - auto + description: The tab title. Required if not a playbook tab + nullable: true type: string - priority: - description: "PagerDuty incident priority, selecting auto will let Rootly\ - \ auto map our incident severity" + link: + description: The tab link. Required if not a playbook tab + nullable: true type: string required: - - pagerduty_incident_id + - channel + - team type: object - create_pagerduty_status_update_task_params: + add_microsoft_teams_chat_tab_task_params: properties: task_type: enum: - - create_pagerduty_status_update + - add_microsoft_teams_chat_tab type: string - pagerduty_incident_id: - description: PagerDuty incident id + chat: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: + description: The tab title type: string - message: - description: A message outlining the incident's resolution in PagerDuty + link: + description: The tab link type: string required: - - message - - pagerduty_incident_id + - chat + - link + - title type: object - create_pagertree_alert_task_params: + archive_microsoft_teams_channels_task_params: properties: task_type: enum: - - create_pagertree_alert - type: string - title: - description: Title of alert as text - type: string - description: - description: Description of alert as text - type: string - urgency: - enum: - - auto - - critical - - high - - medium - - low - type: string - severity: - enum: - - auto - - SEV-1 - - SEV-2 - - SEV-3 - - SEV-4 + - archive_microsoft_teams_channels type: string - teams: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - users: + team: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + channels: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - incident: - description: Setting to true makes an alert a Pagertree incident - type: boolean + required: + - channels + - team type: object - update_pagertree_alert_task_params: + rename_microsoft_teams_channel_task_params: properties: task_type: enum: - - update_pagertree_alert - type: string - pagertree_alert_id: - description: The prefix ID of the Pagertree alert + - rename_microsoft_teams_channel type: string + team: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + channel: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: - description: Title of alert as text - type: string - description: - description: Description of alert as text - type: string - urgency: - enum: - - auto - - critical - - high - - medium - - low - type: string - severity: - enum: - - auto - - SEV-1 - - SEV-2 - - SEV-3 - - SEV-4 type: string - teams: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - users: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - incident: - description: Setting to true makes an alert a Pagertree incident - type: boolean + required: + - channel + - team + - title type: object - auto_assign_role_victor_ops_task_params: + invite_to_microsoft_teams_channel_task_params: properties: task_type: enum: - - auto_assign_role_victor_ops - type: string - incident_role_id: - description: The role id + - invite_to_microsoft_teams_channel type: string team: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + channel: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + emails: + description: Comma separated list of emails to invite + type: string required: - - incident_role_id - - team + - channel + - emails type: object - call_people_task_params: + create_notion_page_task_params: properties: task_type: enum: - - call_people + - create_notion_page type: string - phone_numbers: - items: - description: A recipient phone number - example: "[\"14150001111\"]" - type: string - type: array - name: - description: The name + title: + description: The Notion page title + type: string + parent_page: + $ref: '#/components/schemas/create_notion_page_task_params_parent_page' + post_mortem_template_id: + description: "Retrospective template to use when creating page task, if\ + \ desired" type: string content: - description: The message to be read by text-to-voice + description: "Custom page content with liquid templating support. When provided,\ + \ only this content will be rendered (no default sections)" type: string + mark_post_mortem_as_published: + default: true + type: boolean + show_timeline_as_table: + type: boolean + show_action_items_as_table: + type: boolean required: - - content - - name - - phone_numbers + - parent_page + - title type: object - create_airtable_table_record_task_params: + send_microsoft_teams_message_task_params: + anyOf: [] + nullable: true properties: task_type: enum: - - create_airtable_table_record + - send_microsoft_teams_message type: string - base: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - table: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + channels: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + text: + description: The message text type: string required: - - base - - table + - text type: object - create_asana_subtask_task_params: + send_microsoft_teams_chat_message_task_params: properties: task_type: enum: - - create_asana_subtask - type: string - parent_task_id: - description: The parent task id - type: string - title: - description: The subtask title - type: string - notes: - type: string - assign_user_email: - description: The assigned user's email - type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - due_date: - description: The due date + - send_microsoft_teams_chat_message type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + chats: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + text: + description: The message text type: string - dependency_direction: - default: blocking + required: + - chats + - text + type: object + send_microsoft_teams_blocks_task_params: + anyOf: [] + nullable: true + properties: + task_type: enum: - - blocking - - blocked_by + - send_microsoft_teams_blocks + type: string + attachments: + description: Support liquid markup. Needs to be a valid JSON string after + liquid is parsed type: string - dependent_task_ids: - description: Dependent task ids. Supports liquid syntax - items: - type: string - nullable: true - type: array required: - - completion - - parent_task_id - - title + - attachments type: object - create_asana_task_task_params: + update_notion_page_task_params: properties: task_type: enum: - - create_asana_task + - update_notion_page + type: string + file_id: + description: The Notion page ID type: string - workspace: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - projects: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array title: - description: The task title + description: The Notion page title type: string - notes: + post_mortem_template_id: + description: "Retrospective template to use when creating page task, if\ + \ desired" type: string - assign_user_email: - description: The assigned user's email + content: + description: "Custom page content with liquid templating support. When provided,\ + \ only this content will be rendered (no default sections)" type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - due_date: - description: The due date + show_timeline_as_table: + type: boolean + show_action_items_as_table: + type: boolean + required: + - file_id + type: object + update_quip_page_task_params: + properties: + task_type: + enum: + - update_quip_page type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + file_id: + description: The Quip page ID type: string - dependency_direction: - default: blocking - enum: - - blocking - - blocked_by + title: + description: The Quip page title + type: string + content: + description: The Quip page content + type: string + post_mortem_template_id: + description: "Retrospective template to use when updating page, if desired" + type: string + template_id: + description: The Quip file ID to use as a template type: string - dependent_task_ids: - description: Dependent task ids. Supports liquid syntax - items: - type: string - nullable: true - type: array required: - - completion - - projects - - title - - workspace + - file_id type: object - create_confluence_page_task_params: + update_confluence_page_task_params: properties: task_type: enum: - - create_confluence_page + - update_confluence_page type: string integration: $ref: '#/components/schemas/create_confluence_page_task_params_integration' - space: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - ancestor: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - template: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + file_id: + description: The Confluence page ID + type: string title: - description: The page title + description: The Confluence page title type: string content: - description: The page content + description: The Confluence page content type: string post_mortem_template_id: - description: The Retrospective template to use + description: "Retrospective template to use when updating page, if desired" type: string - mark_post_mortem_as_published: - default: true - type: boolean + template: + $ref: '#/components/schemas/update_confluence_page_task_params_template' required: - - space - - title + - file_id type: object - create_datadog_notebook_task_params: + update_sharepoint_page_task_params: properties: task_type: enum: - - create_datadog_notebook + - update_sharepoint_page type: string - post_mortem_template_id: - description: "Retrospective template to use when creating notebook, if desired" + file_id: + description: The SharePoint file ID type: string - mark_post_mortem_as_published: - default: true - type: boolean - template: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: - description: The notebook title - type: string - kind: - description: The notebook kind - enum: - - postmortem - - runbook - - investigation - - documentation - - report + description: The SharePoint document title type: string content: - description: The notebook content + description: The SharePoint document content + type: string + post_mortem_template_id: + description: "Retrospective template to use when updating document, if desired" type: string required: - - kind - - title + - file_id type: object - create_coda_page_task_params: + update_dropbox_paper_page_task_params: properties: task_type: enum: - - create_coda_page + - update_dropbox_paper_page type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page, if desired" + file_id: + description: The Dropbox Paper document ID type: string - mark_post_mortem_as_published: - default: true - type: boolean title: - description: The Coda page title - type: string - subtitle: - description: The Coda page subtitle + description: The Dropbox Paper document title type: string content: - description: The Coda page content + description: The Dropbox Paper document content type: string - template: - $ref: '#/components/schemas/create_coda_page_task_params_template' - folder_id: - description: The Coda folder id + post_mortem_template_id: + description: "Retrospective template to use when updating document, if desired" type: string required: - - title + - file_id type: object - create_dropbox_paper_page_task_params: + update_datadog_notebook_task_params: properties: task_type: enum: - - create_dropbox_paper_page + - update_datadog_notebook type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page task, if\ - \ desired" + file_id: + description: The Datadog notebook ID type: string - mark_post_mortem_as_published: - default: true - type: boolean title: - description: The page task title + description: The Datadog notebook title type: string content: - description: The page content + description: The Datadog notebook content type: string - namespace: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - parent_folder: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + kind: + description: The notebook type + enum: + - postmortem + - runbook + - investigation + - documentation + - report + type: string + post_mortem_template_id: + description: "Retrospective template to use when updating notebook, if desired" + type: string + template: + $ref: '#/components/schemas/update_datadog_notebook_task_params_template' required: - - title + - file_id type: object - create_github_issue_task_params: + create_service_now_incident_task_params: properties: task_type: enum: - - create_github_issue + - create_service_now_incident type: string title: - description: The issue title + description: The incident title type: string - body: - description: The issue body + description: + description: The incident description + type: string + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true type: string - repository: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - repository - title type: object - create_gitlab_issue_task_params: + create_shortcut_story_task_params: + anyOf: [] + nullable: true properties: task_type: enum: - - create_gitlab_issue - type: string - issue_type: - description: The issue type - enum: - - issue - - incident - - test_case - - task + - create_shortcut_story type: string title: - description: The issue title + description: The incident title + type: string + kind: + enum: + - bug + - chore + - feature type: string description: - description: The issue description + description: The incident description type: string - repository: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' labels: - description: The issue labels + description: The story labels type: string due_date: description: The due date type: string + archivation: + description: The archivation id and display name + properties: + id: + type: string + name: + type: string + type: object + group: + description: The group id and display name + properties: + id: + type: string + name: + type: string + type: object + project: + description: The project id and display name + properties: + id: + type: string + name: + type: string + type: object + workflow_state: + description: The workflow state id workflow state name + properties: + id: + type: string + name: + type: string + type: object required: - - repository + - archivation + - kind - title type: object - create_outlook_event_task_params: + create_shortcut_task_task_params: properties: task_type: enum: - - create_outlook_event + - create_shortcut_task type: string - calendar: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - attendees: - description: Emails of attendees - items: - type: string - type: array - time_zone: - description: A valid IANA time zone name. - nullable: true + parent_story_id: + description: The parent story type: string - days_until_meeting: - description: The days until meeting - maximum: 31 - minimum: 0 - type: integer - time_of_meeting: - description: Time of meeting in format HH:MM - example: 14:30 + description: + description: The task description type: string - meeting_duration: - description: "Meeting duration in format like '1 hour', '30 minutes'" - example: 1 hour + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' + required: + - completion + - description + - parent_story_id + type: object + create_trello_card_task_params: + properties: + task_type: + enum: + - create_trello_card type: string - summary: - description: The event summary + title: + description: The card title type: string description: - description: The event description + description: The card description type: string - exclude_weekends: - type: boolean - post_to_incident_timeline: - type: boolean - post_to_slack_channels: + due_date: + description: The due date + type: string + board: + $ref: '#/components/schemas/create_trello_card_task_params_board' + list: + $ref: '#/components/schemas/create_trello_card_task_params_list' + labels: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + archivation: + $ref: '#/components/schemas/create_trello_card_task_params_archivation' required: - - calendar - - days_until_meeting - - description - - meeting_duration - - summary - - time_of_meeting + - board + - list + - title type: object - create_google_calendar_event_task_params: + create_webex_meeting_task_params: properties: task_type: enum: - - create_google_calendar_event - type: string - attendees: - description: Emails of attendees - items: - type: string - type: array - time_zone: - description: A valid IANA time zone name. - nullable: true - type: string - calendar_id: - default: primary - nullable: true - type: string - days_until_meeting: - description: The days until meeting - maximum: 31 - minimum: 0 - type: integer - time_of_meeting: - description: Time of meeting in format HH:MM - example: 14:30 - type: string - meeting_duration: - description: "Meeting duration in format like '1 hour', '30 minutes'" - example: 1 hour + - create_webex_meeting type: string - send_updates: - description: Send an email to the attendees notifying them of the event - type: boolean - can_guests_modify_event: - type: boolean - can_guests_see_other_guests: - type: boolean - can_guests_invite_others: - type: boolean - summary: - description: The event summary + topic: + description: The meeting topic type: string - description: - description: The event description + password: + description: The meeting password type: string - exclude_weekends: + record_meeting: + description: Rootly AI will record the meeting and automatically generate + a transcript and summary from your meeting type: boolean - conference_solution_key: - description: Sets the video conference type attached to the meeting + recording_mode: + description: "The video layout for the bot's recording (e.g. speaker_view,\ + \ gallery_view, gallery_view_v2, audio_only)" enum: - - eventHangout - - eventNamedHangout - - hangoutsMeet - - addOn + - speaker_view + - gallery_view + - gallery_view_v2 + - audio_only nullable: true type: string post_to_incident_timeline: @@ -42458,289 +31266,308 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - days_until_meeting - - description - - meeting_duration - - summary - - time_of_meeting + - topic type: object - update_google_docs_page_task_params: + create_zendesk_ticket_task_params: properties: task_type: enum: - - update_google_docs_page - type: string - file_id: - description: The Google Doc file ID - type: string - title: - description: The Google Doc title - type: string - content: - description: The Google Doc content - type: string - post_mortem_template_id: - description: "Retrospective template to use when updating page, if desired" - type: string - template_id: - description: The Google Doc file ID to use as a template. + - create_zendesk_ticket type: string - required: - - file_id - type: object - update_coda_page_task_params: - properties: - task_type: + kind: enum: - - update_coda_page + - problem + - incident + - question + - task type: string - doc_id: - description: The Coda doc id + subject: + description: The ticket subject type: string - page_id: - description: The Coda page id + comment: + description: The ticket comment type: string - title: - description: The Coda page title + tags: + description: The ticket tags type: string - subtitle: - description: The Coda page subtitle + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true type: string - content: - description: The Coda page content + ticket_payload: + description: Additional Zendesk ticket attributes. Will be merged into whatever + was specified in this tasks current parameters. Can contain liquid markup + and need to be valid JSON + nullable: true type: string - template: - $ref: '#/components/schemas/create_coda_page_task_params_template' required: - - page_id + - kind + - subject type: object - update_google_calendar_event_task_params: + create_zendesk_jira_link_task_params: properties: task_type: enum: - - create_google_calendar_event - type: string - calendar_id: - default: primary - nullable: true - type: string - event_id: - description: The event ID - type: string - summary: - description: The event summary - type: string - description: - description: The event description - type: string - adjustment_days: - description: Days to adjust meeting by - maximum: 31 - minimum: 0 - type: integer - time_of_meeting: - description: Time of meeting in format HH:MM + - create_zendesk_jira_link type: string - meeting_duration: - description: "Meeting duration in format like '1 hour', '30 minutes'" - example: 1 hour + jira_issue_id: + description: Jira Issue Id. type: string - send_updates: - description: Send an email to the attendees notifying them of the event - type: boolean - can_guests_modify_event: - type: boolean - can_guests_see_other_guests: - type: boolean - can_guests_invite_others: - type: boolean - attendees: - description: Emails of attendees - items: - type: string - type: array - replace_attendees: - type: boolean - conference_solution_key: - description: Sets the video conference type attached to the meeting - enum: - - eventHangout - - eventNamedHangout - - hangoutsMeet - - addOn - nullable: true + jira_issue_key: + description: Jira Issue Key. + type: string + zendesk_ticket_id: + description: Zendesk Ticket Id. type: string - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array required: - - event_id + - jira_issue_id + - jira_issue_key + - zendesk_ticket_id type: object - create_sharepoint_page_task_params: + create_clickup_task_task_params: properties: task_type: enum: - - create_sharepoint_page - type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page, if desired" + - create_clickup_task type: string - mark_post_mortem_as_published: - default: true - type: boolean title: - description: The page title + description: The task title type: string - site: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - drive: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - parent_folder: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - content: - description: The page content + description: + description: The task description type: string - template_id: - description: The SharePoint file ID to use as a template + tags: + description: The task tags + type: string + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + due_date: + description: The due date + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + task_payload: + description: Additional ClickUp task attributes. Will be merged into whatever + was specified in this tasks current parameters. Can contain liquid markup + and need to be valid JSON + nullable: true type: string required: - - drive - - site - title type: object - create_google_docs_page_task_params: + create_motion_task_task_params: properties: task_type: enum: - - create_google_docs_page - type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page, if desired" - type: string - mark_post_mortem_as_published: - default: true - type: boolean - title: - description: The page title + - create_motion_task type: string - drive: + workspace: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - parent_folder: + project: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - content: - description: The page content + status: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: + description: The task title type: string - template_id: - description: The Google Doc file ID to use as a template + description: + description: The task description type: string - permissions: - description: Page permissions JSON + labels: + items: + type: string + type: array + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + duration: + description: "The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater\ + \ than 0." + type: string + due_date: + description: The due date type: string required: - title + - workspace type: object - create_google_docs_permissions_task_params: + create_zoom_meeting_task_params: properties: task_type: enum: - - create_google_docs_permissions + - create_zoom_meeting type: string - file_id: - description: The Google Doc file ID + topic: + description: The meeting topic type: string - permissions: - description: Page permissions JSON + password: + description: The meeting password type: string - send_notification_email: + create_as_email: + description: The email to use if creating as email + type: string + alternative_hosts: + items: + description: Alternative host email + type: string + type: array + auto_recording: + default: none + enum: + - none + - local + - cloud + type: string + record_meeting: + description: Rootly AI will record the meeting and automatically generate + a transcript and summary from your meeting type: boolean - email_message: - description: Email message notification + recording_mode: + description: "The video layout for the bot's recording (e.g. speaker_view,\ + \ gallery_view, gallery_view_v2, audio_only)" + enum: + - speaker_view + - gallery_view + - gallery_view_v2 + - audio_only nullable: true type: string + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array required: - - file_id - - permissions + - topic type: object - remove_google_docs_permissions_task_params: + get_github_commits_task_params: + anyOf: [] + nullable: true properties: task_type: enum: - - remove_google_docs_permissions - type: string - file_id: - description: The Google Doc file ID + - get_github_commits type: string - attribute_to_query_by: - default: email_address - enum: - - type - - role - - email_address + service_ids: + items: + description: ID of service impacted by incident + type: string + type: array + github_repository_names: + items: + type: string + type: array + branch: + description: The branch type: string - value: + past_duration: + description: "How far back to fetch commits (in format '1 minute', '30 days',\ + \ '3 months', etc.)" + example: 1 hour type: string + services_impacted_by_incident: + type: boolean + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array required: - - attribute_to_query_by - - file_id - - value + - branch + - past_duration type: object - create_quip_page_task_params: + get_gitlab_commits_task_params: + anyOf: [] + nullable: true properties: task_type: enum: - - create_google_docs_page - type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page, if desired" - type: string - title: - description: The page title - type: string - parent_folder_id: - description: The parent folder id + - get_gitlab_commits type: string - content: - description: The page content + service_ids: + items: + description: ID of service impacted by incident + type: string + type: array + gitlab_repository_names: + items: + type: string + type: array + branch: + description: The branch type: string - template_id: - description: The Quip file ID to use as a template + past_duration: + description: "How far back to fetch commits (in format '1 minute', '30 days',\ + \ '3 months', etc.)" + example: 1 hour type: string - mark_post_mortem_as_published: - default: true + services_impacted_by_incident: + type: boolean + post_to_incident_timeline: type: boolean + post_to_slack_channels: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array required: - - title + - branch + - past_duration type: object - create_google_meeting_task_params: + get_pulses_task_params: properties: task_type: enum: - - create_google_meeting - type: string - summary: - description: "[DEPRECATED] The meeting summary" - nullable: true - type: string - description: - description: "[DEPRECATED] The meeting description" - nullable: true + - get_pulses type: string - conference_solution_key: - description: "[DEPRECATED] Sets the video conference type attached to the\ - \ meeting" - enum: - - eventHangout - - eventNamedHangout - - hangoutsMeet - - addOn - nullable: true + service_ids: + items: + description: ID of service impacted by incident + type: string + type: array + environment_ids: + items: + description: ID of environment impacted by incident + type: string + type: array + labels: + items: + type: string + type: array + refs: + items: + type: string + type: array + sources: + items: + type: string + type: array + past_duration: + description: "How far back to fetch commits (in format '1 minute', '30 days',\ + \ '3 months', etc.)" + example: 1 hour type: string - record_meeting: - description: Rootly AI will record the meeting and automatically generate - a transcript and summary from your meeting + services_impacted_by_incident: + type: boolean + environments_impacted_by_incident: type: boolean post_to_incident_timeline: type: boolean @@ -42748,31 +31575,43 @@ components: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + parent_message_thread_task: + $ref: '#/components/schemas/get_pulses_task_params_parent_message_thread_task' required: - - description - - summary + - past_duration type: object - create_go_to_meeting_task_params: + get_alerts_task_params: properties: task_type: enum: - - create_go_to_meeting_task - type: string - subject: - description: The meeting subject + - get_alerts type: string - conference_call_info: - default: voip - enum: - - ptsn - - free - - hyrid - - voip - example: voip - nullable: true + service_ids: + items: + description: ID of service impacted by incident + type: string + type: array + environment_ids: + items: + description: ID of environment impacted by incident + type: string + type: array + labels: + items: + type: string + type: array + sources: + items: + type: string + type: array + past_duration: + description: "How far back to fetch commits (in format '1 minute', '30 days',\ + \ '3 months', etc.)" + example: 1 hour type: string - password_required: - nullable: true + services_impacted_by_incident: + type: boolean + environments_impacted_by_incident: type: boolean post_to_incident_timeline: type: boolean @@ -42780,430 +31619,518 @@ components: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array + parent_message_thread_task: + $ref: '#/components/schemas/get_pulses_task_params_parent_message_thread_task' required: - - subject + - past_duration type: object - create_incident_task_params: + http_client_task_params: properties: task_type: enum: - - create_incident + - http_client type: string - title: - description: The incident title + headers: + description: JSON map of HTTP headers type: string - summary: - description: The incident summary + params: + description: JSON map of HTTP query parameters type: string - severity_id: + body: + description: HTTP body type: string - incident_type_ids: + url: + description: URL endpoint + example: https://example.com/foo.json + type: string + event_url: + type: string + event_message: + type: string + method: + default: GET + description: HTTP method + enum: + - GET + - POST + - PATCH + - PUT + - DELETE + - OPTIONS + type: string + succeed_on_status: + description: "HTTP status code expected. Can be a regular expression. Eg:\ + \ 200, 200|203, 20[0-3]" + example: "200" + type: string + post_to_incident_timeline: + type: boolean + post_to_slack_channels: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - service_ids: + required: + - succeed_on_status + - url + type: object + invite_to_slack_channel_opsgenie_task_params: + properties: + task_type: + enum: + - invite_to_slack_channel_opsgenie + type: string + channels: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - functionality_ids: + schedule: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + required: + - channels + - schedule + type: object + invite_to_slack_channel_rootly_task_params: + properties: + task_type: + enum: + - invite_to_slack_channel_rootly + type: string + channels: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - environment_ids: + escalation_policy_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + service_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + user_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + group_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + schedule_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + required: + - channels + type: object + invite_to_slack_channel_pagerduty_task_params: + anyOf: [] + nullable: true + properties: + task_type: + enum: + - invite_to_slack_channel_pagerduty + type: string + channels: items: - type: string + properties: + id: + type: string + name: + type: string + type: object type: array - group_ids: + escalation_policy: + properties: + id: + type: string + name: + type: string + type: object + schedule: + properties: + id: + type: string + name: + type: string + type: object + service: + properties: + id: + type: string + name: + type: string + type: object + required: + - channels + type: object + invite_to_slack_channel_task_params: + anyOf: [] + nullable: true + properties: + task_type: + enum: + - invite_to_slack_channel + type: string + channel: + properties: + id: + type: string + name: + type: string + type: object + slack_users: items: - type: string + properties: + id: + type: string + name: + type: string + type: object type: array - private: - type: boolean - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + slack_user_groups: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + slack_emails: + description: Comma separated list of emails to invite to the channel type: string required: - - title + - channel type: object - create_incident_postmortem_task_params: + invite_to_slack_channel_victor_ops_task_params: properties: task_type: enum: - - create_incident_postmortem - type: string - incident_id: - description: UUID of the incident that needs a retrospective - type: string - title: - description: The retrospective title - type: string - status: - nullable: true + - invite_to_slack_channel_victor_ops type: string - template: - $ref: '#/components/schemas/create_incident_postmortem_task_params_template' + channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + team: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - incident_id - - title + - channels + - team type: object - create_jira_issue_task_params: + page_opsgenie_on_call_responders_task_params: properties: task_type: enum: - - create_jira_issue + - page_opsgenie_on_call_responders type: string - integration: - $ref: '#/components/schemas/create_jira_issue_task_params_integration' title: - description: The issue title - type: string - description: - description: The issue description - type: string - labels: - description: The issue labels - type: string - assign_user_email: - description: The assigned user's email - type: string - reporter_user_email: - description: The reporter user's email + description: Incident title. + nullable: true type: string - project_key: - description: The project key + message: + description: Message of the incident type: string - due_date: - description: The due date + description: + description: Description field of the incident that is generally used to + provide a detailed information about the incident type: string - issue_type: - $ref: '#/components/schemas/create_jira_issue_task_params_issue_type' + teams: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - status: - $ref: '#/components/schemas/create_jira_issue_task_params_status' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true - type: string - update_payload: - description: Update payload. Can contain liquid markup and need to be valid - JSON - nullable: true + default: P1 + enum: + - P1 + - P2 + - P3 + - P4 + - P5 + - auto type: string - required: - - issue_type - - project_key - - title type: object - create_jira_subtask_task_params: + create_opsgenie_alert_task_params: properties: task_type: enum: - - create_jira_subtask - type: string - integration: - $ref: '#/components/schemas/create_jira_issue_task_params_integration' - project_key: - description: The project key - type: string - parent_issue_id: - description: The parent issue + - create_opsgenie_alert type: string - title: - description: The issue title + message: + description: Message of the alert type: string description: - description: The issue description - type: string - subtask_issue_type: - $ref: '#/components/schemas/create_jira_issue_task_params_issue_type' - labels: - description: The issue labels - type: string - due_date: - description: The due date - type: string - assign_user_email: - description: The assigned user's email - type: string - reporter_user_email: - description: The reporter user's email + description: Description field of the alert that is generally used to provide + a detailed information about the alert type: string + teams: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + schedules: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + escalations: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - status: - $ref: '#/components/schemas/create_jira_issue_task_params_status' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + default: P1 + enum: + - P1 + - P2 + - P3 + - P4 + - P5 + - auto type: string - update_payload: - description: Update payload. Can contain liquid markup and need to be valid + details: + description: Details payload. Can contain liquid markup and need to be valid JSON nullable: true type: string required: - - parent_issue_id - - project_key - - subtask_issue_type - - title + - message type: object - create_linear_issue_task_params: + create_jsmops_alert_task_params: properties: task_type: enum: - - create_linear_issue + - create_jsmops_alert type: string - title: - description: The issue title + message: + description: Message of the alert type: string description: - description: The issue description + description: Description field of the alert that is generally used to provide + a detailed information about the alert + nullable: true type: string - team: - $ref: '#/components/schemas/create_linear_issue_task_params_team' - state: - $ref: '#/components/schemas/create_linear_issue_task_params_state' - project: - $ref: '#/components/schemas/create_linear_issue_task_params_project' - labels: + teams: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + schedules: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + escalations: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - assign_user_email: - description: The assigned user's email + default: P3 + enum: + - P3 + - P1 + - P2 + - P3 + - P4 + - P5 + - auto + type: string + details: + description: Details payload. Can contain liquid markup and need to be valid + JSON + nullable: true type: string required: - - state - - team - - title + - message type: object - create_linear_subtask_issue_task_params: + page_jsmops_on_call_responders_task_params: properties: task_type: enum: - - create_linear_subtask_issue - type: string - parent_issue_id: - description: The parent issue + - page_jsmops_on_call_responders type: string title: - description: The issue title + description: Incident title. + nullable: true + type: string + message: + description: Message of the incident type: string description: - description: The issue description + description: Description field of the incident that is generally used to + provide a detailed information about the incident type: string - state: - $ref: '#/components/schemas/create_linear_issue_task_params_state' - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - labels: + teams: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - assign_user_email: - description: The assigned user's email + users: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + priority: + default: P3 + enum: + - P3 + - P1 + - P2 + - P3 + - P4 + - P5 + - auto type: string - required: - - parent_issue_id - - state - - title type: object - create_linear_issue_comment_task_params: + update_opsgenie_alert_task_params: properties: + alert_id: + description: Opsgenie Alert ID + type: string task_type: enum: - - create_linear_issue_comment + - update_opsgenie_alert type: string - issue_id: - description: The issue id + message: + description: Message of the alert type: string - body: - description: The issue description + description: + description: Description field of the alert that is generally used to provide + a detailed information about the alert type: string - required: - - body - - issue_id - type: object - create_microsoft_teams_meeting_task_params: - properties: - task_type: + priority: enum: - - create_microsoft_teams_meeting - type: string - name: - description: The meeting name - type: string - subject: - description: The meeting subject + - P1 + - P2 + - P3 + - P4 + - P5 + - auto type: string - record_meeting: - description: Rootly AI will record the meeting and automatically generate - a transcript and summary from your meeting - type: boolean - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array + completion: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - name - - subject + - alert_id + - completion + - priority type: object - create_microsoft_teams_channel_task_params: + update_opsgenie_incident_task_params: properties: task_type: enum: - - create_microsoft_teams_channel + - update_opsgenie_incident type: string - team: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - title: - description: Microsoft Team channel title + opsgenie_incident_id: + description: "The Opsgenie incident ID, this can also be a Rootly incident\ + \ variable ex. {{ incident.opsgenie_incident_id }}" + type: string + message: + description: Message of the alert type: string description: - description: Microsoft Team channel description + description: Description field of the alert that is generally used to provide + a detailed information about the alert type: string - private: - default: auto + status: enum: + - resolve + - open + - close - auto - - "true" - - "false" + type: string + priority: + enum: + - P1 + - P2 + - P3 + - P4 + - P5 + - auto + - "" + nullable: true type: string required: - - title - - workspace + - opsgenie_incident_id type: object - add_microsoft_teams_tab_task_params: - anyOf: [] - nullable: true + page_rootly_on_call_responders_task_params: properties: task_type: enum: - - add_microsoft_teams_tab + - page_rootly_on_call_responders type: string - playbook_id: - description: The playbook id if tab is of an incident playbook + escalation_policy_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + service_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + user_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + group_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + functionality_target: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + alert_urgency_id: + description: Alert urgency ID type: string - team: - properties: - id: - type: string - name: - type: string - type: object - channel: - properties: - id: - type: string - name: - type: string - type: object - title: - description: The tab title. Required if not a playbook tab - nullable: true + summary: + description: Alert title type: string - link: - description: The tab link. Required if not a playbook tab - nullable: true + description: + description: Alert description + type: string + escalation_note: type: string required: - - channel - - team + - alert_urgency_id + - summary type: object - archive_microsoft_teams_channels_task_params: + page_pagerduty_on_call_responders_task_params: properties: task_type: enum: - - archive_microsoft_teams_channels + - page_pagerduty_on_call_responders type: string - team: + service: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - channels: + escalation_policies: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + users: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - required: - - channels - - team - type: object - rename_microsoft_teams_channel_task_params: - properties: - task_type: - enum: - - rename_microsoft_teams_channel - type: string - team: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - channel: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: + description: Incident title. + nullable: true type: string - required: - - channel - - team - - title - type: object - invite_to_microsoft_teams_channel_task_params: - properties: - task_type: - enum: - - invite_to_microsoft_teams_channel - type: string - team: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - channel: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - emails: - description: Comma separated list of emails to invite + message: type: string - required: - - channel - - emails - type: object - create_notion_page_task_params: - properties: - task_type: + urgency: + default: high enum: - - create_notion_page - type: string - title: - description: The Notion page title + - high + - low + - auto type: string - parent_page: - $ref: '#/components/schemas/create_notion_page_task_params_parent_page' - post_mortem_template_id: - description: "Retrospective template to use when creating page task, if\ - \ desired" + priority: + description: "PagerDuty incident priority, selecting auto will let Rootly\ + \ auto map our incident severity" type: string - mark_post_mortem_as_published: - default: true - type: boolean - show_timeline_as_table: - type: boolean - show_action_items_as_table: + create_new_incident_on_conflict: + default: false + description: "Rootly only supports linking to a single PagerDuty incident.\ + \ If this feature is disabled Rootly will add responders from any additional\ + \ pages to the existing PagerDuty incident that is linked to the Rootly\ + \ incident. If enabled, Rootly will create a new PagerDuty incident that\ + \ is not linked to any Rootly incidents" type: boolean required: - - parent_page - - title + - service type: object - send_microsoft_teams_message_task_params: + page_victor_ops_on_call_responders_task_params: anyOf: [] nullable: true properties: task_type: enum: - - send_microsoft_teams_message + - page_victor_ops_on_call_responders type: string - channels: + escalation_policies: items: properties: id: @@ -43212,202 +32139,174 @@ components: type: string type: object type: array - text: - description: The message text + users: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + title: + description: Alert title. + nullable: true + type: string + type: object + update_victor_ops_incident_task_params: + properties: + task_type: + enum: + - update_victor_ops_incident + type: string + victor_ops_incident_id: + description: "The victor_ops incident ID, this can also be a Rootly incident\ + \ variable ex. {{ incident.victor_ops_incident_id }}" + type: string + status: + enum: + - resolve + - ack + - auto + type: string + resolution_message: + description: Resolution message type: string required: - - text + - status + - victor_ops_incident_id type: object - send_microsoft_teams_blocks_task_params: - anyOf: [] - nullable: true + print_task_params: properties: task_type: enum: - - send_microsoft_teams_blocks + - print type: string - attachments: - description: Support liquid markup. Needs to be a valid JSON string after - liquid is parsed + message: + description: The message to print type: string required: - - attachments + - message type: object - update_notion_page_task_params: + publish_incident_task_params: properties: task_type: enum: - - update_notion_page + - publish_incident type: string - file_id: - description: The Notion page ID + incident: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + public_title: type: string - title: - description: The Notion page title + event: + description: Incident event description type: string - post_mortem_template_id: - description: "Retrospective template to use when creating page task, if\ - \ desired" + status: + default: resolved + enum: + - investigating + - identified + - monitoring + - resolved + - scheduled + - in_progress + - completed type: string - show_timeline_as_table: + notify_subscribers: + default: false + description: When true notifies subscribers of the status page by email/text type: boolean - show_action_items_as_table: + should_tweet: + default: false + description: For Statuspage.io integrated pages auto publishes a tweet for + your update type: boolean - required: - - file_id - type: object - create_service_now_incident_task_params: - properties: - task_type: - enum: - - create_service_now_incident - type: string - title: - description: The incident title - type: string - description: - description: The incident description + status_page_template: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + status_page_id: type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + integration_payload: + description: Additional API Payload you can pass to statuspage.io for example. + Can contain liquid markup and need to be valid JSON nullable: true type: string required: - - title + - incident + - public_title + - status + - status_page_id type: object - create_shortcut_story_task_params: - anyOf: [] - nullable: true + redis_client_task_params: properties: task_type: enum: - - create_shortcut_story - type: string - title: - description: The incident title + - redis_client type: string - kind: - enum: - - bug - - chore - - feature + url: + example: redis://redis-12345.c1.us-east-1-2.ec2.cloud.redislabs.com:12345 type: string - description: - description: The incident description + commands: type: string - labels: - description: The story labels + event_url: type: string - due_date: - description: The due date + event_message: type: string - archivation: - description: The archivation id and display name - properties: - id: - type: string - name: - type: string - type: object - group: - description: The group id and display name - properties: - id: - type: string - name: - type: string - type: object - project: - description: The project id and display name - properties: - id: - type: string - name: - type: string - type: object - workflow_state: - description: The workflow state id workflow state name - properties: - id: - type: string - name: - type: string - type: object + post_to_incident_timeline: + type: boolean + post_to_slack_channels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array required: - - archivation - - kind - - title + - commands + - url type: object - create_shortcut_task_task_params: + rename_slack_channel_task_params: properties: task_type: enum: - - create_shortcut_task - type: string - parent_story_id: - description: The parent story + - rename_slack_channel type: string - description: - description: The task description + channel: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + title: type: string - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' required: - - completion - - description - - parent_story_id + - channel + - title type: object - create_trello_card_task_params: + change_slack_channel_privacy_task_params: properties: task_type: enum: - - create_trello_card - type: string - title: - description: The card title - type: string - description: - description: The card description + - rename_slack_channel type: string - due_date: - description: The due date + channel: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + privacy: + enum: + - private + - public type: string - board: - $ref: '#/components/schemas/create_trello_card_task_params_board' - list: - $ref: '#/components/schemas/create_trello_card_task_params_list' - labels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - archivation: - $ref: '#/components/schemas/create_trello_card_task_params_archivation' required: - - board - - list + - privacy - title type: object - create_webex_meeting_task_params: + run_command_heroku_task_params: properties: task_type: enum: - - create_webex_meeting + - run_command_heroku type: string - topic: - description: The meeting topic + command: type: string - password: - description: The meeting password + app_name: + type: string + size: + enum: + - standard-1X + - standard-2X type: string - record_meeting: - description: Rootly AI will record the meeting and automatically generate - a transcript and summary from your meeting - type: boolean post_to_incident_timeline: type: boolean post_to_slack_channels: @@ -43415,392 +32314,348 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - topic + - app_name + - command + - size type: object - create_zendesk_ticket_task_params: + send_email_task_params: properties: task_type: enum: - - create_zendesk_ticket + - send_email type: string - kind: - enum: - - problem - - incident - - question - - task + from: + default: Rootly + description: The from email address. Need to use SMTP integration if different + than rootly.com type: string + to: + items: + description: To address email + type: string + type: array + cc: + items: + description: Cc address email + type: string + type: array + bcc: + items: + description: Bcc address email + type: string + type: array subject: - description: The ticket subject - type: string - comment: - description: The ticket comment + description: The subject type: string - tags: - description: The ticket tags + preheader: + description: The preheader + nullable: true type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + body: + description: The email body nullable: true type: string - ticket_payload: - description: Additional Zendesk ticket attributes. Will be merged into whatever - was specified in this tasks current parameters. Can contain liquid markup - and need to be valid JSON + include_header: + type: boolean + include_footer: + type: boolean + custom_logo_url: + description: URL to your custom email logo nullable: true type: string required: - - kind + - body - subject + - to type: object - create_zendesk_jira_link_task_params: + send_dashboard_report_task_params: properties: task_type: enum: - - create_zendesk_jira_link + - send_dashboard_report type: string - jira_issue_id: - description: Jira Issue Id. + dashboard_ids: + items: + type: string + type: array + from: + default: Rootly + description: The from email address. Need to use SMTP integration if different + than rootly.com type: string - jira_issue_key: - description: Jira Issue Key. + to: + items: + description: The recipient + type: string + type: array + subject: + description: The subject type: string - zendesk_ticket_id: - description: Zendesk Ticket Id. + preheader: + description: The preheader + nullable: true + type: string + body: + description: The email body + nullable: true type: string required: - - jira_issue_id - - jira_issue_key - - zendesk_ticket_id + - body + - dashboard_ids + - subject + - to type: object - create_clickup_task_task_params: + create_slack_channel_task_params: properties: task_type: enum: - - create_clickup_task + - create_slack_channel type: string + workspace: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: - description: The task title - type: string - description: - description: The task description - type: string - tags: - description: The task tags - type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - due_date: - description: The due date - type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + description: Slack channel title type: string - task_payload: - description: Additional ClickUp task attributes. Will be merged into whatever - was specified in this tasks current parameters. Can contain liquid markup - and need to be valid JSON - nullable: true + private: + default: auto + enum: + - auto + - "true" + - "false" type: string required: - title + - workspace type: object - create_motion_task_task_params: + send_slack_message_task_params: + anyOf: [] + nullable: true properties: task_type: enum: - - create_motion_task - type: string - workspace: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - project: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - status: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - title: - description: The task title - type: string - description: - description: The task description + - send_slack_message type: string - labels: + channels: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + slack_users: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + slack_user_groups: + items: + properties: + id: + type: string + name: + type: string + type: object + type: array + actionables: items: + enum: + - update_summary + - update_status + - archive_channel + - manage_incident_roles + - update_incident + - all_commands + - leave_feedback + - manage_form_fields + - manage_action_items + - view_tasks + - add_pagerduty_responders + - add_opsgenie_responders + - add_victor_ops_responders + - update_status_page + - pause_reminder + - snooze_reminder + - restart_reminder + - cancel_incident + - delete_message type: string type: array - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - duration: - description: "The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater\ - \ than 0." + broadcast_thread_reply_to_channel: + type: boolean + send_as_ephemeral: + type: boolean + color: + description: "A hex color ex. #FFFFFF" type: string - due_date: - description: The due date + pin_to_channel: + type: boolean + update_parent_message: + type: boolean + thread_ts: + description: The thread to send the message into + type: string + parent_message_thread_task: + description: "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" + properties: + id: + type: string + name: + type: string + type: object + text: + description: The message text type: string + send_only_as_threaded_message: + description: "When set to true, if the parent for this threaded message\ + \ cannot be found the message will be skipped." + type: boolean required: - - title - - workspace + - text type: object - create_zoom_meeting_task_params: + send_sms_task_params: properties: task_type: enum: - - create_zoom_meeting - type: string - topic: - description: The meeting topic - type: string - password: - description: The meeting password - type: string - create_as_email: - description: The email to use if creating as email + - send_sms type: string - alternative_hosts: + phone_numbers: items: - description: Alternative host email + description: A recipient phone number + example: "[\"14150001111\"]" type: string type: array - auto_recording: - default: none - enum: - - none - - local - - cloud + name: + description: The name + type: string + content: + description: The SMS message type: string - record_meeting: - description: Rootly AI will record the meeting and automatically generate - a transcript and summary from your meeting - type: boolean - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array required: - - topic + - content + - name + - phone_numbers type: object - get_github_commits_task_params: - anyOf: [] - nullable: true + send_whatsapp_message_task_params: properties: task_type: enum: - - get_github_commits + - send_whatsapp_message type: string - service_ids: - items: - description: ID of service impacted by incident - type: string - type: array - github_repository_names: + phone_numbers: items: + description: A recipient phone number + example: "[\"14150001111\"]" type: string type: array - branch: - description: The branch + name: + description: The name type: string - past_duration: - description: "How far back to fetch commits (in format '1 minute', '30 days',\ - \ '3 months', etc.)" - example: 1 hour + content: + description: The WhatsApp message type: string - services_impacted_by_incident: - type: boolean - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - properties: - id: - type: string - name: - type: string - type: object - type: array required: - - branch - - past_duration + - content + - name + - phone_numbers type: object - get_gitlab_commits_task_params: - anyOf: [] - nullable: true + snapshot_datadog_graph_task_params: properties: task_type: enum: - - get_gitlab_commits + - snapshot_datadog_graph type: string - service_ids: - items: - description: ID of service impacted by incident - type: string - type: array - gitlab_repository_names: + dashboards: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - branch: - description: The branch - type: string past_duration: - description: "How far back to fetch commits (in format '1 minute', '30 days',\ - \ '3 months', etc.)" + description: "in format '1 minute', '30 days', '3 months', etc" example: 1 hour type: string - services_impacted_by_incident: - type: boolean + metric_queries: + items: + type: string + type: array post_to_incident_timeline: type: boolean post_to_slack_channels: items: - properties: - id: - type: string - name: - type: string - type: object + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - branch - past_duration type: object - get_pulses_task_params: + snapshot_grafana_dashboard_task_params: properties: task_type: enum: - - get_pulses + - snapshot_grafana_dashboard type: string - service_ids: - items: - description: ID of service impacted by incident - type: string - type: array - environment_ids: - items: - description: ID of environment impacted by incident - type: string - type: array - labels: - items: - type: string - type: array - refs: - items: - type: string - type: array - sources: + dashboards: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - past_duration: - description: "How far back to fetch commits (in format '1 minute', '30 days',\ - \ '3 months', etc.)" - example: 1 hour - type: string - services_impacted_by_incident: - type: boolean - environments_impacted_by_incident: - type: boolean post_to_incident_timeline: type: boolean post_to_slack_channels: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - parent_message_thread_task: - $ref: '#/components/schemas/get_pulses_task_params_parent_message_thread_task' required: - - past_duration + - dashboards type: object - get_alerts_task_params: + snapshot_looker_look_task_params: properties: task_type: enum: - - get_alerts + - snapshot_looker_look type: string - service_ids: - items: - description: ID of service impacted by incident - type: string - type: array - environment_ids: - items: - description: ID of environment impacted by incident - type: string - type: array - labels: - items: - type: string - type: array - sources: + dashboards: items: - type: string + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - past_duration: - description: "How far back to fetch commits (in format '1 minute', '30 days',\ - \ '3 months', etc.)" - example: 1 hour - type: string - services_impacted_by_incident: - type: boolean - environments_impacted_by_incident: - type: boolean post_to_incident_timeline: type: boolean post_to_slack_channels: items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - parent_message_thread_task: - $ref: '#/components/schemas/get_pulses_task_params_parent_message_thread_task' required: - - past_duration + - dashboards type: object - http_client_task_params: + snapshot_new_relic_graph_task_params: properties: task_type: enum: - - http_client - type: string - headers: - description: JSON map of HTTP headers - type: string - params: - description: JSON map of HTTP query parameters - type: string - body: - description: HTTP body - type: string - url: - description: URL endpoint - example: https://example.com/foo.json - type: string - event_url: + - snapshot_looker_graph type: string - event_message: + metric_query: type: string - method: - default: GET - description: HTTP method + metric_type: enum: - - GET - - POST - - PATCH - - PUT - - DELETE - - OPTIONS - type: string - succeed_on_status: - description: "HTTP status code expected. Can be a regular expression. Eg:\ - \ 200, 200|203, 20[0-3]" - example: "200" + - APDEX + - AREA + - BAR + - BASELINE + - BILLBOARD + - BULLET + - EVENT_FEED + - FUNNEL + - HEATMAP + - HISTOGRAM + - LINE + - PIE + - SCATTER + - STACKED_HORIZONTAL_BAR + - TABLE + - VERTICAL_BAR type: string post_to_incident_timeline: type: boolean @@ -43809,680 +32664,716 @@ components: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array required: - - succeed_on_status - - url + - metric_query + - metric_type type: object - invite_to_slack_channel_opsgenie_task_params: + tweet_twitter_message_task_params: properties: task_type: enum: - - invite_to_slack_channel_opsgenie + - tweet_twitter_message + type: string + message: type: string - channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - schedule: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - channels - - schedule + - message type: object - invite_to_slack_channel_rootly_task_params: + update_airtable_table_record_task_params: properties: task_type: enum: - - invite_to_slack_channel_rootly + - update_airtable_table_record + type: string + base_key: + description: The base key + type: string + table_name: + description: The table name + type: string + record_id: + description: The record id + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true type: string - channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - escalation_policy_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - service_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - user_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - group_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - schedule_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - channels + - base_key + - record_id + - table_name type: object - invite_to_slack_channel_pagerduty_task_params: - anyOf: [] - nullable: true + update_asana_task_task_params: properties: task_type: enum: - - invite_to_slack_channel_pagerduty + - update_asana_task type: string - channels: - items: - properties: - id: - type: string - name: - type: string - type: object - type: array - escalation_policy: - properties: - id: - type: string - name: - type: string - type: object - schedule: - properties: - id: - type: string - name: - type: string - type: object - service: - properties: - id: - type: string - name: - type: string - type: object - required: - - channels - type: object - invite_to_slack_channel_task_params: - anyOf: [] - nullable: true - properties: - task_type: + task_id: + description: The task id + type: string + title: + description: The task title + type: string + notes: + type: string + assign_user_email: + description: The assigned user's email + type: string + completion: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + due_date: + description: The due date + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + dependency_direction: + default: blocking enum: - - invite_to_slack_channel + - blocking + - blocked_by type: string - channel: - properties: - id: - type: string - name: - type: string - type: object - slack_users: - items: - properties: - id: - type: string - name: - type: string - type: object - type: array - slack_user_groups: + dependent_task_ids: + description: Dependent task ids. Supports liquid syntax items: - properties: - id: - type: string - name: - type: string - type: object + type: string + nullable: true type: array - slack_emails: - description: Comma separated list of emails to invite to the channel - type: string required: - - channel + - completion + - task_id type: object - invite_to_slack_channel_victor_ops_task_params: + update_github_issue_task_params: properties: task_type: enum: - - invite_to_slack_channel_victor_ops + - update_github_issue type: string - channels: + issue_id: + description: The issue id + type: string + repository: + $ref: '#/components/schemas/update_github_issue_task_params_repository' + title: + description: The issue title + type: string + body: + description: The issue body + type: string + labels: + description: The issue labels items: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' type: array - team: + labels_mode: + default: replace + description: How to apply labels. 'replace' (default) overwrites all existing + labels. 'append' adds to existing labels without removing them. + enum: + - replace + - append + type: string + issue_type: + $ref: '#/components/schemas/create_github_issue_task_params_issue_type' + completion: $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - channels - - team + - completion + - issue_id type: object - page_opsgenie_on_call_responders_task_params: + update_gitlab_issue_task_params: properties: task_type: enum: - - page_opsgenie_on_call_responders + - update_gitlab_issue type: string - title: - description: Incident title. - nullable: true + issue_id: + description: The issue id type: string - message: - description: Message of the incident + issue_type: + description: The issue type + enum: + - issue + - incident + - test_case + - task + type: string + title: + description: The issue title type: string description: - description: Description field of the incident that is generally used to - provide a detailed information about the incident + description: The issue description type: string - teams: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - users: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - priority: - default: P1 - enum: - - P1 - - P2 - - P3 - - P4 - - P5 - - auto + labels: + description: The issue labels type: string + due_date: + description: The due date + type: string + completion: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + required: + - completion + - issue_id type: object - create_opsgenie_alert_task_params: + update_incident_task_params: properties: task_type: enum: - - create_opsgenie_alert + - update_incident type: string - message: - description: Message of the alert + attribute_to_query_by: + default: id + enum: + - 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 + - gitlab_issue_id + - freshservice_ticket_id + - freshservice_task_id + - clickup_task_id type: string - description: - description: Description field of the alert that is generally used to provide - a detailed information about the alert + incident_id: + description: The incident id to update or id of any attribute on the incident type: string - teams: + title: + description: The incident title + nullable: true + type: string + summary: + description: The incident summary + nullable: true + type: string + status: + nullable: true + type: string + severity_id: + nullable: true + type: string + incident_type_ids: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: string + nullable: true type: array - users: + service_ids: + description: Array of service UUIDs items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: string + nullable: true type: array - schedules: + functionality_ids: + description: Array of functionality UUIDs items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: string + nullable: true type: array - escalations: + environment_ids: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: string + nullable: true + type: array + group_ids: + description: Array of group/team UUIDs + items: + type: string + nullable: true type: array - priority: - default: P1 - enum: - - P1 - - P2 - - P3 - - P4 - - P5 - - auto + started_at: + nullable: true type: string - details: - description: Details payload. Can contain liquid markup and need to be valid - JSON + detected_at: + nullable: true + type: string + acknowledged_at: + nullable: true + type: string + mitigated_at: + nullable: true + type: string + resolved_at: + nullable: true + type: string + private: + type: boolean + custom_fields_mapping: + description: "Custom field mappings. Can contain liquid markup and need\ + \ to be valid JSON. Use 'services', 'functionalities', or 'groups' keys\ + \ with arrays of names/slugs for name/slug lookup" nullable: true type: string required: - - message + - incident_id type: object - update_opsgenie_alert_task_params: + update_incident_postmortem_task_params: properties: - alert_id: - description: Opsgenie Alert ID - type: string task_type: enum: - - update_opsgenie_alert + - update_incident_postmortem type: string - message: - description: Message of the alert + postmortem_id: + description: UUID of the retrospective that needs to be updated type: string - description: - description: Description field of the alert that is generally used to provide - a detailed information about the alert + title: + description: The incident title + nullable: true type: string - priority: - enum: - - P1 - - P2 - - P3 - - P4 - - P5 - - auto + status: + nullable: true type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' required: - - alert_id - - completion - - priority + - postmortem_id type: object - update_opsgenie_incident_task_params: + update_jira_issue_task_params: properties: task_type: enum: - - update_opsgenie_incident + - update_jira_issue type: string - opsgenie_incident_id: - description: "The Opsgenie incident ID, this can also be a Rootly incident\ - \ variable ex. {{ incident.opsgenie_incident_id }}" + integration: + $ref: '#/components/schemas/create_jira_issue_task_params_integration' + issue_id: + description: The issue id type: string - message: - description: Message of the alert + title: + description: The issue title type: string description: - description: Description field of the alert that is generally used to provide - a detailed information about the alert + description: The issue description type: string - status: - enum: - - resolve - - open - - close - - auto + labels: + description: The issue labels + type: string + assign_user_email: + description: The assigned user's email + type: string + reporter_user_email: + description: The reporter user's email + type: string + project_key: + description: The project key + type: string + due_date: + description: The due date type: string priority: - enum: - - P1 - - P2 - - P3 - - P4 - - P5 - - auto + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + status: + $ref: '#/components/schemas/create_jira_issue_task_params_status' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + update_payload: + description: Update payload. Can contain liquid markup and need to be valid + JSON + nullable: true type: string required: - - opsgenie_incident_id + - issue_id + - project_key type: object - page_rootly_on_call_responders_task_params: + update_linear_issue_task_params: properties: task_type: enum: - - page_rootly_on_call_responders + - update_linear_issue type: string - escalation_policy_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - service_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - user_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - group_target: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - alert_urgency_id: - description: Alert urgency ID + issue_id: + description: The issue id type: string - summary: - description: Alert title + title: + description: The issue title type: string description: - description: Alert description + description: The issue description type: string - escalation_note: + state: + $ref: '#/components/schemas/update_linear_issue_task_params_state' + project: + $ref: '#/components/schemas/create_linear_issue_task_params_project' + labels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + assign_user_email: + description: The assigned user's email type: string required: - - summary + - issue_id type: object - page_pagerduty_on_call_responders_task_params: + update_service_now_incident_task_params: properties: task_type: enum: - - page_pagerduty_on_call_responders + - update_service_now_incident type: string - service: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - escalation_policies: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - users: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - title: - description: Incident title. - nullable: true + incident_id: + description: The incident id type: string - message: + title: + description: The incident title type: string - urgency: - default: high - enum: - - high - - low - - auto + description: + description: The incident description type: string priority: - description: "PagerDuty incident priority, selecting auto will let Rootly\ - \ auto map our incident severity" + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true type: string - create_new_incident_on_conflict: - default: false - description: "Rootly only supports linking to a single PagerDuty incident.\ - \ If this feature is disabled Rootly will add responders from any additional\ - \ pages to the existing PagerDuty incident that is linked to the Rootly\ - \ incident. If enabled, Rootly will create a new PagerDuty incident that\ - \ is not linked to any Rootly incidents" - type: boolean required: - - service + - incident_id type: object - page_victor_ops_on_call_responders_task_params: - anyOf: [] - nullable: true + update_shortcut_story_task_params: properties: task_type: enum: - - page_victor_ops_on_call_responders + - update_shortcut_story + type: string + story_id: + description: The story id type: string - escalation_policies: - items: - properties: - id: - type: string - name: - type: string - type: object - type: array - users: - items: - properties: - id: - type: string - name: - type: string - type: object - type: array title: - description: Alert title. - nullable: true + description: The incident title type: string + description: + description: The incident description + type: string + labels: + description: The story labels + type: string + due_date: + description: The due date + type: string + archivation: + $ref: '#/components/schemas/create_trello_card_task_params_archivation' + required: + - archivation + - story_id type: object - update_victor_ops_incident_task_params: + update_shortcut_task_task_params: properties: task_type: enum: - - update_victor_ops_incident + - update_shortcut_task type: string - victor_ops_incident_id: - description: "The victor_ops incident ID, this can also be a Rootly incident\ - \ variable ex. {{ incident.victor_ops_incident_id }}" + task_id: + description: The task id type: string - status: - enum: - - resolve - - ack - - auto + parent_story_id: + description: The parent story type: string - resolution_message: - description: Resolution message + description: + description: The task description type: string + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' required: - - status - - victor_ops_incident_id + - completion + - parent_story_id + - task_id type: object - print_task_params: + update_slack_channel_topic_task_params: properties: task_type: enum: - - print + - update_slack_channel_topic type: string - message: - description: The message to print + channel: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + topic: type: string required: - - message + - channel + - topic type: object - publish_incident_task_params: + update_status_task_params: properties: task_type: enum: - - publish_incident - type: string - incident: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - public_title: - type: string - event: - description: Incident event description + - update_status type: string status: - default: resolved enum: - - investigating - - identified - - monitoring + - in_triage + - started + - mitigated - resolved - - scheduled - - in_progress - - verifying - - completed - type: string - notify_subscribers: - default: false - description: When true notifies subscribers of the status page by email/text - type: boolean - should_tweet: - default: false - description: For Statuspage.io integrated pages auto publishes a tweet for - your update - type: boolean - status_page_template: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - status_page_id: + - closed + - cancelled 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 - nullable: true + inactivity_timeout: + description: "In format '1 hour', '1 day', etc" + example: 1 hour type: string required: - - incident - - public_title - status - - status_page_id type: object - redis_client_task_params: + update_incident_status_timestamp_task_params: properties: task_type: enum: - - redis_client - type: string - url: - example: redis://redis-12345.c1.us-east-1-2.ec2.cloud.redislabs.com:12345 - type: string - commands: + - update_status type: string - event_url: + sub_status_id: + description: Sub-status to update timestamp for type: string - event_message: + assigned_at: + description: Timestamp of when the sub-status was assigned type: string - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array required: - - commands - - url + - assigned_at + - sub_status_id type: object - rename_slack_channel_task_params: + update_trello_card_task_params: properties: task_type: enum: - - rename_slack_channel + - update_trello_card + type: string + card_id: + description: The card id type: string - channel: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' title: + description: The card title type: string - required: - - channel - - title - type: object - change_slack_channel_privacy_task_params: - properties: - task_type: - enum: - - rename_slack_channel + description: + description: The card description type: string - channel: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - privacy: - enum: - - private - - public + due_date: + description: The due date type: string + board: + $ref: '#/components/schemas/create_trello_card_task_params_board' + list: + $ref: '#/components/schemas/create_trello_card_task_params_list' + labels: + items: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: array + archivation: + $ref: '#/components/schemas/create_trello_card_task_params_archivation' required: - - privacy - - title + - archivation + - card_id type: object - run_command_heroku_task_params: + update_clickup_task_task_params: properties: task_type: enum: - - run_command_heroku + - update_clickup_task type: string - command: + task_id: + description: The task id type: string - app_name: + title: + description: The task title type: string - size: - enum: - - standard-1X - - standard-2X + description: + description: The task description + type: string + tags: + description: The task tags + type: string + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + due_date: + description: The due date + type: string + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON + nullable: true + type: string + task_payload: + description: Additional ClickUp task attributes. Will be merged into whatever + was specified in this tasks current parameters. Can contain liquid markup + and need to be valid JSON + nullable: true type: string - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array required: - - app_name - - command - - size + - task_id type: object - send_email_task_params: + update_motion_task_task_params: properties: task_type: enum: - - send_email + - update_motion_task type: string - from: - default: Rootly - description: The from email address. Need to use SMTP integration if different - than rootly.com + task_id: + description: The task id type: string - to: - items: - description: To address email - type: string - type: array - cc: - items: - description: Cc address email - type: string - type: array - bcc: + title: + description: The task title + type: string + description: + description: The task description + type: string + labels: items: - description: Bcc address email type: string type: array - subject: - description: The subject - type: string - preheader: - description: The preheader - nullable: true - type: string - body: - description: The email body - nullable: true + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + duration: + description: "The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater\ + \ than 0." type: string - include_header: - type: boolean - include_footer: - type: boolean - custom_logo_url: - description: URL to your custom email logo - nullable: true + due_date: + description: The due date type: string required: - - body - - subject - - to + - task_id type: object - send_dashboard_report_task_params: + update_zendesk_ticket_task_params: properties: task_type: enum: - - send_dashboard_report + - update_zendesk_ticket type: string - dashboard_ids: - items: - type: string - type: array - from: - default: Rootly - description: The from email address. Need to use SMTP integration if different - than rootly.com + ticket_id: + description: The ticket id type: string - to: - items: - description: The recipient - type: string - type: array subject: - description: The subject + description: The ticket subject type: string - preheader: - description: The preheader + tags: + description: The ticket tags + type: string + priority: + $ref: '#/components/schemas/create_jira_issue_task_params_priority' + completion: + $ref: '#/components/schemas/create_service_now_incident_task_params_completion' + custom_fields_mapping: + description: Custom field mappings. Can contain liquid markup and need to + be valid JSON nullable: true type: string - body: - description: The email body + ticket_payload: + description: Additional Zendesk ticket attributes. Will be merged into whatever + was specified in this tasks current parameters. Can contain liquid markup + and need to be valid JSON nullable: true type: string required: - - body - - dashboard_ids - - subject - - to + - ticket_id type: object - create_slack_channel_task_params: + update_attached_alerts_task_params: properties: task_type: enum: - - create_slack_channel + - update_attached_alerts type: string - workspace: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - title: - description: Slack channel title + status: + enum: + - acknowledged + - resolved type: string - private: - default: auto + required: + - status + type: object + trigger_workflow_task_params: + properties: + task_type: enum: - - auto - - "true" - - "false" + - trigger_workflow + type: string + kind: + default: incident + enum: + - incident + - post_mortem + - action_item + - pulse + - alert + type: string + attribute_to_query_by: + default: id + description: "[\"(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]\", \"(post_mortem) kind can only match [: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]\"\ + , \"(pulse) kind can only match [:id]\", \"(alert) kind can only match\ + \ [:id]\"]" + enum: + - 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 type: string + resource: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + workflow: + $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + check_workflow_conditions: + type: boolean required: - - title - - workspace + - attribute_to_query_by + - kind + - resource + - workflow type: object - send_slack_message_task_params: + send_slack_blocks_task_params: anyOf: [] nullable: true properties: task_type: enum: - - send_slack_message + - send_slack_blocks + type: string + message: + type: string + blocks: + description: Support liquid markup. Needs to be a valid JSON string after + liquid is parsed + type: string + attachments: + description: Support liquid markup. Needs to be a valid JSON string after + liquid is parsed type: string channels: items: @@ -44511,44 +33402,17 @@ components: type: string type: object type: array - actionables: - items: - enum: - - update_summary - - update_status - - archive_channel - - manage_incident_roles - - update_incident - - all_commands - - leave_feedback - - manage_form_fields - - manage_action_items - - view_tasks - - add_pagerduty_responders - - add_opsgenie_responders - - add_victor_ops_responders - - update_status_page - - pause_reminder - - snooze_reminder - - restart_reminder - - cancel_incident - - delete_message - type: string - type: array broadcast_thread_reply_to_channel: type: boolean send_as_ephemeral: type: boolean - color: - description: "A hex color ex. #FFFFFF" - type: string pin_to_channel: type: boolean - update_parent_message: - type: boolean thread_ts: description: The thread to send the message into type: string + update_parent_message: + type: boolean parent_message_thread_task: description: "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" @@ -44558,970 +33422,1993 @@ components: name: type: string type: object - text: - description: The message text - type: string send_only_as_threaded_message: description: "When set to true, if the parent for this threaded message\ \ cannot be found the message will be skipped." type: boolean required: - - text + - blocks type: object - send_sms_task_params: + create_openai_chat_completion_task_params: properties: task_type: enum: - - send_sms + - openai_chat_completion type: string - phone_numbers: - items: - description: A recipient phone number - example: "[\"14150001111\"]" - type: string - type: array - name: - description: The name + model: + $ref: '#/components/schemas/create_openai_chat_completion_task_params_model' + system_prompt: + description: The system prompt to send to OpenAI (optional) type: string - content: - description: The SMS message + prompt: + description: The prompt to send to OpenAI + type: string + temperature: + description: Controls randomness in the response. Higher values make output + more random + maximum: 2.0 + minimum: 0.0 + type: number + max_tokens: + description: Maximum number of tokens to generate in the response + minimum: 1 + type: integer + top_p: + description: Controls diversity via nucleus sampling. Lower values make + output more focused + maximum: 1.0 + minimum: 0.0 + type: number + reasoning_effort: + description: Constrains effort on reasoning for GPT-5 and o-series models + enum: + - minimal + - low + - medium + - high + type: string + reasoning_summary: + description: Summary of the reasoning performed by the model for GPT-5 and + o-series models + enum: + - auto + - concise + - detailed type: string required: - - content - - name - - phone_numbers + - model + - prompt type: object - send_whatsapp_message_task_params: + create_watsonx_chat_completion_task_params: properties: task_type: enum: - - send_whatsapp_message + - create_watsonx_chat_completion_task type: string - phone_numbers: - items: - description: A recipient phone number - example: "[\"14150001111\"]" - type: string - type: array - name: - description: The name + model: + $ref: '#/components/schemas/create_watsonx_chat_completion_task_params_model' + system_prompt: + description: The system prompt to send to WatsonX (optional) type: string - content: - description: The WhatsApp message + prompt: + description: The prompt to send to WatsonX + type: string + project_id: type: string required: - - content - - name - - phone_numbers + - model + - project_id + - prompt type: object - snapshot_datadog_graph_task_params: + create_google_gemini_chat_completion_task_params: properties: task_type: enum: - - snapshot_datadog_graph + - create_google_gemini_chat_completion_task type: string - dashboards: + model: + $ref: '#/components/schemas/create_google_gemini_chat_completion_task_params_model' + system_prompt: + description: The system prompt to send to Gemini (optional) + type: string + prompt: + description: The prompt to send to Gemini + type: string + required: + - model + - prompt + type: object + create_mistral_chat_completion_task_params: + properties: + task_type: + enum: + - create_mistral_chat_completion_task + type: string + model: + $ref: '#/components/schemas/create_mistral_chat_completion_task_params_model' + system_prompt: + description: The system prompt to send to Mistral (optional) + type: string + prompt: + description: The prompt to send to Mistral + type: string + temperature: + description: Sampling temperature (0.0-1.5). Higher values make output more + random. + maximum: 1.5 + minimum: 0.0 + type: number + max_tokens: + description: Maximum number of tokens to generate + minimum: 1 + type: integer + top_p: + description: Nucleus sampling parameter (0.0-1.0) + maximum: 1.0 + minimum: 0.0 + type: number + required: + - model + - prompt + type: object + create_anthropic_chat_completion_task_params: + properties: + task_type: + enum: + - create_anthropic_chat_completion_task + type: string + model: + $ref: '#/components/schemas/create_anthropic_chat_completion_task_params_model' + system_prompt: + description: The system prompt to send to Anthropic (optional) + type: string + prompt: + description: The prompt to send to Anthropic + type: string + required: + - model + - prompt + type: object + new_workflow_task: + properties: + data: + $ref: '#/components/schemas/new_workflow_task_data' + required: + - data + type: object + update_workflow_task: + properties: + data: + $ref: '#/components/schemas/update_workflow_task_data' + required: + - data + type: object + workflow_task: + properties: + workflow_id: + description: The ID of the parent workflow + type: string + task_params: + $ref: '#/components/schemas/new_workflow_task_data_attributes_task_params' + name: + description: Name of the workflow task + type: string + position: + description: The position of the workflow task + type: integer + skip_on_failure: + description: Skip workflow task if any failures + type: boolean + enabled: + default: true + description: Enable/disable workflow task + type: boolean + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - enabled + - position + - skip_on_failure + - task_params + - updated_at + - workflow_id + type: object + workflow_task_response: + properties: + data: + $ref: '#/components/schemas/workflow_task_response_data' + required: + - data + type: object + workflow_task_list: + properties: + data: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + $ref: '#/components/schemas/workflow_task_response_data' type: array - past_duration: - description: "in format '1 minute', '30 days', '3 months', etc" - example: 1 hour + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_workflow_custom_field_selection: + properties: + data: + $ref: '#/components/schemas/new_workflow_custom_field_selection_data' + required: + - data + type: object + update_workflow_custom_field_selection: + properties: + data: + $ref: '#/components/schemas/update_workflow_custom_field_selection_data' + required: + - data + type: object + workflow_custom_field_selection: + properties: + workflow_id: + description: The workflow for this selection type: string - metric_queries: + custom_field_id: + description: The custom field for this selection + type: integer + incident_condition: + default: ANY + description: The trigger condition + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + values: items: + description: The value to associate with the custom field trigger type: string type: array - post_to_incident_timeline: - type: boolean - post_to_slack_channels: + selected_option_ids: + items: + description: The selected option id for select and multi_select kinds + type: integer + type: array + required: + - custom_field_id + - incident_condition + - selected_option_ids + - workflow_id + type: object + workflow_custom_field_selection_response: + properties: + data: + $ref: '#/components/schemas/workflow_custom_field_selection_response_data' + required: + - data + type: object + workflow_custom_field_selection_list: + properties: + data: + items: + $ref: '#/components/schemas/workflow_custom_field_selection_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_workflow_form_field_condition: + properties: + data: + $ref: '#/components/schemas/new_workflow_form_field_condition_data' + required: + - data + type: object + update_workflow_form_field_condition: + properties: + data: + $ref: '#/components/schemas/update_workflow_form_field_condition_data' + required: + - data + type: object + workflow_form_field_condition: + properties: + workflow_id: + description: The workflow for this condition + type: string + form_field_id: + description: The custom field for this condition + type: string + incident_condition: + default: ANY + description: The trigger condition + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + values: + items: + description: The value to associate with the custom field trigger + type: string + type: array + selected_catalog_entity_ids: + items: + description: The selected catalog entities for select and multi_select + kinds + type: string + type: array + selected_functionality_ids: + items: + description: The selected functionalities for select and multi_select + kinds + type: string + type: array + selected_group_ids: + items: + description: The selected groups (teams) for select and multi_select kinds + type: string + type: array + selected_option_ids: + items: + description: The selected option id for select and multi_select kinds + type: string + type: array + selected_service_ids: + items: + description: The selected services for select and multi_select kinds + type: string + type: array + selected_user_ids: + items: + description: The selected user id for select and multi_select kinds + type: integer + type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array + required: + - form_field_id + - incident_condition + - selected_catalog_entity_ids + - selected_option_ids + - selected_user_ids + - workflow_id + type: object + workflow_form_field_condition_response: + properties: + data: + $ref: '#/components/schemas/workflow_form_field_condition_response_data' + required: + - data + type: object + workflow_form_field_condition_list: + properties: + data: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + $ref: '#/components/schemas/workflow_form_field_condition_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - past_duration + - data + - links + - meta type: object - snapshot_grafana_dashboard_task_params: + new_workflow_group: properties: - task_type: - enum: - - snapshot_grafana_dashboard - type: string - dashboards: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array + data: + $ref: '#/components/schemas/new_workflow_group_data' required: - - dashboards + - data type: object - snapshot_looker_look_task_params: + update_workflow_group: properties: - task_type: - enum: - - snapshot_looker_look - type: string - dashboards: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array - post_to_incident_timeline: - type: boolean - post_to_slack_channels: - items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - type: array + data: + $ref: '#/components/schemas/update_workflow_group_data' required: - - dashboards + - data type: object - snapshot_new_relic_graph_task_params: + workflow_group: properties: - task_type: + kind: + description: The kind of the workflow group enum: - - snapshot_looker_graph + - simple + - incident + - post_mortem + - action_item + - pulse + - alert + nullable: true type: string - metric_query: + name: + description: The name of the workflow group. type: string - metric_type: - enum: - - APDEX - - AREA - - BAR - - BASELINE - - BILLBOARD - - BULLET - - EVENT_FEED - - FUNNEL - - HEATMAP - - HISTOGRAM - - LINE - - PIE - - SCATTER - - STACKED_HORIZONTAL_BAR - - TABLE - - VERTICAL_BAR + slug: + description: The slug of the workflow group. type: string - post_to_incident_timeline: + description: + description: A description of the workflow group. + nullable: true + type: string + icon: + description: An emoji icon displayed next to the workflow group. + type: string + expanded: + description: Whether the group is expanded or collapsed. type: boolean - post_to_slack_channels: + position: + description: The position of the workflow group + type: integer + required: + - name + - position + type: object + workflow_group_response: + properties: + data: + $ref: '#/components/schemas/workflow_group_response_data' + required: + - data + type: object + workflow_group_list: + properties: + data: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + $ref: '#/components/schemas/workflow_group_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - metric_query - - metric_type + - data + - links + - meta type: object - tweet_twitter_message_task_params: + new_workflow_run: properties: - task_type: - enum: - - tweet_twitter_message - type: string - message: - type: string + data: + $ref: '#/components/schemas/new_workflow_run_data' required: - - message + - data type: object - update_airtable_table_record_task_params: + workflow_run: properties: - task_type: - enum: - - update_airtable_table_record + workflow_id: type: string - base_key: - description: The base key + status: + enum: + - queued + - started + - completed + - completed_with_errors + - failed + - canceled type: string - table_name: - description: The table name + status_message: + nullable: true type: string - record_id: - description: The record id + triggered_by: + enum: + - system + - user + - workflow type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + started_at: nullable: true type: string - required: - - base_key - - record_id - - table_name - type: object - update_asana_task_task_params: - properties: - task_type: - enum: - - update_asana_task + completed_at: + nullable: true type: string - task_id: - description: The task id + failed_at: + nullable: true type: string - title: - description: The task title + canceled_at: + nullable: true type: string - notes: + incident_id: + nullable: true type: string - assign_user_email: - description: The assigned user's email + post_mortem_id: + nullable: true type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - due_date: - description: The due date + action_item_id: + nullable: true type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + alert_id: nullable: true type: string - dependency_direction: - default: blocking - enum: - - blocking - - blocked_by + pulse_id: + nullable: true type: string - dependent_task_ids: - description: Dependent task ids. Supports liquid syntax + context: + additionalProperties: true + type: object + required: + - status + - triggered_by + - workflow_id + type: object + workflow_run_response: + properties: + data: + $ref: '#/components/schemas/workflow_run_response_data' + required: + - data + type: object + workflow_runs_list: + properties: + data: items: - type: string - nullable: true + $ref: '#/components/schemas/workflow_run_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - completion - - task_id + - data + - links + - meta type: object - update_github_issue_task_params: + new_workflow: properties: - task_type: + data: + $ref: '#/components/schemas/new_workflow_data' + required: + - data + type: object + incident_trigger_params: + properties: + trigger_type: enum: - - update_github_issue + - incident type: string - issue_id: - description: The issue id + triggers: + items: + 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,\ + \ 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,\ + \ functionalities_updated, teams_added, teams_removed, teams_updated,\ + \ causes_added, causes_removed, causes_updated, timeline_updated, status_page_timeline_updated,\ + \ role_assignments_updated, role_assignments_added, role_assignments_removed,\ + \ slack_command, slack_channel_created, slack_channel_converted, microsoft_teams_channel_created,\ + \ microsoft_teams_chat_created, subscribers_updated, subscribers_added,\ + \ subscribers_removed, user_joined_slack_channel, user_left_slack_channel" + type: string + type: array + incident_visibilities: + items: + type: boolean + type: array + incident_kinds: + items: + enum: + - test + - test_sub + - example + - example_sub + - normal + - normal_sub + - backfilled + - scheduled + - scheduled_sub + type: string + type: array + incident_statuses: + items: + enum: + - in_triage + - started + - detected + - acknowledged + - mitigated + - resolved + - closed + - cancelled + - scheduled + - in_progress + - completed + type: string + type: array + incident_inactivity_duration: + description: "ex. 10 min, 1h, 3 days, 2 weeks" + nullable: true type: string - title: - description: The issue title + incident_condition: + default: ALL + enum: + - ALL + - ANY + - NONE type: string - body: - description: The issue body + incident_condition_visibility: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - required: - - completion - - issue_id - type: object - update_gitlab_issue_task_params: - properties: - task_type: + incident_condition_kind: + default: IS enum: - - update_gitlab_issue + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - issue_id: - description: The issue id + incident_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - issue_type: - description: The issue type + incident_condition_sub_status: + default: ANY enum: - - issue - - incident - - test_case - - task + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - title: - description: The issue title + incident_condition_environment: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The issue description + incident_condition_severity: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - labels: - description: The issue labels + incident_condition_incident_type: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - due_date: - description: The due date + incident_condition_incident_roles: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - completion: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - required: - - completion - - issue_id - type: object - update_incident_task_params: - properties: - task_type: + incident_condition_service: + default: ANY enum: - - update_incident + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - attribute_to_query_by: - default: id + incident_condition_functionality: + default: ANY enum: - - 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 - - gitlab_issue_id - - freshservice_ticket_id - - freshservice_task_id - - clickup_task_id + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + incident_condition_group: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + incident_condition_cause: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + incident_post_mortem_condition_cause: + default: ANY + description: "[DEPRECATED] Use incident_condition_cause instead" + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - incident_id: - description: The incident id to update or id of any attribute on the incident + incident_condition_summary: + enum: + - SET + - UNSET + nullable: true type: string - title: - description: The incident title + incident_condition_started_at: + enum: + - SET + - UNSET nullable: true type: string - summary: - description: The incident summary + incident_condition_detected_at: + enum: + - SET + - UNSET nullable: true type: string - status: + incident_condition_acknowledged_at: + enum: + - SET + - UNSET nullable: true type: string - severity_id: + incident_condition_mitigated_at: + enum: + - SET + - UNSET nullable: true type: string - incident_type_ids: - items: - type: string + incident_condition_resolved_at: + enum: + - SET + - UNSET nullable: true - type: array - service_ids: + type: string + incident_conditional_inactivity: + enum: + - IS + nullable: true + type: string + required: + - trigger_type + type: object + post_mortem_trigger_params: + properties: + trigger_type: + enum: + - post_mortem + type: string + triggers: items: + description: "Actions that trigger the workflow. One of custom_fields..updated,\ + \ post_mortem_created, post_mortem_updated, status_updated, slack_command" type: string - nullable: true type: array - functionality_ids: + incident_visibilities: items: - type: string - nullable: true + type: boolean type: array - environment_ids: + incident_kinds: items: + enum: + - test + - test_sub + - example + - example_sub + - normal + - normal_sub + - backfilled + - scheduled + - scheduled_sub type: string - nullable: true type: array - group_ids: + incident_statuses: items: + enum: + - in_triage + - started + - detected + - acknowledged + - mitigated + - resolved + - closed + - cancelled + - scheduled + - in_progress + - completed type: string - nullable: true type: array - started_at: - nullable: true - type: string - detected_at: + incident_inactivity_duration: + description: "ex. 10 min, 1h, 3 days, 2 weeks" nullable: true type: string - acknowledged_at: - nullable: true + incident_condition: + default: ALL + enum: + - ALL + - ANY + - NONE type: string - mitigated_at: - nullable: true + incident_condition_visibility: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - resolved_at: - nullable: true + incident_condition_kind: + default: IS + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - private: - type: boolean - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + incident_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - required: - - incident_id - type: object - update_incident_postmortem_task_params: - properties: - task_type: + incident_condition_sub_status: + default: ANY enum: - - update_incident_postmortem + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - postmortem_id: - description: UUID of the retrospective that needs to be updated + incident_condition_environment: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - title: - description: The incident title - nullable: true + incident_condition_severity: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - status: - nullable: true + incident_condition_incident_type: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - required: - - postmortem_id - type: object - update_jira_issue_task_params: - properties: - task_type: + incident_condition_incident_roles: + default: ANY enum: - - update_jira_issue + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - issue_id: - description: The issue id + incident_condition_service: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - title: - description: The issue title + incident_condition_functionality: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The issue description + incident_condition_group: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - labels: - description: The issue labels + incident_condition_cause: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - assign_user_email: - description: The assigned user's email + incident_post_mortem_condition_cause: + default: ANY + description: "[DEPRECATED] Use incident_condition_cause instead" + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - reporter_user_email: - description: The reporter user's email + incident_condition_summary: + enum: + - SET + - UNSET + nullable: true type: string - project_key: - description: The project key + incident_condition_started_at: + enum: + - SET + - UNSET + nullable: true type: string - due_date: - description: The due date + incident_condition_detected_at: + enum: + - SET + - UNSET + nullable: true type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - status: - $ref: '#/components/schemas/create_jira_issue_task_params_status' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + incident_condition_acknowledged_at: + enum: + - SET + - UNSET nullable: true type: string - update_payload: - description: Update payload. Can contain liquid markup and need to be valid - JSON + incident_condition_mitigated_at: + enum: + - SET + - UNSET nullable: true type: string - required: - - issue_id - - project_key - type: object - update_linear_issue_task_params: - properties: - task_type: + incident_condition_resolved_at: enum: - - update_linear_issue + - SET + - UNSET + nullable: true type: string - issue_id: - description: The issue id + incident_conditional_inactivity: + enum: + - IS + nullable: true type: string - title: - description: The issue title + incident_post_mortem_condition: + enum: + - ALL + - ANY + - NONE type: string - description: - description: The issue description + incident_post_mortem_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - state: - $ref: '#/components/schemas/create_linear_issue_task_params_state' - project: - $ref: '#/components/schemas/create_linear_issue_task_params_project' - labels: + incident_post_mortem_statuses: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + enum: + - draft + - published + type: string type: array - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - assign_user_email: - description: The assigned user's email - type: string required: - - issue_id + - trigger_type type: object - update_service_now_incident_task_params: + action_item_trigger_params: properties: - task_type: + trigger_type: enum: - - update_service_now_incident - type: string - incident_id: - description: The incident id - type: string - title: - description: The incident title - type: string - description: - description: The incident description + - action_item type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON + triggers: + items: + description: "Actions that trigger the workflow. One of custom_fields..updated,\ + \ incident_updated, action_item_created, action_item_updated, assigned_user_updated,\ + \ summary_updated, description_updated, status_updated, priority_updated,\ + \ due_date_updated, teams_updated, slack_command" + type: string + type: array + incident_visibilities: + items: + type: boolean + type: array + incident_kinds: + items: + enum: + - test + - test_sub + - example + - example_sub + - normal + - normal_sub + - backfilled + - scheduled + - scheduled_sub + type: string + type: array + incident_statuses: + items: + enum: + - in_triage + - started + - detected + - acknowledged + - mitigated + - resolved + - closed + - cancelled + - scheduled + - in_progress + - completed + type: string + type: array + incident_inactivity_duration: + description: "ex. 10 min, 1h, 3 days, 2 weeks" nullable: true type: string - required: - - incident_id - type: object - update_shortcut_story_task_params: - properties: - task_type: + incident_condition: + default: ALL enum: - - update_shortcut_story + - ALL + - ANY + - NONE type: string - story_id: - description: The story id + incident_condition_visibility: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - title: - description: The incident title + incident_condition_kind: + default: IS + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The incident description + incident_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + incident_condition_sub_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - labels: - description: The story labels + incident_condition_environment: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - due_date: - description: The due date + incident_condition_severity: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - archivation: - $ref: '#/components/schemas/create_trello_card_task_params_archivation' - required: - - archivation - - story_id - type: object - update_shortcut_task_task_params: - properties: - task_type: + incident_condition_incident_type: + default: ANY enum: - - update_shortcut_task + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - task_id: - description: The task id + incident_condition_incident_roles: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - parent_story_id: - description: The parent story + incident_condition_service: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The task description + incident_condition_functionality: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' - required: - - completion - - parent_story_id - - task_id - type: object - update_slack_channel_topic_task_params: - properties: - task_type: + incident_condition_group: + default: ANY enum: - - update_slack_channel_topic + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - channel: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - topic: + incident_condition_summary: + enum: + - SET + - UNSET + nullable: true type: string - required: - - channel - - topic - type: object - update_status_task_params: - properties: - task_type: + incident_condition_started_at: enum: - - update_status + - SET + - UNSET + nullable: true type: string - status: + incident_condition_detected_at: enum: - - in_triage - - started - - mitigated - - resolved - - closed - - cancelled + - SET + - UNSET + nullable: true type: string - inactivity_timeout: - description: "In format '1 hour', '1 day', etc" - example: 1 hour + incident_condition_acknowledged_at: + enum: + - SET + - UNSET + nullable: true type: string - required: - - status - type: object - update_incident_status_timestamp_task_params: - properties: - task_type: + incident_condition_mitigated_at: enum: - - update_status + - SET + - UNSET + nullable: true type: string - sub_status_id: - description: Sub-status to update timestamp for + incident_condition_resolved_at: + enum: + - SET + - UNSET + nullable: true type: string - assigned_at: - description: Timestamp of when the sub-status was assigned + incident_conditional_inactivity: + enum: + - IS + nullable: true type: string - required: - - assigned_at - - sub_status_id - type: object - update_trello_card_task_params: - properties: - task_type: + incident_action_item_condition: enum: - - update_trello_card + - ALL + - ANY + - NONE type: string - card_id: - description: The card id + incident_action_item_condition_kind: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - title: - description: The card title + incident_action_item_kinds: + items: + enum: + - task + - follow_up + type: string + type: array + incident_action_item_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The card description + incident_action_item_statuses: + items: + enum: + - open + - in_progress + - cancelled + - done + type: string + type: array + incident_action_item_condition_priority: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - due_date: - description: The due date + incident_action_item_priorities: + items: + enum: + - high + - medium + - low + type: string + type: array + incident_action_item_condition_group: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - board: - $ref: '#/components/schemas/create_trello_card_task_params_board' - list: - $ref: '#/components/schemas/create_trello_card_task_params_list' - labels: + incident_action_item_group_ids: items: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' + type: string type: array - archivation: - $ref: '#/components/schemas/create_trello_card_task_params_archivation' required: - - archivation - - card_id + - trigger_type type: object - update_clickup_task_task_params: + alert_trigger_params: properties: - task_type: + trigger_type: enum: - - update_clickup_task + - alert type: string - task_id: - description: The task id + triggers: + items: + description: Actions that trigger the workflow + enum: + - alert_created + - alert_status_updated + type: string + type: array + alert_condition: + enum: + - ALL + - ANY + - NONE type: string - title: - description: The task title + alert_condition_source: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - description: - description: The task description + alert_condition_source_use_regexp: + default: false + type: boolean + alert_sources: + items: + type: string + type: array + alert_condition_label: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - tags: - description: The task tags + alert_condition_label_use_regexp: + default: false + type: boolean + alert_condition_status: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - due_date: - description: The due date + alert_condition_status_use_regexp: + default: false + type: boolean + alert_statuses: + items: + type: string + type: array + alert_labels: + items: + type: string + type: array + alert_condition_urgency: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + alert_urgency_ids: + items: + format: uuid + type: string + type: array + alert_condition_payload: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - task_payload: - description: Additional ClickUp task attributes. Will be merged into whatever - was specified in this tasks current parameters. Can contain liquid markup - and need to be valid JSON + alert_condition_payload_use_regexp: + default: false + type: boolean + alert_payload: + items: + type: string + type: array + alert_query_payload: + description: "You can use jsonpath syntax. eg: $.incident.teams[*]" nullable: true type: string + alert_field_conditions: + items: + $ref: '#/components/schemas/alert_trigger_params_alert_field_conditions_inner' + type: array + alert_payload_conditions: + $ref: '#/components/schemas/alert_trigger_params_alert_payload_conditions' required: - - task_id + - trigger_type type: object - update_motion_task_task_params: + pulse_trigger_params: properties: - task_type: + trigger_type: enum: - - update_motion_task - type: string - task_id: - description: The task id - type: string - title: - description: The task title - type: string - description: - description: The task description + - pulse type: string - labels: + triggers: items: + description: Actions that trigger the workflow + enum: + - pulse_created type: string type: array - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - duration: - description: "The duration. Eg. \"NONE\", \"REMINDER\", or a integer greater\ - \ than 0." - type: string - due_date: - description: The due date - type: string - required: - - task_id - type: object - update_zendesk_ticket_task_params: - properties: - task_type: + pulse_condition: enum: - - update_zendesk_ticket - type: string - ticket_id: - description: The ticket id + - ALL + - ANY + - NONE type: string - subject: - description: The ticket subject + pulse_condition_source: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - tags: - description: The ticket tags + pulse_condition_source_use_regexp: + default: false + type: boolean + pulse_sources: + items: + type: string + type: array + pulse_condition_label: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - priority: - $ref: '#/components/schemas/create_jira_issue_task_params_priority' - completion: - $ref: '#/components/schemas/create_service_now_incident_task_params_completion' - custom_fields_mapping: - description: Custom field mappings. Can contain liquid markup and need to - be valid JSON - nullable: true + pulse_condition_label_use_regexp: + default: false + type: boolean + pulse_labels: + items: + type: string + type: array + pulse_condition_payload: + default: ANY + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET type: string - ticket_payload: - description: Additional Zendesk ticket attributes. Will be merged into whatever - was specified in this tasks current parameters. Can contain liquid markup - and need to be valid JSON + pulse_condition_payload_use_regexp: + default: false + type: boolean + pulse_payload: + items: + type: string + type: array + pulse_query_payload: + description: "You can use jsonpath syntax. eg: $.incident.teams[*]" nullable: true type: string required: - - ticket_id + - trigger_type type: object - update_attached_alerts_task_params: + simple_trigger_params: properties: - task_type: - enum: - - update_attached_alerts - type: string - status: + trigger_type: enum: - - acknowledged - - resolved + - simple type: string + triggers: + items: + description: Actions that trigger the workflow + enum: + - slack_command + type: string + type: array required: - - status + - trigger_type type: object - trigger_workflow_task_params: + update_workflow: properties: - task_type: - enum: - - trigger_workflow + data: + $ref: '#/components/schemas/update_workflow_data' + required: + - data + type: object + workflow: + properties: + name: + description: The title of the workflow type: string - kind: - default: incident - enum: - - incident - - post_mortem - - action_item - - pulse - - alert + slug: + description: The slug of the workflow type: string - attribute_to_query_by: - default: id - description: "[\"(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]\", \"(post_mortem) kind can only match [: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]\"\ - , \"(pulse) kind can only match [:id]\", \"(alert) kind can only match\ - \ [:id]\"]" - enum: - - 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 + description: + description: The description of the workflow + nullable: true type: string - resource: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - workflow: - $ref: '#/components/schemas/add_action_item_task_params_post_to_slack_channels_inner' - check_workflow_conditions: + command: + description: Workflow command + nullable: true + type: string + command_feedback_enabled: + description: This will notify you back when the workflow is starting + nullable: true type: boolean - required: - - attribute_to_query_by - - kind - - resource - - workflow - type: object - send_slack_blocks_task_params: - anyOf: [] - nullable: true - properties: - task_type: - enum: - - send_slack_blocks + wait: + description: Wait this duration before executing + nullable: true type: string - message: + repeat_every_duration: + description: Repeat workflow every duration + nullable: true type: string - blocks: - description: Support liquid markup. Needs to be a valid JSON string after - liquid is parsed + repeat_condition_duration_since_first_run: + description: The workflow will stop repeating if its runtime since it's + first workflow run exceeds the duration set in this field + nullable: true type: string - attachments: - description: Support liquid markup. Needs to be a valid JSON string after - liquid is parsed + repeat_condition_number_of_repeats: + description: The workflow will stop repeating if the number of repeats exceeds + the value set in this field + type: integer + continuously_repeat: + description: "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." + type: boolean + repeat_on: + items: + description: Repeat on weekdays + enum: + - S + - M + - T + - W + - R + - F + - U + type: string + nullable: true + type: array + enabled: + type: boolean + locked: + description: Restricts workflow edits to admins when turned on. Only admins + can set this field. + type: boolean + position: + description: The order which the workflow should run with other workflows. + type: integer + workflow_group_id: + description: The group this workflow belongs to. + nullable: true type: string - channels: + trigger_params: + $ref: '#/components/schemas/new_workflow_data_attributes_trigger_params' + environment_ids: items: - properties: - id: - type: string - name: - type: string - type: object + type: string type: array - slack_users: + severity_ids: items: - properties: - id: - type: string - name: - type: string - type: object + type: string type: array - slack_user_groups: + incident_type_ids: items: - properties: - id: - type: string - name: - type: string - type: object + type: string type: array - broadcast_thread_reply_to_channel: - type: boolean - send_as_ephemeral: - type: boolean - pin_to_channel: - type: boolean - thread_ts: - description: The thread to send the message into + incident_role_ids: + items: + type: string + type: array + service_ids: + items: + type: string + type: array + functionality_ids: + items: + type: string + type: array + group_ids: + items: + type: string + type: array + cause_ids: + items: + type: string + type: array + sub_status_ids: + items: + type: string + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string - update_parent_message: - type: boolean - parent_message_thread_task: - description: "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" - properties: - id: - type: string - name: - type: string - type: object - send_only_as_threaded_message: - description: "When set to true, if the parent for this threaded message\ - \ cannot be found the message will be skipped." - type: boolean required: - - blocks + - created_at + - name + - updated_at type: object - genius_create_openai_chat_completion_task_params: + workflow_response: properties: - task_type: - enum: - - genius_openai_chat_completion - type: string - model: - $ref: '#/components/schemas/genius_create_openai_chat_completion_task_params_model' - prompt: - description: The prompt to send to OpenAI - type: string + data: + $ref: '#/components/schemas/workflow_response_data' required: - - model - - prompt + - data type: object - genius_create_watsonx_chat_completion_task_params: + workflow_list: properties: - task_type: - enum: - - genius_create_watsonx_chat_completion_task - type: string - model: - $ref: '#/components/schemas/genius_create_watsonx_chat_completion_task_params_model' - prompt: - description: The prompt to send to WatsonX - type: string - project_id: - type: string + data: + items: + $ref: '#/components/schemas/workflow_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - model - - project_id - - prompt + - data + - links + - meta type: object - new_workflow_task: + new_live_call_router: properties: data: - $ref: '#/components/schemas/new_workflow_task_data' + $ref: '#/components/schemas/new_live_call_router_data' required: - data type: object - update_workflow_task: + update_live_call_router: properties: data: - $ref: '#/components/schemas/update_workflow_task_data' + $ref: '#/components/schemas/update_live_call_router_data' required: - data type: object - workflow_task: + live_call_router: properties: - workflow_id: - description: The ID of the parent workflow + kind: + description: The kind of the live_call_router + enum: + - voicemail + - live type: string - task_params: - $ref: '#/components/schemas/new_workflow_task_data_attributes_task_params' + enabled: + description: Whether the live_call_router is enabled + type: boolean name: - description: Name of the workflow task + description: The name of the live_call_router type: string - position: - description: The position of the workflow task + country_code: + description: The country code of the live_call_router + enum: + - AU + - CA + - DE + - NL + - NZ + - SE + - GB + - US + type: string + phone_type: + description: The phone type of the live_call_router + enum: + - local + - toll_free + - mobile + type: string + phone_number: + description: "You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number)\ + \ API and pass that phone number here to register" + type: string + voicemail_greeting: + description: The voicemail greeting of the live_call_router + type: string + caller_greeting: + description: The caller greeting message of the live_call_router + type: string + waiting_music_url: + description: The waiting music URL of the live_call_router + enum: + - https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3 + - https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3 + - https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3 + - https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3 + - https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3 + type: string + sent_to_voicemail_delay: + description: The delay (seconds) after which the caller in redirected to + voicemail type: integer - skip_on_failure: - description: Skip workflow task if any failures + should_redirect_to_voicemail_on_no_answer: + description: This prompts the caller to choose voicemail or connect live type: boolean - enabled: - default: true - description: Enable/disable workflow task + escalation_level_delay_in_seconds: + description: This overrides the delay (seconds) in escalation levels + type: integer + should_auto_resolve_alert_on_call_end: + description: This overrides the delay (seconds) in escalation levels type: boolean + alert_urgency_id: + description: This is used in escalation paths to determine who to page + type: string + calling_tree_prompt: + description: "The audio instructions callers will hear when they call this\ + \ number, prompting them to select from available options to route their\ + \ call" + type: string + paging_targets: + 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' + type: array + escalation_policy_trigger_params: + $ref: '#/components/schemas/update_live_call_router_data_attributes_escalation_policy_trigger_params' created_at: description: Date of creation type: string @@ -45530,1551 +35417,1362 @@ components: type: string required: - created_at - - enabled - - position - - skip_on_failure - - task_params + - name - updated_at - - workflow_id type: object - workflow_task_response: + live_call_router_response: properties: data: - $ref: '#/components/schemas/workflow_task_response_data' + $ref: '#/components/schemas/live_call_router_response_data' required: - data type: object - workflow_task_list: + live_call_router_list: properties: data: items: - $ref: '#/components/schemas/workflow_task_response_data' + $ref: '#/components/schemas/live_call_router_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_workflow_custom_field_selection: + new_heartbeat: properties: data: - $ref: '#/components/schemas/new_workflow_custom_field_selection_data' + $ref: '#/components/schemas/new_heartbeat_data' required: - data type: object - update_workflow_custom_field_selection: + update_heartbeat: properties: data: - $ref: '#/components/schemas/update_workflow_custom_field_selection_data' + $ref: '#/components/schemas/update_heartbeat_data' required: - data type: object - workflow_custom_field_selection: + heartbeat: properties: - workflow_id: - description: The workflow for this selection + name: + description: The name of the heartbeat type: string - custom_field_id: - description: The custom field for this selection + description: + description: The description of the heartbeat + nullable: true + type: string + alert_summary: + description: Summary of alerts triggered when heartbeat expires. + type: string + alert_description: + description: Description of alerts triggered when heartbeat expires. + nullable: true + type: string + alert_urgency_id: + description: Urgency of alerts triggered when heartbeat expires. + nullable: true + type: string + interval: type: integer - incident_condition: - default: ANY - description: The trigger condition + interval_unit: enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + - minutes + - hours + - days + type: string + notification_target_id: + type: string + notification_target_type: + description: The type of the notification target. Please contact support + if you encounter issues using `Functionality` as a target type. + enum: + - User + - Group + - Service + - EscalationPolicy + - Functionality + type: string + enabled: + description: Whether to trigger alerts when heartbeat is expired. + type: boolean + status: + enum: + - waiting + - active + - expired + type: string + ping_url: + description: URL to receive heartbeat pings. + nullable: true + type: string + secret: + description: Secret used as bearer token when pinging heartbeat. + nullable: true + type: string + email_address: + description: Email address to receive heartbeat pings. + type: string + last_pinged_at: + description: When the heartbeat was last pinged. + nullable: true + type: string + expires_at: + description: When heartbeat expires + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string - values: - items: - description: The value to associate with the custom field trigger - type: string - type: array - selected_option_ids: - items: - description: The selected option id for select and multi_select kinds - type: integer - type: array required: - - custom_field_id - - incident_condition - - selected_option_ids - - workflow_id + - alert_summary + - created_at + - email_address + - enabled + - interval + - interval_unit + - name + - notification_target_id + - notification_target_type + - status + - updated_at type: object - workflow_custom_field_selection_response: + heartbeat_response: properties: data: - $ref: '#/components/schemas/workflow_custom_field_selection_response_data' + $ref: '#/components/schemas/heartbeat_response_data' required: - data type: object - workflow_custom_field_selection_list: + heartbeat_list: properties: data: items: - $ref: '#/components/schemas/workflow_custom_field_selection_response_data' + $ref: '#/components/schemas/heartbeat_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_workflow_form_field_condition: + new_incident_action_item: properties: data: - $ref: '#/components/schemas/new_workflow_form_field_condition_data' + $ref: '#/components/schemas/new_incident_action_item_data' required: - data type: object - update_workflow_form_field_condition: + update_incident_action_item: properties: data: - $ref: '#/components/schemas/update_workflow_form_field_condition_data' + $ref: '#/components/schemas/update_incident_action_item_data' required: - data type: object - workflow_form_field_condition: + incident_action_item: properties: - workflow_id: - description: The workflow for this condition + summary: + description: The summary of the action item type: string - form_field_id: - description: The custom field for this condition + description: + description: The description of incident action item + nullable: true type: string - incident_condition: - default: ANY - description: The trigger condition + kind: + description: The kind of the action item enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + - task + - follow_up type: string - values: - items: - description: The value to associate with the custom field trigger - type: string - type: array - selected_catalog_entity_ids: - items: - description: The selected catalog entities for select and multi_select - kinds - type: string - type: array - selected_functionality_ids: - items: - description: The selected functionalities for select and multi_select - kinds - type: string - type: array - selected_group_ids: - items: - description: The selected groups (teams) for select and multi_select kinds - type: string - type: array - selected_option_ids: - items: - description: The selected option id for select and multi_select kinds - type: string - type: array - selected_service_ids: + assigned_to: + allOf: + - $ref: '#/components/schemas/user_flat_response' + description: User assigned to this action item + nullable: true + type: object + assigned_to_group_ids: + description: IDs of groups you wish to assign this action item items: - description: The selected services for select and multi_select kinds type: string + nullable: true type: array - selected_user_ids: - items: - description: The selected user id for select and multi_select kinds - type: integer - type: array + 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_id: + description: The Jira issue ID. + nullable: true + type: string + jira_issue_key: + description: The Jira issue key. + nullable: true + type: string + jira_issue_url: + description: The Jira issue URL. + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string required: - - form_field_id - - incident_condition - - selected_catalog_entity_ids - - selected_option_ids - - selected_user_ids - - workflow_id + - created_at + - summary + - updated_at type: object - workflow_form_field_condition_response: + incident_action_item_response: properties: data: - $ref: '#/components/schemas/workflow_form_field_condition_response_data' + $ref: '#/components/schemas/incident_action_item_response_data' required: - data type: object - workflow_form_field_condition_list: + incident_action_item_list: properties: data: items: - $ref: '#/components/schemas/workflow_form_field_condition_response_data' + $ref: '#/components/schemas/incident_action_item_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_workflow_group: + new_incident_custom_field_selection: properties: data: - $ref: '#/components/schemas/new_workflow_group_data' + $ref: '#/components/schemas/new_incident_custom_field_selection_data' required: - data type: object - update_workflow_group: + update_incident_custom_field_selection: properties: data: - $ref: '#/components/schemas/update_workflow_group_data' + $ref: '#/components/schemas/update_incident_custom_field_selection_data' required: - data type: object - workflow_group: + incident_custom_field_selection: properties: - kind: - description: The kind of the workflow group - enum: - - simple - - incident - - post_mortem - - action_item - - pulse - - alert - nullable: true - type: string - name: - description: The name of the workflow group. - type: string - slug: - description: The slug of the workflow group. + incident_id: type: string - description: - description: A description of the workflow group. + custom_field_id: + type: integer + value: + description: The value of the incident_custom_field_selection nullable: true type: string - icon: - description: An emoji icon displayed next to the workflow group. - type: string - expanded: - description: Whether the group is expanded or collapsed. - type: boolean - position: - description: The position of the workflow group - type: integer + selected_option_ids: + items: + description: The selected option id for select and multi_select kinds + type: integer + type: array required: - - name - - position + - selected_option_ids + - value type: object - workflow_group_response: + incident_custom_field_selection_response: properties: data: - $ref: '#/components/schemas/workflow_group_response_data' + $ref: '#/components/schemas/incident_custom_field_selection_response_data' required: - data type: object - workflow_group_list: + incident_custom_field_selection_list: properties: data: items: - $ref: '#/components/schemas/workflow_group_response_data' + $ref: '#/components/schemas/incident_custom_field_selection_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_workflow_run: + new_incident_event_functionality: properties: data: - $ref: '#/components/schemas/new_workflow_run_data' + $ref: '#/components/schemas/new_incident_event_functionality_data' required: - data type: object - workflow_run: + update_incident_event_functionality: properties: - workflow_id: - type: string - status: - enum: - - queued - - started - - completed - - completed_with_errors - - failed - - canceled + data: + $ref: '#/components/schemas/update_incident_event_functionality_data' + required: + - data + type: object + incident_event_functionality: + additionalProperties: false + properties: + incident_event_id: + description: The ID of the incident event. type: string - status_message: - nullable: true + functionality_id: + description: The ID of the functionality. type: string - triggered_by: + status: + description: The status of the affected functionality enum: - - system - - user - - workflow - type: string - started_at: - nullable: true - type: string - completed_at: - nullable: true - type: string - failed_at: - nullable: true - type: string - canceled_at: - nullable: true - type: string - incident_id: - nullable: true - type: string - post_mortem_id: - nullable: true - type: string - action_item_id: - nullable: true - type: string - alert_id: - nullable: true - type: string - pulse_id: - nullable: true + - operational + - partial_outage + - major_outage type: string - context: - additionalProperties: true - type: object required: + - functionality_id + - incident_event_id - status - - triggered_by - - workflow_id type: object - workflow_run_response: + incident_event_functionality_response: properties: data: - $ref: '#/components/schemas/workflow_run_response_data' + $ref: '#/components/schemas/incident_event_functionality_response_data' required: - data type: object - workflow_runs_list: + incident_event_functionality_list: properties: data: items: - $ref: '#/components/schemas/workflow_run_response_data' + $ref: '#/components/schemas/incident_event_functionality_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_workflow: + new_incident_event_service: properties: data: - $ref: '#/components/schemas/new_workflow_data' + $ref: '#/components/schemas/new_incident_event_service_data' required: - data type: object - incident_trigger_params: + update_incident_event_service: properties: - trigger_type: - enum: - - incident - type: string - triggers: - items: - 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,\ - \ 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,\ - \ functionalities_updated, teams_added, teams_removed, teams_updated,\ - \ causes_added, causes_removed, causes_updated, timeline_updated, status_page_timeline_updated,\ - \ role_assignments_updated, role_assignments_added, role_assignments_removed,\ - \ slack_command, slack_channel_created, slack_channel_converted, microsoft_teams_channel_created,\ - \ subscribers_updated, subscribers_added, subscribers_removed, user_joined_slack_channel,\ - \ user_left_slack_channel" - type: string - type: array - incident_visibilities: - items: - type: boolean - type: array - incident_kinds: - items: - enum: - - test - - test_sub - - example - - example_sub - - normal - - normal_sub - - backfilled - - scheduled - type: string - type: array - incident_statuses: - items: - enum: - - in_triage - - started - - detected - - acknowledged - - mitigated - - resolved - - closed - - cancelled - - scheduled - - in_progress - - completed - type: string - type: array - incident_inactivity_duration: - description: "ex. 10 min, 1h, 3 days, 2 weeks" - nullable: true - type: string - incident_condition: - default: ALL - enum: - - ALL - - ANY - - NONE - type: string - incident_condition_visibility: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_kind: - default: IS - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_sub_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_environment: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_severity: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_type: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_roles: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_service: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_functionality: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_group: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_cause: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_post_mortem_condition_cause: - default: ANY - description: "[DEPRECATED] Use incident_condition_cause instead" - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + data: + $ref: '#/components/schemas/update_incident_event_service_data' + required: + - data + type: object + incident_event_service: + additionalProperties: false + properties: + incident_event_id: + description: The ID of the incident event. type: string - incident_condition_summary: - enum: - - SET - - UNSET - nullable: true + service_id: + description: The ID of the service. type: string - incident_condition_started_at: + status: + description: The status of the affected service enum: - - SET - - UNSET - nullable: true + - operational + - partial_outage + - major_outage type: string - incident_condition_detected_at: - enum: - - SET - - UNSET - nullable: true + required: + - incident_event_id + - service_id + - status + type: object + incident_event_service_response: + properties: + data: + $ref: '#/components/schemas/incident_event_service_response_data' + required: + - data + type: object + incident_event_service_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_event_service_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_event: + properties: + data: + $ref: '#/components/schemas/new_incident_event_data' + required: + - data + type: object + update_incident_event: + properties: + data: + $ref: '#/components/schemas/update_incident_event_data' + required: + - data + type: object + incident_event: + properties: + event: + description: The summary of the incident event type: string - incident_condition_acknowledged_at: + visibility: + description: The visibility of the incident action item enum: - - SET - - UNSET - nullable: true + - internal + - external type: string - incident_condition_mitigated_at: - enum: - - SET - - UNSET - nullable: true + occurred_at: + description: Date of occurence type: string - incident_condition_resolved_at: - enum: - - SET - - UNSET - nullable: true + created_at: + description: Date of creation type: string - incident_conditional_inactivity: - enum: - - IS - nullable: true + updated_at: + description: Date of last update type: string required: - - trigger_type + - created_at + - event + - occurred_at + - updated_at type: object - post_mortem_trigger_params: + incident_event_response: properties: - trigger_type: + data: + $ref: '#/components/schemas/incident_event_response_data' + required: + - data + type: object + incident_event_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_event_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_feedback: + properties: + data: + $ref: '#/components/schemas/new_incident_feedback_data' + required: + - data + type: object + update_incident_feedback: + properties: + data: + $ref: '#/components/schemas/update_incident_feedback_data' + required: + - data + type: object + incident_feedback: + properties: + feedback: + description: The feedback of the incident feedback + type: string + rating: + description: The rating of the incident feedback enum: - - post_mortem + - 4 + - 3 + - 2 + - 1 + - 0 + type: integer + anonymous: + description: Is the feedback anonymous? + type: boolean + created_at: + description: Date of creation type: string - triggers: + updated_at: + description: Date of last update + type: string + required: + - anonymous + - created_at + - feedback + - rating + - updated_at + type: object + incident_feedback_response: + properties: + data: + $ref: '#/components/schemas/incident_feedback_response_data' + required: + - data + type: object + incident_feedback_list: + properties: + data: items: - description: "Actions that trigger the workflow. One of custom_fields..updated,\ - \ post_mortem_created, post_mortem_updated, status_updated, slack_command" + $ref: '#/components/schemas/incident_feedback_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_form_field_selection: + properties: + data: + $ref: '#/components/schemas/new_incident_form_field_selection_data' + required: + - data + type: object + update_incident_form_field_selection: + properties: + data: + $ref: '#/components/schemas/update_incident_form_field_selection_data' + required: + - data + type: object + incident_form_field_selection: + properties: + incident_id: + type: string + form_field_id: + description: The custom field for this selection + type: string + value: + description: The selected value for text kind custom fields + nullable: true + type: string + selected_catalog_entity_ids: + items: + description: The selected catalog entities for select and multi_select + kinds type: string type: array - incident_visibilities: + selected_group_ids: items: - type: boolean + description: The selected groups (teams) for select and multi_select kinds + type: string type: array - incident_kinds: + selected_option_ids: items: - enum: - - test - - test_sub - - example - - example_sub - - normal - - normal_sub - - backfilled - - scheduled + description: The selected options for select and multi_select kinds type: string type: array - incident_statuses: + selected_service_ids: items: - enum: - - in_triage - - started - - detected - - acknowledged - - mitigated - - resolved - - closed - - cancelled - - scheduled - - in_progress - - completed + description: The selected services for select and multi_select kinds type: string type: array - incident_inactivity_duration: - description: "ex. 10 min, 1h, 3 days, 2 weeks" - nullable: true - type: string - incident_condition: - default: ALL - enum: - - ALL - - ANY - - NONE - type: string - incident_condition_visibility: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_kind: - default: IS - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_sub_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_environment: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_severity: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_type: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_roles: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_service: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_functionality: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_group: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_cause: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_post_mortem_condition_cause: - default: ANY - description: "[DEPRECATED] Use incident_condition_cause instead" - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + selected_functionality_ids: + items: + description: The selected functionalities for select and multi_select + kinds + type: string + type: array + selected_user_ids: + items: + description: The selected users for select and multi_select kinds + type: integer + type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array + required: + - form_field_id + - incident_id + type: object + incident_form_field_selection_response: + properties: + data: + $ref: '#/components/schemas/incident_form_field_selection_response_data' + required: + - data + type: object + incident_form_field_selection_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_form_field_selection_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_permission_set_boolean: + properties: + data: + $ref: '#/components/schemas/new_incident_permission_set_boolean_data' + required: + - data + type: object + update_incident_permission_set_boolean: + properties: + data: + $ref: '#/components/schemas/update_incident_permission_set_boolean_data' + required: + - data + type: object + incident_permission_set_boolean: + properties: + incident_permission_set_id: type: string - incident_condition_summary: + kind: enum: - - SET - - UNSET - nullable: true + - publish_to_status_page + - assign_incident_roles + - invite_subscribers + - update_summary + - update_timeline + - trigger_workflows + - create_communications + - read_communications + - update_communications + - delete_communications + - send_communications + - modify_custom_fields type: string - incident_condition_started_at: - enum: - - SET - - UNSET - nullable: true + private: + type: boolean + enabled: + type: boolean + created_at: type: string - incident_condition_detected_at: - enum: - - SET - - UNSET - nullable: true + updated_at: type: string - incident_condition_acknowledged_at: - enum: - - SET - - UNSET - nullable: true + required: + - created_at + - kind + - updated_at + type: object + incident_permission_set_boolean_response: + properties: + data: + $ref: '#/components/schemas/incident_permission_set_boolean_response_data' + required: + - data + type: object + incident_permission_set_boolean_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_permission_set_boolean_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_permission_set_resource: + properties: + data: + $ref: '#/components/schemas/new_incident_permission_set_resource_data' + required: + - data + type: object + update_incident_permission_set_resource: + properties: + data: + $ref: '#/components/schemas/update_incident_permission_set_resource_data' + required: + - data + type: object + incident_permission_set_resource: + properties: + incident_permission_set_id: type: string - incident_condition_mitigated_at: + kind: enum: - - SET - - UNSET - nullable: true + - severities + - incident_types + - statuses + - sub_statuses type: string - incident_condition_resolved_at: - enum: - - SET - - UNSET - nullable: true + private: + type: boolean + resource_id: type: string - incident_conditional_inactivity: - enum: - - IS - nullable: true + resource_type: type: string - incident_post_mortem_condition: - enum: - - ALL - - ANY - - NONE + created_at: type: string - incident_post_mortem_condition_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + updated_at: type: string - incident_post_mortem_statuses: + required: + - created_at + - incident_permission_set_id + - kind + - updated_at + type: object + incident_permission_set_resource_response: + properties: + data: + $ref: '#/components/schemas/incident_permission_set_resource_response_data' + required: + - data + type: object + incident_permission_set_resource_list: + properties: + data: items: - enum: - - draft - - published - type: string + $ref: '#/components/schemas/incident_permission_set_resource_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - trigger_type + - data + - links + - meta type: object - action_item_trigger_params: + new_incident_permission_set: properties: - trigger_type: - enum: - - action_item + data: + $ref: '#/components/schemas/new_incident_permission_set_data' + required: + - data + type: object + update_incident_permission_set: + properties: + data: + $ref: '#/components/schemas/update_incident_permission_set_data' + required: + - data + type: object + incident_permission_set: + properties: + name: + description: The incident permission set name. type: string - triggers: - items: - description: "Actions that trigger the workflow. One of custom_fields..updated,\ - \ incident_updated, action_item_created, action_item_updated, assigned_user_updated,\ - \ summary_updated, description_updated, status_updated, priority_updated,\ - \ due_date_updated, teams_updated, slack_command" - type: string - type: array - incident_visibilities: - items: - type: boolean - type: array - incident_kinds: + slug: + description: The incident permission set slug. + type: string + description: + description: The incident permission set description. + nullable: true + type: string + private_incident_permissions: items: enum: - - test - - test_sub - - example - - example_sub - - normal - - normal_sub - - backfilled - - scheduled + - create + - read + - update + - delete type: string type: array - incident_statuses: + public_incident_permissions: items: enum: - - in_triage - - started - - detected - - acknowledged - - mitigated - - resolved - - closed - - cancelled - - scheduled - - in_progress - - completed + - create + - read + - update + - delete type: string type: array - incident_inactivity_duration: - description: "ex. 10 min, 1h, 3 days, 2 weeks" - nullable: true - type: string - incident_condition: - default: ALL - enum: - - ALL - - ANY - - NONE - type: string - incident_condition_visibility: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_kind: - default: IS - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_sub_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_environment: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_severity: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_type: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_incident_roles: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_service: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_functionality: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_condition_group: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + created_at: type: string - incident_condition_summary: - enum: - - SET - - UNSET - nullable: true + updated_at: type: string - incident_condition_started_at: - enum: - - SET - - UNSET - nullable: true + required: + - created_at + - name + - updated_at + type: object + incident_permission_set_response: + properties: + data: + $ref: '#/components/schemas/incident_permission_set_response_data' + required: + - data + type: object + incident_permission_set_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_permission_set_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + update_incident_post_mortem: + properties: + data: + $ref: '#/components/schemas/update_incident_post_mortem_data' + required: + - data + type: object + incident_post_mortem: + properties: + title: + description: The title of the incident retrospective type: string - incident_condition_detected_at: - enum: - - SET - - UNSET + content: + description: The content of the incident retrospective (Only if internal) nullable: true type: string - incident_condition_acknowledged_at: + status: + description: The status of the incident retrospective enum: - - SET - - UNSET - nullable: true + - draft + - published type: string - incident_condition_mitigated_at: - enum: - - SET - - UNSET + started_at: + description: Date of started at nullable: true type: string - incident_condition_resolved_at: - enum: - - SET - - UNSET + mitigated_at: + description: Date of mitigation nullable: true type: string - incident_conditional_inactivity: - enum: - - IS + resolved_at: + description: Date of resolution nullable: true type: string - incident_action_item_condition: - enum: - - ALL - - ANY - - NONE - type: string - incident_action_item_condition_kind: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_action_item_kinds: - items: - enum: - - task - - follow_up - type: string - type: array - incident_action_item_condition_status: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET - type: string - incident_action_item_statuses: - items: - enum: - - open - - in_progress - - cancelled - - done - type: string - type: array - incident_action_item_condition_priority: - default: ANY + show_timeline: + description: Show events timeline of the incident retrospective + type: boolean + show_timeline_trail: + description: Show trail events in the timeline of the incident retrospective + type: boolean + show_timeline_genius: + description: Show workflow events in the timeline of the incident retrospective + type: boolean + show_timeline_tasks: + description: Show tasks in the timeline of the incident retrospective + type: boolean + show_timeline_action_items: + description: Show action items in the timeline of the incident retrospective + type: boolean + show_timeline_order: + default: desc + description: The order of the incident retrospective timeline enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + - asc + - desc type: string - incident_action_item_priorities: - items: - enum: - - high - - medium - - low - type: string - type: array - incident_action_item_condition_group: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + show_services_impacted: + description: Show functionalities impacted of the incident retrospective + type: boolean + show_functionalities_impacted: + description: Show services impacted of the incident retrospective + type: boolean + show_groups_impacted: + description: Show groups impacted of the incident retrospective + type: boolean + show_alerts_attached: + description: Show alerts attached to the incident + type: boolean + url: + description: The url to the incident retrospective type: string - incident_action_item_group_ids: + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - title + - updated_at + type: object + incident_post_mortem_response: + properties: + data: + $ref: '#/components/schemas/incident_post_mortem_response_data' + required: + - data + type: object + incident_post_mortem_list: + properties: + data: items: - type: string + $ref: '#/components/schemas/incident_post_mortem_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - trigger_type + - data + - links + - meta type: object - alert_trigger_params: + update_incident_retrospective_step: properties: - trigger_type: - enum: - - alert + data: + $ref: '#/components/schemas/update_incident_retrospective_step_data' + required: + - data + type: object + incident_retrospective_step: + properties: + retrospective_step_id: type: string - triggers: - items: - description: Actions that trigger the workflow - enum: - - alert_created - - alert_status_updated - type: string - type: array - alert_condition: - enum: - - ALL - - ANY - - NONE + incident_id: type: string - alert_condition_source: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + title: + description: The name of the step type: string - alert_condition_source_use_regexp: - default: false - type: boolean - alert_sources: - items: - type: string - type: array - alert_condition_label: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + description: + description: The description of the step + nullable: true type: string - alert_condition_label_use_regexp: - default: false - type: boolean - alert_condition_status: - default: ANY + status: + description: Status of the incident retrospective step enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + - todo + - in_progress + - completed + - skipped + nullable: false type: string - alert_condition_status_use_regexp: - default: false - type: boolean - alert_statuses: - items: - type: string - type: array - alert_labels: - items: - type: string - type: array - alert_condition_payload: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + kind: + description: Due date + nullable: true type: string - alert_condition_payload_use_regexp: - default: false - type: boolean - alert_payload: - items: - type: string - type: array - alert_query_payload: - description: "You can use jsonpath syntax. eg: $.incident.teams[*]" + due_date: + description: Due date nullable: true type: string + position: + description: Position of the step + type: integer + skippable: + description: Is the step skippable? + type: boolean + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string required: - - trigger_type + - created_at + - incident_id + - retrospective_step_id + - title + - updated_at type: object - pulse_trigger_params: + incident_retrospective_step_response: properties: - trigger_type: - enum: - - pulse + data: + $ref: '#/components/schemas/incident_retrospective_step_response_data' + required: + - data + type: object + new_incident_role_task: + properties: + data: + $ref: '#/components/schemas/new_incident_role_task_data' + required: + - data + type: object + update_incident_role_task: + properties: + data: + $ref: '#/components/schemas/update_incident_role_task_data' + required: + - data + type: object + incident_role_task: + properties: + incident_role_id: type: string - triggers: - items: - description: Actions that trigger the workflow - enum: - - pulse_created - type: string - type: array - pulse_condition: - enum: - - ALL - - ANY - - NONE + task: + description: The task of the incident task type: string - pulse_condition_source: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + description: + description: The description of incident task + nullable: true type: string - pulse_condition_source_use_regexp: - default: false - type: boolean - pulse_sources: - items: - type: string - type: array - pulse_condition_label: - default: ANY + priority: + description: The priority of the incident task enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + - high + - medium + - low type: string - pulse_condition_label_use_regexp: - default: false - type: boolean - pulse_labels: - items: - type: string - type: array - pulse_condition_payload: - default: ANY - enum: - - IS - - ANY - - CONTAINS - - CONTAINS_ALL - - CONTAINS_NONE - - NONE - - SET - - UNSET + created_at: + description: Date of creation type: string - pulse_condition_payload_use_regexp: - default: false - type: boolean - pulse_payload: - items: - type: string - type: array - pulse_query_payload: - description: "You can use jsonpath syntax. eg: $.incident.teams[*]" - nullable: true + updated_at: + description: Date of last update type: string required: - - trigger_type + - created_at + - task + - updated_at type: object - simple_trigger_params: + incident_role_task_response: properties: - trigger_type: - enum: - - simple - type: string - triggers: + data: + $ref: '#/components/schemas/incident_role_task_response_data' + required: + - data + type: object + incident_role_task_list: + properties: + data: items: - description: Actions that trigger the workflow - enum: - - slack_command - type: string + $ref: '#/components/schemas/incident_role_task_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - - trigger_type + - data + - links + - meta type: object - update_workflow: + new_incident_role: properties: data: - $ref: '#/components/schemas/update_workflow_data' + $ref: '#/components/schemas/new_incident_role_data' required: - data type: object - workflow: + update_incident_role: + properties: + data: + $ref: '#/components/schemas/update_incident_role_data' + required: + - data + type: object + incident_role: properties: name: - description: The title of the workflow + description: The name of the incident role type: string slug: - description: The slug of the workflow + description: The slug of the incident role type: string - description: - description: The description of the workflow + summary: + description: The summary of the incident role nullable: true type: string - command: - description: Workflow command + description: + description: The description of the incident role nullable: true type: string - command_feedback_enabled: - description: This will notify you back when the workflow is starting + position: + description: Position of the incident role nullable: true + type: integer + optional: type: boolean - wait: - description: Wait this duration before executing - nullable: true + enabled: + type: boolean + allow_multi_user_assignment: + type: boolean + created_at: + description: Date of creation type: string - repeat_every_duration: - description: Repeat workflow every duration - nullable: true + updated_at: + description: Date of last update type: string - repeat_condition_duration_since_first_run: - description: The workflow will stop repeating if its runtime since it's - first workflow run exceeds the duration set in this field - nullable: true + required: + - created_at + - name + - updated_at + type: object + incident_role_response: + properties: + data: + $ref: '#/components/schemas/incident_role_response_data' + required: + - data + type: object + incident_role_list: + properties: + data: + items: + $ref: '#/components/schemas/incident_role_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_status_page_event: + properties: + data: + $ref: '#/components/schemas/new_incident_status_page_event_data' + required: + - data + type: object + update_incident_status_page_event: + properties: + data: + $ref: '#/components/schemas/update_incident_status_page_event_data' + required: + - data + type: object + incident_status_page_event: + properties: + event: + description: The summary of the incident event type: string - repeat_condition_number_of_repeats: - description: The workflow will stop repeating if the number of repeats exceeds - the value set in this field - type: integer - continuously_repeat: - description: "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." + status_page_id: + description: Unique ID of the status page you wish to post the event to + type: string + status: + description: The status of the incident event + enum: + - investigating + - identified + - monitoring + - resolved + - scheduled + - in_progress + - completed + type: string + notify_subscribers: + description: Notify all status pages subscribers type: boolean - repeat_on: + should_tweet: + description: For Statuspage.io integrated pages auto publishes a tweet for + your update + type: boolean + started_at: + description: Date of start + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - event + - started_at + - updated_at + type: object + incident_status_page_event_response: + properties: + data: + $ref: '#/components/schemas/incident_status_page_event_response_data' + required: + - data + type: object + incident_status_page_event_list: + properties: + data: items: - description: Repeat on weekdays - enum: - - S - - M - - T - - W - - R - - F - - U - type: string + $ref: '#/components/schemas/incident_status_page_event_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_incident_type: + properties: + data: + $ref: '#/components/schemas/new_incident_type_data' + required: + - data + type: object + update_incident_type: + properties: + data: + $ref: '#/components/schemas/update_incident_type_data' + required: + - data + type: object + incident_type: + properties: + name: + description: The name of the incident type + type: string + slug: + description: The slug of the incident type + type: string + description: + description: The description of the incident type nullable: true - type: array - enabled: - type: boolean - locked: - description: Restricts workflow edits to admins when turned on. Only admins - can set this field. - type: boolean - position: - description: The order which the workflow should run with other workflows. - type: integer - workflow_group_id: - description: The group this workflow belongs to. + type: string + color: + description: The hex color of the incident type nullable: true type: string - trigger_params: - $ref: '#/components/schemas/new_workflow_data_attributes_trigger_params' - environment_ids: - items: - type: string - type: array - severity_ids: - items: - type: string - type: array - incident_type_ids: - items: - type: string - type: array - incident_role_ids: - items: - type: string - type: array - service_ids: - items: - type: string - type: array - functionality_ids: + position: + description: Position of the incident type + nullable: true + type: integer + notify_emails: + description: Emails to attach to the incident type items: type: string + nullable: true type: array - group_ids: + slack_channels: + description: Slack Channels associated with this incident type items: - type: string + $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + nullable: true type: array - cause_ids: + slack_aliases: + description: Slack Aliases associated with this incident type items: - type: string + $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + nullable: true type: array - sub_status_ids: + properties: + description: Array of property values for this incident type. items: - type: string + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' type: array created_at: description: Date of creation @@ -47087,101 +36785,611 @@ components: - name - updated_at type: object - workflow_response: + incident_type_response: properties: data: - $ref: '#/components/schemas/workflow_response_data' + $ref: '#/components/schemas/incident_type_response_data' required: - data type: object - workflow_list: + incident_type_list: properties: data: items: - $ref: '#/components/schemas/workflow_response_data' + $ref: '#/components/schemas/incident_type_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_live_call_router: + new_incident: properties: data: - $ref: '#/components/schemas/new_live_call_router_data' + $ref: '#/components/schemas/new_incident_data' required: - data type: object - update_live_call_router: + update_incident: properties: data: - $ref: '#/components/schemas/update_live_call_router_data' + $ref: '#/components/schemas/update_incident_data' required: - data type: object - live_call_router: + in_triage_incident: + properties: + data: + $ref: '#/components/schemas/in_triage_incident_data' + required: + - data + type: object + restart_incident: + properties: + data: + $ref: '#/components/schemas/restart_incident_data' + required: + - data + type: object + mitigate_incident: + properties: + data: + $ref: '#/components/schemas/mitigate_incident_data' + required: + - data + type: object + resolve_incident: + properties: + data: + $ref: '#/components/schemas/resolve_incident_data' + required: + - data + type: object + cancel_incident: + properties: + data: + $ref: '#/components/schemas/cancel_incident_data' + required: + - data + type: object + duplicate_incident: + properties: + data: + $ref: '#/components/schemas/duplicate_incident_data' + required: + - data + type: object + add_subscribers: properties: + data: + $ref: '#/components/schemas/add_subscribers_data' + required: + - data + type: object + remove_subscribers: + properties: + data: + $ref: '#/components/schemas/remove_subscribers_data' + required: + - data + type: object + assign_role_to_user: + properties: + data: + $ref: '#/components/schemas/assign_role_to_user_data' + required: + - data + type: object + unassign_role_from_user: + properties: + data: + $ref: '#/components/schemas/unassign_role_from_user_data' + required: + - data + type: object + incident: + properties: + id: + description: Unique ID of the incident + type: string + sequential_id: + description: Sequential ID of the incident + type: integer + title: + description: The title of the incident + type: string kind: - description: The kind of the live_call_router - enum: - - voicemail - - live + description: The kind of the incident type: string - enabled: - description: Whether the live_call_router is enabled + slug: + description: The slug of the incident + type: string + parent_incident_id: + description: ID of parent incident + nullable: true + type: string + duplicate_incident_id: + description: ID of duplicated incident + nullable: true + type: string + summary: + description: The summary of the incident + nullable: true + type: string + private: + default: false + description: The visibility of the incident type: boolean - name: - description: The name of the live_call_router + source: + description: The source of the incident + nullable: true type: string - country_code: - description: The country code of the live_call_router - enum: - - US - - GB - - NZ - - CA - - AU + status: + description: The status of the incident + nullable: true type: string - phone_type: - description: The phone type of the live_call_router - enum: - - local - - toll_free + url: + description: The url to the incident + nullable: true type: string - phone_number: - description: "You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number)\ - \ API and pass that phone number here to register" + short_url: + description: The short url to the incident + nullable: true type: string - voicemail_greeting: - description: The voicemail greeting of the live_call_router + public_title: + description: The public title of the incident + nullable: true type: string - caller_greeting: - description: The caller greeting message of the live_call_router + user: + description: The user who created the incident + nullable: true + type: object + severity: + allOf: + - $ref: '#/components/schemas/severity_response' + description: The Severity of the incident + nullable: true + type: object + environments: + description: The Environments of the incident + items: + allOf: + - $ref: '#/components/schemas/environment_response' + type: object + nullable: true + type: array + incident_types: + description: The Incident Types of the incident + items: + allOf: + - $ref: '#/components/schemas/incident_type_response' + type: object + nullable: true + type: array + services: + description: The Services of the incident + items: + allOf: + - $ref: '#/components/schemas/service_response' + type: object + nullable: true + type: array + functionalities: + description: The Functionalities of the incident + items: + allOf: + - $ref: '#/components/schemas/functionality_response' + type: object + nullable: true + type: array + groups: + description: The Teams of to the incident + items: + allOf: + - $ref: '#/components/schemas/team_response' + type: object + nullable: true + type: array + labels: + description: "Labels to attach to the incidents. eg: {\"platform\":\"osx\"\ + , \"version\": \"1.29\"}" + nullable: true + type: object + slack_channel_id: + description: Slack channel id + nullable: true type: string - waiting_music_url: - description: The waiting music URL of the live_call_router + slack_channel_name: + description: Slack channel name + nullable: true type: string - sent_to_voicemail_delay: - description: The delay (seconds) after which the caller in redirected to - voicemail - type: integer - should_redirect_to_voicemail_on_no_answer: - description: This prompts the caller to choose voicemail or connect live - type: boolean - escalation_level_delay_in_seconds: - description: This overrides the delay (seconds) in escalation levels - type: integer - should_auto_resolve_alert_on_call_end: - description: This overrides the delay (seconds) in escalation levels + slack_channel_url: + description: Slack channel url + nullable: true + type: string + slack_channel_short_url: + description: Slack channel short url + nullable: true + type: string + slack_channel_deep_link: + description: Slack channel deep link + nullable: true + type: string + slack_channel_archived: + description: Whether the Slack channel is archived + nullable: true type: boolean - alert_urgency_id: - description: This is used in escalation paths to determine who to page + slack_last_message_ts: + description: Timestamp of last Slack message + nullable: true + type: string + zoom_meeting_id: + description: Zoom meeting ID + nullable: true + type: string + zoom_meeting_start_url: + description: Zoom meeting start URL + nullable: true + type: string + zoom_meeting_join_url: + description: Zoom meeting join URL + nullable: true + type: string + zoom_meeting_password: + description: Zoom meeting password + nullable: true + type: string + zoom_meeting_pstn_password: + description: Zoom meeting PSTN password + nullable: true + type: string + zoom_meeting_h323_password: + description: Zoom meeting H323 password + nullable: true + type: string + zoom_meeting_global_dial_in_numbers: + description: Zoom meeting global dial-in numbers + items: + $ref: '#/components/schemas/incident_zoom_meeting_global_dial_in_numbers_inner' + nullable: true + type: array + google_drive_id: + description: Google Drive document ID + nullable: true + type: string + google_drive_parent_id: + description: Google Drive parent folder ID + nullable: true + type: string + google_drive_url: + description: Google Drive URL + nullable: true + type: string + google_meeting_id: + description: Google meeting ID + nullable: true + type: string + google_meeting_url: + description: Google meeting URL + nullable: true + type: string + jira_issue_key: + description: Jira issue key + nullable: true + type: string + jira_issue_id: + description: Jira issue ID + nullable: true + type: string + jira_issue_url: + description: Jira issue URL + nullable: true + type: string + github_issue_id: + description: GitHub issue ID + nullable: true + type: string + github_issue_url: + description: GitHub issue URL + nullable: true + type: string + gitlab_issue_id: + description: GitLab issue ID + nullable: true + type: string + gitlab_issue_url: + description: GitLab issue URL + nullable: true + type: string + asana_task_id: + description: Asana task ID + nullable: true + type: string + asana_task_url: + description: Asana task URL + 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 + trello_card_id: + description: Trello card ID + nullable: true + type: string + trello_card_url: + description: Trello card URL + nullable: true + type: string + zendesk_ticket_id: + description: Zendesk ticket ID + nullable: true + type: string + zendesk_ticket_url: + description: Zendesk ticket URL + nullable: true + type: string + pagerduty_incident_id: + description: PagerDuty incident ID + nullable: true + type: string + pagerduty_incident_number: + description: PagerDuty incident number + nullable: true + type: string + pagerduty_incident_url: + description: PagerDuty incident URL + nullable: true + type: string + opsgenie_incident_id: + description: Opsgenie incident ID + nullable: true + type: string + opsgenie_incident_url: + description: Opsgenie incident URL + nullable: true + type: string + opsgenie_alert_id: + description: Opsgenie alert ID + nullable: true + type: string + opsgenie_alert_url: + description: Opsgenie alert URL + nullable: true + type: string + service_now_incident_id: + description: ServiceNow incident ID + nullable: true + type: string + service_now_incident_key: + description: ServiceNow incident key + nullable: true + type: string + service_now_incident_url: + description: ServiceNow incident URL + nullable: true + type: string + mattermost_channel_id: + description: Mattermost channel ID + nullable: true + type: string + mattermost_channel_name: + description: Mattermost channel name + nullable: true + type: string + mattermost_channel_url: + description: Mattermost channel URL + nullable: true + type: string + confluence_page_id: + description: Confluence page ID + nullable: true + type: string + confluence_page_url: + description: Confluence page URL + nullable: true + type: string + datadog_notebook_id: + description: Datadog notebook ID + nullable: true + type: string + datadog_notebook_url: + description: Datadog notebook URL + nullable: true + type: string + shortcut_story_id: + description: Shortcut story ID + nullable: true + type: string + shortcut_story_url: + description: Shortcut story URL + nullable: true + type: string + shortcut_task_id: + description: Shortcut task ID + nullable: true + type: string + shortcut_task_url: + description: Shortcut task URL + nullable: true + type: string + motion_task_id: + description: Motion task ID + nullable: true + type: string + motion_task_url: + description: Motion task URL + nullable: true + type: string + clickup_task_id: + description: ClickUp task ID + nullable: true + type: string + clickup_task_url: + description: ClickUp task URL + nullable: true + type: string + victor_ops_incident_id: + description: VictorOps incident ID + nullable: true + type: string + victor_ops_incident_url: + description: VictorOps incident URL + nullable: true + type: string + quip_page_id: + description: Quip page ID + nullable: true + type: string + quip_page_url: + description: Quip page URL + nullable: true + type: string + sharepoint_page_id: + description: SharePoint page ID + nullable: true + type: string + sharepoint_page_url: + description: SharePoint page URL + nullable: true + type: string + airtable_base_key: + description: Airtable base key + nullable: true + type: string + airtable_table_name: + description: Airtable table name + nullable: true + type: string + airtable_record_id: + description: Airtable record ID + nullable: true + type: string + airtable_record_url: + description: Airtable record URL + nullable: true + type: string + freshservice_ticket_id: + description: Freshservice ticket ID + nullable: true + type: string + freshservice_ticket_url: + description: Freshservice ticket URL + nullable: true + type: string + freshservice_task_id: + description: Freshservice task ID + nullable: true + type: string + freshservice_task_url: + description: Freshservice task URL + nullable: true + type: string + mitigation_message: + description: How was the incident mitigated? + nullable: true + type: string + resolution_message: + description: How was the incident resolved? + nullable: true + type: string + cancellation_message: + description: Why was the incident cancelled? + nullable: true + type: string + scheduled_for: + description: Date of when the maintenance begins + nullable: true + type: string + scheduled_until: + description: Date of when the maintenance ends + nullable: true + type: string + muted_service_ids: + description: "The Service IDs to mute alerts for during maintenance. Alerts\ + \ for these services will still be triggered and attached to the incident,\ + \ but won't page responders." + items: + type: string + nullable: true + type: array + retrospective_progress_status: + description: The status of the retrospective progress + enum: + - not_started + - active + - completed + - skipped + nullable: true + type: string + in_triage_by: + description: The user who triaged the incident + nullable: true + type: object + started_by: + description: The user who started the incident + nullable: true + type: object + mitigated_by: + description: The user who mitigated the incident + nullable: true + type: object + resolved_by: + description: The user who resolved the incident + nullable: true + type: object + closed_by: + description: The user who closed the incident + nullable: true + type: object + cancelled_by: + description: The user who cancelled the incident + nullable: true + type: object + in_triage_at: + description: Date of triage + nullable: true + type: string + started_at: + description: Date of start + nullable: true + type: string + detected_at: + description: Date of detection + nullable: true + type: string + acknowledged_at: + description: Date of acknowledgment + nullable: true + type: string + mitigated_at: + description: Date of mitigation + nullable: true + type: string + resolved_at: + description: Date of resolution + nullable: true + type: string + closed_at: + description: Date of closure + nullable: true + type: string + cancelled_at: + description: Date of cancellation + nullable: true type: string - escalation_policy_trigger_params: - $ref: '#/components/schemas/update_live_call_router_data_attributes_escalation_policy_trigger_params' created_at: description: Date of creation type: string @@ -47190,433 +37398,766 @@ components: type: string required: - created_at - - name + - title - updated_at type: object - live_call_router_response: + incident_response: properties: data: - $ref: '#/components/schemas/live_call_router_response_data' + $ref: '#/components/schemas/incident_response_data' required: - data type: object - live_call_router_list: + incident_list: properties: data: items: - $ref: '#/components/schemas/live_call_router_response_data' + $ref: '#/components/schemas/incident_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_heartbeat: + ip_ranges: properties: - data: - $ref: '#/components/schemas/new_heartbeat_data' + integrations_ipv4: + description: IPv4 addresses associated with Rootly integrations. + items: + type: string + type: array + integrations_ipv6: + description: IPv6 addresses associated with Rootly integrations. + items: + type: string + type: array + webhooks_ipv4: + description: IPv4 addresses associated with Rootly webhooks. + items: + type: string + type: array + webhooks_ipv6: + description: IPv6 addresses associated with Rootly webhooks. + items: + type: string + type: array required: - - data + - integrations_ipv4 + - integrations_ipv6 + - webhooks_ipv4 + - webhooks_ipv6 type: object - update_heartbeat: + ip_ranges_response: properties: data: - $ref: '#/components/schemas/update_heartbeat_data' + $ref: '#/components/schemas/ip_ranges_response_data' required: - data type: object - heartbeat: + links: properties: - name: - description: The name of the heartbeat - type: string - description: - description: The description of the heartbeat - nullable: true + self: type: string - alert_summary: - description: Summary of alerts triggered when heartbeat expires. + first: type: string - alert_urgency_id: - description: Urgency of alerts triggered when heartbeat expires. + prev: nullable: true type: string - interval: - type: integer - interval_unit: - enum: - - seconds - - minutes - - hours + next: + nullable: true type: string - notification_target_id: + last: + nullable: true type: string - notification_target_type: + required: + - first + - last + - next + - prev + - self + type: object + meeting_recording: + properties: + platform: + description: Meeting platform enum: - - User - - Group - - Service - - EscalationPolicy + - zoom + - google_meet + - microsoft_teams + - webex type: string - enabled: - description: Whether to trigger alerts when heartbeat is expired. - type: boolean + session_number: + description: "Session number within the incident for this platform (starts\ + \ at 1, increments on re-invite)" + type: integer status: + description: Current recording lifecycle status enum: - - waiting - - active - - expired + - pending + - recording + - paused + - call_ended + - analyzing + - completed + - failed type: string - ping_url: - description: URL to receive heartbeat pings. + started_at: + description: When the bot started recording (null if bot never joined) + format: date-time nullable: true type: string - secret: - description: Secret used as bearer token when pinging heartbeat. + ended_at: + description: When the recording ended + format: date-time nullable: true type: string - last_pinged_at: - description: When the heartbeat was last pinged. + duration_minutes: + description: Recording duration in minutes (null if not started) nullable: true - type: string - expires_at: - description: When heartbeat expires + type: number + speaker_count: + description: Number of unique speakers detected in the transcript + type: integer + word_count: + description: Total word count across all transcript segments + type: integer + transcript_summary: + description: AI-generated summary of the meeting transcript (null if no + transcript or not yet analyzed) nullable: true type: string + has_video: + description: Whether a video recording file is attached + type: boolean created_at: - description: Date of creation + description: When the recording session was created + format: date-time type: string updated_at: - description: Date of last update + description: When the recording session was last updated + format: date-time type: string required: - - alert_summary - created_at - - enabled - - interval - - interval_unit - - name - - notification_target_id - - notification_target_type + - platform + - session_number - status - updated_at type: object - heartbeat_response: - properties: - data: - $ref: '#/components/schemas/heartbeat_response_data' - required: - - data - type: object - heartbeat_list: + meeting_recording_list: properties: data: items: - $ref: '#/components/schemas/heartbeat_response_data' + $ref: '#/components/schemas/meeting_recording_list_data_inner' type: array - links: + meta: allOf: - - $ref: '#/components/schemas/links' + - $ref: '#/components/schemas/meta' type: object required: - data - - links type: object - new_incident_action_item: + meta: + properties: + next_cursor: + nullable: true + type: string + current_page: + nullable: true + type: integer + next_page: + nullable: true + type: integer + prev_page: + nullable: true + type: integer + total_count: + type: integer + total_pages: + type: integer + required: + - current_page + - next_page + - prev_page + - total_count + - total_pages + type: object + new_on_call_pay_report: properties: data: - $ref: '#/components/schemas/new_incident_action_item_data' + $ref: '#/components/schemas/new_on_call_pay_report_data' required: - data type: object - update_incident_action_item: + update_on_call_pay_report: properties: data: - $ref: '#/components/schemas/update_incident_action_item_data' + $ref: '#/components/schemas/update_on_call_pay_report_data' required: - data type: object - incident_action_item: + on_call_pay_report: properties: - summary: - description: The summary of the action item + status: + description: The current status of the report. + enum: + - processing + - generated + - downloaded type: string - description: - description: The description of incident action item - nullable: true + start_date: + description: The start date of the report period. + format: date type: string - kind: - description: The kind of the action item - enum: - - task - - follow_up + end_date: + description: The end date of the report period. + format: date type: string - assigned_to_user_id: - description: ID of user you wish to assign this action item - nullable: true + total_duration: + description: Total on-call duration in seconds. type: integer - assigned_to_group_ids: - description: IDs of groups you wish to assign this action item - items: - type: string - nullable: true - type: array - priority: - description: The priority of the action item - enum: - - high - - medium - - low + users_count: + description: Number of users included in the report. + type: integer + currency: + description: The currency code for monetary values. type: string - status: - description: The status of the action item + pay_type: + description: The pay calculation type. enum: - - open - - in_progress - - cancelled - - done + - hourly + - daily type: string - due_date: - description: The due date of the action item + hourly_rate_cents: + description: Hourly pay rate in cents. + type: integer + daily_rate_cents: + description: Daily pay rate in cents. + type: integer + total_pay_cents: + description: Total pay amount in cents. + type: integer + include_shadow: + description: Whether shadow shifts are included. + type: boolean + show_individual_shift_data: + description: Whether individual shift data is shown. + type: boolean + has_single_rate: + description: Whether a single rate is applied to all users. + type: boolean + enabled_granular_time_breakdown: + description: Whether granular time breakdown is enabled. + type: boolean + last_generated_at: + description: When the report was last generated. + format: date-time nullable: true type: string - jira_issue_id: - description: The Jira issue ID. + time_zone: + description: The team's IANA timezone used to interpret start_date and end_date. nullable: true type: string - jira_issue_url: - description: The Jira issue URL. + csv_file_url: + description: Download URL for the generated CSV report. 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. + format: uri nullable: true 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 - - summary + - end_date + - start_date + - status - updated_at type: object - incident_action_item_response: + on_call_pay_report_response: properties: data: - $ref: '#/components/schemas/incident_action_item_response_data' + $ref: '#/components/schemas/on_call_pay_report_response_data' required: - data type: object - incident_action_item_list: + on_call_pay_report_list: properties: data: items: - $ref: '#/components/schemas/incident_action_item_response_data' + $ref: '#/components/schemas/on_call_pay_report_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_custom_field_selection: + new_on_call_shadow: properties: data: - $ref: '#/components/schemas/new_incident_custom_field_selection_data' + $ref: '#/components/schemas/new_on_call_shadow_data' required: - data type: object - update_incident_custom_field_selection: + update_on_call_shadow: properties: data: - $ref: '#/components/schemas/update_incident_custom_field_selection_data' + $ref: '#/components/schemas/update_on_call_shadow_data' required: - data type: object - incident_custom_field_selection: + on_call_shadow: properties: - incident_id: + schedule_id: + description: ID of schedule the shadow shift belongs to + nullable: false type: string - custom_field_id: + shadowable_type: + enum: + - User + - Schedule + type: string + shadowable_id: + description: ID of schedule or user the shadow user is shadowing + nullable: false + type: string + shadow_user_id: + description: Which user the shadow shift belongs to. + nullable: false type: integer - value: - description: The value of the incident_custom_field_selection - nullable: true + starts_at: + description: Start datetime of shadow shift + format: date-time + nullable: false + type: string + ends_at: + description: End datetime for shadow shift + format: date-time + nullable: false + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string - selected_option_ids: - items: - description: The selected option id for select and multi_select kinds - type: integer - type: array required: - - selected_option_ids - - value + - ends_at + - schedule_id + - shadow_user_id + - shadowable_id + - shadowable_type + - starts_at type: object - incident_custom_field_selection_response: + on_call_shadow_response: properties: data: - $ref: '#/components/schemas/incident_custom_field_selection_response_data' + $ref: '#/components/schemas/on_call_shadow_response_data' required: - data type: object - incident_custom_field_selection_list: + on_call_shadows_list: properties: data: items: - $ref: '#/components/schemas/incident_custom_field_selection_response_data' + $ref: '#/components/schemas/on_call_shadows_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_event_functionality: + new_on_call_role: properties: data: - $ref: '#/components/schemas/new_incident_event_functionality_data' + $ref: '#/components/schemas/new_on_call_role_data' required: - data type: object - update_incident_event_functionality: + update_on_call_role: properties: data: - $ref: '#/components/schemas/update_incident_event_functionality_data' + $ref: '#/components/schemas/update_on_call_role_data' required: - data type: object - incident_event_functionality: - additionalProperties: false + on_call_role: properties: - incident_event_id: - description: The ID of the incident event. + name: + description: The role name. type: string - functionality_id: - description: The ID of the functionality. + slug: + description: The role slug. type: string - status: - description: The status of the affected functionality - enum: - - operational - - partial_outage - - major_outage + system_role: + description: The kind of role + items: + enum: + - admin + - user + - custom + - observer + - no_access + type: string + type: array + alert_sources_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_urgency_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_fields_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_groups_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_routing_rules_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + on_call_readiness_report_permissions: + items: + enum: + - read + type: string + type: array + on_call_roles_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alerts_permissions: + items: + enum: + - create + - update + - read + - delete + type: string + type: array + api_keys_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + audits_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + contacts_permissions: + items: + enum: + - read + type: string + type: array + escalation_policies_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + groups_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + heartbeats_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + integrations_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + invitations_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + live_call_routing_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + schedule_override_permissions: + items: + enum: + - create + - update + type: string + type: array + schedules_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + services_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + webhooks_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + workflows_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + created_at: + type: string + updated_at: type: string required: - - functionality_id - - incident_event_id - - status + - created_at + - name + - updated_at type: object - incident_event_functionality_response: + on_call_role_response: properties: data: - $ref: '#/components/schemas/incident_event_functionality_response_data' + $ref: '#/components/schemas/on_call_role_response_data' required: - data type: object - incident_event_functionality_list: + on_call_role_list: properties: data: items: - $ref: '#/components/schemas/incident_event_functionality_response_data' + $ref: '#/components/schemas/on_call_role_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_event_service: + new_override_shift: properties: data: - $ref: '#/components/schemas/new_incident_event_service_data' + $ref: '#/components/schemas/new_override_shift_data' required: - data type: object - update_incident_event_service: + update_override_shift: properties: data: - $ref: '#/components/schemas/update_incident_event_service_data' + $ref: '#/components/schemas/update_override_shift_data' required: - data type: object - incident_event_service: - additionalProperties: false + override_shift: properties: - incident_event_id: - description: The ID of the incident event. + schedule_id: + description: ID of schedule + nullable: false type: string - service_id: - description: The ID of the service. + rotation_id: + description: ID of rotation + nullable: true type: string - status: - description: The status of the affected service - enum: - - operational - - partial_outage - - major_outage + starts_at: + description: Start datetime of shift + nullable: false + type: string + ends_at: + description: End datetime of shift + nullable: false + type: string + is_override: + description: Denotes shift is an override shift + type: boolean + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string + shift_override: + allOf: + - $ref: '#/components/schemas/shift_override_response' + description: Override metadata + nullable: true + type: object + user_id: + description: Override shift user + nullable: false + type: integer + user: + allOf: + - $ref: '#/components/schemas/user_response' + description: User metadata + nullable: false + type: object required: - - incident_event_id - - service_id - - status + - ends_at + - is_override + - rotation_id + - schedule_id + - starts_at type: object - incident_event_service_response: + override_shift_response: properties: data: - $ref: '#/components/schemas/incident_event_service_response_data' + $ref: '#/components/schemas/override_shift_response_data' required: - data type: object - incident_event_service_list: + override_shift_list: properties: data: items: - $ref: '#/components/schemas/incident_event_service_response_data' + $ref: '#/components/schemas/override_shift_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_event: - properties: - data: - $ref: '#/components/schemas/new_incident_event_data' - required: - - data - type: object - update_incident_event: - properties: - data: - $ref: '#/components/schemas/update_incident_event_data' - required: - - data - type: object - incident_event: + shift_override: properties: - event: - description: The summary of the incident event - type: string - visibility: - description: The visibility of the incident action item - enum: - - internal - - external - type: string - occurred_at: - description: Date of occurence + shift_id: + description: ID of shift + nullable: false type: string + created_by_user_id: + description: User who created the override + nullable: false + type: integer created_at: description: Date of creation type: string @@ -47624,63 +38165,45 @@ components: description: Date of last update type: string required: - - created_at - - event - - occurred_at - - updated_at - type: object - incident_event_response: - properties: - data: - $ref: '#/components/schemas/incident_event_response_data' - required: - - data + - created_by_user_id + - shift_id type: object - incident_event_list: + shift_override_response: properties: data: - items: - $ref: '#/components/schemas/incident_event_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + $ref: '#/components/schemas/shift_override_response_data' required: - data - - links type: object - new_incident_feedback: + new_playbook_task: properties: data: - $ref: '#/components/schemas/new_incident_feedback_data' + $ref: '#/components/schemas/new_playbook_task_data' required: - data type: object - update_incident_feedback: + update_playbook_task: properties: data: - $ref: '#/components/schemas/update_incident_feedback_data' + $ref: '#/components/schemas/update_playbook_task_data' required: - data type: object - incident_feedback: + playbook_task: properties: - feedback: - description: The feedback of the incident feedback + playbook_id: type: string - rating: - description: The rating of the incident feedback - enum: - - 4 - - 3 - - 2 - - 1 - - 0 + task: + description: The task of the task + type: string + description: + description: The description of task + nullable: true + type: string + position: + description: The position of the task + nullable: true type: integer - anonymous: - description: Is the feedback anonymous? - type: boolean created_at: description: Date of creation type: string @@ -47688,390 +38211,478 @@ components: description: Date of last update type: string required: - - anonymous - created_at - - feedback - - rating + - task - updated_at type: object - incident_feedback_response: + playbook_task_response: properties: data: - $ref: '#/components/schemas/incident_feedback_response_data' + $ref: '#/components/schemas/playbook_task_response_data' required: - data type: object - incident_feedback_list: + playbook_task_list: properties: data: items: - $ref: '#/components/schemas/incident_feedback_response_data' + $ref: '#/components/schemas/playbook_task_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_form_field_selection: + new_playbook: properties: data: - $ref: '#/components/schemas/new_incident_form_field_selection_data' + $ref: '#/components/schemas/new_playbook_data' required: - data type: object - update_incident_form_field_selection: + update_playbook: properties: data: - $ref: '#/components/schemas/update_incident_form_field_selection_data' + $ref: '#/components/schemas/update_playbook_data' required: - data type: object - incident_form_field_selection: + playbook: properties: - incident_id: + title: + description: The title of the playbook type: string - form_field_id: - description: The custom field for this selection + summary: + description: The summary of the playbook + nullable: true type: string - value: - description: The selected value for text kind custom fields + external_url: + description: The external url of the playbook nullable: true type: string - selected_catalog_entity_ids: + severity_ids: + description: The Severity IDs to attach to the incident items: - description: The selected catalog entities for select and multi_select - kinds type: string + nullable: true type: array - selected_group_ids: + environment_ids: + description: The Environment IDs to attach to the incident items: - description: The selected groups (teams) for select and multi_select kinds type: string + nullable: true type: array - selected_option_ids: + functionality_ids: + description: The Functionality IDs to attach to the incident items: - description: The selected options for select and multi_select kinds type: string + nullable: true type: array - selected_service_ids: + service_ids: + description: The Service IDs to attach to the incident items: - description: The selected services for select and multi_select kinds type: string + nullable: true type: array - selected_functionality_ids: + group_ids: + description: The Team IDs to attach to the incident items: - description: The selected functionalities for select and multi_select - kinds type: string + nullable: true type: array - selected_user_ids: + incident_type_ids: + description: The Incident Type IDs to attach to the incident items: - description: The selected users for select and multi_select kinds - type: integer + type: string + nullable: true type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string required: - - form_field_id - - incident_id + - created_at + - title + - updated_at type: object - incident_form_field_selection_response: + playbook_response: properties: data: - $ref: '#/components/schemas/incident_form_field_selection_response_data' + $ref: '#/components/schemas/playbook_response_data' required: - data type: object - incident_form_field_selection_list: + playbook_list: properties: data: items: - $ref: '#/components/schemas/incident_form_field_selection_response_data' + $ref: '#/components/schemas/playbook_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_permission_set_boolean: + new_post_mortem_template: properties: data: - $ref: '#/components/schemas/new_incident_permission_set_boolean_data' + $ref: '#/components/schemas/new_post_mortem_template_data' required: - data type: object - update_incident_permission_set_boolean: + update_post_mortem_template: properties: data: - $ref: '#/components/schemas/update_incident_permission_set_boolean_data' + $ref: '#/components/schemas/update_post_mortem_template_data' required: - data type: object - incident_permission_set_boolean: + post_mortem_template: properties: - incident_permission_set_id: + name: + description: The name of the postmortem template type: string - kind: - enum: - - publish_to_status_page - - assign_incident_roles - - invite_subscribers - - update_summary - - update_timeline - - trigger_workflows - - create_communications - - read_communications - - update_communications - - delete_communications - - send_communications - - modify_custom_fields + slug: + description: The slugified name of the postmortem template type: string - private: - type: boolean - enabled: + default: + description: Default selected template when editing a postmortem + nullable: true type: boolean + content: + description: The postmortem template. Liquid syntax and markdown are supported + type: string + content_html: + description: The postmortem template in HTML format with TipTap blocks support. + Supports followup and timeline components. Liquid syntax is supported. + nullable: true + type: string + content_json: + description: The postmortem template in TipTap JSON format + nullable: true + type: object + format: + description: The format of the input + enum: + - html + - markdown + type: string created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - created_at - - kind + - name - updated_at type: object - incident_permission_set_boolean_response: + tiptap_block_schema: + description: TipTap block component schema for post mortem templates + properties: + followup_component: + $ref: '#/components/schemas/tiptap_block_schema_followup_component' + timeline_component: + $ref: '#/components/schemas/tiptap_block_schema_timeline_component' + type: object + post_mortem_template_response: properties: data: - $ref: '#/components/schemas/incident_permission_set_boolean_response_data' + $ref: '#/components/schemas/post_mortem_template_response_data' required: - data type: object - incident_permission_set_boolean_list: + post_mortem_template_list: properties: data: items: - $ref: '#/components/schemas/incident_permission_set_boolean_response_data' + $ref: '#/components/schemas/post_mortem_template_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_permission_set_resource: + new_pulse: properties: data: - $ref: '#/components/schemas/new_incident_permission_set_resource_data' + $ref: '#/components/schemas/new_pulse_data' required: - data type: object - update_incident_permission_set_resource: + update_pulse: properties: data: - $ref: '#/components/schemas/update_incident_permission_set_resource_data' + $ref: '#/components/schemas/update_pulse_data' required: - data type: object - incident_permission_set_resource: + pulse: properties: - incident_permission_set_id: - type: string - kind: - enum: - - severities - - incident_types - - statuses - - sub_statuses + source: + description: "The source of the pulse (eg: k8s)" + nullable: true type: string - private: - type: boolean - resource_id: + summary: + description: The summary of the pulse type: string - resource_type: + services: + description: Services attached to the pulse + items: + allOf: + - $ref: '#/components/schemas/service' + type: object + type: array + environments: + description: Environments attached to the pulse + items: + allOf: + - $ref: '#/components/schemas/environment' + type: object + type: array + external_url: + description: The external url of the pulse + nullable: true type: string + labels: + items: + $ref: '#/components/schemas/new_pulse_data_attributes_labels_inner' + type: array + refs: + items: + $ref: '#/components/schemas/new_pulse_data_attributes_refs_inner' + type: array + data: + description: Additional data + nullable: true + type: object created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - created_at - - incident_permission_set_id - - kind + - summary - updated_at type: object - incident_permission_set_resource_response: + pulse_response: properties: data: - $ref: '#/components/schemas/incident_permission_set_resource_response_data' + $ref: '#/components/schemas/pulse_response_data' required: - data type: object - incident_permission_set_resource_list: + pulse_list: properties: data: items: - $ref: '#/components/schemas/incident_permission_set_resource_response_data' + $ref: '#/components/schemas/pulse_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_permission_set: + update_retrospective_configuration: properties: data: - $ref: '#/components/schemas/new_incident_permission_set_data' + $ref: '#/components/schemas/update_retrospective_configuration_data' required: - data type: object - update_incident_permission_set: + retrospective_configuration: + properties: + kind: + description: The kind of the configuration. + enum: + - skip + - mandatory + type: string + severity_ids: + description: The Severity IDs to attach to the retrospective configuration + items: + type: string + nullable: true + type: array + group_ids: + description: The Team IDs to attach to the retrospective configuration + items: + type: string + nullable: true + type: array + incident_type_ids: + description: The Incident Type IDs to attach to the retrospective configuration + items: + type: string + nullable: true + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + type: object + retrospective_configuration_response: properties: data: - $ref: '#/components/schemas/update_incident_permission_set_data' + $ref: '#/components/schemas/retrospective_configuration_response_data' required: - data type: object - incident_permission_set: + retrospective_configuration_list: + properties: + data: + items: + $ref: '#/components/schemas/retrospective_configuration_list_data_inner' + type: array + required: + - data + type: object + new_retrospective_process: + properties: + data: + $ref: '#/components/schemas/new_retrospective_process_data' + required: + - data + type: object + update_retrospective_process: + properties: + data: + $ref: '#/components/schemas/update_retrospective_process_data' + required: + - data + type: object + retrospective_process: properties: name: - description: The incident permission set name. - type: string - slug: - description: The incident permission set slug. + description: The name of the retrospective process type: string description: - description: The incident permission set description. + description: The description of the retrospective process nullable: true type: string - private_incident_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - public_incident_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array + is_default: + description: Indicates the default process that Rootly created. This will + be used as a fallback if no processes match the incident's conditions. + The default process cannot have conditions and cannot be changed. + nullable: true + type: boolean created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string - required: - - created_at - - name - - slug - - updated_at + retrospective_process_matching_criteria: + $ref: '#/components/schemas/new_retrospective_process_data_attributes_retrospective_process_matching_criteria' type: object - incident_permission_set_response: + retrospective_process_response: properties: data: - $ref: '#/components/schemas/incident_permission_set_response_data' + $ref: '#/components/schemas/retrospective_process_response_data' required: - data type: object - incident_permission_set_list: + retrospective_process_list: properties: data: items: - $ref: '#/components/schemas/incident_permission_set_response_data' + $ref: '#/components/schemas/retrospective_process_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - update_incident_post_mortem: + new_retrospective_step: properties: data: - $ref: '#/components/schemas/update_incident_post_mortem_data' + $ref: '#/components/schemas/new_retrospective_step_data' required: - data type: object - incident_post_mortem: + update_retrospective_step: properties: - title: - description: The title of the incident retrospective + data: + $ref: '#/components/schemas/update_retrospective_step_data' + required: + - data + type: object + retrospective_step: + properties: + retrospective_process_id: type: string - content: - description: The content of the incident retrospective (Only if internal) - nullable: true + title: + description: The name of the step type: string - status: - description: The status of the incident retrospective - enum: - - draft - - published + slug: + description: The slug of the step type: string - started_at: - description: Date of started at + description: + description: The description of the step nullable: true type: string - mitigated_at: - description: Date of mitigation + incident_role_id: + description: Users assigned to the selected incident role will be the default + owners for this step nullable: true type: string - resolved_at: - description: Date of resolution + due_after_days: + description: Due date in days nullable: true - type: string - show_timeline: - description: Show events timeline of the incident retrospective - type: boolean - show_timeline_trail: - description: Show trail events in the timeline of the incident retrospective - type: boolean - show_timeline_genius: - description: Show workflow events in the timeline of the incident retrospective - type: boolean - show_timeline_tasks: - description: Show tasks in the timeline of the incident retrospective - type: boolean - show_timeline_action_items: - description: Show action items in the timeline of the incident retrospective - type: boolean - show_timeline_order: - default: desc - description: The order of the incident retrospective timeline - enum: - - asc - - desc - type: string - show_services_impacted: - description: Show functionalities impacted of the incident retrospective - type: boolean - show_functionalities_impacted: - description: Show services impacted of the incident retrospective - type: boolean - show_groups_impacted: - description: Show groups impacted of the incident retrospective - type: boolean - show_alerts_attached: - description: Show alerts attached to the incident + type: integer + position: + description: Position of the step + type: integer + skippable: + description: Is the step skippable? type: boolean - url: - description: The url to the incident retrospective - type: string created_at: description: Date of creation type: string @@ -48080,125 +38691,432 @@ components: type: string required: - created_at + - retrospective_process_id - title - updated_at type: object - incident_post_mortem_response: + retrospective_step_response: properties: data: - $ref: '#/components/schemas/incident_post_mortem_response_data' + $ref: '#/components/schemas/retrospective_step_response_data' required: - data type: object - incident_post_mortem_list: + retrospective_step_list: properties: data: items: - $ref: '#/components/schemas/incident_post_mortem_response_data' + $ref: '#/components/schemas/retrospective_step_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - update_incident_retrospective_step: + new_role: properties: data: - $ref: '#/components/schemas/update_incident_retrospective_step_data' + $ref: '#/components/schemas/new_role_data' required: - data type: object - incident_retrospective_step: + update_role: properties: - retrospective_step_id: - type: string - incident_id: - type: string - title: - description: The name of the step - type: string - description: - description: The description of the step - nullable: true - type: string - status: - description: Status of the incident retrospective step - enum: - - todo - - in_progress - - completed - - skipped - nullable: false + data: + $ref: '#/components/schemas/update_role_data' + required: + - data + type: object + role: + properties: + name: + description: The role name. type: string - kind: - description: Due date - nullable: true + slug: + description: The role slug. type: string - due_date: - description: Due date + incident_permission_set_id: + description: Associated incident permissions set. nullable: true type: string - position: - description: Position of the step - type: integer - skippable: - description: Is the step skippable? + is_deletable: + description: Whether the role can be deleted. + type: boolean + is_editable: + description: Whether the role can be edited. type: boolean + alerts_permissions: + items: + enum: + - create + - read + type: string + type: array + api_keys_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + audits_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + billing_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + environments_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + form_fields_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + functionalities_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + groups_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_causes_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_feedbacks_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_roles_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_types_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incidents_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + integrations_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + invitations_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + playbooks_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + private_incidents_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + pulses_permissions: + items: + enum: + - create + - update + - read + type: string + type: array + retrospective_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + roles_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + secrets_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + services_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + severities_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + status_pages_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + webhooks_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + workflows_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + catalogs_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + sub_statuses_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + edge_connector_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + slas_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + paging_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_communication_permissions: + items: + enum: + - create + - read + - update + - delete + - send + type: string + type: array + communication_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array created_at: - description: Date of creation type: string updated_at: - description: Date of last update type: string required: - created_at - - incident_id - - retrospective_step_id - - title + - name - updated_at type: object - incident_retrospective_step_response: + role_response: properties: data: - $ref: '#/components/schemas/incident_retrospective_step_response_data' + $ref: '#/components/schemas/role_response_data' required: - data type: object - new_incident_role_task: + role_list: properties: data: - $ref: '#/components/schemas/new_incident_role_task_data' + items: + $ref: '#/components/schemas/role_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data + - links + - meta type: object - update_incident_role_task: + new_schedule_rotation_active_day: properties: data: - $ref: '#/components/schemas/update_incident_role_task_data' + $ref: '#/components/schemas/new_schedule_rotation_active_day_data' required: - data type: object - incident_role_task: + update_schedule_rotation_active_day: properties: - incident_role_id: - type: string - task: - description: The task of the incident task - type: string - description: - description: The description of incident task - nullable: true + data: + $ref: '#/components/schemas/update_schedule_rotation_active_day_data' + required: + - data + type: object + schedule_rotation_active_day: + properties: + schedule_rotation_id: type: string - priority: - description: The priority of the incident task + day_name: + description: Schedule rotation day name for which active times to be created enum: - - high - - medium - - low + - S + - M + - T + - W + - R + - F + - U type: string + 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' + type: array created_at: description: Date of creation type: string @@ -48206,71 +39124,57 @@ components: description: Date of last update type: string required: + - active_time_attributes - created_at - - task + - day_name + - schedule_rotation_id - updated_at - type: object - incident_role_task_response: + schedule_rotation_active_day_response: properties: data: - $ref: '#/components/schemas/incident_role_task_response_data' - required: - - data + $ref: '#/components/schemas/schedule_rotation_active_day_response_data' type: object - incident_role_task_list: + schedule_rotation_active_day_list: properties: data: items: - $ref: '#/components/schemas/incident_role_task_response_data' + $ref: '#/components/schemas/schedule_rotation_active_day_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_role: + new_schedule_rotation_user: properties: data: - $ref: '#/components/schemas/new_incident_role_data' - required: - - data + $ref: '#/components/schemas/new_schedule_rotation_user_data' type: object - update_incident_role: + update_schedule_rotation_user: properties: data: - $ref: '#/components/schemas/update_incident_role_data' + $ref: '#/components/schemas/update_schedule_rotation_user_data' required: - data type: object - incident_role: + schedule_rotation_user: properties: - name: - description: The name of the incident role - type: string - slug: - description: The slug of the incident role - type: string - summary: - description: The summary of the incident role - nullable: true - type: string - description: - description: The description of the incident role - nullable: true + schedule_rotation_id: type: string + user_id: + description: Schedule rotation user + type: integer position: - description: Position of the incident role - nullable: true + description: Position of the user inside rotation type: integer - optional: - type: boolean - enabled: - type: boolean - allow_multi_user_assignment: - type: boolean created_at: description: Date of creation type: string @@ -48279,159 +39183,198 @@ components: type: string required: - created_at - - name + - position + - schedule_rotation_id - updated_at + - user_id type: object - incident_role_response: - properties: - data: - $ref: '#/components/schemas/incident_role_response_data' - required: - - data - type: object - incident_role_list: + schedule_rotation_user_list: properties: data: items: - $ref: '#/components/schemas/incident_role_response_data' + $ref: '#/components/schemas/schedule_rotation_user_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_status_page_event: + schedule_rotation_user_response: properties: data: - $ref: '#/components/schemas/new_incident_status_page_event_data' + $ref: '#/components/schemas/schedule_rotation_user_list_data_inner' required: - data type: object - update_incident_status_page_event: + new_schedule_rotation: properties: data: - $ref: '#/components/schemas/update_incident_status_page_event_data' + $ref: '#/components/schemas/new_schedule_rotation_data' required: - data type: object - incident_status_page_event: + update_schedule_rotation: properties: - event: - description: The summary of the incident event + data: + $ref: '#/components/schemas/update_schedule_rotation_data' + required: + - data + type: object + schedule_rotation: + properties: + schedule_id: + description: The ID of parent schedule type: string - status_page_id: - description: Unique ID of the status page you wish to post the event to + name: + description: The name of the schedule rotation type: string - status: - description: The status of the incident event + position: + description: Position of the schedule rotation + type: integer + schedule_rotationable_type: + description: Schedule rotation type enum: - - investigating - - identified - - monitoring - - resolved - - scheduled - - in_progress - - verifying - - completed + - ScheduleDailyRotation + - ScheduleWeeklyRotation + - ScheduleBiweeklyRotation + - ScheduleMonthlyRotation + - ScheduleCustomRotation type: string - notify_subscribers: - description: Notify all status pages subscribers - type: boolean - should_tweet: - description: For Statuspage.io integrated pages auto publishes a tweet for - your update + active_all_week: + default: true + description: Schedule rotation active all week? type: boolean - started_at: - description: Date of start + active_days: + items: + description: Schedule rotation active days + enum: + - S + - M + - T + - W + - R + - F + - U + type: string + type: array + active_time_type: + items: + default: all_day + description: Schedule rotation active time type + enum: + - all_day + - same_time + - custom + type: string + type: array + active_time_attributes: + description: Schedule rotation's active times + items: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_active_time_attributes_inner' + type: array + time_zone: + default: Etc/UTC + description: A valid IANA time zone name. type: string - created_at: - description: Date of creation + schedule_rotationable_attributes: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' + start_time: + description: RFC3339 date-time when rotation starts. Shifts will only be + created after this time. + format: date-time + nullable: true type: string - updated_at: - description: Date of last update + end_time: + description: RFC3339 date-time when rotation ends. Shifts will only be created + before this time. + format: date-time + nullable: true type: string required: - - created_at - - event - - started_at - - updated_at + - name + - schedule_id + - schedule_rotationable_attributes + - schedule_rotationable_type type: object - incident_status_page_event_response: + schedule_rotation_response: properties: data: - $ref: '#/components/schemas/incident_status_page_event_response_data' + $ref: '#/components/schemas/schedule_rotation_response_data' required: - data type: object - incident_status_page_event_list: + schedule_rotation_list: properties: data: items: - $ref: '#/components/schemas/incident_status_page_event_response_data' + $ref: '#/components/schemas/schedule_rotation_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident_type: + new_schedule: properties: data: - $ref: '#/components/schemas/new_incident_type_data' + $ref: '#/components/schemas/new_schedule_data' required: - data type: object - update_incident_type: + update_schedule: properties: data: - $ref: '#/components/schemas/update_incident_type_data' + $ref: '#/components/schemas/update_schedule_data' required: - data type: object - incident_type: + schedule: properties: name: - description: The name of the incident type - type: string - slug: - description: The slug of the incident type + description: The name of the schedule type: string description: - description: The description of the incident type - nullable: true - type: string - color: - description: The hex color of the incident type + description: The description of the schedule nullable: true type: string - position: - description: Position of the incident type + all_time_coverage: + description: 24/7 coverage of the schedule nullable: true - type: integer - notify_emails: - description: Emails to attach to the incident type + type: boolean + slack_user_group: + $ref: '#/components/schemas/schedule_slack_user_group' + slack_channel: + $ref: '#/components/schemas/schedule_slack_channel' + owner_group_ids: + description: Owning teams. items: type: string - nullable: true - type: array - slack_channels: - description: Slack Channels associated with this incident type - items: - $ref: '#/components/schemas/new_environment_data_attributes_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' - nullable: true type: array + owner_user_id: + description: ID of user assigned as owner of the schedule + type: integer + shift_start_notifications_enabled: + description: Whether shift-start notifications are enabled + type: boolean + shift_update_notifications_enabled: + description: Whether shift-update notifications are enabled + type: boolean created_at: description: Date of creation type: string @@ -48441,261 +39384,265 @@ components: required: - created_at - name + - owner_user_id - updated_at type: object - incident_type_response: + schedule_response: properties: data: - $ref: '#/components/schemas/incident_type_response_data' + $ref: '#/components/schemas/schedule_response_data' required: - data type: object - incident_type_list: + schedule_list: properties: data: items: - $ref: '#/components/schemas/incident_type_response_data' + $ref: '#/components/schemas/schedule_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_incident: - properties: - data: - $ref: '#/components/schemas/new_incident_data' - required: - - data - type: object - update_incident: - properties: - data: - $ref: '#/components/schemas/update_incident_data' - required: - - data - type: object - in_triage_incident: - properties: - data: - $ref: '#/components/schemas/in_triage_incident_data' - required: - - data - type: object - restart_incident: - properties: - data: - $ref: '#/components/schemas/restart_incident_data' - required: - - data - type: object - mitigate_incident: - properties: - data: - $ref: '#/components/schemas/mitigate_incident_data' - required: - - data - type: object - resolve_incident: + new_secret: properties: data: - $ref: '#/components/schemas/resolve_incident_data' + $ref: '#/components/schemas/new_secret_data' required: - data type: object - cancel_incident: + update_secret: properties: data: - $ref: '#/components/schemas/cancel_incident_data' + $ref: '#/components/schemas/update_secret_data' required: - data type: object - duplicate_incident: + secret: properties: - data: - $ref: '#/components/schemas/duplicate_incident_data' + name: + description: The name of the secret + type: string + secret: + description: The redacted secret + type: string + hashicorp_vault_mount: + description: The HashiCorp Vault secret mount path + type: string + hashicorp_vault_path: + description: The HashiCorp Vault secret path + nullable: true + type: string + hashicorp_vault_version: + description: The HashiCorp Vault secret version + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string required: - - data + - created_at + - name + - updated_at type: object - add_subscribers: + secret_response: properties: data: - $ref: '#/components/schemas/add_subscribers_data' + $ref: '#/components/schemas/secret_response_data' required: - data type: object - remove_subscribers: + secret_list: properties: data: - $ref: '#/components/schemas/remove_subscribers_data' + items: + $ref: '#/components/schemas/secret_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data type: object - assign_role_to_user: + new_service: properties: data: - $ref: '#/components/schemas/assign_role_to_user_data' + $ref: '#/components/schemas/new_service_data' required: - data type: object - unassign_role_from_user: + update_service: properties: data: - $ref: '#/components/schemas/unassign_role_from_user_data' + $ref: '#/components/schemas/update_service_data' required: - data type: object - incident: + service: properties: - title: - description: The title of the incident - type: string - kind: - description: The kind of the incident + name: + description: The name of the service type: string slug: - description: The slug of the incident - type: string - parent_incident_id: - description: ID of parent incident - nullable: true + description: The slug of the service type: string - duplicate_incident_id: - description: ID of duplicated incident + description: + description: The description of the service nullable: true type: string - summary: - description: The summary of the incident + public_description: + description: The public description of the service nullable: true type: string - private: - default: false - description: Create an incident as private - nullable: true - type: boolean - severity: - allOf: - - $ref: '#/components/schemas/severity_response' - description: The Severity of the incident - nullable: true - type: object - environments: - description: The Environments of the incident - items: - allOf: - - $ref: '#/components/schemas/environment_response' - type: object - nullable: true - type: array - incident_types: - description: The Incident Types of the incident - items: - allOf: - - $ref: '#/components/schemas/incident_type_response' - type: object - nullable: true - type: array - services: - description: The Services of the incident + notify_emails: + description: Emails attached to the service items: - allOf: - - $ref: '#/components/schemas/service_response' - type: object + type: string nullable: true type: array - functionalities: - description: The Functionalities of the incident - items: - allOf: - - $ref: '#/components/schemas/functionality_response' - type: object + color: + description: The hex color of the service nullable: true - type: array - groups: - description: The Teams of to the incident - items: - allOf: - - $ref: '#/components/schemas/team_response' - type: object + type: string + position: + description: Position of the service nullable: true - type: array - labels: - description: "Labels to attach to the incidents. eg: {\"platform\":\"osx\"\ - , \"version\": \"1.29\"}" + type: integer + backstage_id: + description: "The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name" nullable: true - type: object - slack_channel_id: - description: Slack channel id + type: string + external_id: + description: The external id associated to this service nullable: true type: string - slack_channel_name: - description: Slack channel name + pagerduty_id: + description: The PagerDuty service id associated to this service nullable: true type: string - slack_channel_url: - description: Slack channel url + opsgenie_id: + description: The Opsgenie service id associated to this service nullable: true type: string - mitigation_message: - description: How was the incident mitigated? + cortex_id: + description: The Cortex group id associated to this service nullable: true type: string - resolution_message: - description: How was the incident resolved? + service_now_ci_sys_id: + description: The Service Now CI sys id associated to this service nullable: true type: string - cancellation_message: - description: Why was the incident cancelled? + github_repository_name: + description: "The GitHub repository name associated to this service. eg:\ + \ rootlyhq/my-service" nullable: true type: string - scheduled_for: - description: Date of when the maintenance begins + github_repository_branch: + description: "The GitHub repository branch associated to this service. eg:\ + \ main" nullable: true type: string - scheduled_until: - description: Date of when the maintenance ends + gitlab_repository_name: + description: "The GitLab repository name associated to this service. eg:\ + \ rootlyhq/my-service" nullable: true type: string - retrospective_progress_status: - description: The status of the retrospective progress - enum: - - not_started - - active - - completed - - skipped + gitlab_repository_branch: + description: "The GitLab repository branch associated to this service. eg:\ + \ main" nullable: true type: string - in_triage_at: - description: Date of triage + kubernetes_deployment_name: + description: "The Kubernetes deployment name associated to this service.\ + \ eg: namespace/deployment-name" nullable: true type: string - started_at: - description: Date of start + environment_ids: + description: Environments associated with this service + items: + type: string + nullable: true + type: array + service_ids: + description: Services dependent on this service + items: + type: string + nullable: true + type: array + owner_group_ids: + description: Owner Teams associated with this service + items: + type: string + nullable: true + type: array + owner_user_ids: + description: Owner Users associated with this service + items: + type: integer + nullable: true + type: array + alert_urgency_id: + description: The alert urgency id of the service nullable: true type: string - detected_at: - description: Date of detection + escalation_policy_id: + description: The escalation policy id of the service nullable: true type: string - acknowledged_at: - description: Date of acknowledgment + alerts_email_enabled: + description: Enable alerts through email + nullable: true + type: boolean + alerts_email_address: + description: Email generated to send alerts to nullable: true type: string - mitigated_at: - description: Date of mitigation + slack_channels: + description: Slack Channels associated with this service + items: + $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' nullable: true - type: string - resolved_at: - description: Date of resolution + type: array + slack_aliases: + description: Slack Aliases associated with this service + items: + $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true - type: string - cancelled_at: - description: Date of cancellation + type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel nullable: true - type: string + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/service_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/service_incident_broadcast_channel' + properties: + description: Array of property values for this service. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + nullable: true + type: array created_at: description: Date of creation type: string @@ -48704,130 +39651,240 @@ components: type: string required: - created_at - - slug - - title + - name - updated_at type: object - incident_response: + service_response: properties: data: - $ref: '#/components/schemas/incident_response_data' + $ref: '#/components/schemas/service_response_data' required: - data type: object - incident_list: + service_list: properties: data: items: - $ref: '#/components/schemas/incident_response_data' + $ref: '#/components/schemas/service_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - ip_ranges: + new_severity: properties: - integrations_ipv4: - description: IPv4 addresses associated with Rootly integrations. - items: - type: string - type: array - integrations_ipv6: - description: IPv6 addresses associated with Rootly integrations. - items: - type: string - type: array - webhooks_ipv4: - description: IPv4 addresses associated with Rootly webhooks. - items: - type: string - type: array - webhooks_ipv6: - description: IPv6 addresses associated with Rootly webhooks. - items: - type: string - type: array + data: + $ref: '#/components/schemas/new_severity_data' required: - - integrations_ipv4 - - integrations_ipv6 - - webhooks_ipv4 - - webhooks_ipv6 + - data type: object - ip_ranges_response: + update_severity: properties: data: - $ref: '#/components/schemas/ip_ranges_response_data' + $ref: '#/components/schemas/update_severity_data' required: - data type: object - links: + severity: properties: - self: + name: + description: The name of the severity type: string - first: + slug: + description: The slug of the severity type: string - prev: + description: + description: The description of the severity nullable: true type: string - next: + severity: + description: The severity of the severity + enum: + - critical + - high + - medium + - low + type: string + color: + description: The hex color of the severity nullable: true type: string - last: + position: + description: Position of the severity + nullable: true + type: integer + notify_emails: + description: Emails to attach to the severity + items: + type: string + nullable: true + type: array + slack_channels: + description: Slack Channels associated with this severity + items: + $ref: '#/components/schemas/new_environment_data_attributes_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' + nullable: true + type: array + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string required: - - first - - last - - next - - prev - - self + - created_at + - name + - updated_at type: object - new_on_call_shadow: + severity_response: properties: data: - $ref: '#/components/schemas/new_on_call_shadow_data' + $ref: '#/components/schemas/severity_response_data' required: - data type: object - update_on_call_shadow: + severity_list: properties: data: - $ref: '#/components/schemas/update_on_call_shadow_data' + items: + $ref: '#/components/schemas/severity_response_data' + type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data + - links + - meta type: object - on_call_shadow: + shift: properties: schedule_id: - description: ID of schedule the shadow shift belongs to + description: ID of schedule nullable: false type: string - shadowable_type: - enum: - - User - - Schedule + rotation_id: + description: ID of rotation + nullable: true type: string - shadowable_id: - description: ID of schedule or user the shadow user is shadowing + starts_at: + description: Start datetime of shift nullable: false type: string - shadow_user_id: - description: Which user the shadow shift belongs to. + ends_at: + description: End datetime of shift nullable: false + type: string + is_override: + description: Denotes shift is an override shift + type: boolean + is_shadow: + description: Denotes shift is a shadow shift + type: boolean + user_id: + description: ID of user on shift + nullable: true type: integer - starts_at: - description: Start datetime of shadow shift - format: date-time - nullable: false + required: + - ends_at + - is_override + - is_shadow + - rotation_id + - schedule_id + - starts_at + type: object + shift_list: + properties: + data: + items: + $ref: '#/components/schemas/shift_list_data_inner' + type: array + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + type: object + shift_relationships: + properties: + shift_override: + $ref: '#/components/schemas/shift_relationships_shift_override' + user: + $ref: '#/components/schemas/shift_relationships_user' + assignee: + $ref: '#/components/schemas/shift_relationships_assignee' + type: object + new_status_page_template: + properties: + data: + $ref: '#/components/schemas/new_status_page_template_data' + required: + - data + type: object + update_status_page_template: + properties: + data: + $ref: '#/components/schemas/update_status_page_template_data' + required: + - data + type: object + status_page_template: + properties: + status_page_id: type: string - ends_at: - description: End datetime for shadow shift - format: date-time + title: + description: Title of the template + type: string + update_title: + description: Title that will be used for the status page update + nullable: true + type: string + body: + description: Description of the event the template will populate + type: string + update_status: + description: Status of the event the template will populate + nullable: true + type: string + kind: + description: The kind of the status page template + enum: + - normal + - scheduled nullable: false type: string + should_notify_subscribers: + description: Controls if incident subscribers should be notified + nullable: true + type: boolean + enabled: + description: Enable / Disable the status page template + nullable: true + type: boolean + position: + description: Position of the workflow task + type: integer created_at: description: Date of creation type: string @@ -48835,628 +39892,792 @@ components: description: Date of last update type: string required: - - ends_at - - schedule_id - - shadow_user_id - - shadowable_id - - shadowable_type - - starts_at + - body + - created_at + - status_page_id + - title + - updated_at type: object - on_call_shadow_response: + status_page_template_response: properties: data: - $ref: '#/components/schemas/on_call_shadow_response_data' + $ref: '#/components/schemas/status_page_template_response_data' required: - data type: object - on_call_shadows_list: + status_page_template_list: properties: data: items: - $ref: '#/components/schemas/on_call_shadows_list_data_inner' + $ref: '#/components/schemas/status_page_template_list_data_inner' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_on_call_role: + new_status_page: properties: data: - $ref: '#/components/schemas/new_on_call_role_data' + $ref: '#/components/schemas/new_status_page_data' required: - data type: object - update_on_call_role: + update_status_page: properties: data: - $ref: '#/components/schemas/update_on_call_role_data' + $ref: '#/components/schemas/update_status_page_data' required: - data type: object - on_call_role: + status_page: properties: - name: - description: The role name. + title: + description: The title of the status page type: string slug: - description: The role slug. + description: The slug of the status page type: string - system_role: - description: The kind of role - items: - enum: - - admin - - user - - custom - - no_access - type: string - type: array - alert_sources_permissions: - items: - enum: - - create - - update - - delete - type: string - type: array - alert_urgency_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - alerts_permissions: - items: - enum: - - create - - update - - read - type: string - type: array - api_keys_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - audits_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - contacts_permissions: - items: - enum: - - read - type: string - type: array - escalation_policies_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - groups_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - heartbeats_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - integrations_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - invitations_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - live_call_routing_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - schedule_override_permissions: - items: - enum: - - create - - update - type: string - type: array - schedules_permissions: + public_title: + description: The public title of the status page + nullable: true + type: string + description: + description: The description of the status page + nullable: true + type: string + public_description: + description: The public description of the status page + nullable: true + type: string + header_color: + description: The color of the header. Eg. "#0061F2" + nullable: true + type: string + footer_color: + description: The color of the footer. Eg. "#1F2F41" + nullable: true + type: string + allow_search_engine_index: + description: Allow search engines to include your public status page in + search results + nullable: true + type: boolean + show_uptime: + description: Show uptime + nullable: true + type: boolean + show_uptime_last_days: + description: Show uptime over x days + enum: + - 30 + - 60 + - 90 + nullable: true + type: integer + success_message: + description: Message showing when all components are operational + nullable: true + type: string + failure_message: + description: Message showing when at least one component is not operational + nullable: true + type: string + authentication_method: + default: none + description: Authentication method + enum: + - none + - password + - saml + nullable: true + type: string + authentication_enabled: + default: false + deprecated: true + description: Enable authentication (deprecated - use authentication_method + instead) + nullable: true + type: boolean + authentication_password: + description: Authentication password + nullable: true + type: string + saml_idp_sso_service_url: + description: SAML IdP SSO service URL + nullable: true + type: string + saml_idp_slo_service_url: + description: SAML IdP SLO service URL + nullable: true + type: string + saml_idp_cert: + description: SAML IdP certificate + nullable: true + type: string + saml_idp_cert_fingerprint: + description: SAML IdP certificate fingerprint + nullable: true + type: string + saml_name_identifier_format: + description: SAML name identifier format + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + - urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + nullable: true + type: string + section_order: + description: Order of sections on the status page items: enum: - - create - - read - - update - - delete + - maintenance + - system_status + - incidents type: string + nullable: true type: array - services_permissions: + website_url: + description: Website URL + nullable: true + type: string + website_privacy_url: + description: Website Privacy URL + nullable: true + type: string + website_support_url: + description: Website Support URL + nullable: true + type: string + ga_tracking_id: + description: Google Analytics tracking ID + nullable: true + type: string + time_zone: + default: Etc/UTC + description: A valid IANA time zone name. + nullable: true + type: string + public: + description: Make the status page accessible to the public + nullable: true + type: boolean + service_ids: + description: Services attached to the status page items: - enum: - - create - - read - - update - - delete type: string type: array - webhooks_permissions: + functionality_ids: + description: Functionalities attached to the status page items: - enum: - - create - - read - - update - - delete type: string type: array - workflows_permissions: + external_domain_names: + description: External domain names attached to the status page items: - enum: - - create - - read - - update - - delete type: string type: array + cname_records: + additionalProperties: + type: string + description: CNAME records mapping external domain names to their DNS target + values. These are populated asynchronously after setting external_domain_names. + nullable: true + readOnly: true + type: object + enabled: + description: Enabled / Disable the status page + nullable: true + type: boolean created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - created_at - - name - - slug - - system_role + - title - updated_at type: object - on_call_role_response: + status_page_response: properties: data: - $ref: '#/components/schemas/on_call_role_response_data' + $ref: '#/components/schemas/status_page_response_data' required: - data type: object - on_call_role_list: + status_page_list: properties: data: items: - $ref: '#/components/schemas/on_call_role_response_data' + $ref: '#/components/schemas/status_page_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_override_shift: + new_team: properties: data: - $ref: '#/components/schemas/new_override_shift_data' + $ref: '#/components/schemas/new_team_data' required: - data type: object - update_override_shift: + update_team: properties: data: - $ref: '#/components/schemas/update_override_shift_data' + $ref: '#/components/schemas/update_team_data' required: - data type: object - override_shift: + team: properties: - schedule_id: - description: ID of schedule - nullable: false + name: + description: The name of the team type: string - rotation_id: - description: ID of rotation + slug: + type: string + description: + description: The description of the team nullable: true type: string - starts_at: - description: Start datetime of shift - nullable: false + notify_emails: + description: Emails to attach to the team + items: + type: string + nullable: true + type: array + color: + description: The hex color of the team + nullable: true type: string - ends_at: - description: End datetime of shift - nullable: false + position: + description: Position of the team + nullable: true + type: integer + backstage_id: + description: "The Backstage entity id associated to this team. eg: :namespace/:kind/:entity_name" + nullable: true type: string - is_override: - description: Denotes shift is an override shift + external_id: + description: The external id associated to this team + nullable: true + type: string + pagerduty_id: + description: The PagerDuty group id associated to this team + nullable: true + type: string + pagerduty_service_id: + description: The PagerDuty service id associated to this team + nullable: true + type: string + opsgenie_id: + description: The Opsgenie group id associated to this team + nullable: true + type: string + victor_ops_id: + description: The VictorOps group id associated to this team + nullable: true + type: string + pagertree_id: + description: The PagerTree group id associated to this team + nullable: true + type: string + cortex_id: + description: The Cortex group id associated to this team + nullable: true + type: string + service_now_ci_sys_id: + description: The Service Now CI sys id associated to this team + nullable: true + type: string + user_ids: + description: The user ids of the members of this team. + items: + type: integer + nullable: true + type: array + admin_ids: + description: The user ids of the admins of this team. These users must also + be present in user_ids attribute. + items: + type: integer + nullable: true + type: array + alerts_email_enabled: + description: Enable alerts through email + nullable: true + type: boolean + alerts_email_address: + description: Email generated to send alerts to + nullable: true + type: string + alert_urgency_id: + description: The alert urgency id of the team + nullable: true + type: string + slack_channels: + description: Slack Channels associated with this team + items: + $ref: '#/components/schemas/new_environment_data_attributes_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' + nullable: true + type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel + nullable: true + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/service_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/service_incident_broadcast_channel' + auto_add_members_when_attached: + description: Auto add members to incident channel when team is attached + nullable: true type: boolean + properties: + description: Array of property values for this team. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + nullable: true + type: array created_at: description: Date of creation type: string updated_at: description: Date of last update type: string - shift_override: - allOf: - - $ref: '#/components/schemas/shift_override_response' - description: Override metadata - nullable: true - type: object - user: - allOf: - - $ref: '#/components/schemas/user_response' - description: User metadata - nullable: false - type: object required: - - ends_at - - is_override - - rotation_id - - schedule_id - - starts_at + - created_at + - name + - updated_at type: object - override_shift_response: + team_response: properties: data: - $ref: '#/components/schemas/override_shift_response_data' + $ref: '#/components/schemas/team_response_data' required: - data type: object - override_shift_list: + team_list: properties: data: items: - $ref: '#/components/schemas/override_shift_response_data' + $ref: '#/components/schemas/team_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - shift_override: - properties: - shift_id: - description: ID of shift - nullable: false - type: string - created_by_user_id: - description: User who created the override - nullable: false - type: integer - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string - required: - - created_by_user_id - - shift_id - type: object - shift_override_response: - properties: - data: - $ref: '#/components/schemas/shift_override_response_data' - required: - - data - type: object - new_playbook_task: + new_user_notification_rule: properties: data: - $ref: '#/components/schemas/new_playbook_task_data' + $ref: '#/components/schemas/new_user_notification_rule_data' required: - data type: object - update_playbook_task: + update_user_notification_rule: properties: data: - $ref: '#/components/schemas/update_playbook_task_data' + $ref: '#/components/schemas/update_user_notification_rule_data' required: - data type: object - playbook_task: + user_notification_rule: properties: - playbook_id: + user_id: + type: integer + delay: + description: Delay after which rule gets triggered + nullable: true + type: integer + position: + description: Position of the rule + nullable: true + type: integer + user_email_address_id: + description: User email address to which notification to be sent + nullable: true type: string - task: - description: The task of the task + user_call_number_id: + description: User phone number to which notification to be sent + nullable: true type: string - description: - description: The description of task + user_sms_number_id: + description: User sms number to which notification to be sent nullable: true type: string - position: - description: The position of the task + user_device_id: + description: User device to which notification to be sent nullable: true - type: integer + type: string + enabled_contact_types: + description: Contact types for which notification needs to be enabled + items: + enum: + - email + - sms + - call + - device + - non_critical_device + - slack + type: string + nullable: false + type: array + notification_type: + description: "Type of notification rule (audible or quiet). Audible notifications\ + \ use sound/vibration to alert users, while quiet notifications are silent." + enum: + - audible + - quiet + nullable: false + type: string created_at: description: Date of creation type: string updated_at: description: Date of last update type: string - required: - - created_at - - task - - updated_at type: object - playbook_task_response: + user_notification_rule_response: properties: data: - $ref: '#/components/schemas/playbook_task_response_data' + $ref: '#/components/schemas/user_notification_rule_response_data' required: - data type: object - playbook_task_list: + user_notification_rule_list: properties: data: items: - $ref: '#/components/schemas/playbook_task_response_data' + $ref: '#/components/schemas/user_notification_rule_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_playbook: + new_user_phone_number: properties: data: - $ref: '#/components/schemas/new_playbook_data' + $ref: '#/components/schemas/new_user_phone_number_data' required: - data type: object - update_playbook: + update_user_phone_number: properties: data: - $ref: '#/components/schemas/update_playbook_data' + $ref: '#/components/schemas/update_user_phone_number_data' required: - data type: object - playbook: + user_phone_number: properties: - title: - description: The title of the playbook - type: string - summary: - description: The summary of the playbook - nullable: true + user_id: + type: integer + phone: + description: Phone number in international format type: string - external_url: - description: The external url of the playbook + primary: + description: Whether this is the primary phone number + type: boolean + verified_at: + description: Date when phone number was verified + format: date-time nullable: true type: string - severity_ids: - description: The Severity ID's to attach to the incident - items: - type: string - nullable: true - type: array - environment_ids: - description: The Environment ID's to attach to the incident - items: - type: string - nullable: true - type: array - functionality_ids: - description: The Functionality ID's to attach to the incident - items: - type: string - nullable: true - type: array - service_ids: - description: The Service ID's to attach to the incident - items: - type: string - nullable: true - type: array - group_ids: - description: The Team ID's to attach to the incident - items: - type: string - nullable: true - type: array - incident_type_ids: - description: The Incident Type ID's to attach to the incident - items: - type: string - nullable: true - type: array + verification_attempts_today: + description: Number of verification attempts made today + type: integer created_at: description: Date of creation type: string updated_at: description: Date of last update type: string - required: - - created_at - - title - - updated_at type: object - playbook_response: + user_phone_number_response: properties: data: - $ref: '#/components/schemas/playbook_response_data' + $ref: '#/components/schemas/user_phone_number_response_data' required: - data type: object - playbook_list: + user_phone_number_list: properties: data: items: - $ref: '#/components/schemas/playbook_response_data' + $ref: '#/components/schemas/user_phone_number_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_post_mortem_template: + verify_phone_number_request: + properties: + code: + description: 6-digit verification code + pattern: "^[0-9]{6}$" + type: string + required: + - code + type: object + phone_verification_response: + properties: + message: + description: Success message + type: string + error: + description: Error message + type: string + type: object + new_user_email_address: properties: data: - $ref: '#/components/schemas/new_post_mortem_template_data' + $ref: '#/components/schemas/new_user_email_address_data' required: - data type: object - update_post_mortem_template: + update_user_email_address: properties: data: - $ref: '#/components/schemas/update_post_mortem_template_data' + $ref: '#/components/schemas/update_user_email_address_data' required: - data type: object - post_mortem_template: + user_email_address: properties: - name: - description: The name of the postmortem template - type: string - slug: - description: The slugified name of the postmortem template + user_id: + type: integer + email: + description: Email address type: string - default: - description: Default selected template when editing a postmortem - nullable: true + primary: + description: Whether this is the primary email address type: boolean - content: - description: The postmortem template. Liquid syntax and markdown are supported - type: string - format: - description: The format of the input - enum: - - html - - markdown - type: string created_at: description: Date of creation type: string updated_at: description: Date of last update type: string - required: - - created_at - - name - - updated_at type: object - post_mortem_template_response: + user_email_address_response: properties: data: - $ref: '#/components/schemas/post_mortem_template_response_data' + $ref: '#/components/schemas/user_email_address_response_data' required: - data type: object - post_mortem_template_list: + user_email_address_list: properties: data: items: - $ref: '#/components/schemas/post_mortem_template_response_data' + $ref: '#/components/schemas/user_email_address_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_pulse: + user: + properties: + email: + description: The email of the user + type: string + first_name: + description: First name of the user + nullable: true + type: string + last_name: + description: Last name of the user + nullable: true + type: string + full_name: + description: The full name of the user + nullable: true + type: string + full_name_with_team: + description: The full name with team of the user + nullable: true + type: string + time_zone: + description: Configured time zone + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + required: + - created_at + - email + - updated_at + type: object + user_flat_response: + description: Flat user object as returned by serializer + properties: + id: + description: User ID + type: integer + email: + description: User email + type: string + first_name: + description: User first name + nullable: true + type: string + last_name: + description: User last name + nullable: true + type: string + full_name: + description: User full name + nullable: true + type: string + full_name_with_team: + description: User full name with team + nullable: true + type: string + time_zone: + description: User time zone + nullable: true + type: string + created_at: + description: User creation timestamp + type: string + updated_at: + description: User last update timestamp + type: string + required: + - created_at + - email + - id + - updated_at + type: object + role_relationship: properties: data: - $ref: '#/components/schemas/new_pulse_data' + $ref: '#/components/schemas/role_relationship_data' + type: object + on_call_role_relationship: + properties: + data: + $ref: '#/components/schemas/on_call_role_relationship_data' + type: object + user_relationships: + properties: + role: + $ref: '#/components/schemas/role_relationship' + on_call_role: + $ref: '#/components/schemas/on_call_role_relationship' + type: object + update_user: + properties: + data: + $ref: '#/components/schemas/update_user_data' required: - data type: object - update_pulse: + user_response: properties: data: - $ref: '#/components/schemas/update_pulse_data' + $ref: '#/components/schemas/user_response_data' required: - data type: object - pulse: + user_list: properties: - source: - description: "The source of the pulse (eg: k8s)" - nullable: true - type: string - summary: - description: The summary of the pulse - type: string - services: - description: Services attached to the pulse - items: - allOf: - - $ref: '#/components/schemas/service' - type: object - type: array - environments: - description: Environments attached to the pulse + data: items: - allOf: - - $ref: '#/components/schemas/environment' - type: object + $ref: '#/components/schemas/user_response_data' type: array - external_url: - description: The external url of the pulse - nullable: true + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + webhooks_delivery: + properties: + endpoint_id: type: string - labels: - items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' - type: array - refs: - items: - $ref: '#/components/schemas/new_pulse_data_attributes_refs_inner' - type: array - data: - description: Additional data + payload: + type: string + delivered_at: nullable: true - type: object + type: string created_at: description: Date of creation type: string @@ -49465,602 +40686,521 @@ components: type: string required: - created_at - - summary + - delivered_at + - endpoint_id + - payload - updated_at type: object - pulse_response: + webhooks_delivery_response: properties: data: - $ref: '#/components/schemas/pulse_response_data' + $ref: '#/components/schemas/webhooks_delivery_response_data' required: - data type: object - pulse_list: + webhooks_delivery_list: properties: data: items: - $ref: '#/components/schemas/pulse_response_data' + $ref: '#/components/schemas/webhooks_delivery_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - - links type: object - update_retrospective_configuration: + new_webhooks_endpoint: properties: data: - $ref: '#/components/schemas/update_retrospective_configuration_data' + $ref: '#/components/schemas/new_webhooks_endpoint_data' required: - data type: object - retrospective_configuration: + update_webhooks_endpoint: properties: - kind: - description: The kind of the configuration. - enum: - - skip - - mandatory + data: + $ref: '#/components/schemas/update_webhooks_endpoint_data' + required: + - data + type: object + webhooks_endpoint: + properties: + name: + description: The name of the endpoint type: string - severity_ids: - description: The Severity ID's to attach to the retrospective configuration - items: - type: string - nullable: true - type: array - group_ids: - description: The Team ID's to attach to the retrospective configuration - items: - type: string - nullable: true - type: array - incident_type_ids: - description: The Incident Type ID's to attach to the retrospective configuration + slug: + description: The slug of the endpoint + type: string + url: + description: The URL of the endpoint. + type: string + event_types: items: + enum: + - incident.created + - incident.updated + - incident.in_triage + - incident.mitigated + - incident.resolved + - incident.cancelled + - incident.deleted + - incident.scheduled.created + - incident.scheduled.updated + - incident.scheduled.in_progress + - incident.scheduled.completed + - incident.scheduled.deleted + - incident_post_mortem.created + - incident_post_mortem.updated + - incident_post_mortem.published + - incident_post_mortem.deleted + - incident_status_page_event.created + - incident_status_page_event.updated + - incident_status_page_event.deleted + - incident_event.created + - incident_event.updated + - incident_event.deleted + - alert.created + - pulse.created + - genius_workflow_run.queued + - genius_workflow_run.started + - genius_workflow_run.completed + - genius_workflow_run.failed + - genius_workflow_run.canceled + - audit_log.created type: string - nullable: true type: array + secret: + description: The webhook signing secret used to verify webhook requests. + type: string + enabled: + type: boolean created_at: description: Date of creation type: string updated_at: description: Date of last update type: string + required: + - created_at + - enabled + - event_types + - name + - secret + - updated_at + - url type: object - retrospective_configuration_response: + webhooks_endpoint_response: properties: data: - $ref: '#/components/schemas/retrospective_configuration_response_data' + $ref: '#/components/schemas/webhooks_endpoint_response_data' required: - data type: object - retrospective_configuration_list: + webhooks_endpoint_list: properties: data: items: - $ref: '#/components/schemas/retrospective_configuration_list_data_inner' + $ref: '#/components/schemas/webhooks_endpoint_response_data' type: array + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data type: object - new_retrospective_process: - properties: - data: - $ref: '#/components/schemas/new_retrospective_process_data' - required: - - data - type: object - update_retrospective_process: - properties: - data: - $ref: '#/components/schemas/update_retrospective_process_data' - required: - - data - type: object - retrospective_process: + status: properties: name: - description: The name of the retrospective process + type: string + slug: type: string description: - description: The description of the retrospective process nullable: true type: string - is_default: - description: Indicates the default process that Rootly created. This will - be used as a fallback if no processes match the incident's conditions. - The default process cannot have conditions and cannot be changed. - nullable: true + color: + type: string + enabled: type: boolean created_at: - description: Date of creation type: string updated_at: - description: Date of last update type: string - retrospective_process_matching_criteria: - $ref: '#/components/schemas/new_retrospective_process_data_attributes_retrospective_process_matching_criteria' + required: + - color + - created_at + - enabled + - name + - updated_at type: object - retrospective_process_response: + status_response: properties: data: - $ref: '#/components/schemas/retrospective_process_response_data' + $ref: '#/components/schemas/status_response_data' required: - data type: object - retrospective_process_list: + status_list: properties: data: items: - $ref: '#/components/schemas/retrospective_process_list_data_inner' + $ref: '#/components/schemas/status_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_retrospective_step: + new_sub_status: properties: data: - $ref: '#/components/schemas/new_retrospective_step_data' + $ref: '#/components/schemas/new_sub_status_data' required: - data type: object - update_retrospective_step: + update_sub_status: properties: data: - $ref: '#/components/schemas/update_retrospective_step_data' + $ref: '#/components/schemas/update_sub_status_data' required: - data type: object - retrospective_step: + sub_status: properties: - retrospective_process_id: - type: string - title: - description: The name of the step + name: type: string slug: - description: The slug of the step type: string description: - description: The description of the step nullable: true type: string - incident_role_id: - description: Users assigned to the selected incident role will be the default - owners for this step - nullable: true + parent_status: + enum: + - in_triage + - started + - resolved + - closed + - cancelled + - planning + - scheduled + - in_progress + - verifying + - completed type: string - due_after_days: - description: Due date in days - nullable: true - type: integer position: - description: Position of the step + nullable: true type: integer - skippable: - description: Is the step skippable? - type: boolean created_at: - description: Date of creation type: string updated_at: - description: Date of last update type: string required: - created_at - - retrospective_process_id - - title + - name + - parent_status - updated_at type: object - retrospective_step_response: + sub_status_response: properties: data: - $ref: '#/components/schemas/retrospective_step_response_data' + $ref: '#/components/schemas/sub_status_response_data' required: - data type: object - retrospective_step_list: + sub_status_list: properties: data: items: - $ref: '#/components/schemas/retrospective_step_response_data' + $ref: '#/components/schemas/sub_status_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_role: + new_incident_sub_status: properties: data: - $ref: '#/components/schemas/new_role_data' + $ref: '#/components/schemas/new_incident_sub_status_data' required: - data type: object - update_role: + update_incident_sub_status: properties: data: - $ref: '#/components/schemas/update_role_data' + $ref: '#/components/schemas/update_incident_sub_status_data' required: - data type: object - role: + incident_sub_status: properties: - name: - description: The role name. + incident_id: type: string - slug: - description: The role slug. + sub_status_id: + description: "Note: To change an incident's sub-status, use the PATCH /incidents/:id\ + \ endpoint and set the sub_status_id attribute. This endpoint is for modifying\ + \ the timestamp of when an incident's sub-status was assigned." type: string - incident_permission_set_id: - description: Associated incident permissions set. - nullable: true + assigned_at: type: string - is_deletable: - description: Whether the role can be deleted. - type: boolean - is_editable: - description: Whether the role can be edited. - type: boolean - alerts_permissions: - items: - enum: - - create - - read - type: string - type: array - api_keys_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - audits_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - billing_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - environments_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - form_fields_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - functionalities_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - groups_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - incident_causes_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - incident_feedbacks_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - incident_roles_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - incident_types_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - incidents_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - integrations_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - invitations_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - playbooks_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - private_incidents_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - pulses_permissions: - items: - enum: - - create - - update - - read - type: string - type: array - retrospective_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - roles_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - secrets_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - services_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - severities_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - status_pages_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - webhooks_permissions: - items: - enum: - - create - - read - - update - - delete - type: string - type: array - workflows_permissions: + assigned_by_user_id: + nullable: true + type: integer + required: + - assigned_at + - incident_id + - sub_status_id + type: object + incident_sub_status_response: + properties: + data: + $ref: '#/components/schemas/incident_sub_status_response_data' + required: + - data + type: object + incident_sub_status_list: + properties: + data: items: - enum: - - create - - read - - update - - delete - type: string + $ref: '#/components/schemas/incident_sub_status_response_data' type: array - created_at: + links: + allOf: + - $ref: '#/components/schemas/links' + type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object + required: + - data + - links + - meta + type: object + new_retrospective_process_group: + properties: + data: + $ref: '#/components/schemas/new_retrospective_process_group_data' + required: + - data + type: object + update_retrospective_process_group: + properties: + data: + $ref: '#/components/schemas/update_retrospective_process_group_data' + required: + - data + type: object + retrospective_process_group: + properties: + retrospective_process_id: type: string - updated_at: + sub_status_id: type: string + position: + type: integer required: - - created_at - - name - - slug - - updated_at + - position + - retrospective_process_id + - sub_status_id type: object - role_response: + retrospective_process_group_response: properties: data: - $ref: '#/components/schemas/role_response_data' + $ref: '#/components/schemas/retrospective_process_group_response_data' required: - data type: object - role_list: + retrospective_process_group_list: properties: data: items: - $ref: '#/components/schemas/role_response_data' + $ref: '#/components/schemas/retrospective_process_group_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_schedule_rotation_active_day: + new_retrospective_process_group_step: properties: data: - $ref: '#/components/schemas/new_schedule_rotation_active_day_data' + $ref: '#/components/schemas/new_retrospective_process_group_step_data' required: - data type: object - update_schedule_rotation_active_day: + update_retrospective_process_group_step: properties: data: - $ref: '#/components/schemas/update_schedule_rotation_active_day_data' + $ref: '#/components/schemas/update_retrospective_process_group_step_data' required: - data type: object - schedule_rotation_active_day: + retrospective_process_group_step: properties: - schedule_rotation_id: - type: string - day_name: - description: Schedule rotation day name for which active times to be created - enum: - - S - - M - - T - - W - - R - - F - - U - type: string - 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' - type: array - created_at: - description: Date of creation + retrospective_process_group_id: type: string - updated_at: - description: Date of last update + retrospective_step_id: type: string + position: + type: integer required: - - active_time_attributes - - created_at - - day_name - - schedule_rotation_id - - updated_at - schedule_rotation_active_day_response: + - position + - retrospective_process_group_id + - retrospective_step_id + type: object + retrospective_process_group_step_response: properties: data: - $ref: '#/components/schemas/schedule_rotation_active_day_response_data' + $ref: '#/components/schemas/retrospective_process_group_step_response_data' + required: + - data type: object - schedule_rotation_active_day_list: + retrospective_process_group_step_list: properties: data: items: - $ref: '#/components/schemas/schedule_rotation_active_day_list_data_inner' + $ref: '#/components/schemas/retrospective_process_group_step_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - new_schedule_rotation_user: + new_sla: properties: data: - $ref: '#/components/schemas/new_schedule_rotation_user_data' + $ref: '#/components/schemas/new_sla_data' + required: + - data type: object - update_schedule_rotation_user: + update_sla: properties: data: - $ref: '#/components/schemas/update_schedule_rotation_user_data' + $ref: '#/components/schemas/update_sla_data' required: - data type: object - schedule_rotation_user: + sla: properties: - schedule_rotation_id: + slug: + description: The slug of the SLA + type: string + name: + description: The name of the SLA + type: string + description: + description: A description of the SLA + nullable: true type: string - user_id: - description: Schedule rotation user - type: integer position: - description: Position of the user inside rotation + description: Position of the SLA for ordering + type: integer + entity_type: + description: The entity type this SLA applies to + enum: + - follow_up + type: string + condition_match_type: + description: Whether all or any conditions must match + enum: + - ALL + - ANY + type: string + manager_role_id: + description: The ID of the manager incident role. Exactly one of `manager_role_id` + or `manager_user_id` must be provided. + format: uuid + nullable: true + type: string + manager_user_id: + description: The ID of the manager user. Exactly one of `manager_role_id` + or `manager_user_id` must be provided. + nullable: true + type: integer + assignment_deadline_days: + description: Number of days for the assignment deadline + type: integer + assignment_deadline_parent_status: + description: The incident parent status that triggers the assignment deadline + type: string + assignment_deadline_sub_status_id: + description: Sub-status for the assignment deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + assignment_skip_weekends: + description: Whether to skip weekends when calculating the assignment deadline + type: boolean + completion_deadline_days: + description: Number of days for the completion deadline type: integer + completion_deadline_parent_status: + description: The incident parent status that triggers the completion deadline + type: string + completion_deadline_sub_status_id: + description: Sub-status for the completion deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + completion_skip_weekends: + description: Whether to skip weekends when calculating the completion deadline + type: boolean + conditions: + description: Conditions that determine which incidents this SLA applies + to + items: + $ref: '#/components/schemas/sla_conditions_inner' + type: array + notification_configurations: + description: Notification timing configurations + items: + $ref: '#/components/schemas/sla_notification_configurations_inner' + type: array created_at: description: Date of creation type: string @@ -50068,3223 +41208,4221 @@ components: description: Date of last update type: string required: + - assignment_deadline_days + - assignment_deadline_parent_status + - completion_deadline_days + - completion_deadline_parent_status + - condition_match_type - created_at - - position - - schedule_rotation_id + - name - updated_at - - user_id type: object - schedule_rotation_user_list: + sla_response: + properties: + data: + $ref: '#/components/schemas/sla_response_data' + required: + - data + type: object + sla_list: properties: data: items: - $ref: '#/components/schemas/schedule_rotation_user_list_data_inner' + $ref: '#/components/schemas/sla_response_data' type: array links: allOf: - $ref: '#/components/schemas/links' type: object + meta: + allOf: + - $ref: '#/components/schemas/meta' + type: object required: - data - links + - meta type: object - schedule_rotation_user_response: + getAlertField_id_parameter: + anyOf: + - description: Resource UUID + format: uuid + type: string + - description: Resource slug + pattern: "^[a-z0-9_-]+$" + type: string + deleteAlertRoute_200_response_data_attributes: + properties: + deleted: + type: boolean + type: object + deleteAlertRoute_200_response_data: + properties: + id: + type: string + type: + type: string + attributes: + $ref: '#/components/schemas/deleteAlertRoute_200_response_data_attributes' + type: object + deleteAlertRoute_200_response: properties: data: - $ref: '#/components/schemas/schedule_rotation_user_list_data_inner' + $ref: '#/components/schemas/deleteAlertRoute_200_response_data' + type: object + createEdgeConnectorAction_request_action_metadata_parameters_inner: + properties: + name: + type: string + type: + enum: + - string + - number + - boolean + type: string + required: + type: boolean + description: + type: string + options: + items: + type: string + type: array + type: object + createEdgeConnectorAction_request_action_metadata: + properties: + description: + type: string + timeout: + type: integer + parameters: + items: + $ref: '#/components/schemas/createEdgeConnectorAction_request_action_metadata_parameters_inner' + type: array + type: object + createEdgeConnectorAction_request_action: + properties: + name: + description: Action name + type: string + action_type: + description: Action type + enum: + - script + - http + type: string + metadata: + $ref: '#/components/schemas/createEdgeConnectorAction_request_action_metadata' required: - - data + - action_type + - name type: object - new_schedule_rotation: + createEdgeConnectorAction_request: + properties: + action: + $ref: '#/components/schemas/createEdgeConnectorAction_request_action' + type: object + updateEdgeConnectorAction_request_action: + properties: + name: + type: string + action_type: + enum: + - script + - http + type: string + metadata: + type: object + type: object + updateEdgeConnectorAction_request: + properties: + action: + $ref: '#/components/schemas/updateEdgeConnectorAction_request_action' + type: object + createEdgeConnector_request_data_attributes: + properties: + name: + description: Connector name + type: string + description: + description: Connector description + type: string + status: + description: Connector status + enum: + - active + - paused + type: string + subscriptions: + description: Array of event types to subscribe to + items: + type: string + type: array + required: + - name + type: object + createEdgeConnector_request_data: + properties: + type: + enum: + - edge_connectors + type: string + attributes: + $ref: '#/components/schemas/createEdgeConnector_request_data_attributes' + required: + - attributes + - type + type: object + createEdgeConnector_request: properties: data: - $ref: '#/components/schemas/new_schedule_rotation_data' + $ref: '#/components/schemas/createEdgeConnector_request_data' required: - data type: object - update_schedule_rotation: + updateEdgeConnector_request_data_attributes: + properties: + name: + type: string + description: + type: string + status: + enum: + - active + - paused + type: string + subscriptions: + items: + type: string + type: array + type: object + updateEdgeConnector_request_data: + properties: + type: + enum: + - edge_connectors + type: string + id: + type: string + attributes: + $ref: '#/components/schemas/updateEdgeConnector_request_data_attributes' + type: object + updateEdgeConnector_request: properties: data: - $ref: '#/components/schemas/update_schedule_rotation_data' + $ref: '#/components/schemas/updateEdgeConnector_request_data' + type: object + getTeam_id_parameter: + anyOf: + - description: Team UUID + format: uuid + type: string + - description: Team slug + pattern: "^[a-z0-9_-]+$" + type: string + attach_alert_data_attributes: + additionalProperties: false + properties: + alert_ids: + description: Alert Id to attach to the incident + items: + type: string + nullable: true + type: array required: - - data + - alert_ids type: object - schedule_rotation: + attach_alert_data: properties: - schedule_id: - description: The ID of parent schedule + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/attach_alert_data_attributes' + required: + - attributes + - type + type: object + new_alert_data_attributes_labels_inner_value: + description: Value of the tag + oneOf: + - type: string + - type: number + - type: boolean + new_alert_data_attributes_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 + new_alert_data_attributes_alert_field_values_attributes_inner: + nullable: true + properties: + alert_field_id: + description: ID of the custom alert field + type: string + value: + description: Value for the alert field + type: string + required: + - alert_field_id + - value + type: object + new_alert_data_attributes: + additionalProperties: false + properties: + noise: + description: Whether the alert is marked as noise + enum: + - noise + - not_noise + nullable: true + type: string + source: + description: The source of the alert + enum: + - rootly + - manual + - api + - heartbeat + - web + - slack + - email + - workflow + - live_call_routing + - mobile + - pagerduty + - opsgenie + - victorops + - pagertree + - datadog + - dynatrace + - nobl9 + - zendesk + - asana + - clickup + - sentry + - rollbar + - jira + - honeycomb + - service_now + - linear + - grafana + - alertmanager + - google_cloud + - generic_webhook + - cloud_watch + - aws_sns + - azure + - splunk + - chronosphere + - app_optics + - bug_snag + - monte_carlo + - nagios + - prtg + - catchpoint + - app_dynamics + - checkly + - new_relic + - gitlab + type: string + status: + description: "Only available for organizations with Rootly On-Call enabled.\ + \ Can be one of open, triggered." + enum: + - open + - triggered + type: string + summary: + description: The summary of the alert + type: string + description: + description: The description of the alert + nullable: true + type: string + service_ids: + description: The Service IDs to attach to the alert. If your organization + has On-Call enabled and your notification target is a Service. This field + will be automatically set for you. + items: + type: string + nullable: true + type: array + group_ids: + description: The Group IDs to attach to the alert. If your organization + has On-Call enabled and your notification target is a Group. This field + will be automatically set for you. + items: + type: string + nullable: true + type: array + environment_ids: + description: The Environment IDs to attach to the alert + items: + type: string + nullable: true + type: array + started_at: + description: Alert start datetime + format: date-time + nullable: true + type: string + ended_at: + description: Alert end datetime + format: date-time + nullable: true + type: string + external_id: + description: External ID + nullable: true + type: string + external_url: + description: External Url + nullable: true + type: string + alert_urgency_id: + description: The ID of the alert urgency + nullable: true + type: string + notification_target_type: + description: "Only available for organizations with Rootly On-Call enabled.\ + \ Can be one of Group, Service, EscalationPolicy, Functionality, User.\ + \ Please contact support if you encounter issues using `Functionality`\ + \ as a notification target type." + enum: + - User + - Group + - EscalationPolicy + - Service + - Functionality + nullable: true + type: string + notification_target_id: + description: Only available for organizations with Rootly On-Call enabled. + The _identifier_ of the notification target object. + nullable: true + type: string + labels: + items: + $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + type: array + data: + description: Additional data + nullable: true + type: object + deduplication_key: + description: Alerts sharing the same deduplication key are treated as a + single alert. + nullable: true + type: string + alert_field_values_attributes: + description: Custom alert field values to create with the alert + items: + $ref: '#/components/schemas/new_alert_data_attributes_alert_field_values_attributes_inner' + type: array + required: + - source + - summary + type: object + new_alert_data: + properties: + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/new_alert_data_attributes' + required: + - attributes + - type + type: object + update_alert_data_attributes: + additionalProperties: false + properties: + noise: + description: Whether the alert is marked as noise + enum: + - noise + - not_noise + nullable: true + type: string + source: + description: The source of the alert + enum: + - rootly + - manual + - api + - heartbeat + - web + - slack + - email + - workflow + - live_call_routing + - mobile + - pagerduty + - opsgenie + - victorops + - pagertree + - datadog + - dynatrace + - nobl9 + - zendesk + - asana + - clickup + - sentry + - rollbar + - jira + - honeycomb + - service_now + - linear + - grafana + - alertmanager + - google_cloud + - generic_webhook + - cloud_watch + - aws_sns + - azure + - splunk + - chronosphere + - app_optics + - bug_snag + - monte_carlo + - nagios + - prtg + - catchpoint + - app_dynamics + - checkly + - new_relic + - gitlab type: string - name: - description: The name of the schedule rotation + summary: + description: The summary of the alert type: string - position: - description: Position of the schedule rotation - type: integer - schedule_rotationable_type: - description: Schedule rotation type - enum: - - ScheduleDailyRotation - - ScheduleWeeklyRotation - - ScheduleBiweeklyRotation - - ScheduleMonthlyRotation - - ScheduleCustomRotation + description: + description: The description of the alert + nullable: true type: string - active_all_week: - default: true - description: Schedule rotation active all week? - type: boolean - active_days: + service_ids: + description: The Service IDs to attach to the alert items: - description: Schedule rotation active days - enum: - - S - - M - - T - - W - - R - - F - - U type: string + nullable: true type: array - active_time_type: + group_ids: + description: The Group IDs to attach to the alert items: - default: all_day - description: Schedule rotation active time type - enum: - - all_day - - same_time - - custom type: string + nullable: true type: array - active_time_attributes: - description: Schedule rotation's active times + environment_ids: + description: The Environment IDs to attach to the alert items: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_active_time_attributes_inner' + type: string + nullable: true type: array - time_zone: - default: Etc/UTC - description: A valid IANA time zone name. + started_at: + description: Alert start datetime + format: date-time + nullable: true type: string - schedule_rotationable_attributes: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' - required: - - name - - schedule_id - - schedule_rotationable_attributes - - schedule_rotationable_type - type: object - schedule_rotation_response: - properties: - data: - $ref: '#/components/schemas/schedule_rotation_response_data' - required: - - data - type: object - schedule_rotation_list: - properties: - data: + ended_at: + description: Alert end datetime + format: date-time + nullable: true + type: string + external_id: + description: External ID + nullable: true + type: string + external_url: + description: External Url + nullable: true + type: string + alert_urgency_id: + description: The ID of the alert urgency + nullable: true + type: string + labels: items: - $ref: '#/components/schemas/schedule_rotation_response_data' + $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' + data: + description: Additional data + nullable: true type: object - required: - - data - - links + deduplication_key: + description: Alerts sharing the same deduplication key are treated as a + single alert. + nullable: true + type: string + alert_field_values_attributes: + description: Custom alert field values to create with the alert + items: + $ref: '#/components/schemas/new_alert_data_attributes_alert_field_values_attributes_inner' + type: array type: object - new_schedule: + update_alert_data: properties: - data: - $ref: '#/components/schemas/new_schedule_data' + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/update_alert_data_attributes' required: - - data + - attributes + - source + - summary type: object - update_schedule: + alert_response_data: properties: - data: - $ref: '#/components/schemas/update_schedule_data' + id: + description: Unique ID of the alert + type: string + source: + description: The source of the alert + enum: + - rootly + - manual + - api + - heartbeat + - web + - slack + - email + - workflow + - live_call_routing + - mobile + - pagerduty + - opsgenie + - victorops + - pagertree + - datadog + - dynatrace + - nobl9 + - zendesk + - asana + - clickup + - sentry + - rollbar + - jira + - honeycomb + - service_now + - linear + - grafana + - alertmanager + - google_cloud + - generic_webhook + - cloud_watch + - aws_sns + - azure + - splunk + - chronosphere + - app_optics + - bug_snag + - monte_carlo + - nagios + - prtg + - catchpoint + - app_dynamics + - checkly + - new_relic + - gitlab + type: string + type: + enum: + - alerts + type: string + attributes: + allOf: + - $ref: '#/components/schemas/alert' + type: object required: - - data + - attributes + - id + - type type: object - schedule: + resolve_alert_data_attributes: + additionalProperties: false properties: - name: - description: The name of the schedule - type: string - description: - description: The description of the schedule + resolution_message: + description: How was the alert resolved? nullable: true type: string - all_time_coverage: - description: 24/7 coverage of the schedule + resolve_related_incidents: + description: Resolve all associated incidents nullable: true type: boolean - slack_user_group: - $ref: '#/components/schemas/schedule_slack_user_group' - owner_group_ids: - description: Owning teams. - items: - type: string - type: array - owner_user_id: - description: ID of user assigned as owner of the schedule - nullable: true - type: integer - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string - required: - - created_at - - name - - updated_at type: object - schedule_response: + resolve_alert_data: properties: - data: - $ref: '#/components/schemas/schedule_response_data' - required: - - data + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/resolve_alert_data_attributes' type: object - schedule_list: + snooze_alert_data_attributes: + additionalProperties: false properties: - data: - items: - $ref: '#/components/schemas/schedule_list_data_inner' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + delay_minutes: + description: Number of minutes to snooze the alert for + maximum: 1440 + minimum: 1 + type: integer required: - - data - - links + - delay_minutes type: object - new_secret: + snooze_alert_data: properties: - data: - $ref: '#/components/schemas/new_secret_data' + type: + enum: + - alerts + type: string + attributes: + $ref: '#/components/schemas/snooze_alert_data_attributes' required: - - data + - attributes + - type type: object - update_secret: + escalate_alert_data_attributes: + additionalProperties: false properties: - data: - $ref: '#/components/schemas/update_secret_data' - required: - - data + escalation_policy_id: + description: "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." + type: string + escalation_policy_level: + description: "The escalation policy level to escalate to. If omitted, defaults\ + \ to the next level (same EP) or level 1 (different EP)." + minimum: 1 + type: integer type: object - secret: + escalate_alert_data: properties: - name: - description: The name of the secret - type: string - secret: - description: The redacted secret - type: string - hashicorp_vault_mount: - description: The HashiCorp Vault secret mount path + type: + enum: + - alerts type: string - hashicorp_vault_path: - description: The HashiCorp Vault secret path - nullable: true + attributes: + $ref: '#/components/schemas/escalate_alert_data_attributes' + type: object + new_alert_event_data_attributes: + additionalProperties: false + properties: + kind: + enum: + - note type: string - hashicorp_vault_version: - description: The HashiCorp Vault secret version + user_id: + description: Author of the note. type: integer - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update + details: + description: Note message. type: string required: - - created_at - - name - - updated_at + - details + - kind type: object - secret_response: + new_alert_event_data: properties: - data: - $ref: '#/components/schemas/secret_response_data' + type: + enum: + - alert_events + type: string + attributes: + $ref: '#/components/schemas/new_alert_event_data_attributes' required: - - data + - attributes + - type type: object - secret_list: + update_alert_event_data_attributes: + additionalProperties: false properties: - data: - items: - $ref: '#/components/schemas/secret_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + user_id: + description: Author of the note. + type: integer + details: + description: Note message. + type: string required: - - data + - details type: object - new_service: + update_alert_event_data: properties: - data: - $ref: '#/components/schemas/new_service_data' + type: + enum: + - alert_events + type: string + attributes: + $ref: '#/components/schemas/update_alert_event_data_attributes' required: - - data + - attributes + - type type: object - update_service: + alert_event_response_data: properties: - data: - $ref: '#/components/schemas/update_service_data' + id: + description: Unique ID of the alert event + type: string + type: + enum: + - alert_events + type: string + attributes: + allOf: + - $ref: '#/components/schemas/alert_event' + type: object required: - - data + - attributes + - id + - type type: object - service: + new_alerts_source_data_attributes_alert_template_attributes: + nullable: true properties: - name: - description: The name of the service - type: string - slug: - description: The slug of the service - type: string - description: - description: The description of the service + title: + description: The alert title. nullable: true type: string - public_description: - description: The public description of the service + description: + description: The alert description. nullable: true type: string - notify_emails: - description: Emails attached to the service - items: - type: string - nullable: true - type: array - color: - description: The hex color of the service + external_url: + description: The alert URL. nullable: true type: string - position: - description: Position of the service - nullable: true - type: integer - backstage_id: - description: "The Backstage entity id associated to this service. eg: :namespace/:kind/:entity_name" + type: object + new_alerts_source_data_attributes_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 - external_id: - description: The external id associated to this service - nullable: true + operator: + description: Comparison operator used to evaluate the extracted value against + the specified condition + enum: + - is + - is_not + - contains + - does_not_contain type: string - pagerduty_id: - description: The PagerDuty service id associated to this service - nullable: true + value: + description: Value that the extracted payload data is compared to using + the specified operator to determine a match type: string - opsgenie_id: - description: The Opsgenie service id associated to this service + conditionable_type: + description: The type of the conditionable + enum: + - AlertField nullable: true type: string - cortex_id: - description: The Cortex group id associated to this service + 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 - service_now_ci_sys_id: - description: The Service Now CI sys id associated to this service - nullable: true + kind: + description: The kind of the conditionable + enum: + - payload + - alert_field type: string - github_repository_name: - description: "The GitHub repository name associated to this service. eg:\ - \ rootlyhq/my-service" - nullable: true + alert_urgency_id: + description: The ID of the alert urgency type: string - github_repository_branch: - description: "The GitHub repository branch associated to this service. eg:\ - \ main" - nullable: true + type: object + new_alerts_source_data_attributes_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 - gitlab_repository_name: - description: "The GitLab repository name associated to this service. eg:\ - \ rootlyhq/my-service" - nullable: true + json_path: + description: JSON path expression to extract a specific value from the alert's + payload for evaluation type: string - gitlab_repository_branch: - description: "The GitLab repository branch associated to this service. eg:\ - \ main" + type: object + new_alerts_source_data_attributes_sourceable_attributes: + description: Provide additional attributes for generic_webhook alerts source + nullable: true + properties: + auto_resolve: + description: Set this to true to auto-resolve alerts based on field_mappings_attributes + conditions + type: boolean + resolve_state: + description: This value is matched with the value extracted from alerts + payload using JSON path in field_mappings_attributes nullable: true type: string - environment_ids: - description: Environments associated with this service - items: - type: string - nullable: true - type: array - service_ids: - description: Services dependent on this service - items: - type: string - nullable: true - type: array - owners_group_ids: - description: Owner Teams associated with this service - items: - type: string - nullable: true - type: array - owners_user_ids: - description: Owner Users associated with this service + accept_threaded_emails: + description: Set this to false to reject threaded emails + type: boolean + field_mappings_attributes: + description: Specify rules to auto resolve alerts items: - type: integer - nullable: true + $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes_field_mappings_attributes_inner' type: array - alert_urgency_id: - description: The alert urgency id of the service + type: object + new_alerts_source_data_attributes_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 - alerts_email_enabled: - description: Enable alerts through email + 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 + new_alerts_source_data_attributes_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 - alerts_email_address: - description: Email generated to send alerts to + 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 - slack_channels: - description: Slack Channels associated with this service - items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' + 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: array - slack_aliases: - description: Slack Aliases associated with this service - items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' + 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: array - created_at: - description: Date of creation type: string - updated_at: - description: Date of last update + identifier_value_regex: + description: Regex group to further specify the part of the string used + as a unique identifier + nullable: true type: string - required: - - created_at - - name - - updated_at - type: object - service_response: - properties: - data: - $ref: '#/components/schemas/service_response_data' - required: - - data - type: object - service_list: - properties: - data: + conditions_attributes: + description: List of conditions to evaluate for auto resolution items: - $ref: '#/components/schemas/service_response_data' + $ref: '#/components/schemas/new_alerts_source_data_attributes_resolution_rule_attributes_conditions_attributes_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links type: object - new_severity: - properties: - data: - $ref: '#/components/schemas/new_severity_data' - required: - - data - type: object - update_severity: + new_alerts_source_data_attributes_alert_source_fields_attributes_inner: properties: - data: - $ref: '#/components/schemas/update_severity_data' - required: - - data + 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 - severity: + new_alerts_source_data_attributes: + additionalProperties: false properties: name: - description: The name of the severity + description: The name of the alert source type: string - slug: - description: The slug of the severity + source_type: + description: The alert source type + enum: + - email + - app_dynamics + - catchpoint + - datadog + - dynatrace + - alertmanager + - google_cloud + - grafana + - sentry + - generic_webhook + - cloud_watch + - aws_sns + - checkly + - azure + - new_relic + - splunk + - chronosphere + - app_optics + - bug_snag + - honeycomb + - monte_carlo + - nagios + - prtg type: string - description: - description: The description of the severity - nullable: true + alert_urgency_id: + description: ID for the default alert urgency assigned to this alert source type: string - severity: - description: The severity of the severity + deduplicate_alerts_by_key: + description: "Toggle alert deduplication using deduplication key. If enabled,\ + \ deduplication_key_kind and deduplication_key_path are required." + type: boolean + deduplication_key_kind: + description: Kind of deduplication key. enum: - - critical - - high - - medium - - low + - payload type: string - color: - description: The hex color of the severity + deduplication_key_path: + description: Path to deduplication key. This is a JSON Path to extract the + deduplication key from the request body. nullable: true type: string - position: - description: Position of the severity + deduplication_key_regexp: + description: Regular expression to extract key from value found at key path. nullable: true - type: integer - notify_emails: - description: Emails to attach to the severity + type: string + owner_group_ids: + description: List of team IDs that will own the alert source items: type: string - nullable: true type: array - slack_channels: - description: Slack Channels associated with this severity + alert_template_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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_environment_data_attributes_slack_channels_inner' - nullable: true + $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_source_urgency_rules_attributes_inner' type: array - slack_aliases: - description: Slack Aliases associated with this severity + sourceable_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes' + resolution_rule_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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_environment_data_attributes_slack_aliases_inner' - nullable: true + $ref: '#/components/schemas/new_alerts_source_data_attributes_alert_source_fields_attributes_inner' type: array - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string required: - - created_at - name - - updated_at - type: object - severity_response: - properties: - data: - $ref: '#/components/schemas/severity_response_data' - required: - - data type: object - severity_list: + new_alerts_source_data: properties: - data: - items: - $ref: '#/components/schemas/severity_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + type: + enum: + - alert_sources + type: string + attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes' required: - - data - - links + - attributes + - type type: object - shift: + update_alerts_source_data_attributes: + additionalProperties: false properties: - schedule_id: - description: ID of schedule - nullable: false - type: string - rotation_id: - description: ID of rotation - nullable: true + name: + description: The name of the alert source type: string - starts_at: - description: Start datetime of shift - nullable: false + source_type: + description: The alert source type + enum: + - email + - app_dynamics + - catchpoint + - datadog + - dynatrace + - alertmanager + - google_cloud + - grafana + - sentry + - generic_webhook + - cloud_watch + - aws_sns + - checkly + - azure + - new_relic + - splunk + - chronosphere + - app_optics + - bug_snag + - honeycomb + - monte_carlo + - nagios + - prtg type: string - ends_at: - description: End datetime of shift - nullable: false + alert_urgency_id: + description: ID for the default alert urgency assigned to this alert source type: string - is_override: - description: Denotes shift is an override shift + deduplicate_alerts_by_key: + description: "Toggle alert deduplication using deduplication key. If enabled,\ + \ deduplication_key_kind and deduplication_key_path are required." type: boolean - shift_override: - allOf: - - $ref: '#/components/schemas/shift_override_response' - description: Override metadata + deduplication_key_kind: + description: Kind of deduplication key. + enum: + - payload + type: string + deduplication_key_path: + description: Path to deduplication key. This is a JSON Path to extract the + deduplication key from the request body. nullable: true - type: object - user: - allOf: - - $ref: '#/components/schemas/user_response' - description: User metadata - nullable: false - type: object - required: - - ends_at - - is_override - - rotation_id - - schedule_id - - starts_at - type: object - shift_list: - properties: - data: + type: string + deduplication_key_regexp: + description: Regular expression to extract key from value found at key path. + nullable: true + type: string + owner_group_ids: + description: List of team IDs that will own the alert source items: - $ref: '#/components/schemas/shift_list_data_inner' + type: string + type: array + alert_template_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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' + type: array + sourceable_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes' + resolution_rule_attributes: + $ref: '#/components/schemas/new_alerts_source_data_attributes_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' type: array - required: - - data - type: object - new_status_page_template: - properties: - data: - $ref: '#/components/schemas/new_status_page_template_data' - required: - - data type: object - update_status_page_template: + update_alerts_source_data: properties: - data: - $ref: '#/components/schemas/update_status_page_template_data' + type: + enum: + - alert_sources + type: string + attributes: + $ref: '#/components/schemas/update_alerts_source_data_attributes' required: - - data + - attributes + - type type: object - status_page_template: + alerts_source_response_data: properties: - status_page_id: - type: string - title: - description: Title of the template - type: string - body: - description: Description of the event the template will populate - type: string - update_status: - description: Status of the event the template will populate - nullable: true + id: + description: Unique ID of the alert source type: string - kind: - description: The kind of the status page template + type: enum: - - normal - - scheduled - nullable: false - type: string - should_notify_subscribers: - description: Controls if incident subscribers should be notified - nullable: true - type: boolean - enabled: - description: Enable / Disable the status page template - nullable: true - type: boolean - position: - description: Position of the workflow task - type: integer - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update + - alert_sources type: string - required: - - body - - created_at - - status_page_id - - title - - updated_at - type: object - status_page_template_response: - properties: - data: - $ref: '#/components/schemas/status_page_template_response_data' - required: - - data - type: object - status_page_template_list: - properties: - data: - items: - $ref: '#/components/schemas/status_page_template_list_data_inner' - type: array - links: + attributes: allOf: - - $ref: '#/components/schemas/links' + - $ref: '#/components/schemas/alerts_source' type: object required: - - data - - links - type: object - new_status_page: - properties: - data: - $ref: '#/components/schemas/new_status_page_data' - required: - - data + - attributes + - id + - type type: object - update_status_page: + new_alert_route_data_attributes_rules_inner_destinations_inner: properties: - data: - $ref: '#/components/schemas/update_status_page_data' + 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: - - data + - target_id + - target_type type: object - status_page: + new_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner: properties: - title: - description: The title of the status page - type: string - public_title: - description: The public title of the status page - nullable: true - type: string - description: - description: The description of the status page - nullable: true - type: string - public_description: - description: The public description of the status page - nullable: true - type: string - header_color: - description: The color of the header. Eg. "#0061F2" - nullable: true - type: string - footer_color: - description: The color of the footer. Eg. "#1F2F41" - nullable: true - type: string - allow_search_engine_index: - description: Allow search engines to include your public status page in - search results - nullable: true - type: boolean - show_uptime: - description: Show uptime - nullable: true - type: boolean - show_uptime_last_days: - description: Show uptime over x days + property_field_condition_type: enum: - - 30 - - 60 - - 90 - - 180 - - 360 - nullable: true - type: integer - success_message: - description: Message showing when all components are operational - nullable: true - type: string - failure_message: - description: Message showing when at least one component is not operational - nullable: true - type: string - authentication_enabled: - default: false - description: Enable authentication - nullable: true - type: boolean - authentication_password: - description: Authentication password - nullable: true - type: string - website_url: - description: Website URL - nullable: true - type: string - website_privacy_url: - description: Website Privacy URL - nullable: true - type: string - website_support_url: - description: Website Support URL - nullable: true + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty type: string - ga_tracking_id: - description: Google Analytics tracking ID - nullable: true + property_field_name: + description: The name of the property field type: string - time_zone: - default: Etc/UTC - description: A valid IANA time zone name. - nullable: true + property_field_type: + enum: + - attribute + - payload + - alert_field type: string - public: - description: Make the status page accessible to the public + property_field_value: + description: The value of the property field nullable: true - type: boolean - service_ids: - description: Services attached to the status page - items: - type: string - type: array - functionality_ids: - description: Functionalities attached to the status page + type: string + property_field_values: items: type: string + nullable: true type: array - external_domain_names: - description: External domain names attached to the status page + alert_urgency_ids: + description: The Alert Urgency IDs to check in the condition items: type: string + nullable: true type: array - enabled: - description: Enabled / Disable the status page + conditionable_type: + description: The type of the conditionable + enum: + - AlertField nullable: true - type: boolean - created_at: - description: Date of creation type: string - updated_at: - description: Date of last update + conditionable_id: + description: The ID of the conditionable + format: uuid + nullable: true type: string required: - - created_at - - title - - updated_at + - property_field_condition_type + - property_field_type type: object - status_page_response: + new_alert_route_data_attributes_rules_inner_condition_groups_inner: properties: - data: - $ref: '#/components/schemas/status_page_response_data' + position: + description: The position of the condition group + type: integer + conditions: + items: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner' + type: array required: - - data + - conditions type: object - status_page_list: + new_alert_route_data_attributes_rules_inner: properties: - data: + 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/status_page_response_data' + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner_destinations_inner' + type: array + condition_groups: + items: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner_condition_groups_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object required: - - data - - links + - condition_groups + - destinations + - name type: object - new_team: + new_alert_route_data_attributes: properties: - data: - $ref: '#/components/schemas/new_team_data' + name: + description: The name of the alert route + type: string + enabled: + description: Whether the alert route is enabled + type: boolean + alerts_source_ids: + items: + description: The ID of the alerts source + format: uuid + type: string + type: array + owning_team_ids: + items: + description: The ID of the owning team + format: uuid + type: string + type: array + rules: + items: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner' + type: array required: - - data + - alerts_source_ids + - name type: object - update_team: + new_alert_route_data: properties: - data: - $ref: '#/components/schemas/update_team_data' - required: - - data + type: + enum: + - alert_routes + type: string + attributes: + $ref: '#/components/schemas/new_alert_route_data_attributes' type: object - team: + update_alert_route_data_attributes: + additionalProperties: false properties: name: - description: The name of the team - type: string - slug: + description: The name of the alert route type: string - description: - description: The description of the team - nullable: true - type: string - notify_emails: - description: Emails to attach to the team + enabled: + description: Whether the alert route is enabled + type: boolean + alerts_source_ids: items: + description: The ID of the alerts source + format: uuid type: string - nullable: true type: array - color: - description: The hex color of the team - nullable: true - type: string - position: - description: Position of the team - nullable: true - type: integer - backstage_id: - description: "The Backstage entity id associated to this team. eg: :namespace/:kind/:entity_name" - nullable: true + owning_team_ids: + items: + description: The ID of the owning team + format: uuid + type: string + type: array + rules: + items: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner' + type: array + type: object + update_alert_route_data: + properties: + type: + enum: + - alert_routes type: string - external_id: - description: The external id associated to this team - nullable: true + attributes: + $ref: '#/components/schemas/update_alert_route_data_attributes' + required: + - attributes + - type + type: object + patch_alert_route_data_attributes_rules_inner_destinations_inner: + properties: + id: + description: The ID of the destination. Required for updating or deleting + existing destinations. + format: uuid type: string - pagerduty_id: - description: The PagerDuty group id associated to this team - nullable: true + _destroy: + description: Set to true to delete this destination + type: boolean + 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 - pagerduty_service_id: - description: The PagerDuty service id associated to this team - nullable: true + target_id: + description: The ID of the target + format: uuid type: string - opsgenie_id: - description: The Opsgenie group id associated to this team - nullable: true + type: object + patch_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner: + properties: + id: + description: The ID of the condition. Required for updating or deleting + existing conditions. + format: uuid type: string - victor_ops_id: - description: The VictorOps group id associated to this team - nullable: true + _destroy: + description: Set to true to delete this condition + type: boolean + 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 - pagertree_id: - description: The PagerTree group id associated to this team - nullable: true + property_field_name: + description: The name of the property field type: string - cortex_id: - description: The Cortex group id associated to this team - nullable: true + property_field_type: + enum: + - attribute + - payload + - alert_field type: string - service_now_ci_sys_id: - description: The Service Now CI sys id associated to this team + property_field_value: + description: The value of the property field nullable: true type: string - user_ids: - description: The user ids of the members of this team. + property_field_values: items: - type: integer + type: string nullable: true type: array - admin_ids: - description: The user ids of the admins of this team. These users must also - be present in user_ids attribute. + alert_urgency_ids: + description: The Alert Urgency IDs to check in the condition items: - type: integer + type: string nullable: true type: array - alerts_email_enabled: - description: Enable alerts through email - nullable: true - type: boolean - alerts_email_address: - description: Email generated to send alerts to + conditionable_type: + description: The type of the conditionable + enum: + - AlertField nullable: true type: string - alert_urgency_id: - description: The alert urgency id of the team + conditionable_id: + description: The ID of the conditionable + format: uuid nullable: true type: string - slack_channels: - description: Slack Channels associated with this team - items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_channels_inner' - nullable: true - type: array - slack_aliases: - description: Slack Aliases associated with this team + type: object + patch_alert_route_data_attributes_rules_inner_condition_groups_inner: + properties: + id: + description: The ID of the condition group. Required for updating or deleting + existing condition groups. + format: uuid + type: string + _destroy: + description: Set to true to delete this condition group + type: boolean + position: + description: The position of the condition group + type: integer + conditions: items: - $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' - nullable: true + $ref: '#/components/schemas/patch_alert_route_data_attributes_rules_inner_condition_groups_inner_conditions_inner' type: array - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string - required: - - created_at - - name - - updated_at type: object - team_response: + patch_alert_route_data_attributes_rules_inner: properties: - data: - $ref: '#/components/schemas/team_response_data' - required: - - data + id: + description: The ID of the alert routing rule. Required for updating or + deleting existing rules. + format: uuid + type: string + _destroy: + description: "Set to true to delete this rule. When true, only the id field\ + \ is required." + type: boolean + 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/patch_alert_route_data_attributes_rules_inner_destinations_inner' + type: array + condition_groups: + items: + $ref: '#/components/schemas/patch_alert_route_data_attributes_rules_inner_condition_groups_inner' + type: array type: object - team_list: + patch_alert_route_data_attributes: + additionalProperties: false properties: - data: + name: + description: The name of the alert route + type: string + enabled: + description: Whether the alert route is enabled + type: boolean + alerts_source_ids: items: - $ref: '#/components/schemas/team_response_data' + description: The ID of the alerts source + format: uuid + type: string + type: array + owning_team_ids: + items: + description: The ID of the owning team + format: uuid + type: string + type: array + rules: + items: + $ref: '#/components/schemas/patch_alert_route_data_attributes_rules_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links type: object - new_user_notification_rule: + patch_alert_route_data: properties: - data: - $ref: '#/components/schemas/new_user_notification_rule_data' + type: + enum: + - alert_routes + type: string + attributes: + $ref: '#/components/schemas/patch_alert_route_data_attributes' required: - - data + - attributes + - type type: object - update_user_notification_rule: + alert_route_response_data: properties: - data: - $ref: '#/components/schemas/update_user_notification_rule_data' + id: + description: Unique ID of the alert route + type: string + type: + enum: + - alert_routes + type: string + attributes: + allOf: + - $ref: '#/components/schemas/alert_route' + type: object required: - - data + - attributes + - id + - type type: object - user_notification_rule: + new_alert_routing_rule_data_attributes_conditions_inner: properties: - user_id: - type: integer - delay: - description: Delay after which rule gets triggered - nullable: true - type: integer - position: - description: Position of the rule - nullable: true - type: integer - user_email_address_id: - description: User email address to which notification to be sent - nullable: true + property_field_type: + description: The type of the property field + enum: + - attribute + - payload type: string - user_call_number_id: - description: User phone number to which notification to be sent - nullable: true + property_field_name: + description: "The name of the property field. If the property field type\ + \ is selected as 'attribute', then the allowed property field names are\ + \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ + \ (for Alert Source URL). If the property field type is selected as 'payload',\ + \ then the property field name should be supplied in JSON Path syntax." type: string - user_sms_number_id: - description: User sms number to which notification to be sent - nullable: true + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty type: string - user_device_id: - description: User device to which notification to be sent - nullable: true + property_field_value: + description: The value of the property field. Can be null if the property + field condition type is 'is_one_of' or 'is_not_one_of' type: string - enabled_contact_types: - description: Contact types for which notification needs to be enabled + property_field_values: + description: The values of the property field. Need to be passed if the + property field condition type is 'is_one_of' or 'is_not_one_of' except + for when property field name is 'alert_urgency' items: - enum: - - email - - sms - - call - - device - - non_critical_device type: string - nullable: false type: array - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update - type: string - type: object - user_notification_rule_response: - properties: - data: - $ref: '#/components/schemas/user_notification_rule_response_data' required: - - data + - property_field_condition_type + - property_field_name + - property_field_type type: object - user_notification_rule_list: + new_alert_routing_rule_data_attributes: + additionalProperties: false properties: - data: + name: + description: The name of the alert routing rule + type: string + enabled: + description: Whether the alert routing rule is enabled + type: boolean + owning_team_ids: + description: "The IDs of the teams which own the alert routing rule. If\ + \ the user doesn't have Alert Routing Create Permission in On-Call Roles,\ + \ then this field is required and can contain Team IDs the user is an\ + \ admin of." items: - $ref: '#/components/schemas/user_notification_rule_response_data' + format: uuid + type: string type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - user: - properties: - email: - description: The email of the user - type: string - first_name: - description: First name of the user - nullable: true - type: string - last_name: - description: Last name of the user - nullable: true - type: string - full_name: - description: The full name of the user - nullable: true - type: string - full_name_with_team: - description: The full name with team of the user - nullable: true - type: string - time_zone: - description: Configured time zone - nullable: true - type: string - created_at: - description: Date of creation + alerts_source_id: + description: The ID of the alerts source + format: uuid type: string - updated_at: - description: Date of last update + position: + description: The position of the alert routing rule for ordering evaluation + type: integer + condition_type: + description: The type of condition for the alert routing rule + enum: + - all + - any type: string - required: - - created_at - - email - - updated_at - type: object - role_relationship: - properties: - data: - $ref: '#/components/schemas/role_relationship_data' - type: object - on_call_role_relationship: - properties: - data: - $ref: '#/components/schemas/on_call_role_relationship_data' - type: object - user_relationships: - properties: - role: - $ref: '#/components/schemas/role_relationship' - on_call_role: - $ref: '#/components/schemas/on_call_role_relationship' - type: object - update_user: - properties: - data: - $ref: '#/components/schemas/update_user_data' - required: - - data - type: object - user_response: - properties: - data: - $ref: '#/components/schemas/user_response_data' - required: - - data - type: object - user_list: - properties: - data: + conditions: items: - $ref: '#/components/schemas/user_response_data' + $ref: '#/components/schemas/new_alert_routing_rule_data_attributes_conditions_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + destination: + $ref: '#/components/schemas/new_alert_route_data_attributes_rules_inner_destinations_inner' + required: + - alerts_source_id + - destination + - name + type: object + new_alert_routing_rule_data: + properties: + type: + enum: + - alert_routing_rules + type: string + attributes: + $ref: '#/components/schemas/new_alert_routing_rule_data_attributes' required: - - data - - links + - attributes + - type type: object - webhooks_delivery: + update_alert_routing_rule_data_attributes_conditions_inner: properties: - endpoint_id: + id: + description: The ID of the alert routing rule condition + format: uuid type: string - payload: + property_field_type: + description: The type of the property field + enum: + - attribute + - payload type: string - delivered_at: - nullable: true + property_field_name: + description: "The name of the property field. If the property field type\ + \ is selected as 'attribute', then the allowed property field names are\ + \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ + \ (for Alert Source URL). If the property field type is selected as 'payload',\ + \ then the property field name should be supplied in JSON Path syntax." type: string - created_at: - description: Date of creation + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty type: string - updated_at: - description: Date of last update + property_field_value: + description: The value of the property field. Can be null if the property + field condition type is 'is_one_of' or 'is_not_one_of' + nullable: true type: string - required: - - created_at - - delivered_at - - endpoint_id - - payload - - updated_at - type: object - webhooks_delivery_response: - properties: - data: - $ref: '#/components/schemas/webhooks_delivery_response_data' - required: - - data - type: object - webhooks_delivery_list: - properties: - data: + property_field_values: + description: The values of the property field. Used if the property field + condition type is 'is_one_of' or 'is_not_one_of' except for when property + field name is 'alert_urgency' items: - $ref: '#/components/schemas/webhooks_delivery_response_data' + type: string type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data type: object - new_webhooks_endpoint: - properties: - data: - $ref: '#/components/schemas/new_webhooks_endpoint_data' - required: - - data - type: object - update_webhooks_endpoint: + update_alert_routing_rule_data_attributes_destination: properties: - data: - $ref: '#/components/schemas/update_webhooks_endpoint_data' - required: - - data + 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 type: object - webhooks_endpoint: + update_alert_routing_rule_data_attributes: + additionalProperties: false properties: name: - description: The name of the endpoint - type: string - slug: - description: The slug of the endpoint + description: The name of the alert routing rule type: string - url: - description: The URL of the endpoint. + enabled: + description: Whether the alert routing rule is enabled + type: boolean + alerts_source_id: + description: The ID of the alerts source + format: uuid type: string - event_types: + position: + description: The position of the alert routing rule for ordering evaluation + type: integer + owning_team_ids: + description: The IDs of the teams that own the alert routing rule items: - enum: - - incident.created - - incident.updated - - incident.in_triage - - incident.mitigated - - incident.resolved - - incident.cancelled - - incident.deleted - - incident.scheduled.created - - incident.scheduled.updated - - incident.scheduled.in_progress - - incident.scheduled.completed - - incident.scheduled.deleted - - incident_post_mortem.created - - incident_post_mortem.updated - - incident_post_mortem.published - - incident_post_mortem.deleted - - incident_status_page_event.created - - incident_status_page_event.updated - - incident_status_page_event.deleted - - incident_event.created - - incident_event.updated - - incident_event.deleted - - alert.created - - pulse.created - - genius_workflow_run.queued - - genius_workflow_run.started - - genius_workflow_run.completed - - genius_workflow_run.failed - - genius_workflow_run.canceled + format: uuid type: string type: array - secret: - description: The webhook signing secret used to verify webhook requests. - type: string - enabled: - type: boolean - created_at: - description: Date of creation - type: string - updated_at: - description: Date of last update + condition_type: + description: The type of condition for the alert routing rule + enum: + - all + - any type: string - required: - - created_at - - enabled - - event_types - - name - - secret - - slug - - updated_at - - url + conditions: + items: + $ref: '#/components/schemas/update_alert_routing_rule_data_attributes_conditions_inner' + type: array + destination: + $ref: '#/components/schemas/update_alert_routing_rule_data_attributes_destination' type: object - webhooks_endpoint_response: + update_alert_routing_rule_data: properties: - data: - $ref: '#/components/schemas/webhooks_endpoint_response_data' + type: + enum: + - alert_routing_rules + type: string + attributes: + $ref: '#/components/schemas/update_alert_routing_rule_data_attributes' required: - - data + - attributes + - type type: object - webhooks_endpoint_list: + alert_routing_rule_conditions_inner: properties: - data: + property_field_type: + description: The type of the property field + enum: + - attribute + - payload + type: string + property_field_name: + description: "The name of the property field. If the property field type\ + \ is selected as 'attribute', then the allowed property field names are\ + \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ + \ (for Alert Source URL). If the property field type is selected as 'payload',\ + \ then the property field name should be supplied in JSON Path syntax." + type: string + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty + type: string + property_field_value: + description: The value of the property field. Can be null if the property + field condition type is 'is_one_of' or 'is_not_one_of' + nullable: true + type: string + property_field_values: + description: The values of the property field. Used if the property field + condition type is 'is_one_of' or 'is_not_one_of' except for when property + field name is 'alert_urgency' items: - $ref: '#/components/schemas/webhooks_endpoint_response_data' + type: string type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - type: object - new_sub_status: - properties: - data: - $ref: '#/components/schemas/new_sub_status_data' required: - - data + - property_field_condition_type + - property_field_name + - property_field_type type: object - update_sub_status: + alert_routing_rule_destination: + description: The destinations for the alert routing rule + nullable: true properties: - data: - $ref: '#/components/schemas/update_sub_status_data' + 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: - - data + - target_id + - target_type type: object - sub_status: + alert_routing_rule_condition_groups_inner_conditions_inner: properties: - name: + id: + description: Unique ID of the condition + format: uuid type: string - slug: + property_field_type: + description: The type of the property field + enum: + - attribute + - payload type: string - description: - nullable: true + property_field_name: + description: The name of the property field type: string - parent_status: + property_field_condition_type: + description: The condition type of the property field enum: - - in_triage - - started - - resolved - - closed - - cancelled - - scheduled - - in_progress - - completed + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty type: string - position: + property_field_value: + description: The value of the property field nullable: true - type: integer + type: string + property_field_values: + description: The values of the property field + items: + type: string + nullable: true + type: array + conditionable_id: + description: The ID of the conditionable object + format: uuid + nullable: true + type: string + conditionable_type: + description: The type of the conditionable object + nullable: true + type: string created_at: + description: Date of creation type: string updated_at: + description: Date of last update type: string required: - - created_at - - name - - parent_status - - updated_at - type: object - sub_status_response: - properties: - data: - $ref: '#/components/schemas/sub_status_response_data' - required: - - data + - property_field_condition_type + - property_field_name + - property_field_type type: object - sub_status_list: + alert_routing_rule_condition_groups_inner: properties: - data: + id: + description: Unique ID of the condition group + format: uuid + type: string + position: + description: The position of the condition group for ordering + type: integer + conditions: + description: The conditions within this group items: - $ref: '#/components/schemas/sub_status_response_data' + $ref: '#/components/schemas/alert_routing_rule_condition_groups_inner_conditions_inner' type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object - required: - - data - - links - type: object - new_incident_sub_status: - properties: - data: - $ref: '#/components/schemas/new_incident_sub_status_data' - required: - - data - type: object - update_incident_sub_status: - properties: - data: - $ref: '#/components/schemas/update_incident_sub_status_data' - required: - - data - type: object - incident_sub_status: - properties: - incident_id: - type: string - sub_status_id: - description: "Note: To change an incident's sub-status, use the PATCH /incidents/:id\ - \ endpoint and set the sub_status_id attribute. This endpoint is for modifying\ - \ the timestamp of when an incident's sub-status was assigned." + created_at: + description: Date of creation type: string - assigned_at: + updated_at: + description: Date of last update type: string - assigned_by_user_id: - nullable: true - type: integer - required: - - assigned_at - - incident_id - - sub_status_id - type: object - incident_sub_status_response: - properties: - data: - $ref: '#/components/schemas/incident_sub_status_response_data' required: - - data + - position type: object - incident_sub_status_list: + alert_routing_rule_response_data: properties: - data: - items: - $ref: '#/components/schemas/incident_sub_status_response_data' - type: array - links: + id: + description: Unique ID of the alert_routing_rule + type: string + type: + enum: + - alert_routing_rules + type: string + attributes: allOf: - - $ref: '#/components/schemas/links' + - $ref: '#/components/schemas/alert_routing_rule' type: object required: - - data - - links + - attributes + - id + - type type: object - new_retrospective_process_group: + new_alert_field_data_attributes: + additionalProperties: false properties: - data: - $ref: '#/components/schemas/new_retrospective_process_group_data' + name: + description: The name of the alert field + type: string required: - - data + - name type: object - update_retrospective_process_group: + new_alert_field_data: properties: - data: - $ref: '#/components/schemas/update_retrospective_process_group_data' + type: + enum: + - alert_fields + type: string + attributes: + $ref: '#/components/schemas/new_alert_field_data_attributes' required: - - data + - attributes + - type type: object - retrospective_process_group: + update_alert_field_data_attributes: + additionalProperties: false properties: - retrospective_process_id: - type: string - sub_status_id: + name: + description: The name of the alert field type: string - position: - type: integer - required: - - position - - retrospective_process_id - - sub_status_id type: object - retrospective_process_group_response: + update_alert_field_data: properties: - data: - $ref: '#/components/schemas/retrospective_process_group_response_data' + type: + enum: + - alert_fields + type: string + attributes: + $ref: '#/components/schemas/update_alert_field_data_attributes' required: - - data + - attributes + - type type: object - retrospective_process_group_list: + alert_field_response_data: properties: - data: - items: - $ref: '#/components/schemas/retrospective_process_group_response_data' - type: array - links: + id: + description: The ID of the alert field + type: string + type: + enum: + - alert_fields + type: string + attributes: allOf: - - $ref: '#/components/schemas/links' + - $ref: '#/components/schemas/alert_field' type: object required: - - data - - links - type: object - new_retrospective_process_group_step: - properties: - data: - $ref: '#/components/schemas/new_retrospective_process_group_step_data' - required: - - data + - attributes + - type type: object - update_retrospective_process_group_step: + alert_field_list_data_inner: properties: - data: - $ref: '#/components/schemas/update_retrospective_process_group_step_data' + id: + description: The ID of the alert field + type: string + type: + enum: + - alert_fields + type: string + attributes: + allOf: + - $ref: '#/components/schemas/alert_field' + type: object required: - - data + - attributes + - id + - type type: object - retrospective_process_group_step: + new_alert_urgency_data_attributes: + additionalProperties: false properties: - retrospective_process_group_id: + name: + description: The name of the alert urgency type: string - retrospective_step_id: + description: + description: The description of the alert urgency type: string position: - type: integer - required: - - position - - retrospective_process_group_id - - retrospective_step_id - type: object - retrospective_process_group_step_response: - properties: - data: - $ref: '#/components/schemas/retrospective_process_group_step_response_data' + description: Position of the alert urgency + nullable: true + type: integer required: - - data + - description + - name type: object - retrospective_process_group_step_list: + new_alert_urgency_data: properties: - data: - items: - $ref: '#/components/schemas/retrospective_process_group_step_response_data' - type: array - links: - allOf: - - $ref: '#/components/schemas/links' - type: object + type: + enum: + - alert_urgencies + type: string + attributes: + $ref: '#/components/schemas/new_alert_urgency_data_attributes' required: - - data - - links + - attributes + - type type: object - attach_alert_data_attributes: + update_alert_urgency_data_attributes: additionalProperties: false properties: - alert_ids: - description: Alert Id to attach to the incident - items: - type: string + name: + description: The name of the alert urgency + type: string + description: + description: The description of the alert urgency + type: string + position: + description: Position of the alert urgency nullable: true - type: array - required: - - alert_ids + type: integer type: object - attach_alert_data: + update_alert_urgency_data: properties: type: enum: - - alerts + - alert_urgencies type: string attributes: - $ref: '#/components/schemas/attach_alert_data_attributes' + $ref: '#/components/schemas/update_alert_urgency_data_attributes' required: - attributes - type type: object - new_alert_data_attributes_labels_inner: - nullable: true + alert_urgency_response_data: properties: - key: - description: Key of the tag + id: + description: Unique ID of the alert urgency type: string - value: - description: Value of the tag + type: + enum: + - alert_urgencies type: string + attributes: + allOf: + - $ref: '#/components/schemas/alert_urgency' + type: object required: - - key - - value + - attributes + - id + - type type: object - new_alert_data_attributes: - additionalProperties: false + new_alert_group_data_attributes_targets_inner: properties: - noise: - description: Whether the alert is marked as noise + target_type: + description: The type of the target. Please contact support if you encounter + issues using `Functionality` as a target type. enum: - - noise - - not_noise - nullable: true + - Group + - Service + - EscalationPolicy + - Functionality type: string - source: - description: The source of the alert - enum: - - rootly - - manual - - api - - web - - slack - - email - - workflow - - live_call_routing - - pagerduty - - opsgenie - - victorops - - pagertree - - datadog - - nobl9 - - zendesk - - asana - - clickup - - sentry - - rollbar - - jira - - honeycomb - - service_now - - linear - - grafana - - alertmanager - - google_cloud - - generic_webhook - - cloud_watch - - azure - - splunk - - chronosphere - - app_optics - - bug_snag - - monte_carlo - - nagios - - prtg - - catchpoint - - app_dynamics - - checkly - - new_relic - - gitlab + target_id: + description: "id for the Group, Service, EscalationPolicy or Functionality" + format: uuid type: string - status: - description: "Only available for organizations with Rootly On-Call enabled.\ - \ Can be one of open, triggered." + required: + - target_id + - target_type + type: object + new_alert_group_data_attributes_attributes_inner: + properties: + json_path: + description: The JSON path to the value to group by. + type: string + type: object + new_alert_group_data_attributes_conditions_inner: + properties: + property_field_type: + description: The type of the property field enum: - - open - - triggered + - attribute + - payload + - alert_field type: string - summary: - description: The summary of the alert + property_field_name: + description: "The name of the property field. If the property field type\ + \ is selected as 'attribute', then the allowed property field names are\ + \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ + \ (for Alert Source URL). If the property field type is selected as 'payload',\ + \ then the property field name should be supplied in JSON Path syntax." type: string - description: - description: The description of the alert - nullable: true + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty + - matches_existing_alert type: string - service_ids: - description: The Service ID's to attach to the alert. If your organization - has On-Call enabled and your notification target is a Service. This field - will be automatically set for you. - items: - type: string - nullable: true - type: array - group_ids: - description: The Group ID's to attach to the alert. If your organization - has On-Call enabled and your notification target is a Group. This field - will be automatically set for you. + property_field_value: + description: The value of the property field. Can be null if the property + field condition type is 'is_one_of' or 'is_not_one_of' + type: string + property_field_values: + description: The values of the property field. Need to be passed if the + property field condition type is 'is_one_of' or 'is_not_one_of' except + for when property field name is 'alert_urgency' items: type: string - nullable: true type: array - environment_ids: - description: The Environment ID's to attach to the alert + alert_urgency_ids: + description: "The Alert Urgency IDs to check in the condition. Only need\ + \ to be set when the property field type is 'attribute', the property\ + \ field name is 'alert_urgency' and the property field condition type\ + \ is 'is_one_of' or 'is_not_one_of'" items: type: string nullable: true type: array - started_at: - description: Alert start datetime - format: date-time - nullable: true - type: string - ended_at: - description: Alert end datetime - format: date-time - nullable: true + conditionable_type: + description: The type of the conditionable + enum: + - AlertField type: string - external_id: - description: External ID - nullable: true + conditionable_id: + description: "The ID of the conditionable. If conditionable_type is AlertField,\ + \ this is the ID of the alert field." type: string - external_url: - description: External Url - nullable: true + required: + - property_field_condition_type + - property_field_type + type: object + new_alert_group_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the alert group type: string - alert_urgency_id: - description: The ID of the alert urgency + description: + description: The description of the alert urgency nullable: true type: string - notification_target_type: - description: "Only available for organizations with Rootly On-Call enabled.\ - \ Can be one of Group, Service, EscalationPolicy, User." + time_window: + description: The length of time an Alert Group should stay open and accept + new alerts + type: integer + targets: + items: + $ref: '#/components/schemas/new_alert_group_data_attributes_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' + type: array + group_by_alert_title: + deprecated: true + description: "[DEPRECATED] Whether the alerts should be grouped by titles.\ + \ This field is deprecated. Please use the `conditions` field with advanced\ + \ alert grouping instead." enum: - - User - - Group - - EscalationPolicy - - Service - nullable: true - type: string - notification_target_id: - description: Only available for organizations with Rootly On-Call enabled. - The _identifier_ of the notification target object. - nullable: true + - 1 + - 0 + type: integer + group_by_alert_urgency: + deprecated: true + description: "[DEPRECATED] Whether the alerts should be grouped by urgencies.\ + \ This field is deprecated. Please use the `conditions` field with advanced\ + \ alert grouping instead." + enum: + - 1 + - 0 + type: integer + condition_type: + description: Group alerts when ANY or ALL of the fields are matching. + enum: + - all + - any type: string - labels: + conditions: items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + $ref: '#/components/schemas/new_alert_group_data_attributes_conditions_inner' type: array - data: - description: Additional data - nullable: true - type: object required: - - source - - summary + - name type: object - new_alert_data: + new_alert_group_data: properties: type: enum: - - alerts + - alert_groups type: string attributes: - $ref: '#/components/schemas/new_alert_data_attributes' + $ref: '#/components/schemas/new_alert_group_data_attributes' required: - attributes - type type: object - update_alert_data_attributes: + update_alert_group_data_attributes: additionalProperties: false properties: - noise: - description: Whether the alert is marked as noise - enum: - - noise - - not_noise - nullable: true - type: string - source: - description: The source of the alert - enum: - - rootly - - manual - - api - - web - - slack - - email - - workflow - - live_call_routing - - pagerduty - - opsgenie - - victorops - - pagertree - - datadog - - nobl9 - - zendesk - - asana - - clickup - - sentry - - rollbar - - jira - - honeycomb - - service_now - - linear - - grafana - - alertmanager - - google_cloud - - generic_webhook - - cloud_watch - - azure - - splunk - - chronosphere - - app_optics - - bug_snag - - monte_carlo - - nagios - - prtg - - catchpoint - - app_dynamics - - checkly - - new_relic - - gitlab - type: string - summary: - description: The summary of the alert + name: + description: The name of the alert group type: string description: - description: The description of the alert + description: The description of the alert group nullable: true type: string - service_ids: - description: The Service ID's to attach to the alert + time_window: + description: The length of time an Alert Group should stay open and accept + new alerts + type: integer + targets: items: - type: string - nullable: true + $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' type: array - group_ids: - description: The Group ID's to attach to the alert + attributes: + deprecated: true + description: "This field is deprecated. Please use the `conditions` field\ + \ instead, `attributes` will be removed in the future." items: - type: string - nullable: true + $ref: '#/components/schemas/new_alert_group_data_attributes_attributes_inner' type: array - environment_ids: - description: The Environment ID's to attach to the alert + group_by_alert_title: + deprecated: true + description: "[DEPRECATED] Whether the alerts should be grouped by titles.\ + \ This field is deprecated. Please use the `conditions` field with advanced\ + \ alert grouping instead." + enum: + - 1 + - 0 + type: integer + group_by_alert_urgency: + deprecated: true + description: "[DEPRECATED] Whether the alerts should be grouped by urgencies.\ + \ This field is deprecated. Please use the `conditions` field with advanced\ + \ alert grouping instead." + enum: + - 1 + - 0 + type: integer + condition_type: + description: Group alerts when ANY or ALL of the fields are matching. + enum: + - all + - any + type: string + conditions: items: - type: string - nullable: true + $ref: '#/components/schemas/new_alert_group_data_attributes_conditions_inner' type: array - started_at: - description: Alert start datetime - format: date-time - nullable: true + type: object + update_alert_group_data: + properties: + type: + enum: + - alert_groups type: string - ended_at: - description: Alert end datetime - format: date-time - nullable: true + attributes: + $ref: '#/components/schemas/update_alert_group_data_attributes' + required: + - attributes + - type + type: object + alert_group_conditions_inner_values_inner: + nullable: true + properties: + record_id: + description: ID of the Alert Urgency to set. type: string - external_id: - description: External ID - nullable: true + record_type: + description: Should be "AlertUrgency". type: string - external_url: - description: External Url + required: + - record_id + - record_type + type: object + alert_group_conditions_inner: + properties: + property_field_type: + description: The type of the property field + enum: + - attribute + - payload + - alert_field + type: string + property_field_name: + description: "The name of the property field. If the property field type\ + \ is selected as 'attribute', then the allowed property field names are\ + \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ + \ (for Alert Source URL). If the property field type is selected as 'payload',\ + \ then the property field name should be supplied in JSON Path syntax." nullable: true type: string - alert_urgency_id: - description: The ID of the alert urgency + property_field_condition_type: + description: The condition type of the property field + enum: + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - starts_with + - ends_with + - matches_regex + - is_empty + - matches_existing_alert + type: string + property_field_value: + description: The value of the property field. Can be null if the property + field condition type is 'is_one_of' or 'is_not_one_of' nullable: true type: string - labels: + property_field_values: + description: The values of the property field. Used if the property field + condition type is 'is_one_of' or 'is_not_one_of' except for when property + field name is 'alert_urgency' items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + type: string type: array - data: - description: Additional data + values: + items: + $ref: '#/components/schemas/alert_group_conditions_inner_values_inner' + type: array + alert_urgency_ids: + description: "The Alert Urgency IDs to check in the condition. Only need\ + \ to be set when the property field type is 'attribute', the property\ + \ field name is 'alert_urgency' and the property field condition type\ + \ is 'is_one_of' or 'is_not_one_of'" + items: + type: string nullable: true - type: object - type: object - update_alert_data: - properties: - type: + type: array + conditionable_type: + description: The type of the conditionable enum: - - alerts + - 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 - attributes: - $ref: '#/components/schemas/update_alert_data_attributes' required: - - attributes - - source - - summary + - property_field_condition_type + - property_field_type type: object - alert_response_data: + alert_group_response_data: properties: id: - description: Unique ID of the alert - type: string - source: - description: The source of the alert - enum: - - rootly - - manual - - api - - web - - slack - - email - - workflow - - live_call_routing - - pagerduty - - opsgenie - - victorops - - pagertree - - datadog - - nobl9 - - zendesk - - asana - - clickup - - sentry - - rollbar - - jira - - honeycomb - - service_now - - linear - - grafana - - alertmanager - - google_cloud - - generic_webhook - - cloud_watch - - azure - - splunk - - chronosphere - - app_optics - - bug_snag - - monte_carlo - - nagios - - prtg - - catchpoint - - app_dynamics - - checkly - - new_relic - - gitlab + description: Unique ID of the alert group type: string type: enum: - - alerts + - alert_groups type: string attributes: allOf: - - $ref: '#/components/schemas/alert' + - $ref: '#/components/schemas/alert_group' type: object required: - attributes - id - type type: object - resolve_alert_data_attributes: + new_api_key_data_attributes: additionalProperties: false properties: - resolution_message: - description: How was the alert resolved? + name: + description: The name of the API key + type: string + description: + description: A description of the API key nullable: true type: string - resolve_related_incidents: - description: Resolve all associated incidents + kind: + description: The kind of the API key + enum: + - personal + - team + - organization + type: string + expires_at: + description: The expiration date of the API key (ISO 8601) + format: date-time + type: string + group_id: + description: The group (team) ID. Required when kind is 'team'. nullable: true - type: boolean + type: string + role_id: + description: The role ID for organization API keys + nullable: true + type: string + on_call_role_id: + description: The on-call role ID for organization API keys + nullable: true + type: string + required: + - expires_at + - kind + - name type: object - resolve_alert_data: + new_api_key_data: properties: type: enum: - - alerts + - api_keys type: string attributes: - $ref: '#/components/schemas/resolve_alert_data_attributes' + $ref: '#/components/schemas/new_api_key_data_attributes' + required: + - attributes + - type type: object - new_alert_event_data_attributes: + update_api_key_data_attributes: additionalProperties: false properties: - kind: - enum: - - note + name: + description: The name of the API key type: string - user_id: - description: Author of the note. - type: integer - details: - description: Note message. + description: + description: A description of the API key + nullable: true + type: string + expires_at: + description: The expiration date of the API key (ISO 8601) + format: date-time + nullable: true type: string - required: - - details - - kind type: object - new_alert_event_data: + update_api_key_data: properties: type: enum: - - alert_events + - api_keys type: string attributes: - $ref: '#/components/schemas/new_alert_event_data_attributes' + $ref: '#/components/schemas/update_api_key_data_attributes' required: - attributes - type type: object - update_alert_event_data_attributes: + rotate_api_key_data_attributes: additionalProperties: false properties: - user_id: - description: Author of the note. - type: integer - details: - description: Note message. + expires_at: + description: The new expiration date after rotation (ISO 8601) + format: date-time + nullable: true type: string - required: - - details + grace_period_minutes: + default: 30 + description: How many minutes to keep the old token valid. Only applies + when the grace period feature is enabled for your organization. Defaults + to 30. + maximum: 1440 + minimum: 0 + type: integer type: object - update_alert_event_data: + rotate_api_key_data: properties: type: enum: - - alert_events + - api_keys type: string attributes: - $ref: '#/components/schemas/update_alert_event_data_attributes' + $ref: '#/components/schemas/rotate_api_key_data_attributes' required: - attributes - type type: object - alert_event_response_data: + api_key_response_data: properties: id: - description: Unique ID of the alert event + description: Unique ID of the API key type: string type: enum: - - alert_events + - api_keys type: string attributes: allOf: - - $ref: '#/components/schemas/alert_event' + - $ref: '#/components/schemas/api_key' type: object required: - attributes - id - type type: object - new_alerts_source_data_attributes_alert_template_attributes: + api_key_with_token_response_data_attributes: + allOf: + - $ref: '#/components/schemas/api_key' + - properties: + token: + description: The API key token (only shown once) + type: string + required: + - token + type: object + type: object + api_key_with_token_response_data: properties: - title: - description: The alert title. - nullable: true - type: string - description: - description: The alert description. - nullable: true + id: + description: Unique ID of the API key type: string - external_url: - description: The alert URL. - nullable: true + type: + enum: + - api_keys type: string + attributes: + $ref: '#/components/schemas/api_key_with_token_response_data_attributes' + required: + - attributes + - id + - type type: object - new_alerts_source_data_attributes_alert_source_urgency_rules_attributes_inner: + audits_list_data_inner: properties: - json_path: - description: JSON path expression to extract a specific value from the alert's - payload for evaluation + id: + description: Unique ID of the audit log item type: string - operator: - description: Comparison operator used to evaluate the extracted value against - the specified condition + type: 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 + - audits type: string + attributes: + allOf: + - $ref: '#/components/schemas/audit' + type: object + required: + - attributes + - id + - type type: object - new_alerts_source_data_attributes_sourceable_attributes_field_mappings_attributes_inner: + new_authorization_data_attributes: + additionalProperties: false properties: - field: - description: Select the field on which the condition to be evaluated + authorizable_id: + description: The id of the resource being accessed. + type: string + authorizable_type: + description: The type of resource being accessed. enum: - - external_id - - state - - alert_title - - alert_external_url - - notification_target_type - - notification_target_id + - Dashboard type: string - json_path: - description: JSON path expression to extract a specific value from the alert's - payload for evaluation + grantee_id: + description: The resource id granted access. type: string - type: object - new_alerts_source_data_attributes_sourceable_attributes: - description: Provide additional attributes for generic_webhook alerts source - properties: - auto_resolve: - description: Set this to true to auto-resolve alerts based on field_mappings_attributes - conditions - type: boolean - resolve_state: - description: This value is matched with the value extracted from alerts - payload using JSON path in field_mappings_attributes + grantee_type: + description: The type of resource granted access. + enum: + - User + - Team type: string - accept_threaded_emails: - description: Set this to false to reject threaded emails - type: boolean - field_mappings_attributes: - description: Specify rules to auto resolve alerts + permissions: items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes_field_mappings_attributes_inner' + enum: + - read + - update + - authorize + - destroy + type: string type: array + required: + - authorizable_id + - authorizable_type + - grantee_id + - grantee_type + - permissions type: object - new_alerts_source_data_attributes_resolution_rule_attributes_conditions_attributes_inner: + new_authorization_data: properties: - field: - description: JSON path expression to extract a specific value from the alert's - payload for evaluation - type: string - operator: - description: Comparison operator used to evaluate the extracted value against - the specified condition + type: 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 + - authorizations type: string + attributes: + $ref: '#/components/schemas/new_authorization_data_attributes' + required: + - attributes + - type type: object - new_alerts_source_data_attributes_resolution_rule_attributes: - description: Provide additional attributes for email alerts source + update_authorization_data_attributes: + additionalProperties: false 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 + permissions: + items: + enum: + - read + - update + - authorize + - destroy + type: string + type: array + type: object + update_authorization_data: + properties: + type: enum: - - all - - any + - authorizations type: string - identifier_json_path: - description: JSON path expression to extract unique alert identifier used - to match triggered alerts with resolving alerts + attributes: + $ref: '#/components/schemas/update_authorization_data_attributes' + required: + - attributes + - type + type: object + authorization_response_data: + properties: + id: + description: Unique ID of the authorization type: string - identifier_value_regex: - description: Regex group to further specify the part of the string used - as a unique identifier + type: + enum: + - authorizations type: string - conditions_attributes: - description: List of conditions to evaluate for auto resolution - items: - $ref: '#/components/schemas/new_alerts_source_data_attributes_resolution_rule_attributes_conditions_attributes_inner' - type: array + attributes: + allOf: + - $ref: '#/components/schemas/authorization' + type: object + required: + - attributes + - id + - type type: object - new_alerts_source_data_attributes: + new_catalog_data_attributes: additionalProperties: false properties: name: - description: The name of the alert source type: string - source_type: - description: The alert source type - enum: - - email - - app_dynamics - - catchpoint - - datadog - - alertmanager - - google_cloud - - grafana - - sentry - - generic_webhook - - cloud_watch - - checkly - - azure - - new_relic - - splunk - - chronosphere - - app_optics - - bug_snag - - honeycomb - - monte_carlo - - nagios - - prtg + description: + nullable: true type: string - alert_urgency_id: - description: ID for the default alert urgency assigned to this alert source + icon: + enum: + - globe-alt + - server-stack + - users + - user-group + - chart-bar + - shapes + - light-bulb + - cursor-arrow-ripple type: string - owner_group_ids: - description: List of team IDs that will own the alert source - items: - type: string - type: array - alert_template_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_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' - type: array - sourceable_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes' - resolution_rule_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_resolution_rule_attributes' + position: + description: Default position of the catalog when displayed in a list. + nullable: true + type: integer required: - name type: object - new_alerts_source_data: + new_catalog_data: properties: type: enum: - - alert_sources + - catalogs type: string attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes' + $ref: '#/components/schemas/new_catalog_data_attributes' required: - attributes - type type: object - update_alerts_source_data_attributes: + update_catalog_data_attributes: additionalProperties: false properties: name: - description: The name of the alert source type: string - source_type: - description: The alert source type - enum: - - email - - app_dynamics - - catchpoint - - datadog - - alertmanager - - google_cloud - - grafana - - sentry - - generic_webhook - - cloud_watch - - checkly - - azure - - new_relic - - splunk - - chronosphere - - app_optics - - bug_snag - - honeycomb - - monte_carlo - - nagios - - prtg + description: + nullable: true type: string - alert_urgency_id: - description: ID for the default alert urgency assigned to this alert source + icon: + enum: + - globe-alt + - server-stack + - users + - user-group + - chart-bar + - shapes + - light-bulb + - cursor-arrow-ripple type: string - owner_group_ids: - description: List of team IDs that will own the alert source - items: - type: string - type: array - alert_template_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_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' - type: array - sourceable_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_sourceable_attributes' - resolution_rule_attributes: - $ref: '#/components/schemas/new_alerts_source_data_attributes_resolution_rule_attributes' + position: + description: Default position of the catalog when displayed in a list. + nullable: true + type: integer type: object - update_alerts_source_data: + update_catalog_data: properties: type: enum: - - alert_sources + - catalogs type: string attributes: - $ref: '#/components/schemas/update_alerts_source_data_attributes' + $ref: '#/components/schemas/update_catalog_data_attributes' required: - attributes - type type: object - alerts_source_response_data: + catalog_response_data: properties: id: - description: Unique ID of the alert source + description: Unique ID of the catalog type: string type: enum: - - alert_sources + - catalogs type: string attributes: allOf: - - $ref: '#/components/schemas/alerts_source' + - $ref: '#/components/schemas/catalog' type: object required: - attributes - id - type type: object - new_alert_routing_rule_data_attributes_conditions_inner: + new_catalog_field_data_attributes: + additionalProperties: false properties: - property_field_type: - description: The type of the property field + name: + type: string + kind: enum: - - attribute - - payload + - text + - reference + - boolean + - reference + - service + - functionality + - environment + - group + - cause + - incident_type + - user type: string - property_field_name: - description: "The name of the property field. If the property field type\ - \ is selected as 'attribute', then the allowed property field names are\ - \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ - \ (for Alert Source URL). If the property field type is selected as 'payload',\ - \ then the property field name should be supplied in JSON Path syntax." + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true type: string - property_field_condition_type: - description: The condition type of the property field + multiple: + description: Whether the attribute accepts multiple values. + type: boolean + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the field is required. + type: boolean + catalog_type: + description: The type of catalog the field belongs to. enum: - - is_one_of - - is_not_one_of - - contains - - does_not_contain - - starts_with - - ends_with - - matches_regex - - is_empty + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team type: string - property_field_value: - description: The value of the property field. Can be null if the property - field condition type is 'is_one_of' or 'is_not_one_of' + required: + - kind + - name + type: object + new_catalog_field_data: + properties: + type: + enum: + - catalog_properties + type: string + attributes: + $ref: '#/components/schemas/new_catalog_field_data_attributes' + required: + - attributes + - type + type: object + update_catalog_field_data_attributes: + additionalProperties: false + properties: + name: + type: string + kind: + enum: + - text + - reference + - boolean + - reference + - service + - functionality + - environment + - group + - cause + - incident_type + - user + type: string + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true + type: string + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the field is required. + type: boolean + catalog_type: + description: The type of catalog the field belongs to. + enum: + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team + type: string + type: object + update_catalog_field_data: + properties: + type: + enum: + - catalog_properties type: string - property_field_values: - description: The values of the property field. Need to be passed if the - property field condition type is 'is_one_of' or 'is_not_one_of' except - for when property field name is 'alert_urgency' - items: - type: string - type: array + attributes: + $ref: '#/components/schemas/update_catalog_field_data_attributes' required: - - property_field_condition_type - - property_field_name - - property_field_type + - attributes + - type type: object - new_alert_routing_rule_data_attributes_destination: + catalog_field_response_data: properties: - target_type: - description: The type of the target - enum: - - Group - - Service - - EscalationPolicy + id: + description: Unique ID of the catalog_field type: string - target_id: - description: The ID of the target - format: uuid + type: + enum: + - catalog_properties type: string + attributes: + allOf: + - $ref: '#/components/schemas/catalog_field' + type: object required: - - target_id - - target_type + - attributes + - id + - type type: object - new_alert_routing_rule_data_attributes: + new_catalog_property_data_attributes: additionalProperties: false properties: name: - description: The name of the alert routing rule type: string - enabled: - description: Whether the alert routing rule is enabled - type: boolean - owning_team_ids: - description: "The IDs of the teams which own the alert routing rule. If\ - \ the user doesn't have Alert Routing Create Permission in On-Call Roles,\ - \ then this field is required and can contain Team IDs the user is an\ - \ admin of." - items: - format: uuid - type: string - type: array - alerts_source_id: - description: The ID of the alerts source - format: uuid + kind: + enum: + - text + - reference + - boolean + - reference + - service + - functionality + - environment + - group + - cause + - incident_type + - user type: string - condition_type: - description: The type of condition for the alert routing rule + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true + type: string + multiple: + description: Whether the attribute accepts multiple values. + type: boolean + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the property is required. + type: boolean + catalog_type: + description: The type of catalog the property belongs to. enum: - - all - - any + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team type: string - conditions: - items: - $ref: '#/components/schemas/new_alert_routing_rule_data_attributes_conditions_inner' - type: array - destination: - $ref: '#/components/schemas/new_alert_routing_rule_data_attributes_destination' required: - - alerts_source_id - - destination + - kind - name type: object - new_alert_routing_rule_data: + new_catalog_property_data: properties: type: enum: - - alert_routing_rules + - catalog_properties type: string attributes: - $ref: '#/components/schemas/new_alert_routing_rule_data_attributes' + $ref: '#/components/schemas/new_catalog_property_data_attributes' required: - attributes - type type: object - update_alert_routing_rule_data_attributes_conditions_inner: + update_catalog_property_data_attributes: + additionalProperties: false properties: - id: - description: The ID of the alert routing rule condition - format: uuid + name: type: string - property_field_type: - description: The type of the property field + kind: enum: - - attribute - - payload + - text + - reference + - boolean + - reference + - service + - functionality + - environment + - group + - cause + - incident_type + - user type: string - property_field_name: - description: "The name of the property field. If the property field type\ - \ is selected as 'attribute', then the allowed property field names are\ - \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ - \ (for Alert Source URL). If the property field type is selected as 'payload',\ - \ then the property field name should be supplied in JSON Path syntax." + kind_catalog_id: + description: Restricts values to items of specified catalog. + nullable: true type: string - property_field_condition_type: - description: The condition type of the property field + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + required: + description: Whether the property is required. + type: boolean + catalog_type: + description: The type of catalog the property belongs to. enum: - - is_one_of - - is_not_one_of - - contains - - does_not_contain - - starts_with - - ends_with - - matches_regex - - is_empty + - catalog + - cause + - environment + - functionality + - incident_type + - service + - team type: string - property_field_value: - description: The value of the property field. Can be null if the property - field condition type is 'is_one_of' or 'is_not_one_of' - nullable: true + type: object + update_catalog_property_data: + properties: + type: + enum: + - catalog_properties type: string - property_field_values: - description: The values of the property field. Used if the property field - condition type is 'is_one_of' or 'is_not_one_of' except for when property - field name is 'alert_urgency' - items: - type: string - type: array + attributes: + $ref: '#/components/schemas/update_catalog_property_data_attributes' + required: + - attributes + - type type: object - update_alert_routing_rule_data_attributes_destination: + catalog_property_response_data: properties: - target_type: - description: The type of the target + id: + description: Unique ID of the catalog_property + type: string + type: enum: - - Group - - Service - - EscalationPolicy + - catalog_properties type: string - target_id: - description: The ID of the target - format: uuid + attributes: + allOf: + - $ref: '#/components/schemas/catalog_property' + type: object + required: + - attributes + - id + - type + type: object + new_catalog_entity_data_attributes_properties_inner: + properties: + catalog_property_id: + description: Unique ID of the catalog property + type: string + value: + description: The value for this property type: string + required: + - catalog_property_id + - value type: object - update_alert_routing_rule_data_attributes: + new_catalog_entity_data_attributes: additionalProperties: false properties: name: - description: The name of the alert routing rule type: string - enabled: - description: Whether the alert routing rule is enabled - type: boolean - alerts_source_id: - description: The ID of the alerts source - format: uuid + description: + nullable: true type: string - owning_team_ids: - description: The IDs of the teams that own the alert routing rule - items: - format: uuid - type: string - type: array - condition_type: - description: The type of condition for the alert routing rule - enum: - - all - - any + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + backstage_id: + description: The Backstage entity ID this catalog entity is linked to. + nullable: true type: string - conditions: + properties: + description: Array of property values for this catalog entity items: - $ref: '#/components/schemas/update_alert_routing_rule_data_attributes_conditions_inner' + $ref: '#/components/schemas/new_catalog_entity_data_attributes_properties_inner' type: array - destination: - $ref: '#/components/schemas/update_alert_routing_rule_data_attributes_destination' + required: + - name type: object - update_alert_routing_rule_data: + new_catalog_entity_data: properties: type: enum: - - alert_routing_rules + - catalog_entities type: string attributes: - $ref: '#/components/schemas/update_alert_routing_rule_data_attributes' + $ref: '#/components/schemas/new_catalog_entity_data_attributes' required: - attributes - type type: object - alert_routing_rule_conditions_inner: + update_catalog_entity_data_attributes: + additionalProperties: false properties: - property_field_type: - description: The type of the property field - enum: - - attribute - - payload - type: string - property_field_name: - description: "The name of the property field. If the property field type\ - \ is selected as 'attribute', then the allowed property field names are\ - \ 'summary' (for Title), 'description', 'alert_urgency' and 'external_url'\ - \ (for Alert Source URL). If the property field type is selected as 'payload',\ - \ then the property field name should be supplied in JSON Path syntax." + name: type: string - property_field_condition_type: - description: The condition type of the property field - enum: - - is_one_of - - is_not_one_of - - contains - - does_not_contain - - starts_with - - ends_with - - matches_regex - - is_empty + description: + nullable: true type: string - property_field_value: - description: The value of the property field. Can be null if the property - field condition type is 'is_one_of' or 'is_not_one_of' + position: + description: Default position of the item when displayed in a list. + nullable: true + type: integer + backstage_id: + description: The Backstage entity ID this catalog entity is linked to. nullable: true type: string - property_field_values: - description: The values of the property field. Used if the property field - condition type is 'is_one_of' or 'is_not_one_of' except for when property - field name is 'alert_urgency' + properties: + description: Array of property values for this catalog entity items: - type: string + $ref: '#/components/schemas/new_catalog_entity_data_attributes_properties_inner' type: array - required: - - property_field_condition_type - - property_field_name - - property_field_type type: object - alert_routing_rule_destination: - description: The destinations for the alert routing rule + update_catalog_entity_data: properties: - target_type: - description: The type of the target + type: enum: - - Group - - Service - - EscalationPolicy - type: string - target_id: - description: The ID of the target - format: uuid + - catalog_entities type: string + attributes: + $ref: '#/components/schemas/update_catalog_entity_data_attributes' required: - - target_id - - target_type + - attributes + - type type: object - alert_routing_rule_response_data: + catalog_entity_response_data: properties: id: - description: Unique ID of the alert_routing_rule + description: Unique ID of the catalog_entity type: string type: enum: - - alert_routing_rules + - catalog_entities type: string attributes: allOf: - - $ref: '#/components/schemas/alert_routing_rule' + - $ref: '#/components/schemas/catalog_entity' type: object required: - attributes - id - type type: object - new_alert_urgency_data_attributes: + new_catalog_entity_property_data_attributes: additionalProperties: false + description: Maximum of 50 values allowed per catalog field. properties: - name: - description: The name of the alert urgency + catalog_entity_id: type: string - description: - description: The description of the alert urgency + catalog_field_id: + type: string + key: + enum: + - text + - catalog_entity + - slack + type: string + value: type: string - position: - description: Position of the alert urgency - nullable: true - type: integer required: - - description - - name + - catalog_field_id + - key + - value type: object - new_alert_urgency_data: + new_catalog_entity_property_data: properties: type: enum: - - alert_urgencies + - catalog_entity_properties type: string attributes: - $ref: '#/components/schemas/new_alert_urgency_data_attributes' + $ref: '#/components/schemas/new_catalog_entity_property_data_attributes' required: - attributes - type type: object - update_alert_urgency_data_attributes: + update_catalog_entity_property_data_attributes: additionalProperties: false properties: - name: - description: The name of the alert urgency + key: + enum: + - text + - catalog_entity + - slack type: string - description: - description: The description of the alert urgency + value: type: string - position: - description: Position of the alert urgency - nullable: true - type: integer type: object - update_alert_urgency_data: + update_catalog_entity_property_data: properties: type: enum: - - alert_urgencies + - catalog_entity_properties type: string attributes: - $ref: '#/components/schemas/update_alert_urgency_data_attributes' + $ref: '#/components/schemas/update_catalog_entity_property_data_attributes' required: - attributes - type type: object - alert_urgency_response_data: + catalog_entity_property_response_data: properties: id: - description: Unique ID of the alert urgency + description: Unique ID of the catalog_entity_property type: string type: enum: - - alert_urgencies + - catalog_entity_properties type: string attributes: allOf: - - $ref: '#/components/schemas/alert_urgency' + - $ref: '#/components/schemas/catalog_entity_property' type: object required: - attributes - id - type type: object - new_alert_group_data_attributes_targets_inner: + Builtin_field: properties: - target_type: - description: The type of the target. + field_source: enum: - - Group - - Service - - EscalationPolicy + - builtin type: string - target_id: - description: "id for the Group, Service or EscalationPolicy" - format: uuid + field_key: + description: Key identifying the builtin field type: string required: - - target_id - - target_type + - field_key + - field_source + title: Builtin field + Custom_field: + properties: + field_source: + enum: + - custom + type: string + catalog_property_id: + description: ID of the catalog property + type: string + field_key: + description: Ignored for custom fields (auto-derived from catalog property) + type: string + required: + - catalog_property_id + - field_source + title: Custom field + new_catalog_checklist_template_data_attributes_fields_inner: + oneOf: + - $ref: '#/components/schemas/Builtin_field' + - $ref: '#/components/schemas/Custom_field' type: object - new_alert_group_data_attributes_attributes_inner: + new_catalog_checklist_template_data_attributes_owners_inner: properties: - json_path: - description: The JSON path to the value to group by. + id: + description: "User ID for user owners, or field key for field owners" + type: string + type: + description: Type of owner + enum: + - field + - user type: string + required: + - id + - type type: object - new_alert_group_data_attributes: + new_catalog_checklist_template_data_attributes: additionalProperties: false properties: name: - description: The name of the alert group + description: The name of the checklist template type: string description: - description: The description of the alert urgency + description: The description of the checklist template nullable: true type: string - time_window: - description: The length of time an Alert Group should stay open and accept - new alerts - type: integer - targets: + catalog_type: + description: The catalog type + enum: + - Service + - Functionality + - Environment + - Group + - Cause + - IncidentType + - Catalog + type: string + scope_type: + description: The scope type + enum: + - Team + - Catalog + type: string + scope_id: + description: The scope ID (team or catalog UUID) + type: string + fields: + description: Template fields. Position is determined by array order. items: - $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' + $ref: '#/components/schemas/new_catalog_checklist_template_data_attributes_fields_inner' + nullable: true type: array - attributes: + owners: + description: Template owners items: - $ref: '#/components/schemas/new_alert_group_data_attributes_attributes_inner' + $ref: '#/components/schemas/new_catalog_checklist_template_data_attributes_owners_inner' + nullable: true type: array - group_by_alert_title: - description: Whether the alerts should be grouped by titles. - enum: - - 1 - - 0 - type: integer - group_by_alert_urgency: - description: Whether the alerts should be grouped by urgencies. - enum: - - 1 - - 0 - type: integer - condition_type: - description: Group alerts when ANY or ALL of the fields are matching. - enum: - - all - - any - type: string required: + - catalog_type - name + - scope_type type: object - new_alert_group_data: + new_catalog_checklist_template_data: properties: type: enum: - - alert_groups + - catalog_checklist_templates type: string attributes: - $ref: '#/components/schemas/new_alert_group_data_attributes' + $ref: '#/components/schemas/new_catalog_checklist_template_data_attributes' required: - attributes - type type: object - update_alert_group_data_attributes: + update_catalog_checklist_template_data_attributes: additionalProperties: false properties: name: - description: The name of the alert group + description: The name of the checklist template type: string description: - description: The description of the alert group + description: The description of the checklist template nullable: true type: string - time_window: - description: The length of time an Alert Group should stay open and accept - new alerts - type: integer - targets: + fields: + description: Template fields. Position is determined by array order. Replaces + all existing fields. items: - $ref: '#/components/schemas/new_alert_group_data_attributes_targets_inner' + $ref: '#/components/schemas/new_catalog_checklist_template_data_attributes_fields_inner' + nullable: true type: array - attributes: + owners: + description: Template owners. Replaces all existing owners. items: - $ref: '#/components/schemas/new_alert_group_data_attributes_attributes_inner' + $ref: '#/components/schemas/new_catalog_checklist_template_data_attributes_owners_inner' + nullable: true type: array - group_by_alert_title: - description: Whether the alerts should be grouped by titles. + type: object + update_catalog_checklist_template_data: + properties: + type: enum: - - 1 - - 0 - type: integer - group_by_alert_urgency: - description: Whether the alerts should be grouped by urgencies. + - catalog_checklist_templates + type: string + attributes: + $ref: '#/components/schemas/update_catalog_checklist_template_data_attributes' + required: + - attributes + - type + type: object + catalog_checklist_template_fields_inner: + properties: + field_source: + description: Source of the field enum: - - 1 - - 0 - type: integer - condition_type: - description: Group alerts when ANY or ALL of the fields are matching. + - builtin + - custom + type: string + field_key: + description: Key identifying the field + type: string + catalog_property_id: + description: ID of the catalog property for custom fields + nullable: true + type: string + type: object + catalog_checklist_template_owners_inner: + properties: + id: + description: "User ID for user owners, or field key for field owners" + type: string + type: + description: Type of owner enum: - - all - - any + - field + - user + type: string + type: object + catalog_checklist_template_response_data: + properties: + id: + description: Unique ID of the checklist template + type: string + type: + enum: + - catalog_checklist_templates + type: string + attributes: + allOf: + - $ref: '#/components/schemas/catalog_checklist_template' + type: object + required: + - attributes + - id + - type + type: object + catalog_entity_checklist_checklist_fields_inner_data_attributes: + properties: + catalog_entity_checklist_id: + description: The ID of the parent checklist + type: string + catalog_checklist_template_field_id: + description: The ID of the template field + nullable: true + type: string + field_key: + description: The field key + type: string + checked: + description: Whether the field is checked + type: boolean + value_snapshot: + description: The value snapshot at time of checking + nullable: true + type: object + completed_by_user_id: + description: The ID of the user who checked the field + nullable: true + type: string + completed_at: + description: When the field was checked + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update type: string type: object - update_alert_group_data: + catalog_entity_checklist_checklist_fields_inner_data: properties: + id: + description: ID of the checklist field + type: string type: enum: - - alert_groups + - catalog_entity_checklist_fields type: string attributes: - $ref: '#/components/schemas/update_alert_group_data_attributes' - required: - - attributes - - type + $ref: '#/components/schemas/catalog_entity_checklist_checklist_fields_inner_data_attributes' type: object - alert_group_response_data: + catalog_entity_checklist_checklist_fields_inner: + properties: + data: + $ref: '#/components/schemas/catalog_entity_checklist_checklist_fields_inner_data' + type: object + catalog_entity_checklist_checklist_owners_inner_data_attributes: + properties: + catalog_entity_checklist_id: + description: The ID of the parent checklist + type: string + owner_user_id: + description: The ID of the owner user + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + type: object + catalog_entity_checklist_checklist_owners_inner_data: properties: id: - description: Unique ID of the alert group + description: ID of the checklist owner type: string type: enum: - - alert_groups + - catalog_entity_checklist_owners type: string attributes: - allOf: - - $ref: '#/components/schemas/alert_group' - type: object - required: - - attributes - - id - - type + $ref: '#/components/schemas/catalog_entity_checklist_checklist_owners_inner_data_attributes' type: object - audits_list_data_inner: + catalog_entity_checklist_checklist_owners_inner: + properties: + data: + $ref: '#/components/schemas/catalog_entity_checklist_checklist_owners_inner_data' + type: object + catalog_entity_checklist_response_data: properties: id: - description: Unique ID of the audit log item + description: Unique ID of the entity checklist type: string type: enum: - - audits + - catalog_entity_checklists type: string attributes: allOf: - - $ref: '#/components/schemas/audit' + - $ref: '#/components/schemas/catalog_entity_checklist' type: object required: - attributes - id - type type: object - new_authorization_data_attributes: - additionalProperties: false + new_cause_data_attributes_properties_inner: + description: Set a value for a catalog property properties: - authorizable_id: - description: The id of the resource being accessed. + catalog_property_id: + description: Catalog property ID type: string - authorizable_type: - description: The type of resource being accessed. - enum: - - Dashboard + value: + description: The property value type: string - grantee_id: - description: The resource id granted access. + required: + - catalog_property_id + - value + type: object + new_cause_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the cause type: string - grantee_type: - description: The type of resource granted access. - enum: - - User - - Team + description: + description: The description of the cause + nullable: true type: string - permissions: + position: + description: Position of the cause + nullable: true + type: integer + properties: + description: Array of property values for this cause. items: - enum: - - read - - update - - authorize - - destroy - type: string + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' type: array required: - - authorizable_id - - authorizable_type - - grantee_id - - grantee_type - - permissions + - name type: object - new_authorization_data: + new_cause_data: properties: type: enum: - - authorizations + - causes type: string attributes: - $ref: '#/components/schemas/new_authorization_data_attributes' + $ref: '#/components/schemas/new_cause_data_attributes' required: - attributes - type type: object - update_authorization_data_attributes: + update_cause_data_attributes: additionalProperties: false properties: - permissions: + name: + description: The name of the cause + type: string + description: + description: The description of the cause + nullable: true + type: string + position: + description: Position of the cause + nullable: true + type: integer + properties: + description: Array of property values for this cause. items: - enum: - - read - - update - - authorize - - destroy - type: string + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' type: array type: object - update_authorization_data: + update_cause_data: properties: type: enum: - - authorizations + - causes type: string attributes: - $ref: '#/components/schemas/update_authorization_data_attributes' + $ref: '#/components/schemas/update_cause_data_attributes' required: - attributes - type type: object - authorization_response_data: + cause_response_data: properties: id: - description: Unique ID of the authorization + description: Unique ID of the cause type: string type: enum: - - authorizations + - causes type: string attributes: allOf: - - $ref: '#/components/schemas/authorization' + - $ref: '#/components/schemas/cause' type: object required: - attributes - id - type type: object - new_catalog_data_attributes: + new_communications_stage_data_attributes: additionalProperties: false properties: name: + description: The name of the communications stage type: string description: + description: The description of the communications stage nullable: true type: string - icon: - enum: - - globe-alt - - server-stack - - users - - user-group - - chart-bar - - shapes - - light-bulb - - cursor-arrow-ripple - type: string position: - description: Default position of the catalog when displayed in a list. + description: Position of the communications stage nullable: true type: integer required: - name type: object - new_catalog_data: + new_communications_stage_data: properties: type: enum: - - catalogs + - communications_stages type: string attributes: - $ref: '#/components/schemas/new_catalog_data_attributes' + $ref: '#/components/schemas/new_communications_stage_data_attributes' required: - attributes - type type: object - update_catalog_data_attributes: + update_communications_stage_data_attributes: additionalProperties: false properties: name: + description: The name of the communications stage type: string description: + description: The description of the communications stage nullable: true type: string - icon: - enum: - - globe-alt - - server-stack - - users - - user-group - - chart-bar - - shapes - - light-bulb - - cursor-arrow-ripple - type: string position: - description: Default position of the catalog when displayed in a list. + description: Position of the communications stage nullable: true type: integer type: object - update_catalog_data: + update_communications_stage_data: properties: type: enum: - - catalogs + - communications_stages type: string attributes: - $ref: '#/components/schemas/update_catalog_data_attributes' + $ref: '#/components/schemas/update_communications_stage_data_attributes' required: - attributes - type type: object - catalog_response_data: + communications_stage_response_data: properties: id: - description: Unique ID of the catalog + description: Unique ID of the communications stage type: string type: enum: - - catalogs + - communications_stages type: string attributes: allOf: - - $ref: '#/components/schemas/catalog' + - $ref: '#/components/schemas/communications_stage' type: object required: - attributes - id - type type: object - new_catalog_field_data_attributes: + new_communications_type_data_attributes: additionalProperties: false properties: name: + description: The name of the communications type type: string - kind: - enum: - - text - - reference + description: + description: The description of the communications type + nullable: true type: string - kind_catalog_id: - description: Restricts values to items of specified catalog. + color: + description: The color of the communications type nullable: true type: string - multiple: - description: Whether the attribute accepts multiple values. - type: boolean position: - description: Default position of the item when displayed in a list. + description: Position of the communications type nullable: true type: integer required: - - kind + - color - name type: object - new_catalog_field_data: + new_communications_type_data: properties: type: enum: - - catalog_fields + - communications_types type: string attributes: - $ref: '#/components/schemas/new_catalog_field_data_attributes' + $ref: '#/components/schemas/new_communications_type_data_attributes' required: - attributes - type type: object - update_catalog_field_data_attributes: + update_communications_type_data_attributes: additionalProperties: false properties: name: + description: The name of the communications type type: string - slug: - type: string - kind: - enum: - - text - - reference + description: + description: The description of the communications type + nullable: true type: string - kind_catalog_id: - description: Restricts values to items of specified catalog. + color: + description: The color of the communications type nullable: true type: string position: - description: Default position of the item when displayed in a list. + description: Position of the communications type nullable: true type: integer type: object - update_catalog_field_data: + update_communications_type_data: properties: type: enum: - - catalog_fields + - communications_types type: string attributes: - $ref: '#/components/schemas/update_catalog_field_data_attributes' + $ref: '#/components/schemas/update_communications_type_data_attributes' required: - attributes - type type: object - catalog_field_response_data: + communications_type_response_data: properties: id: - description: Unique ID of the catalog_field + description: Unique ID of the communications type type: string type: enum: - - catalog_fields + - communications_types type: string attributes: allOf: - - $ref: '#/components/schemas/catalog_field' + - $ref: '#/components/schemas/communications_type' type: object required: - attributes - id - type type: object - new_catalog_entity_data_attributes: + new_communications_template_data_attributes_communication_template_stages_attributes_inner: + properties: + communication_stage_id: + description: The communication stage ID + type: string + sms_content: + description: SMS content for the stage + nullable: true + type: string + email_subject: + description: Email subject for the stage + nullable: true + type: string + email_body: + description: Email body for the stage + nullable: true + type: string + slack_content: + description: Slack content for the stage + nullable: true + type: string + type: object + new_communications_template_data_attributes: additionalProperties: false properties: name: + description: The name of the communications template type: string description: + description: The description of the communications template nullable: true type: string + communication_type_id: + description: The communication type ID + type: string position: - description: Default position of the item when displayed in a list. + description: Position of the communications template nullable: true type: integer + communication_template_stages_attributes: + description: Template stages attributes + items: + $ref: '#/components/schemas/new_communications_template_data_attributes_communication_template_stages_attributes_inner' + nullable: true + type: array required: + - communication_type_id - name type: object - new_catalog_entity_data: + new_communications_template_data: properties: type: enum: - - catalog_entities + - communications_templates type: string attributes: - $ref: '#/components/schemas/new_catalog_entity_data_attributes' + $ref: '#/components/schemas/new_communications_template_data_attributes' required: - attributes - type type: object - update_catalog_entity_data_attributes: + update_communications_template_data_attributes_communication_template_stages_attributes_inner: + properties: + id: + description: ID of the communication template stage + nullable: true + type: string + sms_content: + description: SMS content for the stage + nullable: true + type: string + email_subject: + description: Email subject for the stage + nullable: true + type: string + email_body: + description: Email body for the stage + nullable: true + type: string + slack_content: + description: Slack content for the stage + nullable: true + type: string + type: object + update_communications_template_data_attributes: additionalProperties: false properties: name: + description: The name of the communications template type: string description: + description: The description of the communications template nullable: true type: string + communication_type_id: + description: The communication type ID + type: string position: - description: Default position of the item when displayed in a list. + description: Position of the communications template nullable: true type: integer + communication_template_stages_attributes: + description: Template stages attributes + items: + $ref: '#/components/schemas/update_communications_template_data_attributes_communication_template_stages_attributes_inner' + nullable: true + type: array type: object - update_catalog_entity_data: + update_communications_template_data: properties: type: enum: - - catalog_entities + - communications_templates type: string attributes: - $ref: '#/components/schemas/update_catalog_entity_data_attributes' + $ref: '#/components/schemas/update_communications_template_data_attributes' required: - attributes - type type: object - catalog_entity_response_data: + communications_template_communication_template_stages_inner_data_attributes_communication_stage: properties: id: - description: Unique ID of the catalog_entity + description: The communication stage ID type: string - type: - enum: - - catalog_entities + name: + description: The communication stage name type: string - attributes: - allOf: - - $ref: '#/components/schemas/catalog_entity' - type: object - required: - - attributes - - id - - type type: object - new_catalog_entity_property_data_attributes: - additionalProperties: false + communications_template_communication_template_stages_inner_data_attributes_communication_template: properties: - catalog_entity_id: + id: + description: The communication template ID type: string - catalog_field_id: + name: + description: The communication template name type: string - key: - enum: - - text - - catalog_entity + type: object + communications_template_communication_template_stages_inner_data_attributes: + properties: + email_body: + description: Email body for the stage + nullable: true type: string - value: + email_subject: + description: Email subject for the stage + nullable: true type: string - required: - - catalog_field_id - - key - - value + slack_content: + description: Slack content for the stage + nullable: true + type: string + sms_content: + description: SMS content for the stage + nullable: true + type: string + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + communication_stage: + $ref: '#/components/schemas/communications_template_communication_template_stages_inner_data_attributes_communication_stage' + communication_template: + $ref: '#/components/schemas/communications_template_communication_template_stages_inner_data_attributes_communication_template' type: object - new_catalog_entity_property_data: + communications_template_communication_template_stages_inner_data: properties: + id: + description: ID of the communication template stage + type: string type: enum: - - catalog_entity_properties + - communications_template_stages type: string attributes: - $ref: '#/components/schemas/new_catalog_entity_property_data_attributes' - required: - - attributes - - type + $ref: '#/components/schemas/communications_template_communication_template_stages_inner_data_attributes' type: object - update_catalog_entity_property_data_attributes: - additionalProperties: false + communications_template_communication_template_stages_inner: properties: - key: - enum: - - text - - catalog_entity - type: string - value: - type: string + data: + $ref: '#/components/schemas/communications_template_communication_template_stages_inner_data' type: object - update_catalog_entity_property_data: + communications_template_communication_type: properties: - type: - enum: - - catalog_entity_properties + id: + description: ID of the communication type + type: string + name: + description: Name of the communication type type: string - attributes: - $ref: '#/components/schemas/update_catalog_entity_property_data_attributes' - required: - - attributes - - type type: object - catalog_entity_property_response_data: + communications_template_response_data: properties: id: - description: Unique ID of the catalog_entity_property + description: Unique ID of the communications template type: string type: enum: - - catalog_entity_properties + - communications_templates type: string attributes: allOf: - - $ref: '#/components/schemas/catalog_entity_property' + - $ref: '#/components/schemas/communications_template' type: object required: - attributes - id - type type: object - new_cause_data_attributes: + new_communications_group_data_attributes_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 + new_communications_group_data_attributes_communication_external_group_members_inner: + properties: + name: + description: Name of the external member + type: string + email: + description: Email of the external member + type: string + phone_number: + description: Phone number of the external member + type: string + type: object + new_communications_group_data_attributes: additionalProperties: false properties: name: - description: The name of the cause + description: The name of the communications group type: string description: - description: The description of the cause + description: The description of the communications group nullable: true type: string - position: - description: Position of the cause + communication_type_id: + description: The communication type ID + type: string + is_private: + description: Whether the group is private nullable: true - type: integer + type: boolean + condition_type: + description: Condition type + enum: + - any + - all + nullable: true + type: string + sms_channel: + description: SMS channel enabled + nullable: true + type: boolean + email_channel: + description: Email channel enabled + nullable: true + type: boolean + member_ids: + description: Array of member user IDs + items: + type: integer + nullable: true + type: array + slack_channel_ids: + description: Array of Slack channel IDs + items: + type: string + nullable: true + type: array + communication_group_conditions: + description: Group conditions attributes + items: + $ref: '#/components/schemas/new_communications_group_data_attributes_communication_group_conditions_inner' + nullable: true + type: array + communication_external_group_members: + description: External group members attributes + items: + $ref: '#/components/schemas/new_communications_group_data_attributes_communication_external_group_members_inner' + nullable: true + type: array required: + - communication_type_id - name type: object - new_cause_data: + new_communications_group_data: properties: type: enum: - - causes + - communications_groups type: string attributes: - $ref: '#/components/schemas/new_cause_data_attributes' + $ref: '#/components/schemas/new_communications_group_data_attributes' required: - attributes - type type: object - update_cause_data_attributes: + update_communications_group_data_attributes_communication_group_conditions_inner: + properties: + id: + description: ID of the condition + nullable: true + type: string + 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 + update_communications_group_data_attributes_communication_external_group_members_inner: + properties: + id: + description: ID of the external group member + nullable: true + type: string + name: + description: Name of the external member + type: string + email: + description: Email of the external member + type: string + phone_number: + description: Phone number of the external member + type: string + type: object + update_communications_group_data_attributes: additionalProperties: false properties: name: - description: The name of the cause + description: The name of the communications group type: string description: - description: The description of the cause + description: The description of the communications group nullable: true type: string - position: - description: Position of the cause + communication_type_id: + description: The communication type ID + type: string + is_private: + description: Whether the group is private nullable: true - type: integer + type: boolean + condition_type: + description: Condition type + enum: + - any + - all + nullable: true + type: string + sms_channel: + description: SMS channel enabled + nullable: true + type: boolean + email_channel: + description: Email channel enabled + nullable: true + type: boolean + member_ids: + description: Array of member user IDs + items: + type: integer + nullable: true + type: array + slack_channel_ids: + description: Array of Slack channel IDs + items: + type: string + nullable: true + type: array + communication_group_conditions: + description: Group conditions attributes + items: + $ref: '#/components/schemas/update_communications_group_data_attributes_communication_group_conditions_inner' + nullable: true + type: array + communication_external_group_members: + description: External group members attributes + items: + $ref: '#/components/schemas/update_communications_group_data_attributes_communication_external_group_members_inner' + nullable: true + type: array type: object - update_cause_data: + update_communications_group_data: properties: type: enum: - - causes + - communications_groups type: string attributes: - $ref: '#/components/schemas/update_cause_data_attributes' + $ref: '#/components/schemas/update_communications_group_data_attributes' required: - attributes - type type: object - cause_response_data: + communications_group_communication_external_group_members_inner: properties: id: - description: Unique ID of the cause + description: ID of the external group member + type: string + name: + description: Name of the external member + type: string + email: + description: Email of the external member + type: string + phone_number: + description: Phone number of the external member + type: string + type: object + communications_group_response_data: + properties: + id: + description: Unique ID of the communications group type: string type: enum: - - causes + - communications_groups type: string attributes: allOf: - - $ref: '#/components/schemas/cause' + - $ref: '#/components/schemas/communications_group' type: object required: - attributes @@ -53431,9 +45569,6 @@ components: label: description: The name of the custom_field type: string - slug: - description: The slug of the custom_field - type: string description: description: The description of the custom_field nullable: true @@ -53510,10 +45645,6 @@ components: name: description: The name of the custom form. type: string - slug: - description: The custom form slug. Add this to form_field.shown or form_field.required - to associate form fields with custom forms. - type: string description: nullable: true type: string @@ -53544,10 +45675,6 @@ components: name: description: The name of the custom form. type: string - slug: - description: The custom form slug. Add this to form_field.shown or form_field.required - to associate form fields with custom forms. - type: string description: nullable: true type: string @@ -53618,6 +45745,8 @@ components: - not_exists - contains - not_contains + - assigned + - unassigned type: string key: type: string @@ -53636,6 +45765,26 @@ components: $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params_datasets_inner_filter_inner_rules_inner' type: array type: object + new_dashboard_panel_data_attributes_params_datasets_inner_group_by_oneOf: + nullable: true + properties: + key: + enum: + - custom_field + - incident_role + - alert_field + type: string + value: + type: string + required: + - key + - value + type: object + new_dashboard_panel_data_attributes_params_datasets_inner_group_by: + oneOf: + - nullable: true + type: string + - $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params_datasets_inner_group_by_oneOf' new_dashboard_panel_data_attributes_params_datasets_inner_aggregate: nullable: true properties: @@ -53670,8 +45819,7 @@ components: $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params_datasets_inner_filter_inner' type: array group_by: - nullable: true - type: string + $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params_datasets_inner_group_by' aggregate: $ref: '#/components/schemas/new_dashboard_panel_data_attributes_params_datasets_inner_aggregate' type: object @@ -53923,6 +46071,245 @@ components: - id - type type: object + edge_connector_data_attributes: + properties: + name: + description: Connector name + type: string + description: + description: Connector description + nullable: true + type: string + status: + description: Connector status + enum: + - active + - paused + type: string + subscriptions: + description: Array of event types to subscribe to + items: + type: string + type: array + last_poll_at: + description: Last time connector polled + format: date-time + nullable: true + type: string + online: + description: Whether connector is currently online + type: boolean + deliveries_count: + description: Total number of deliveries + type: integer + deliveries_queued_count: + description: Number of queued deliveries + type: integer + deliveries_running_count: + description: Number of running deliveries + type: integer + deliveries_completed_count: + description: Number of completed deliveries + type: integer + deliveries_failed_count: + description: Number of failed deliveries + type: integer + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + required: + - name + - status + type: object + edge_connector_data: + properties: + type: + enum: + - edge_connectors + type: string + id: + format: uuid + type: string + attributes: + $ref: '#/components/schemas/edge_connector_data_attributes' + required: + - attributes + - id + - type + type: object + new_edge_connector_edge_connector: + properties: + name: + description: Connector name + type: string + description: + description: Connector description + nullable: true + type: string + status: + description: Connector status + enum: + - active + - paused + type: string + subscriptions: + description: Array of event types to subscribe to + items: + type: string + type: array + required: + - name + type: object + edge_connector_action_data_attributes_parameters_inner: + properties: + name: + type: string + type: + enum: + - string + - number + - boolean + type: string + required: + type: boolean + description: + nullable: true + type: string + default: + description: Default value (any type) + nullable: true + type: string + options: + items: + type: string + nullable: true + type: array + type: object + edge_connector_action_data_attributes: + properties: + name: + description: Action name + type: string + slug: + description: Action slug + type: string + action_type: + description: Action type + enum: + - script + - http + type: string + icon: + description: Action icon + enum: + - bolt + - bolt-slash + - cog + - command-line + - code-bracket + - server + - server-stack + - play + - arrow-path + - wrench-screwdriver + - cube + - rocket-launch + nullable: true + type: string + description: + description: Action description + nullable: true + type: string + timeout: + description: Timeout in seconds + nullable: true + type: integer + parameters: + description: Parameter definitions + items: + $ref: '#/components/schemas/edge_connector_action_data_attributes_parameters_inner' + nullable: true + type: array + last_executed_at: + format: date-time + nullable: true + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + required: + - action_type + - name + type: object + edge_connector_action_data: + properties: + type: + enum: + - edge_connector_actions + type: string + id: + format: uuid + type: string + attributes: + $ref: '#/components/schemas/edge_connector_action_data_attributes' + required: + - attributes + - id + - type + type: object + new_edge_connector_action_action_metadata: + properties: + description: + nullable: true + type: string + timeout: + nullable: true + type: integer + icon: + enum: + - bolt + - bolt-slash + - cog + - command-line + - code-bracket + - server + - server-stack + - play + - arrow-path + - wrench-screwdriver + - cube + - rocket-launch + nullable: true + type: string + parameters: + items: + $ref: '#/components/schemas/edge_connector_action_data_attributes_parameters_inner' + nullable: true + type: array + type: object + new_edge_connector_action_action: + properties: + name: + description: Action name + type: string + action_type: + description: Action type + enum: + - script + - http + type: string + metadata: + $ref: '#/components/schemas/new_edge_connector_action_action_metadata' + required: + - action_type + - name + type: object new_environment_data_attributes_slack_channels_inner: properties: id: @@ -53983,6 +46370,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this environment. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array required: - name type: object @@ -54034,6 +46426,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this environment. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array type: object update_environment_data: properties: @@ -54086,6 +46483,311 @@ components: 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 + - America/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 + - America/Lima + - 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 + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Europe/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 + - Casablanca + - Africa/Casablanca + - 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 + - Europe/Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kiev + - 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 + - Europe/Moscow + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Asia/Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Asia/Almaty + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Asia/Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Asia/Kolkata + - Mumbai + - Asia/Kolkata + - New Delhi + - Asia/Kolkata + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Rangoon + - Bangkok + - Asia/Bangkok + - Hanoi + - Asia/Bangkok + - 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 + - Asia/Tokyo + - Seoul + - Asia/Seoul + - Tokyo + - Asia/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 + - Pacific/Auckland + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo nullable: true type: string days: @@ -54213,7 +46915,7 @@ components: - id - type type: object - new_escalation_policy_path_data_attributes_rules_inner_anyOf: + new_escalation_policy_path_data_attributes_rules_inner_oneOf: properties: rule_type: description: The type of the escalation path rule @@ -54224,13 +46926,12 @@ components: description: Alert urgency ids for which this escalation path should be used items: - description: TODO default missing array inner type to string type: string type: array required: - rule_type - urgency_ids - new_escalation_policy_path_data_attributes_rules_inner_anyOf_1: + new_escalation_policy_path_data_attributes_rules_inner_oneOf_1: properties: rule_type: description: The type of the escalation path rule @@ -54243,7 +46944,7 @@ components: required: - rule_type - within_working_hour - new_escalation_policy_path_data_attributes_rules_inner_anyOf_2: + new_escalation_policy_path_data_attributes_rules_inner_oneOf_2: properties: rule_type: description: The type of the escalation path rule @@ -54260,90 +46961,484 @@ components: - is_not - contains - does_not_contain + - is_one_of + - is_not_one_of + - is_set + - is_not_set type: string value: description: Value with which JSON path value should be matched + nullable: true type: string + values: + description: Values to match against (for is_one_of / is_not_one_of operators) + items: + type: string + type: array required: - json_path - operator - rule_type - - value - new_escalation_policy_path_data_attributes_rules_inner: - anyOf: - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_1' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_2' - type: object - new_escalation_policy_path_data_attributes: - additionalProperties: false + new_escalation_policy_path_data_attributes_rules_inner_oneOf_3: properties: - name: - description: The name of the escalation path + rule_type: + description: The type of the escalation path rule + enum: + - field type: string - notification_type: - default: audible - description: Notification rule type to be used + fieldable_type: + description: "The type of the fieldable (e.g., AlertField)" + type: string + fieldable_id: + description: The ID of the alert field + type: string + operator: + description: How the alert field value should be matched enum: - - audible - - quiet + - is + - is_not + - is_one_of + - is_not_one_of + - contains + - does_not_contain + - is_empty + - is_not_empty + - contains_key + - does_not_contain_key + - starts_with + - does_not_start_with + - matches + - does_not_match type: string - default: - description: Whether this escalation path is the default path - nullable: true - type: boolean - match_mode: - default: match-all-rules - description: How path rules are matched. + values: + description: Values to match against + items: + type: string + type: array + required: + - fieldable_id + - fieldable_type + - operator + - rule_type + new_escalation_policy_path_data_attributes_rules_inner_oneOf_4: + properties: + rule_type: + description: The type of the escalation path rule enum: - - match-all-rules - - match-any-rule + - service type: string - position: - description: The position of this path in the paths for this EP. - type: integer - repeat: - description: Whether this path should be repeated until someone acknowledges - the alert - nullable: true + service_ids: + description: Service ids for which this escalation path should be used + items: + type: string + type: array + required: + - rule_type + - service_ids + new_escalation_policy_path_data_attributes_rules_inner_oneOf_5_time_blocks_inner: + properties: + monday: + default: false type: boolean - repeat_count: - description: The number of times this path will be executed until someone - acknowledges the alert + tuesday: + default: false + type: boolean + wednesday: + default: false + type: boolean + thursday: + default: false + type: boolean + friday: + default: false + type: boolean + saturday: + default: false + type: boolean + sunday: + default: false + type: boolean + start_time: + description: Formatted as HH:MM + type: string + end_time: + description: Formatted as HH:MM + type: string + all_day: + default: false + type: boolean + position: nullable: true type: integer - initial_delay: - description: Initial delay for escalation path in minutes. Maximum 1 week - (10080). - type: integer - rules: - description: Escalation path conditions - items: - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner' + type: object + new_escalation_policy_path_data_attributes_rules_inner_oneOf_5: + properties: + rule_type: + description: The type of the escalation path rule + enum: + - deferral_window + type: string + time_zone: + description: Time zone for the deferral window + 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 + - America/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 + - America/Lima + - 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 + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Europe/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 + - Casablanca + - Africa/Casablanca + - 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 + - Europe/Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kiev + - 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 + - Europe/Moscow + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Asia/Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Asia/Almaty + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Asia/Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Asia/Kolkata + - Mumbai + - Asia/Kolkata + - New Delhi + - Asia/Kolkata + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Rangoon + - Bangkok + - Asia/Bangkok + - Hanoi + - Asia/Bangkok + - 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 + - Asia/Tokyo + - Seoul + - Asia/Seoul + - Tokyo + - Asia/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 + - Pacific/Auckland + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo + 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' type: array required: - - name + - rule_type + - time_blocks + - time_zone + 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' type: object - new_escalation_policy_path_data: + new_escalation_policy_path_data_attributes_time_restrictions_inner: properties: - type: + start_day: enum: - - escalation_paths + - 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 - attributes: - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes' required: - - attributes - - type - type: object - update_escalation_policy_path_data_attributes_rules_inner: - anyOf: - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_1' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_2' - nullable: true + - end_day + - end_time + - start_day + - start_time type: object - update_escalation_policy_path_data_attributes: + new_escalation_policy_path_data_attributes: additionalProperties: false properties: name: @@ -54351,11 +47446,31 @@ components: type: string notification_type: default: audible - description: Position of the escalation policy level + description: Notification rule type to be used enum: - audible - quiet type: string + path_type: + default: escalation + description: The type of escalation path to create + enum: + - escalation + - deferral + type: string + after_deferral_behavior: + description: What happens after a deferral path finishes. Required for deferral + paths. + enum: + - re_evaluate + - execute_path + nullable: true + type: string + after_deferral_path_id: + description: The escalation path to execute after this deferral path when + after_deferral_behavior is execute_path. + nullable: true + type: string default: description: Whether this escalation path is the default path nullable: true @@ -54387,43 +47502,768 @@ components: rules: description: Escalation path conditions items: - $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_rules_inner' + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner' + type: array + time_restriction_time_zone: + description: Time zone used for time restrictions. + 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 + - America/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 + - America/Lima + - 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 + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Europe/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 + - Casablanca + - Africa/Casablanca + - 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 + - Europe/Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kiev + - 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 + - Europe/Moscow + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Asia/Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Asia/Almaty + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Asia/Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Asia/Kolkata + - Mumbai + - Asia/Kolkata + - New Delhi + - Asia/Kolkata + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Rangoon + - Bangkok + - Asia/Bangkok + - Hanoi + - Asia/Bangkok + - 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 + - Asia/Tokyo + - Seoul + - Asia/Seoul + - Tokyo + - Asia/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 + - Pacific/Auckland + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo + 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/new_escalation_policy_path_data_attributes_time_restrictions_inner' type: array + required: + - name type: object - update_escalation_policy_path_data: + new_escalation_policy_path_data: properties: type: enum: - escalation_paths type: string attributes: - $ref: '#/components/schemas/update_escalation_policy_path_data_attributes' + $ref: '#/components/schemas/new_escalation_policy_path_data_attributes' required: - attributes - type type: object - escalation_policy_path_rules_inner_anyOf: + 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' + type: object + update_escalation_policy_path_data_attributes_time_restrictions_inner: properties: - rule_type: - description: The type of the escalation path rule + start_day: enum: - - alert_urgency + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday type: string - urgency_ids: - description: Alert urgency ids for which this escalation path should be - used + 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 + update_escalation_policy_path_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the escalation path + type: string + notification_type: + default: audible + description: Position of the escalation policy level + enum: + - audible + - quiet + type: string + path_type: + description: The type of escalation path. Cannot be changed after creation. + enum: + - escalation + - deferral + type: string + after_deferral_behavior: + description: What happens after a deferral path finishes. + enum: + - re_evaluate + - execute_path + nullable: true + type: string + after_deferral_path_id: + description: The escalation path to execute after this deferral path when + after_deferral_behavior is execute_path. + nullable: true + type: string + default: + description: Whether this escalation path is the default path + nullable: true + type: boolean + match_mode: + default: match-all-rules + description: How path rules are matched. + enum: + - match-all-rules + - match-any-rule + type: string + position: + description: The position of this path in the paths for this EP. + type: integer + repeat: + description: Whether this path should be repeated until someone acknowledges + the alert + nullable: true + type: boolean + repeat_count: + description: The number of times this path will be executed until someone + acknowledges the alert + nullable: true + type: integer + initial_delay: + description: Initial delay for escalation path in minutes. Maximum 1 week + (10080). + type: integer + rules: + description: Escalation path conditions items: - type: string + $ref: '#/components/schemas/update_escalation_policy_path_data_attributes_rules_inner' + type: array + time_restriction_time_zone: + description: Time zone used for time restrictions. + 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 + - America/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 + - America/Lima + - 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 + - Edinburgh + - Europe/London + - Lisbon + - Europe/Lisbon + - London + - Europe/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 + - Casablanca + - Africa/Casablanca + - 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 + - Europe/Zurich + - Athens + - Europe/Athens + - Bucharest + - Europe/Bucharest + - Cairo + - Africa/Cairo + - Harare + - Africa/Harare + - Helsinki + - Europe/Helsinki + - Jerusalem + - Asia/Jerusalem + - Kaliningrad + - Europe/Kaliningrad + - Kyiv + - Europe/Kiev + - 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 + - Europe/Moscow + - Volgograd + - Europe/Volgograd + - Tehran + - Asia/Tehran + - Abu Dhabi + - Asia/Muscat + - Baku + - Asia/Baku + - Muscat + - Asia/Muscat + - Samara + - Europe/Samara + - Tbilisi + - Asia/Tbilisi + - Yerevan + - Asia/Yerevan + - Kabul + - Asia/Kabul + - Almaty + - Asia/Almaty + - Astana + - Asia/Almaty + - Ekaterinburg + - Asia/Yekaterinburg + - Islamabad + - Asia/Karachi + - Karachi + - Asia/Karachi + - Tashkent + - Asia/Tashkent + - Chennai + - Asia/Kolkata + - Kolkata + - Asia/Kolkata + - Mumbai + - Asia/Kolkata + - New Delhi + - Asia/Kolkata + - Sri Jayawardenepura + - Asia/Colombo + - Kathmandu + - Asia/Kathmandu + - Dhaka + - Asia/Dhaka + - Urumqi + - Asia/Urumqi + - Rangoon + - Asia/Rangoon + - Bangkok + - Asia/Bangkok + - Hanoi + - Asia/Bangkok + - 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 + - Asia/Tokyo + - Seoul + - Asia/Seoul + - Tokyo + - Asia/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 + - Pacific/Auckland + - Chatham Is. + - Pacific/Chatham + - Nuku'alofa + - Pacific/Tongatapu + - Samoa + - Pacific/Apia + - Tokelau Is. + - Pacific/Fakaofo + 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' type: array + type: object + update_escalation_policy_path_data: + properties: + type: + enum: + - escalation_paths + type: string + attributes: + $ref: '#/components/schemas/update_escalation_policy_path_data_attributes' required: - - rule_type - - urgency_ids - escalation_policy_path_rules_inner: - anyOf: - - $ref: '#/components/schemas/escalation_policy_path_rules_inner_anyOf' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_1' - - $ref: '#/components/schemas/new_escalation_policy_path_data_attributes_rules_inner_anyOf_2' - nullable: true + - attributes + - type type: object escalation_policy_path_response_data: properties: @@ -54488,12 +48328,13 @@ components: additionalProperties: false properties: delay: - description: Delay before notification targets will be alerted. + description: Delay before notifying targets in the next Escalation Level. type: integer position: description: Position of the escalation policy level type: integer paging_strategy_configuration_strategy: + default: default enum: - default - random @@ -54502,6 +48343,7 @@ components: nullable: true type: string paging_strategy_configuration_schedule_strategy: + default: on_call_only enum: - on_call_only - everyone @@ -54566,7 +48408,7 @@ components: additionalProperties: false properties: delay: - description: Delay before notification targets will be alerted. + description: Delay before notifying targets in the next Escalation Level. type: integer position: description: Position of the escalation policy level @@ -54578,6 +48420,7 @@ components: nullable: true type: string paging_strategy_configuration_strategy: + default: default enum: - default - random @@ -54586,6 +48429,7 @@ components: nullable: true type: string paging_strategy_configuration_schedule_strategy: + default: on_call_only enum: - on_call_only - everyone @@ -54646,15 +48490,15 @@ components: description: The ID of the form field type: string value: - description: The value of the form_field_option + description: The value of the form field option type: string color: - description: The hex color of the form_field_option + description: The hex color of the form field option type: string default: type: boolean position: - description: The position of the form_field_option + description: The position of the form field option type: integer required: - form_field_id @@ -54676,15 +48520,15 @@ components: additionalProperties: false properties: value: - description: The value of the form_field_option + description: The value of the form field option type: string color: - description: The hex color of the form_field_option + description: The hex color of the form field option type: string default: type: boolean position: - description: The position of the form_field_option + description: The position of the form field option type: integer type: object update_form_field_option_data: @@ -54702,7 +48546,7 @@ components: form_field_option_response_data: properties: id: - description: Unique ID of the form_field_option + description: Unique ID of the form field option type: string type: enum: @@ -54735,6 +48579,7 @@ components: description: The condition comparison. enum: - equal + - not_equal - is_set - is_not_set type: string @@ -54781,6 +48626,7 @@ components: description: The condition comparison. enum: - equal + - not_equal - is_set - is_not_set type: string @@ -54849,6 +48695,9 @@ components: - and - or type: string + non_editable: + description: Whether the field is read-only and cannot be edited by users. + type: boolean required: - form - form_set_id @@ -54894,6 +48743,9 @@ components: - and - or type: string + non_editable: + description: Whether the field is read-only and cannot be edited by users. + type: boolean type: object update_form_field_placement_data: properties: @@ -55067,6 +48919,7 @@ components: - mitigated_at - resolved_at - closed_at + - custom_sub_status - manual_starting_datetime_field type: string input_kind: @@ -55092,6 +48945,9 @@ components: - functionality - user - catalog_entity + - environment + - cause + - incident_type type: string value_kind_catalog_id: description: The ID of the catalog used when value_kind is `catalog_entity` @@ -55141,6 +48997,11 @@ components: description: The default values. type: string type: array + auto_set_by_catalog_property_id: + description: Catalog property ID to auto-set this form field. Only reference-kind + catalog properties are supported. + nullable: true + type: string required: - kind - name @@ -55191,6 +49052,7 @@ components: - mitigated_at - resolved_at - closed_at + - custom_sub_status - manual_starting_datetime_field type: string input_kind: @@ -55216,6 +49078,9 @@ components: - functionality - user - catalog_entity + - environment + - cause + - incident_type type: string value_kind_catalog_id: description: The ID of the catalog used when value_kind is `catalog_entity` @@ -55265,6 +49130,11 @@ components: description: The default values. type: string type: array + auto_set_by_catalog_property_id: + description: Catalog property ID to auto-set this form field. Only reference-kind + catalog properties are supported. + nullable: true + type: string type: object update_form_field_data: properties: @@ -55560,18 +49430,22 @@ components: type: string nullable: true type: array - owners_group_ids: + owner_group_ids: description: Owner Teams associated with this functionality items: type: string nullable: true type: array - owners_user_ids: + owner_user_ids: description: Owner Users associated with this functionality items: type: integer nullable: true type: array + escalation_policy_id: + description: The escalation policy id of the functionality + nullable: true + type: string slack_channels: description: Slack Channels associated with this functionality items: @@ -55584,6 +49458,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this functionality. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array required: - name type: object @@ -55668,18 +49547,22 @@ components: type: string nullable: true type: array - owners_group_ids: + owner_group_ids: description: Owner Teams associated with this functionality items: type: string nullable: true type: array - owners_user_ids: + owner_user_ids: description: Owner Users associated with this functionality items: type: integer nullable: true type: array + escalation_policy_id: + description: The escalation policy id of the functionality + nullable: true + type: string slack_channels: description: Slack Channels associated with this functionality items: @@ -55692,6 +49575,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this functionality. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array type: object update_functionality_data: properties: @@ -55762,6 +49650,22 @@ components: name: type: string type: object + create_coda_page_task_params_doc: + description: The Coda doc object with id and name + properties: + id: + type: string + name: + type: string + type: object + create_github_issue_task_params_issue_type: + description: The issue type + properties: + id: + type: string + name: + type: string + type: object create_incident_postmortem_task_params_template: description: Retrospective template to use nullable: true @@ -55827,6 +49731,13 @@ components: name: type: string type: object + create_microsoft_teams_chat_task_params_members_inner: + properties: + email: + type: string + name: + type: string + type: object create_notion_page_task_params_parent_page: description: The parent page id and display name properties: @@ -55835,6 +49746,22 @@ components: name: type: string type: object + update_confluence_page_task_params_template: + description: The Confluence template to use + properties: + id: + type: string + name: + type: string + type: object + update_datadog_notebook_task_params_template: + description: The Datadog notebook template to use + properties: + id: + type: string + name: + type: string + type: object create_service_now_incident_task_params_completion: description: The completion id and display name properties: @@ -55876,15 +49803,32 @@ components: name: type: string type: object - genius_create_openai_chat_completion_task_params_model: - description: "The OpenAI model. eg: gpt-4o-mini" + update_github_issue_task_params_repository: + description: The repository (used for loading labels and issue types) + properties: + id: + type: string + name: + type: string + type: object + update_linear_issue_task_params_state: + description: The state id and display name + nullable: true + properties: + id: + type: string + name: + type: string + type: object + create_openai_chat_completion_task_params_model: + description: "The OpenAI model. eg: gpt-5-nano" properties: id: type: string name: type: string type: object - genius_create_watsonx_chat_completion_task_params_model: + create_watsonx_chat_completion_task_params_model: description: "The WatsonX model. eg: ibm/granite-3-b8b-instruct" properties: id: @@ -55892,6 +49836,30 @@ components: name: type: string type: object + create_google_gemini_chat_completion_task_params_model: + description: "The Gemini model. eg: gemini-2.0-flash" + properties: + id: + type: string + name: + type: string + type: object + create_mistral_chat_completion_task_params_model: + description: "The Mistral model. eg: mistral-large-latest" + properties: + id: + type: string + name: + type: string + type: object + create_anthropic_chat_completion_task_params_model: + description: "The Anthropic model. eg: claude-3-5-sonnet-20241022" + properties: + id: + type: string + name: + type: string + type: object new_workflow_task_data_attributes_task_params: oneOf: - $ref: '#/components/schemas/add_action_item_task_params' @@ -55933,6 +49901,7 @@ components: - $ref: '#/components/schemas/create_google_meeting_task_params' - $ref: '#/components/schemas/create_go_to_meeting_task_params' - $ref: '#/components/schemas/create_incident_task_params' + - $ref: '#/components/schemas/create_sub_incident_task_params' - $ref: '#/components/schemas/create_incident_postmortem_task_params' - $ref: '#/components/schemas/create_jira_issue_task_params' - $ref: '#/components/schemas/create_jira_subtask_task_params' @@ -55941,14 +49910,22 @@ components: - $ref: '#/components/schemas/create_linear_issue_comment_task_params' - $ref: '#/components/schemas/create_microsoft_teams_meeting_task_params' - $ref: '#/components/schemas/create_microsoft_teams_channel_task_params' + - $ref: '#/components/schemas/create_microsoft_teams_chat_task_params' - $ref: '#/components/schemas/add_microsoft_teams_tab_task_params' + - $ref: '#/components/schemas/add_microsoft_teams_chat_tab_task_params' - $ref: '#/components/schemas/archive_microsoft_teams_channels_task_params' - $ref: '#/components/schemas/rename_microsoft_teams_channel_task_params' - $ref: '#/components/schemas/invite_to_microsoft_teams_channel_task_params' - $ref: '#/components/schemas/create_notion_page_task_params' - $ref: '#/components/schemas/send_microsoft_teams_message_task_params' + - $ref: '#/components/schemas/send_microsoft_teams_chat_message_task_params' - $ref: '#/components/schemas/send_microsoft_teams_blocks_task_params' - $ref: '#/components/schemas/update_notion_page_task_params' + - $ref: '#/components/schemas/update_quip_page_task_params' + - $ref: '#/components/schemas/update_confluence_page_task_params' + - $ref: '#/components/schemas/update_sharepoint_page_task_params' + - $ref: '#/components/schemas/update_dropbox_paper_page_task_params' + - $ref: '#/components/schemas/update_datadog_notebook_task_params' - $ref: '#/components/schemas/create_service_now_incident_task_params' - $ref: '#/components/schemas/create_shortcut_story_task_params' - $ref: '#/components/schemas/create_shortcut_task_task_params' @@ -55971,6 +49948,8 @@ components: - $ref: '#/components/schemas/invite_to_slack_channel_victor_ops_task_params' - $ref: '#/components/schemas/page_opsgenie_on_call_responders_task_params' - $ref: '#/components/schemas/create_opsgenie_alert_task_params' + - $ref: '#/components/schemas/create_jsmops_alert_task_params' + - $ref: '#/components/schemas/page_jsmops_on_call_responders_task_params' - $ref: '#/components/schemas/update_opsgenie_alert_task_params' - $ref: '#/components/schemas/update_opsgenie_incident_task_params' - $ref: '#/components/schemas/page_rootly_on_call_responders_task_params' @@ -56015,8 +49994,11 @@ components: - $ref: '#/components/schemas/update_attached_alerts_task_params' - $ref: '#/components/schemas/trigger_workflow_task_params' - $ref: '#/components/schemas/send_slack_blocks_task_params' - - $ref: '#/components/schemas/genius_create_openai_chat_completion_task_params' - - $ref: '#/components/schemas/genius_create_watsonx_chat_completion_task_params' + - $ref: '#/components/schemas/create_openai_chat_completion_task_params' + - $ref: '#/components/schemas/create_watsonx_chat_completion_task_params' + - $ref: '#/components/schemas/create_google_gemini_chat_completion_task_params' + - $ref: '#/components/schemas/create_mistral_chat_completion_task_params' + - $ref: '#/components/schemas/create_anthropic_chat_completion_task_params' new_workflow_task_data_attributes: additionalProperties: false properties: @@ -56091,6 +50073,7 @@ components: - $ref: '#/components/schemas/create_google_meeting_task_params' - $ref: '#/components/schemas/create_go_to_meeting_task_params' - $ref: '#/components/schemas/create_incident_task_params' + - $ref: '#/components/schemas/create_sub_incident_task_params' - $ref: '#/components/schemas/create_incident_postmortem_task_params' - $ref: '#/components/schemas/create_jira_issue_task_params' - $ref: '#/components/schemas/create_jira_subtask_task_params' @@ -56099,14 +50082,22 @@ components: - $ref: '#/components/schemas/create_linear_issue_comment_task_params' - $ref: '#/components/schemas/create_microsoft_teams_meeting_task_params' - $ref: '#/components/schemas/create_microsoft_teams_channel_task_params' + - $ref: '#/components/schemas/create_microsoft_teams_chat_task_params' - $ref: '#/components/schemas/add_microsoft_teams_tab_task_params' + - $ref: '#/components/schemas/add_microsoft_teams_chat_tab_task_params' - $ref: '#/components/schemas/archive_microsoft_teams_channels_task_params' - $ref: '#/components/schemas/rename_microsoft_teams_channel_task_params' - $ref: '#/components/schemas/invite_to_microsoft_teams_channel_task_params' - $ref: '#/components/schemas/create_notion_page_task_params' - $ref: '#/components/schemas/send_microsoft_teams_message_task_params' + - $ref: '#/components/schemas/send_microsoft_teams_chat_message_task_params' - $ref: '#/components/schemas/send_microsoft_teams_blocks_task_params' - $ref: '#/components/schemas/update_notion_page_task_params' + - $ref: '#/components/schemas/update_quip_page_task_params' + - $ref: '#/components/schemas/update_confluence_page_task_params' + - $ref: '#/components/schemas/update_sharepoint_page_task_params' + - $ref: '#/components/schemas/update_dropbox_paper_page_task_params' + - $ref: '#/components/schemas/update_datadog_notebook_task_params' - $ref: '#/components/schemas/create_service_now_incident_task_params' - $ref: '#/components/schemas/create_shortcut_story_task_params' - $ref: '#/components/schemas/create_shortcut_task_task_params' @@ -56129,6 +50120,8 @@ components: - $ref: '#/components/schemas/invite_to_slack_channel_victor_ops_task_params' - $ref: '#/components/schemas/page_opsgenie_on_call_responders_task_params' - $ref: '#/components/schemas/create_opsgenie_alert_task_params' + - $ref: '#/components/schemas/create_jsmops_alert_task_params' + - $ref: '#/components/schemas/page_jsmops_on_call_responders_task_params' - $ref: '#/components/schemas/update_opsgenie_alert_task_params' - $ref: '#/components/schemas/update_opsgenie_incident_task_params' - $ref: '#/components/schemas/page_rootly_on_call_responders_task_params' @@ -56173,8 +50166,11 @@ components: - $ref: '#/components/schemas/update_attached_alerts_task_params' - $ref: '#/components/schemas/trigger_workflow_task_params' - $ref: '#/components/schemas/send_slack_blocks_task_params' - - $ref: '#/components/schemas/genius_create_openai_chat_completion_task_params' - - $ref: '#/components/schemas/genius_create_watsonx_chat_completion_task_params' + - $ref: '#/components/schemas/create_openai_chat_completion_task_params' + - $ref: '#/components/schemas/create_watsonx_chat_completion_task_params' + - $ref: '#/components/schemas/create_google_gemini_chat_completion_task_params' + - $ref: '#/components/schemas/create_mistral_chat_completion_task_params' + - $ref: '#/components/schemas/create_anthropic_chat_completion_task_params' update_workflow_task_data_attributes: additionalProperties: false properties: @@ -56238,6 +50234,7 @@ components: description: The trigger condition enum: - IS + - IS NOT - ANY - CONTAINS - CONTAINS_ALL @@ -56280,6 +50277,7 @@ components: description: The trigger condition enum: - IS + - IS NOT - ANY - CONTAINS - CONTAINS_ALL @@ -56343,6 +50341,7 @@ components: description: The trigger condition enum: - IS + - IS NOT - ANY - CONTAINS - CONTAINS_ALL @@ -56388,6 +50387,21 @@ components: description: The selected user id for select and multi_select kinds type: integer type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array required: - form_field_id - incident_condition @@ -56412,6 +50426,7 @@ components: description: The trigger condition enum: - IS + - IS NOT - ANY - CONTAINS - CONTAINS_ALL @@ -56457,6 +50472,21 @@ components: description: The selected user id for select and multi_select kinds type: integer type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array type: object update_workflow_form_field_condition_data: properties: @@ -56760,9 +50790,6 @@ components: name: description: The title of the workflow type: string - slug: - description: The slug of the workflow - type: string description: description: The description of the workflow nullable: true @@ -56885,15 +50912,75 @@ components: - attributes - type type: object + alert_trigger_params_alert_field_conditions_inner: + properties: + alert_field_id: + type: string + condition_type: + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + values: + items: + type: string + type: array + required: + - alert_field_id + - condition_type + type: object + alert_trigger_params_alert_payload_conditions_conditions_inner: + properties: + query: + type: string + operator: + enum: + - IS + - IS NOT + - ANY + - CONTAINS + - CONTAINS_ALL + - CONTAINS_NONE + - NONE + - SET + - UNSET + type: string + values: + items: + type: string + type: array + use_regexp: + type: boolean + required: + - operator + - query + type: object + alert_trigger_params_alert_payload_conditions: + properties: + logic: + enum: + - ALL + - ANY + - NONE + type: string + conditions: + items: + $ref: '#/components/schemas/alert_trigger_params_alert_payload_conditions_conditions_inner' + type: array + type: object update_workflow_data_attributes: additionalProperties: false properties: name: description: The title of the workflow type: string - slug: - description: The slug of the workflow - type: string description: description: The description of the workflow nullable: true @@ -57011,18 +51098,42 @@ components: - id - type type: object - new_live_call_router_data_attributes_escalation_policy_trigger_params: + new_live_call_router_data_attributes_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 + new_live_call_router_data_attributes_escalation_policy_trigger_params: properties: id: description: The ID of notification target type: string type: - description: The type of the notification target + description: The type of the notification target. Please contact support + if you encounter issues using `functionality` as a target type. enum: - service - group - escalation_policy + - functionality type: string required: - id @@ -57046,17 +51157,21 @@ components: country_code: description: The country code of the live_call_router enum: - - US - - GB - - NZ - - CA - AU + - CA + - DE + - NL + - NZ + - SE + - GB + - US type: string phone_type: description: The phone type of the live_call_router enum: - local - toll_free + - mobile type: string phone_number: description: "You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number)\ @@ -57070,6 +51185,14 @@ components: type: string waiting_music_url: description: The waiting music URL of the live_call_router + enum: + - https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3 + - https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3 + - https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3 + - https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3 + - https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3 type: string sent_to_voicemail_delay: description: The delay (seconds) after which the caller in redirected to @@ -57087,15 +51210,31 @@ components: alert_urgency_id: description: This is used in escalation paths to determine who to page type: string + calling_tree_enabled: + description: "Whether the live call router is configured as a phone tree,\ + \ requiring callers to press a key before being connected" + type: boolean + calling_tree_prompt: + description: "The audio instructions callers will hear when they call this\ + \ number, prompting them to select from available options to route their\ + \ call" + type: string + paging_targets: + 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' + type: array escalation_policy_trigger_params: $ref: '#/components/schemas/new_live_call_router_data_attributes_escalation_policy_trigger_params' required: - country_code - - escalation_policy_trigger_params - kind - name + - paging_targets - phone_number - phone_type + - voicemail_greeting type: object new_live_call_router_data: properties: @@ -57110,17 +51249,18 @@ components: - type type: object update_live_call_router_data_attributes_escalation_policy_trigger_params: - nullable: true properties: id: description: The ID of notification target type: string type: - description: The type of the notification target + 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 @@ -57144,17 +51284,21 @@ components: country_code: description: The country code of the live_call_router enum: - - US - - GB - - NZ - - CA - AU + - CA + - DE + - NL + - NZ + - SE + - GB + - US type: string phone_type: description: The phone type of the live_call_router enum: - local - toll_free + - mobile type: string voicemail_greeting: description: The voicemail greeting of the live_call_router @@ -57164,6 +51308,14 @@ components: type: string waiting_music_url: description: The waiting music URL of the live_call_router + enum: + - https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3 + - https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3 + - https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3 + - https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3 + - https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3 + - https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3 type: string sent_to_voicemail_delay: description: The delay (seconds) after which the caller in redirected to @@ -57181,6 +51333,21 @@ components: alert_urgency_id: description: This is used in escalation paths to determine who to page type: string + calling_tree_enabled: + description: "Whether the live call router is configured as a phone tree,\ + \ requiring callers to press a key before being connected" + type: boolean + calling_tree_prompt: + description: "The audio instructions callers will hear when they call this\ + \ number, prompting them to select from available options to route their\ + \ call" + type: string + paging_targets: + 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' + type: array escalation_policy_trigger_params: $ref: '#/components/schemas/update_live_call_router_data_attributes_escalation_policy_trigger_params' type: object @@ -57227,6 +51394,10 @@ components: alert_summary: description: Summary of alerts triggered when heartbeat expires. type: string + alert_description: + description: Description of alerts triggered when heartbeat expires. + nullable: true + type: string alert_urgency_id: description: Urgency of alerts triggered when heartbeat expires. nullable: true @@ -57235,18 +51406,21 @@ components: type: integer interval_unit: enum: - - seconds - minutes - hours + - days type: string notification_target_id: type: string notification_target_type: + description: The type of the notification target. Please contact support + if you encounter issues using `Functionality` as a target type. enum: - User - Group - Service - EscalationPolicy + - Functionality type: string enabled: description: Whether to trigger alerts when heartbeat is expired. @@ -57284,6 +51458,10 @@ components: alert_summary: description: Summary of alerts triggered when heartbeat expires. type: string + alert_description: + description: Description of alerts triggered when heartbeat expires. + nullable: true + type: string alert_urgency_id: description: Urgency of alerts triggered when heartbeat expires. nullable: true @@ -57292,18 +51470,21 @@ components: type: integer interval_unit: enum: - - seconds - minutes - hours + - days type: string notification_target_id: type: string notification_target_type: + description: The type of the notification target. Please contact support + if you encounter issues using `Functionality` as a target type. enum: - User - Group - Service - EscalationPolicy + - Functionality type: string enabled: description: Whether to trigger alerts when heartbeat is expired. @@ -57387,6 +51568,10 @@ components: description: The Jira issue ID. nullable: true type: string + jira_issue_key: + description: The Jira issue key. + nullable: true + type: string jira_issue_url: description: The Jira issue URL. nullable: true @@ -57455,6 +51640,10 @@ components: description: The Jira issue ID. nullable: true type: string + jira_issue_key: + description: The Jira issue key. + nullable: true + type: string jira_issue_url: description: The Jira issue URL. nullable: true @@ -57913,6 +52102,21 @@ components: description: The selected users for select and multi_select kinds type: integer type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array required: - form_field_id - incident_id @@ -57968,6 +52172,21 @@ components: description: The selected users for select and multi_select kinds type: integer type: array + selected_environment_ids: + items: + description: The selected environments for select and multi_select kinds + type: string + type: array + selected_cause_ids: + items: + description: The selected causes for select and multi_select kinds + type: string + type: array + selected_incident_type_ids: + items: + description: The selected incident types for select and multi_select kinds + type: string + type: array type: object update_incident_form_field_selection_data: properties: @@ -58231,9 +52450,6 @@ components: name: description: The incident permission set name. type: string - slug: - description: The incident permission set slug. - type: string description: description: The incident permission set description. nullable: true @@ -58277,9 +52493,6 @@ components: name: description: The incident permission set name. type: string - slug: - description: The incident permission set slug. - type: string description: description: The incident permission set description. nullable: true @@ -58388,7 +52601,7 @@ components: description: Show action items (follow-ups) in the incident retrospective type: boolean cause_ids: - description: The Cause ID's to attach to the incident retrospective + description: The Cause IDs to attach to the incident retrospective items: type: string nullable: true @@ -58680,7 +52893,6 @@ components: - resolved - scheduled - in_progress - - verifying - completed type: string notify_subscribers: @@ -58727,7 +52939,6 @@ components: - resolved - scheduled - in_progress - - verifying - completed type: string notify_subscribers: @@ -58808,6 +53019,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this incident type. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array required: - name type: object @@ -58859,6 +53075,11 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + properties: + description: Array of property values for this incident type. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array type: object update_incident_type_data: properties: @@ -58909,6 +53130,7 @@ components: - normal_sub - backfilled - scheduled + - scheduled_sub nullable: true type: string parent_incident_id: @@ -58938,38 +53160,56 @@ components: description: The Severity ID to attach to the incident nullable: true type: string + public_title: + description: The public title of the incident + nullable: true + type: string + alert_ids: + description: The Alert IDs to attach to the incident + items: + type: string + nullable: true + type: array environment_ids: - description: The Environment ID's to attach to the incident + description: The Environment IDs to attach to the incident items: type: string nullable: true type: array incident_type_ids: - description: The Incident Type ID's to attach to the incident + description: The Incident Type IDs to attach to the incident items: type: string nullable: true type: array service_ids: - description: The Service ID's to attach to the incident + description: The Service IDs to attach to the incident items: type: string nullable: true type: array functionality_ids: - description: The Functionality ID's to attach to the incident + description: The Functionality IDs to attach to the incident items: type: string nullable: true type: array group_ids: - description: The Team ID's to attach to the incident + description: The Team IDs to attach to the incident items: type: string nullable: true type: array cause_ids: - description: The Cause ID's to attach to the incident + description: The Cause IDs to attach to the incident + items: + type: string + nullable: true + type: array + muted_service_ids: + description: "The Service IDs to mute alerts for during maintenance. Alerts\ + \ for these services will still be triggered and attached to the incident,\ + \ but won't page responders." items: type: string nullable: true @@ -58983,6 +53223,38 @@ components: description: Slack channel name nullable: true type: string + slack_channel_id: + description: Slack channel id + nullable: true + type: string + slack_channel_url: + description: Slack channel url + nullable: true + type: string + slack_channel_archived: + description: Whether the Slack channel is archived + nullable: true + type: boolean + google_drive_parent_id: + description: Google Drive parent folder ID + nullable: true + type: string + google_drive_url: + description: Google Drive URL + nullable: true + type: string + jira_issue_key: + description: Jira issue key + nullable: true + type: string + jira_issue_id: + description: Jira issue ID + nullable: true + type: string + jira_issue_url: + description: Jira issue URL + nullable: true + type: string notify_emails: description: Emails you want to notify items: @@ -59039,6 +53311,10 @@ components: description: Date of resolution nullable: true type: string + closed_at: + description: Date of closure + nullable: true + type: string cancelled_at: description: Date of cancellation nullable: true @@ -59075,6 +53351,7 @@ components: - normal_sub - backfilled - scheduled + - scheduled_sub nullable: true type: string parent_incident_id: @@ -59115,38 +53392,56 @@ components: description: The Severity ID to attach to the incident nullable: true type: string + public_title: + description: The public title of the incident + nullable: true + type: string + alert_ids: + description: The Alert IDs to attach to the incident + items: + type: string + nullable: true + type: array environment_ids: - description: The Environment ID's to attach to the incident + description: The Environment IDs to attach to the incident items: type: string nullable: true type: array incident_type_ids: - description: The Incident Type ID's to attach to the incident + description: The Incident Type IDs to attach to the incident items: type: string nullable: true type: array service_ids: - description: The Service ID's to attach to the incident + description: The Service IDs to attach to the incident items: type: string nullable: true type: array functionality_ids: - description: The Functionality ID's to attach to the incident + description: The Functionality IDs to attach to the incident + items: + type: string + nullable: true + type: array + muted_service_ids: + description: "The Service IDs to mute alerts for during maintenance. Alerts\ + \ for these services will still be triggered and attached to the incident,\ + \ but won't page responders." items: type: string nullable: true type: array group_ids: - description: The Team ID's to attach to the incident + description: The Team IDs to attach to the incident items: type: string nullable: true type: array cause_ids: - description: The Cause ID's to attach to the incident + description: The Cause IDs to attach to the incident items: type: string nullable: true @@ -59168,6 +53463,30 @@ components: description: Slack channel url nullable: true type: string + slack_channel_archived: + description: Whether the Slack channel is archived + nullable: true + type: boolean + google_drive_parent_id: + description: Google Drive parent folder ID + nullable: true + type: string + google_drive_url: + description: Google Drive URL + nullable: true + type: string + jira_issue_key: + description: Jira issue key + nullable: true + type: string + jira_issue_id: + description: Jira issue ID + nullable: true + type: string + jira_issue_url: + description: Jira issue URL + nullable: true + type: string scheduled_for: description: Date of when the maintenance begins nullable: true @@ -59200,10 +53519,26 @@ components: description: Date of resolution nullable: true type: string + closed_at: + description: Date of closure + nullable: true + type: string cancelled_at: description: Date of cancellation nullable: true type: string + mitigation_message: + description: How was the incident mitigated? + nullable: true + type: string + resolution_message: + description: How was the incident resolved? + nullable: true + type: string + cancellation_message: + description: Why was the incident cancelled? + nullable: true + type: string type: object update_incident_data: properties: @@ -59431,6 +53766,19 @@ components: - attributes - type type: object + incident_zoom_meeting_global_dial_in_numbers_inner: + properties: + country: + type: string + country_name: + type: string + city: + type: string + number: + type: string + type: + type: string + type: object incident_response_data: properties: id: @@ -59467,6 +53815,103 @@ components: - id - type type: object + meeting_recording_list_data_inner: + properties: + id: + description: Unique UUID of the meeting recording + type: string + type: + enum: + - meeting_recordings + type: string + attributes: + allOf: + - $ref: '#/components/schemas/meeting_recording' + type: object + required: + - attributes + - id + - type + type: object + new_on_call_pay_report_data_attributes: + additionalProperties: false + properties: + start_date: + description: The start date for the report period. + format: date + type: string + end_date: + description: The end date for the report period. + format: date + type: string + schedule_ids: + description: List of schedule UUIDs to scope the report. + items: + type: string + type: array + required: + - end_date + - start_date + type: object + new_on_call_pay_report_data: + properties: + type: + enum: + - on_call_pay_reports + type: string + attributes: + $ref: '#/components/schemas/new_on_call_pay_report_data_attributes' + required: + - attributes + - type + type: object + update_on_call_pay_report_data_attributes: + additionalProperties: false + properties: + start_date: + description: The start date for the report period. + format: date + type: string + end_date: + description: The end date for the report period. + format: date + type: string + schedule_ids: + description: List of schedule UUIDs to scope the report. + items: + type: string + type: array + type: object + update_on_call_pay_report_data: + properties: + type: + enum: + - on_call_pay_reports + type: string + attributes: + $ref: '#/components/schemas/update_on_call_pay_report_data_attributes' + required: + - attributes + - type + type: object + on_call_pay_report_response_data: + properties: + id: + description: Unique ID of the on_call_pay_report + type: string + type: + enum: + - on_call_pay_reports + type: string + attributes: + allOf: + - $ref: '#/components/schemas/on_call_pay_report' + type: object + required: + - attributes + - id + - type + type: object new_on_call_shadow_data_attributes: additionalProperties: false properties: @@ -59597,9 +54042,6 @@ components: name: description: The role name. type: string - slug: - description: The role slug. - type: string system_role: description: The kind of role (user and custom type roles are only editable) items: @@ -59607,13 +54049,57 @@ components: - admin - user - custom + - observer - no_access type: string type: array + alert_fields_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_groups_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_routing_rules_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + on_call_readiness_report_permissions: + items: + enum: + - read + type: string + type: array + on_call_roles_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array alert_sources_permissions: items: enum: - create + - read - update - delete type: string @@ -59633,6 +54119,7 @@ components: - create - update - read + - delete type: string type: array api_keys_permissions: @@ -59758,7 +54245,6 @@ components: type: array required: - name - - system_role type: object new_on_call_role_data: properties: @@ -59778,9 +54264,6 @@ components: name: description: The role name. type: string - slug: - description: The role slug. - type: string system_role: description: The kind of role (user and custom type roles are only editable) items: @@ -59788,6 +54271,7 @@ components: - admin - user - custom + - observer - no_access type: string type: array @@ -59795,6 +54279,7 @@ components: items: enum: - create + - read - update - delete type: string @@ -59808,12 +54293,55 @@ components: - delete type: string type: array + alert_fields_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_groups_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + alert_routing_rules_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + on_call_readiness_report_permissions: + items: + enum: + - read + type: string + type: array + on_call_roles_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array alerts_permissions: items: enum: - create - update - read + - delete type: string type: array api_keys_permissions: @@ -60149,37 +54677,37 @@ components: nullable: true type: string severity_ids: - description: The Severity ID's to attach to the incident + description: The Severity IDs to attach to the incident items: type: string nullable: true type: array environment_ids: - description: The Environment ID's to attach to the incident + description: The Environment IDs to attach to the incident items: type: string nullable: true type: array service_ids: - description: The Service ID's to attach to the incident + description: The Service IDs to attach to the incident items: type: string nullable: true type: array functionality_ids: - description: The Functionality ID's to attach to the incident + description: The Functionality IDs to attach to the incident items: type: string nullable: true type: array group_ids: - description: The Team ID's to attach to the incident + description: The Team IDs to attach to the incident items: type: string nullable: true type: array incident_type_ids: - description: The Incident Type ID's to attach to the incident + description: The Incident Type IDs to attach to the incident items: type: string nullable: true @@ -60214,37 +54742,37 @@ components: nullable: true type: string severity_ids: - description: The Severity ID's to attach to the incident + description: The Severity IDs to attach to the incident items: type: string nullable: true type: array environment_ids: - description: The Environment ID's to attach to the incident + description: The Environment IDs to attach to the incident items: type: string nullable: true type: array service_ids: - description: The Service ID's to attach to the incident + description: The Service IDs to attach to the incident items: type: string nullable: true type: array functionality_ids: - description: The Functionality ID's to attach to the incident + description: The Functionality IDs to attach to the incident items: type: string nullable: true type: array group_ids: - description: The Team ID's to attach to the incident + description: The Team IDs to attach to the incident items: type: string nullable: true type: array incident_type_ids: - description: The Incident Type ID's to attach to the incident + description: The Incident Type IDs to attach to the incident items: type: string nullable: true @@ -60291,7 +54819,9 @@ components: nullable: true type: boolean content: - description: The postmortem template. Liquid syntax is supported + description: "The postmortem template. Supports TipTap blocks (followup\ + \ and timeline components), Liquid syntax, and HTML. Will be sanitized\ + \ and applied to both content and content_html fields." type: string format: default: html @@ -60302,7 +54832,6 @@ components: nullable: true type: string required: - - content - name type: object new_post_mortem_template_data: @@ -60328,7 +54857,9 @@ components: nullable: true type: boolean content: - description: The postmortem template. Liquid syntax is supported + description: "The postmortem template. Supports TipTap blocks (followup\ + \ and timeline components), Liquid syntax, and HTML. Will be sanitized\ + \ and applied to both content and content_html fields." type: string format: default: html @@ -60351,6 +54882,37 @@ components: - attributes - type type: object + tiptap_block_schema_followup_component: + description: Followup component block + properties: + html: + description: "HTML representation:
" + example:
+ type: string + data_sort: + default: due_date + description: "Sort order for followups. Valid values: due_date, status,\ + \ priority" + enum: + - due_date + - status + - priority + type: string + required: + - html + type: object + tiptap_block_schema_timeline_component: + description: Timeline component block + properties: + html: + description: "HTML representation:
" + example:
+ type: string + required: + - html + type: object post_mortem_template_response_data: properties: id: @@ -60369,6 +54931,19 @@ components: - id - type type: object + new_pulse_data_attributes_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 new_pulse_data_attributes_refs_inner: nullable: true properties: @@ -60393,13 +54968,13 @@ components: description: The summary of the pulse type: string service_ids: - description: The Service ID's to attach to the pulse + description: The Service IDs to attach to the pulse items: type: string nullable: true type: array environment_ids: - description: The Environment ID's to attach to the pulse + description: The Environment IDs to attach to the pulse items: type: string nullable: true @@ -60420,7 +54995,7 @@ components: type: string labels: items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + $ref: '#/components/schemas/new_pulse_data_attributes_labels_inner' type: array refs: items: @@ -60456,13 +55031,13 @@ components: description: The summary of the pulse type: string service_ids: - description: The Service ID's to attach to the pulse + description: The Service IDs to attach to the pulse items: type: string nullable: true type: array environment_ids: - description: The Environment ID's to attach to the pulse + description: The Environment IDs to attach to the pulse items: type: string nullable: true @@ -60483,7 +55058,7 @@ components: type: string labels: items: - $ref: '#/components/schemas/new_alert_data_attributes_labels_inner' + $ref: '#/components/schemas/new_pulse_data_attributes_labels_inner' type: array refs: items: @@ -60528,19 +55103,19 @@ components: additionalProperties: false properties: severity_ids: - description: The Severity ID's to attach to the retrospective configuration + description: The Severity IDs to attach to the retrospective configuration items: type: string nullable: true type: array group_ids: - description: The Team ID's to attach to the retrospective configuration + description: The Team IDs to attach to the retrospective configuration items: type: string nullable: true type: array incident_type_ids: - description: The Incident Type ID's to attach to the retrospective configuration + description: The Incident Type IDs to attach to the retrospective configuration items: type: string nullable: true @@ -60598,7 +55173,7 @@ components: additionalProperties: false properties: severity_ids: - description: Severity ID's for retrospective process matching criteria + description: Severity IDs for retrospective process matching criteria items: type: string type: array @@ -60609,7 +55184,7 @@ components: additionalProperties: false properties: group_ids: - description: Team ID's for retrospective process matching criteria + description: Team IDs for retrospective process matching criteria items: type: string type: array @@ -60620,7 +55195,7 @@ components: additionalProperties: false properties: incident_type_ids: - description: Incident type ID's for retrospective process matching criteria + description: Incident type IDs for retrospective process matching criteria items: type: string type: array @@ -60833,9 +55408,6 @@ components: name: description: The role name. type: string - slug: - description: The role slug. - type: string incident_permission_set_id: description: Associated incident permissions set. nullable: true @@ -61071,6 +55643,70 @@ components: - delete type: string type: array + catalogs_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + sub_statuses_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + edge_connector_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + slas_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + paging_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_communication_permissions: + items: + enum: + - create + - read + - update + - delete + - send + type: string + type: array + communication_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array required: - name type: object @@ -61092,13 +55728,16 @@ components: name: description: The role name. type: string - slug: - description: The role slug. - type: string incident_permission_set_id: description: Associated incident permissions set. nullable: true type: string + is_deletable: + description: Whether the role can be deleted. + type: boolean + is_editable: + description: Whether the role can be edited. + type: boolean api_keys_permissions: items: enum: @@ -61315,6 +55954,70 @@ components: - delete type: string type: array + catalogs_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + sub_statuses_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + edge_connector_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + slas_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + paging_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array + incident_communication_permissions: + items: + enum: + - create + - read + - update + - delete + - send + type: string + type: array + communication_permissions: + items: + enum: + - create + - read + - update + - delete + type: string + type: array type: object update_role_data: properties: @@ -61609,6 +56312,24 @@ components: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes_oneOf_2' - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes_oneOf_3' type: object + new_schedule_rotation_data_attributes_schedule_rotation_members_inner: + properties: + member_type: + description: Type of member + enum: + - User + - Schedule + type: string + member_id: + description: ID of the member + type: string + position: + description: Position of the member in rotation + type: integer + required: + - member_id + - member_type + type: object new_schedule_rotation_data_attributes: additionalProperties: false properties: @@ -61665,79 +56386,117 @@ components: type: string schedule_rotationable_attributes: $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' - required: - - name - - schedule_rotationable_attributes - - schedule_rotationable_type - type: object - new_schedule_rotation_data: - properties: - type: - enum: - - schedule_rotations - type: string - attributes: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes' - required: - - attributes - - type - type: object - update_schedule_rotation_data_attributes: - additionalProperties: false - properties: - name: - description: The name of the schedule rotation + start_time: + description: RFC3339 date-time when rotation starts. Shifts will only be + created after this time. + format: date-time + nullable: true + type: string + end_time: + description: RFC3339 date-time when rotation ends. Shifts will only be created + before this time. + format: date-time + nullable: true + type: string + schedule_rotation_members: + description: You can only add schedule rotation members if your account + has schedule nesting feature enabled + items: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotation_members_inner' + nullable: true + type: array + required: + - name + - schedule_rotationable_attributes + - schedule_rotationable_type + type: object + new_schedule_rotation_data: + properties: + type: + enum: + - schedule_rotations + type: string + attributes: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes' + required: + - attributes + - type + type: object + update_schedule_rotation_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the schedule rotation + type: string + position: + description: Position of the schedule rotation + type: integer + schedule_rotationable_type: + description: Schedule rotation type + enum: + - ScheduleDailyRotation + - ScheduleWeeklyRotation + - ScheduleBiweeklyRotation + - ScheduleMonthlyRotation + - ScheduleCustomRotation + type: string + active_all_week: + default: true + description: Schedule rotation active all week? + type: boolean + active_days: + items: + description: Schedule rotation active days + enum: + - S + - M + - T + - W + - R + - F + - U + type: string + type: array + active_time_type: + items: + default: all_day + description: Schedule rotation active time type + enum: + - all_day + - same_time + - custom + type: string + type: array + active_time_attributes: + description: Schedule rotation's active times + items: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_active_time_attributes_inner' + type: array + time_zone: + default: Etc/UTC + description: A valid IANA time zone name. + type: string + schedule_rotationable_attributes: + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' + start_time: + description: RFC3339 date-time when rotation starts. Shifts will only be + created after this time. + format: date-time + nullable: true type: string - position: - description: Position of the schedule rotation - type: integer - schedule_rotationable_type: - description: Schedule rotation type - enum: - - ScheduleDailyRotation - - ScheduleWeeklyRotation - - ScheduleBiweeklyRotation - - ScheduleMonthlyRotation - - ScheduleCustomRotation + end_time: + description: RFC3339 date-time when rotation ends. Shifts will only be created + before this time. + format: date-time + nullable: true type: string - active_all_week: - default: true - description: Schedule rotation active all week? - type: boolean - active_days: - items: - description: Schedule rotation active days - enum: - - S - - M - - T - - W - - R - - F - - U - type: string - type: array - active_time_type: - items: - default: all_day - description: Schedule rotation active time type - enum: - - all_day - - same_time - - custom - type: string - type: array - active_time_attributes: - description: Schedule rotation's active times + schedule_rotation_members: + description: You can only update schedule rotation members if your account + has schedule nesting feature enabled items: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_active_time_attributes_inner' + $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotation_members_inner' + nullable: true type: array - time_zone: - default: Etc/UTC - description: A valid IANA time zone name. - type: string - schedule_rotationable_attributes: - $ref: '#/components/schemas/new_schedule_rotation_data_attributes_schedule_rotationable_attributes' required: - schedule_rotationable_type type: object @@ -61772,6 +56531,16 @@ components: - type type: object new_schedule_data_attributes_slack_user_group: + properties: + id: + description: Slack user group ID + type: string + name: + description: Slack user group name + type: string + type: object + new_schedule_data_attributes_slack_channel: + nullable: true properties: id: description: Slack channel ID @@ -61796,6 +56565,8 @@ components: type: boolean slack_user_group: $ref: '#/components/schemas/new_schedule_data_attributes_slack_user_group' + slack_channel: + $ref: '#/components/schemas/new_schedule_data_attributes_slack_channel' owner_group_ids: description: Owning teams. items: @@ -61803,10 +56574,18 @@ components: type: array owner_user_id: description: ID of the owner of the schedule - nullable: true type: integer + shift_start_notifications_enabled: + description: Whether shift-start notifications are enabled + nullable: true + type: boolean + shift_update_notifications_enabled: + description: Whether shift-update notifications are enabled + nullable: true + type: boolean required: - name + - owner_user_id type: object new_schedule_data: properties: @@ -61836,6 +56615,8 @@ components: type: boolean slack_user_group: $ref: '#/components/schemas/new_schedule_data_attributes_slack_user_group' + slack_channel: + $ref: '#/components/schemas/new_schedule_data_attributes_slack_channel' owner_group_ids: description: Owning teams. items: @@ -61845,6 +56626,14 @@ components: description: ID of the owner of the schedule nullable: true type: integer + shift_start_notifications_enabled: + description: Whether shift-start notifications are enabled + nullable: true + type: boolean + shift_update_notifications_enabled: + description: Whether shift-update notifications are enabled + nullable: true + type: boolean type: object update_schedule_data: properties: @@ -61861,6 +56650,17 @@ components: schedule_slack_user_group: description: Synced slack group of the schedule nullable: true + properties: + id: + description: Slack user group ID + type: string + name: + description: Slack user group name + type: string + type: object + schedule_slack_channel: + description: Synced slack channel of the schedule + nullable: true properties: id: description: Slack channel ID @@ -62006,6 +56806,32 @@ components: - id - type type: object + new_service_data_attributes_alert_broadcast_channel: + description: Slack channel to broadcast alerts to + nullable: true + properties: + id: + description: Slack channel ID + type: string + name: + description: Slack channel name + type: string + required: + - id + type: object + new_service_data_attributes_incident_broadcast_channel: + description: Slack channel to broadcast incidents to + nullable: true + properties: + id: + description: Slack channel ID + type: string + name: + description: Slack channel name + type: string + required: + - id + type: object new_service_data_attributes: additionalProperties: false properties: @@ -62107,18 +56933,23 @@ components: type: string nullable: true type: array - owners_group_ids: + owner_group_ids: description: Owner Teams associated with this service items: type: string nullable: true type: array - owners_user_ids: + owner_user_ids: description: Owner Users associated with this service items: type: integer nullable: true type: array + kubernetes_deployment_name: + description: "The Kubernetes deployment name associated to this service.\ + \ eg: namespace/deployment-name" + nullable: true + type: string alerts_email_enabled: description: Enable alerts through email nullable: true @@ -62127,6 +56958,10 @@ components: description: The alert urgency id of the service nullable: true type: string + escalation_policy_id: + description: The escalation policy id of the service + nullable: true + type: string slack_channels: description: Slack Channels associated with this service items: @@ -62139,6 +56974,23 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel + nullable: true + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_incident_broadcast_channel' + properties: + description: Array of property values for this service. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array required: - name type: object @@ -62238,13 +57090,13 @@ components: type: string nullable: true type: array - owners_group_ids: + owner_group_ids: description: Owner Teams associated with this service items: type: string nullable: true type: array - owners_user_ids: + owner_user_ids: description: Owner Users associated with this service items: type: integer @@ -62258,6 +57110,15 @@ components: description: The alert urgency id of the service nullable: true type: string + escalation_policy_id: + description: The escalation policy id of the service + nullable: true + type: string + kubernetes_deployment_name: + description: "The Kubernetes deployment name associated to this service.\ + \ eg: namespace/deployment-name" + nullable: true + type: string slack_channels: description: Slack Channels associated with this service items: @@ -62270,6 +57131,23 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel + nullable: true + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_incident_broadcast_channel' + properties: + description: Array of property values for this service. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array type: object update_service_data: properties: @@ -62283,6 +57161,28 @@ components: - attributes - type type: object + service_alert_broadcast_channel: + description: Slack channel to broadcast alerts to + nullable: true + properties: + id: + description: Slack channel ID + type: string + name: + description: Slack channel name + type: string + type: object + service_incident_broadcast_channel: + description: Slack channel to broadcast incidents to + nullable: true + properties: + id: + description: Slack channel ID + type: string + name: + description: Slack channel name + type: string + type: object service_response_data: properties: id: @@ -62448,11 +57348,57 @@ components: allOf: - $ref: '#/components/schemas/shift' type: object + relationships: + $ref: '#/components/schemas/shift_relationships' required: - attributes - id - type type: object + shift_relationships_shift_override_data: + nullable: true + properties: + id: + type: string + type: + enum: + - shift_overrides + type: string + type: object + shift_relationships_shift_override: + properties: + data: + $ref: '#/components/schemas/shift_relationships_shift_override_data' + type: object + shift_relationships_user_data: + nullable: true + properties: + id: + type: string + type: + enum: + - users + type: string + type: object + shift_relationships_user: + properties: + data: + $ref: '#/components/schemas/shift_relationships_user_data' + type: object + shift_relationships_assignee_data: + nullable: true + properties: + id: + type: string + type: + type: string + type: object + shift_relationships_assignee: + description: Assignee can be either a User or Schedule + properties: + data: + $ref: '#/components/schemas/shift_relationships_assignee_data' + type: object new_status_page_template_data_attributes: additionalProperties: false properties: @@ -62461,6 +57407,10 @@ components: title: description: Title of the template type: string + update_title: + description: Title that will be used for the status page update + nullable: true + type: string body: description: Description of the event the template will populate type: string @@ -62473,7 +57423,6 @@ components: - resolved - scheduled - in_progress - - verifying - completed nullable: true type: string @@ -62517,6 +57466,10 @@ components: title: description: Title of the template type: string + update_title: + description: Title that will be used for the status page update + nullable: true + type: string body: description: Description of the event the template will populate type: string @@ -62529,7 +57482,6 @@ components: - resolved - scheduled - in_progress - - verifying - completed nullable: true type: string @@ -62644,8 +57596,6 @@ components: - 30 - 60 - 90 - - 180 - - 360 nullable: true type: integer success_message: @@ -62656,15 +57606,67 @@ components: description: Message showing when at least one component is not operational nullable: true type: string + authentication_method: + default: none + description: Authentication method + enum: + - none + - password + - saml + nullable: true + type: string authentication_enabled: default: false - description: Enable authentication + deprecated: true + description: Enable authentication (deprecated - use authentication_method + instead) nullable: true type: boolean authentication_password: description: Authentication password nullable: true type: string + saml_idp_sso_service_url: + description: SAML IdP SSO service URL + nullable: true + type: string + saml_idp_slo_service_url: + description: SAML IdP SLO service URL + nullable: true + type: string + saml_idp_cert: + description: SAML IdP certificate + nullable: true + type: string + saml_name_identifier_format: + description: SAML name identifier format + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + - urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + nullable: true + type: string + section_order: + default: + - maintenance + - system_status + - incidents + description: Order of sections on the status page + items: + enum: + - maintenance + - system_status + - incidents + type: string + nullable: true + type: array + external_domain_names: + description: External domain names attached to the status page + items: + type: string + nullable: true + type: array website_url: description: Website URL nullable: true @@ -62760,8 +57762,6 @@ components: - 30 - 60 - 90 - - 180 - - 360 nullable: true type: integer success_message: @@ -62772,15 +57772,63 @@ components: description: Message showing when at least one component is not operational nullable: true type: string + authentication_method: + default: none + description: Authentication method + enum: + - none + - password + - saml + nullable: true + type: string authentication_enabled: default: false - description: Enable authentication + deprecated: true + description: Enable authentication (deprecated - use authentication_method + instead) nullable: true type: boolean authentication_password: description: Authentication password nullable: true type: string + saml_idp_sso_service_url: + description: SAML IdP SSO service URL + nullable: true + type: string + saml_idp_slo_service_url: + description: SAML IdP SLO service URL + nullable: true + type: string + saml_idp_cert: + description: SAML IdP certificate + nullable: true + type: string + saml_name_identifier_format: + description: SAML name identifier format + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + - urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + nullable: true + type: string + section_order: + description: Order of sections on the status page + items: + enum: + - maintenance + - system_status + - incidents + type: string + nullable: true + type: array + external_domain_names: + description: External domain names attached to the status page + items: + type: string + nullable: true + type: array website_url: description: Website URL nullable: true @@ -62948,6 +57996,27 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel + nullable: true + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_incident_broadcast_channel' + auto_add_members_when_attached: + description: Auto add members to incident channel when team is attached + nullable: true + type: boolean + properties: + description: Array of property values for this team. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array required: - name type: object @@ -63056,6 +58125,27 @@ components: $ref: '#/components/schemas/new_environment_data_attributes_slack_aliases_inner' nullable: true type: array + alert_broadcast_enabled: + description: Enable alerts to be broadcasted to a specific channel + nullable: true + type: boolean + alert_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_alert_broadcast_channel' + incident_broadcast_enabled: + description: Enable incidents to be broadcasted to a specific channel + nullable: true + type: boolean + incident_broadcast_channel: + $ref: '#/components/schemas/new_service_data_attributes_incident_broadcast_channel' + auto_add_members_when_attached: + description: Auto add members to incident channel when team is attached + nullable: true + type: boolean + properties: + description: Array of property values for this team. + items: + $ref: '#/components/schemas/new_cause_data_attributes_properties_inner' + type: array type: object update_team_data: properties: @@ -63123,6 +58213,7 @@ components: - call - device - non_critical_device + - slack type: string nullable: false type: array @@ -63177,6 +58268,7 @@ components: - call - device - non_critical_device + - slack type: string nullable: false type: array @@ -63211,6 +58303,122 @@ components: - id - type type: object + new_user_phone_number_data_attributes: + additionalProperties: false + properties: + phone: + description: Phone number in international format + type: string + required: + - phone + type: object + new_user_phone_number_data: + properties: + type: + enum: + - user_phone_numbers + type: string + attributes: + $ref: '#/components/schemas/new_user_phone_number_data_attributes' + required: + - attributes + - type + type: object + update_user_phone_number_data_attributes: + additionalProperties: false + properties: + phone: + description: Phone number in international format + type: string + type: object + update_user_phone_number_data: + properties: + type: + enum: + - user_phone_numbers + type: string + attributes: + $ref: '#/components/schemas/update_user_phone_number_data_attributes' + required: + - attributes + - type + type: object + user_phone_number_response_data: + properties: + id: + description: Unique ID of the phone number + type: string + type: + enum: + - user_phone_numbers + type: string + attributes: + allOf: + - $ref: '#/components/schemas/user_phone_number' + type: object + required: + - attributes + - id + - type + type: object + new_user_email_address_data_attributes: + additionalProperties: false + properties: + email: + description: Email address + type: string + required: + - email + type: object + new_user_email_address_data: + properties: + type: + enum: + - user_email_addresses + type: string + attributes: + $ref: '#/components/schemas/new_user_email_address_data_attributes' + required: + - attributes + - type + type: object + update_user_email_address_data_attributes: + additionalProperties: false + properties: + email: + description: Email address + type: string + type: object + update_user_email_address_data: + properties: + type: + enum: + - user_email_addresses + type: string + attributes: + $ref: '#/components/schemas/update_user_email_address_data_attributes' + required: + - attributes + - type + type: object + user_email_address_response_data: + properties: + id: + description: Unique ID of the email address + type: string + type: + enum: + - user_email_addresses + type: string + attributes: + allOf: + - $ref: '#/components/schemas/user_email_address' + type: object + required: + - attributes + - id + - type + type: object role_relationship_data: nullable: true properties: @@ -63345,6 +58553,7 @@ components: - genius_workflow_run.completed - genius_workflow_run.failed - genius_workflow_run.canceled + - audit_log.created type: string type: array enabled: @@ -63403,6 +58612,7 @@ components: - genius_workflow_run.completed - genius_workflow_run.failed - genius_workflow_run.canceled + - audit_log.created type: string type: array enabled: @@ -63438,13 +58648,29 @@ components: - id - type type: object + status_response_data: + properties: + id: + description: Unique ID of the status + type: string + type: + enum: + - statuses + type: string + attributes: + allOf: + - $ref: '#/components/schemas/status' + type: object + required: + - attributes + - id + - type + type: object new_sub_status_data_attributes: additionalProperties: false properties: name: type: string - slug: - type: string description: nullable: true type: string @@ -63477,8 +58703,6 @@ components: properties: name: type: string - slug: - type: string description: nullable: true type: string @@ -63707,6 +58931,401 @@ components: - id - type type: object + new_sla_data_attributes_conditions_inner: + properties: + conditionable_type: + description: The type of condition + enum: + - SLAs::BuiltInFieldCondition + - SLAs::CustomFieldCondition + type: string + property: + description: "The property to evaluate (for built-in field conditions).\ + \ When the team has custom lifecycle statuses enabled, use 'sub_status'\ + \ (with sub-status IDs as values); otherwise use 'status' (with parent\ + \ status names). Sending the wrong one will return a validation error." + enum: + - severity + - environment + - service + - functionality + - incident_type + - group + - cause + - sub_status + - incident_role + - status + - kind + - visibility + - summary + - started_at + - detected_at + - acknowledged_at + - mitigated_at + - resolved_at + nullable: true + type: string + operator: + description: The comparison operator + type: string + values: + description: The values to compare against + items: + type: string + nullable: true + type: array + form_field_id: + description: The ID of the form field (for custom field conditions) + format: uuid + nullable: true + type: string + position: + description: The position of the condition for ordering + type: integer + required: + - conditionable_type + - operator + type: object + new_sla_data_attributes_notification_configurations_inner: + properties: + offset_type: + description: When to send the notification relative to the deadline + enum: + - before_due + - when_due + - after_due + type: string + offset_days: + description: Number of days before or after the deadline. Must be 0 for + when_due. + type: integer + required: + - offset_days + - offset_type + type: object + new_sla_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the SLA + type: string + description: + description: A description of the SLA + nullable: true + type: string + position: + description: Position of the SLA for ordering + nullable: true + type: integer + condition_match_type: + description: Whether all or any conditions must match + enum: + - ALL + - ANY + type: string + manager_role_id: + description: The ID of the incident role responsible for this SLA. Must + provide either manager_role_id or manager_user_id. + format: uuid + nullable: true + type: string + manager_user_id: + description: The ID of the user responsible for this SLA. Must provide either + manager_role_id or manager_user_id. + nullable: true + type: integer + assignment_deadline_days: + description: Number of days for the assignment deadline + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 14 + - 21 + - 30 + type: integer + assignment_deadline_parent_status: + description: The incident parent status that triggers the assignment deadline + enum: + - in_triage + - started + - mitigated + - resolved + - closed + - cancelled + type: string + assignment_deadline_sub_status_id: + description: Sub-status for the assignment deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + assignment_skip_weekends: + description: Whether to skip weekends when calculating the assignment deadline + type: boolean + completion_deadline_days: + description: Number of days for the completion deadline + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 14 + - 21 + - 30 + type: integer + completion_deadline_parent_status: + description: The incident parent status that triggers the completion deadline + enum: + - in_triage + - started + - mitigated + - resolved + - closed + - cancelled + type: string + completion_deadline_sub_status_id: + description: Sub-status for the completion deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + completion_skip_weekends: + description: Whether to skip weekends when calculating the completion deadline + type: boolean + conditions: + description: Conditions that determine which incidents this SLA applies + to. Maximum 20. + items: + $ref: '#/components/schemas/new_sla_data_attributes_conditions_inner' + type: array + notification_configurations: + description: Notification timing configurations. Maximum 20. + items: + $ref: '#/components/schemas/new_sla_data_attributes_notification_configurations_inner' + type: array + required: + - assignment_deadline_days + - assignment_deadline_parent_status + - completion_deadline_days + - completion_deadline_parent_status + - name + type: object + new_sla_data: + properties: + type: + enum: + - slas + type: string + attributes: + $ref: '#/components/schemas/new_sla_data_attributes' + required: + - attributes + - type + type: object + update_sla_data_attributes: + additionalProperties: false + properties: + name: + description: The name of the SLA + type: string + description: + description: A description of the SLA + nullable: true + type: string + position: + description: Position of the SLA for ordering + nullable: true + type: integer + condition_match_type: + description: Whether all or any conditions must match + enum: + - ALL + - ANY + type: string + manager_role_id: + description: The ID of the incident role responsible for this SLA. Exactly + one of `manager_role_id` or `manager_user_id` must be provided. + format: uuid + nullable: true + type: string + manager_user_id: + description: The ID of the user responsible for this SLA. Exactly one of + `manager_role_id` or `manager_user_id` must be provided. + nullable: true + type: integer + assignment_deadline_days: + description: Number of days for the assignment deadline + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 14 + - 21 + - 30 + type: integer + assignment_deadline_parent_status: + description: The incident parent status that triggers the assignment deadline + enum: + - in_triage + - started + - mitigated + - resolved + - closed + - cancelled + type: string + assignment_deadline_sub_status_id: + description: Sub-status for the assignment deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + assignment_skip_weekends: + description: Whether to skip weekends when calculating the assignment deadline + type: boolean + completion_deadline_days: + description: Number of days for the completion deadline + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 14 + - 21 + - 30 + type: integer + completion_deadline_parent_status: + description: The incident parent status that triggers the completion deadline + enum: + - in_triage + - started + - mitigated + - resolved + - closed + - cancelled + type: string + completion_deadline_sub_status_id: + description: Sub-status for the completion deadline. Required when custom + lifecycle statuses are enabled on the team. + format: uuid + nullable: true + type: string + completion_skip_weekends: + description: Whether to skip weekends when calculating the completion deadline + type: boolean + conditions: + description: Conditions that determine which incidents this SLA applies + to. Replaces all existing conditions. + items: + $ref: '#/components/schemas/new_sla_data_attributes_conditions_inner' + type: array + notification_configurations: + description: Notification timing configurations. Replaces all existing configurations. + items: + $ref: '#/components/schemas/new_sla_data_attributes_notification_configurations_inner' + type: array + type: object + update_sla_data: + properties: + type: + enum: + - slas + type: string + attributes: + $ref: '#/components/schemas/update_sla_data_attributes' + required: + - attributes + - type + type: object + sla_conditions_inner: + properties: + id: + description: Unique ID of the condition + format: uuid + type: string + position: + description: The position of the condition + type: integer + conditionable_type: + description: The type of condition + enum: + - SLAs::BuiltInFieldCondition + - SLAs::CustomFieldCondition + type: string + property: + description: The property to evaluate (for built-in field conditions) + nullable: true + type: string + operator: + description: The comparison operator + type: string + values: + description: The values to compare against + items: + type: string + nullable: true + type: array + form_field_id: + description: The ID of the form field (for custom field conditions) + format: uuid + nullable: true + type: string + type: object + sla_notification_configurations_inner: + properties: + id: + description: Unique ID of the notification configuration + format: uuid + type: string + offset_type: + description: When to send the notification relative to the deadline + enum: + - before_due + - when_due + - after_due + type: string + offset_days: + description: Number of days offset from the deadline + type: integer + created_at: + description: Date of creation + type: string + updated_at: + description: Date of last update + type: string + type: object + sla_response_data: + properties: + id: + description: Unique ID of the SLA + type: string + type: + enum: + - slas + type: string + attributes: + allOf: + - $ref: '#/components/schemas/sla' + type: object + required: + - attributes + - id + - type + type: object securitySchemes: bearer_auth: scheme: bearer diff --git a/docs/ActionItemTriggerParams.md b/docs/ActionItemTriggerParams.md index 2a18a7c0..a1c04f7c 100644 --- a/docs/ActionItemTriggerParams.md +++ b/docs/ActionItemTriggerParams.md @@ -64,6 +64,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | @@ -100,6 +101,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -115,6 +117,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -130,6 +133,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -145,6 +149,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -160,6 +165,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -175,6 +181,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -190,6 +197,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -205,6 +213,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -220,6 +229,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -235,6 +245,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -250,6 +261,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -337,6 +349,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -361,6 +374,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -387,6 +401,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -412,6 +427,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/AddMicrosoftTeamsChatTabTaskParams.md b/docs/AddMicrosoftTeamsChatTabTaskParams.md new file mode 100644 index 00000000..bfddec88 --- /dev/null +++ b/docs/AddMicrosoftTeamsChatTabTaskParams.md @@ -0,0 +1,24 @@ + + +# AddMicrosoftTeamsChatTabTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**chat** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**title** | **String** | The tab title | | +|**link** | **String** | The tab link | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| ADD_MICROSOFT_TEAMS_CHAT_TAB | "add_microsoft_teams_chat_tab" | + + + diff --git a/docs/Alert.md b/docs/Alert.md index 7c9d31aa..aeb37a3f 100644 --- a/docs/Alert.md +++ b/docs/Alert.md @@ -7,6 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**shortId** | **String** | Human-readable short identifier for the alert | | |**noise** | [**NoiseEnum**](#NoiseEnum) | Whether the alert is marked as noise | [optional] | |**source** | [**SourceEnum**](#SourceEnum) | The source of the alert | | |**status** | [**StatusEnum**](#StatusEnum) | The status of the alert | [optional] | @@ -15,14 +16,20 @@ |**services** | [**List<Service>**](Service.md) | Services attached to the alert | [optional] | |**groups** | [**List<Team>**](Team.md) | Groups attached to the alert | [optional] | |**environments** | [**List<Environment>**](Environment.md) | Environments attached to the alert | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. | [optional] | -|**groupIds** | **List<String>** | The Group ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the alert | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. | [optional] | +|**groupIds** | **List<String>** | The Group IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the alert | [optional] | |**externalId** | **String** | External ID | [optional] | |**externalUrl** | **String** | External Url | [optional] | |**alertUrgencyId** | **String** | The ID of the alert urgency | [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] | |**data** | **Object** | Additional data | [optional] | +|**deduplicationKey** | **String** | Alerts sharing the same deduplication key are treated as a single alert. | [optional] | +|**alertFieldValuesAttributes** | [**List<NewAlertDataAttributesAlertFieldValuesAttributesInner>**](NewAlertDataAttributesAlertFieldValuesAttributesInner.md) | Custom alert field values to create with the alert | [optional] | +|**startedAt** | **OffsetDateTime** | When the alert started | [optional] | +|**endedAt** | **OffsetDateTime** | When the alert ended | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -44,16 +51,19 @@ | ROOTLY | "rootly" | | MANUAL | "manual" | | API | "api" | +| HEARTBEAT | "heartbeat" | | WEB | "web" | | SLACK | "slack" | | EMAIL | "email" | | WORKFLOW | "workflow" | | LIVE_CALL_ROUTING | "live_call_routing" | +| MOBILE | "mobile" | | PAGERDUTY | "pagerduty" | | OPSGENIE | "opsgenie" | | VICTOROPS | "victorops" | | PAGERTREE | "pagertree" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | NOBL9 | "nobl9" | | ZENDESK | "zendesk" | | ASANA | "asana" | @@ -69,6 +79,7 @@ | GOOGLE_CLOUD | "google_cloud" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | AZURE | "azure" | | SPLUNK | "splunk" | | CHRONOSPHERE | "chronosphere" | @@ -93,6 +104,7 @@ | TRIGGERED | "triggered" | | ACKNOWLEDGED | "acknowledged" | | RESOLVED | "resolved" | +| DEFERRED | "deferred" | diff --git a/docs/AlertEvent.md b/docs/AlertEvent.md index 9cb828e8..717ba72d 100644 --- a/docs/AlertEvent.md +++ b/docs/AlertEvent.md @@ -32,6 +32,7 @@ | NOTE | "note" | | NOISE | "noise" | | MAINTENANCE | "maintenance" | +| DEFERRAL | "deferral" | @@ -40,11 +41,14 @@ | Name | Value | |---- | -----| | CREATED | "created" | +| ESCALATION_POLICY_PAGED | "escalation_policy_paged" | +| IGNORED_ALERT_REQUEST | "ignored_alert_request" | | EMAILED | "emailed" | | SLACKED | "slacked" | | CALLED | "called" | | TEXTED | "texted" | | NOTIFIED | "notified" | +| SKIPPED | "skipped" | | OPENED | "opened" | | RETRIGGERED | "retriggered" | | ANSWERED | "answered" | @@ -55,12 +59,14 @@ | ATTACHED | "attached" | | SNOOZED | "snoozed" | | TRIGGERED | "triggered" | +| OPEN | "open" | | UPDATED | "updated" | | ADDED | "added" | | REMOVED | "removed" | | MARKED | "marked" | | NOT_MARKED | "not_marked" | | MUTED | "muted" | +| DEFERRED | "deferred" | diff --git a/docs/AlertEventList.md b/docs/AlertEventList.md index c5979439..c79317b1 100644 --- a/docs/AlertEventList.md +++ b/docs/AlertEventList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AlertEventResponseData>**](AlertEventResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/AlertEventsApi.md b/docs/AlertEventsApi.md index 2f320b36..d0f619a8 100644 --- a/docs/AlertEventsApi.md +++ b/docs/AlertEventsApi.md @@ -87,7 +87,7 @@ public class Example { Delete alert event -Deletes a specific alert event +Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted. System-generated events are immutable to maintain audit trail integrity. ### Example ```java @@ -299,7 +299,7 @@ public class Example { Update alert event -Updates a specific alert event +Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated. System-generated events are immutable to maintain audit trail integrity. ### Example ```java diff --git a/docs/AlertField.md b/docs/AlertField.md new file mode 100644 index 00000000..1d0d3bc2 --- /dev/null +++ b/docs/AlertField.md @@ -0,0 +1,17 @@ + + +# AlertField + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**slug** | **String** | The slug of the alert field | [optional] | +|**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 | | + + + diff --git a/docs/AlertFieldList.md b/docs/AlertFieldList.md new file mode 100644 index 00000000..92ffc36b --- /dev/null +++ b/docs/AlertFieldList.md @@ -0,0 +1,15 @@ + + +# AlertFieldList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<AlertFieldListDataInner>**](AlertFieldListDataInner.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/AlertFieldListDataInner.md b/docs/AlertFieldListDataInner.md new file mode 100644 index 00000000..fcca2b69 --- /dev/null +++ b/docs/AlertFieldListDataInner.md @@ -0,0 +1,23 @@ + + +# AlertFieldListDataInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The ID of the alert field | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**AlertField**](AlertField.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELDS | "alert_fields" | + + + diff --git a/docs/AlertFieldResponse.md b/docs/AlertFieldResponse.md new file mode 100644 index 00000000..344efc8c --- /dev/null +++ b/docs/AlertFieldResponse.md @@ -0,0 +1,13 @@ + + +# AlertFieldResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**AlertFieldResponseData**](AlertFieldResponseData.md) | | | + + + diff --git a/docs/AlertFieldResponseData.md b/docs/AlertFieldResponseData.md new file mode 100644 index 00000000..74d5918a --- /dev/null +++ b/docs/AlertFieldResponseData.md @@ -0,0 +1,23 @@ + + +# AlertFieldResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The ID of the alert field | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**AlertField**](AlertField.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELDS | "alert_fields" | + + + diff --git a/docs/AlertFieldsApi.md b/docs/AlertFieldsApi.md new file mode 100644 index 00000000..4de6f96e --- /dev/null +++ b/docs/AlertFieldsApi.md @@ -0,0 +1,376 @@ +# AlertFieldsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createAlertField**](AlertFieldsApi.md#createAlertField) | **POST** /v1/alert_fields | Creates an alert field | +| [**deleteAlertField**](AlertFieldsApi.md#deleteAlertField) | **DELETE** /v1/alert_fields/{id} | Delete an alert field | +| [**getAlertField**](AlertFieldsApi.md#getAlertField) | **GET** /v1/alert_fields/{id} | Retrieves an alert field | +| [**listAlertFields**](AlertFieldsApi.md#listAlertFields) | **GET** /v1/alert_fields | List alert fields | +| [**updateAlertField**](AlertFieldsApi.md#updateAlertField) | **PUT** /v1/alert_fields/{id} | Update an alert field | + + + +# **createAlertField** +> AlertFieldResponse createAlertField(newAlertField) + +Creates an alert field + +Creates a new alert field 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.AlertFieldsApi; + +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"); + + AlertFieldsApi apiInstance = new AlertFieldsApi(defaultClient); + NewAlertField newAlertField = new NewAlertField(); // NewAlertField | + try { + AlertFieldResponse result = apiInstance.createAlertField(newAlertField); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertFieldsApi#createAlertField"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newAlertField** | [**NewAlertField**](NewAlertField.md)| | | + +### Return type + +[**AlertFieldResponse**](AlertFieldResponse.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** | alert field created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteAlertField** +> AlertFieldResponse deleteAlertField(id) + +Delete an alert field + +Delete a specific alert field 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.AlertFieldsApi; + +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"); + + AlertFieldsApi apiInstance = new AlertFieldsApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + AlertFieldResponse result = apiInstance.deleteAlertField(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertFieldsApi#deleteAlertField"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**AlertFieldResponse**](AlertFieldResponse.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** | custom alert field deleted successfully | - | +| **422** | cannot delete alert field referenced by escalation path field rules | - | +| **404** | resource not found | - | + + +# **getAlertField** +> AlertFieldResponse getAlertField(id) + +Retrieves an alert field + +Retrieves a specific alert field 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.AlertFieldsApi; + +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"); + + AlertFieldsApi apiInstance = new AlertFieldsApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + AlertFieldResponse result = apiInstance.getAlertField(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertFieldsApi#getAlertField"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**AlertFieldResponse**](AlertFieldResponse.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_field found by slug | - | +| **404** | resource not found | - | + + +# **listAlertFields** +> AlertFieldList listAlertFields(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +List alert fields + +List alert fields + +### 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.AlertFieldsApi; + +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"); + + AlertFieldsApi apiInstance = new AlertFieldsApi(defaultClient); + String include = "include_example"; // String | + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + AlertFieldList result = apiInstance.listAlertFields(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertFieldsApi#listAlertFields"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| | [optional] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**AlertFieldList**](AlertFieldList.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 | - | + + +# **updateAlertField** +> AlertFieldResponse updateAlertField(id, updateAlertField) + +Update an alert field + +Update a specific alert field 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.AlertFieldsApi; + +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"); + + AlertFieldsApi apiInstance = new AlertFieldsApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + UpdateAlertField updateAlertField = new UpdateAlertField(); // UpdateAlertField | + try { + AlertFieldResponse result = apiInstance.updateAlertField(id, updateAlertField); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertFieldsApi#updateAlertField"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | +| **updateAlertField** | [**UpdateAlertField**](UpdateAlertField.md)| | | + +### Return type + +[**AlertFieldResponse**](AlertFieldResponse.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 field updated | - | +| **404** | resource not found | - | + diff --git a/docs/AlertGroup.md b/docs/AlertGroup.md index 533c2757..9200298a 100644 --- a/docs/AlertGroup.md +++ b/docs/AlertGroup.md @@ -9,13 +9,14 @@ |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the alert group | | |**description** | **String** | The description of the alert group | | -|**slug** | **String** | The slug of the alert group | | +|**slug** | **String** | The slug of the alert group | [optional] | |**conditionType** | **String** | Grouping condition for the alert group | | |**timeWindow** | **Integer** | Time window for the alert grouping | | -|**groupByAlertTitle** | **Boolean** | Whether the alerts are grouped by title or not | | -|**groupByAlertUrgency** | **Boolean** | Whether the alerts are grouped by urgency or not | | +|**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) | | [optional] | +|**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.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 | | |**deletedAt** | **String** | Date or deletion | | diff --git a/docs/AlertGroupConditionsInner.md b/docs/AlertGroupConditionsInner.md new file mode 100644 index 00000000..1d70c53a --- /dev/null +++ b/docs/AlertGroupConditionsInner.md @@ -0,0 +1,55 @@ + + +# AlertGroupConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | The type of the property field | | +|**propertyFieldName** | **String** | The name of the property field. If the property field type is selected as 'attribute', then the allowed property field names are 'summary' (for Title), 'description', 'alert_urgency' and 'external_url' (for Alert Source URL). If the property field type is selected as 'payload', then the property field name should be supplied in JSON Path syntax. | [optional] | +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | The condition type of the property field | | +|**propertyFieldValue** | **String** | The value of the property field. Can be null if the property field condition type is 'is_one_of' or 'is_not_one_of' | [optional] | +|**propertyFieldValues** | **List<String>** | The values of the property field. Used if the property field condition type is 'is_one_of' or 'is_not_one_of' except for when property field name is 'alert_urgency' | [optional] | +|**values** | [**List<AlertGroupConditionsInnerValuesInner>**](AlertGroupConditionsInnerValuesInner.md) | | [optional] | +|**alertUrgencyIds** | **List<String>** | The Alert Urgency IDs to check in the condition. Only need to be set when the property field type is 'attribute', the property field name is 'alert_urgency' and the property field condition type is 'is_one_of' or 'is_not_one_of' | [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] | + + + +## Enum: PropertyFieldTypeEnum + +| Name | Value | +|---- | -----| +| ATTRIBUTE | "attribute" | +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + +## 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" | +| MATCHES_EXISTING_ALERT | "matches_existing_alert" | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + diff --git a/docs/AlertGroupConditionsInnerValuesInner.md b/docs/AlertGroupConditionsInnerValuesInner.md new file mode 100644 index 00000000..bdbd31cf --- /dev/null +++ b/docs/AlertGroupConditionsInnerValuesInner.md @@ -0,0 +1,14 @@ + + +# AlertGroupConditionsInnerValuesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**recordId** | **String** | ID of the Alert Urgency to set. | | +|**recordType** | **String** | Should be \"AlertUrgency\". | | + + + diff --git a/docs/AlertGroupsApi.md b/docs/AlertGroupsApi.md index e2aee261..e67b75b0 100644 --- a/docs/AlertGroupsApi.md +++ b/docs/AlertGroupsApi.md @@ -17,7 +17,7 @@ All URIs are relative to *https://api.rootly.com* Creates an alert group -Creates a new alert group +Creates a new alert group. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. ### Example ```java @@ -76,7 +76,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | alert group created | - | +| **201** | alert group created with conditions | - | | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertGroupsApi apiInstance = new AlertGroupsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { AlertGroupResponse result = apiInstance.deleteAlertGroup(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertGroupsApi apiInstance = new AlertGroupsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { AlertGroupResponse result = apiInstance.getAlertGroup(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,7 +213,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | alert group found | - | +| **200** | alert_group found by slug | - | | **404** | resource not found | - | @@ -289,7 +289,7 @@ public class Example { Update an alert group -Update a specific alert group by id +Update a specific alert group by id. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. ### Example ```java @@ -311,7 +311,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertGroupsApi apiInstance = new AlertGroupsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateAlertGroup updateAlertGroup = new UpdateAlertGroup(); // UpdateAlertGroup | try { AlertGroupResponse result = apiInstance.updateAlertGroup(id, updateAlertGroup); @@ -331,7 +331,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateAlertGroup** | [**UpdateAlertGroup**](UpdateAlertGroup.md)| | | ### Return type @@ -350,6 +350,6 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | alert group updated | - | +| **200** | alert group updated with conditions | - | | **404** | resource not found | - | diff --git a/docs/AlertList.md b/docs/AlertList.md index 67172700..479bbad2 100644 --- a/docs/AlertList.md +++ b/docs/AlertList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AlertResponseData>**](AlertResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/AlertResponseData.md b/docs/AlertResponseData.md index 740deac8..6f955738 100644 --- a/docs/AlertResponseData.md +++ b/docs/AlertResponseData.md @@ -21,16 +21,19 @@ | ROOTLY | "rootly" | | MANUAL | "manual" | | API | "api" | +| HEARTBEAT | "heartbeat" | | WEB | "web" | | SLACK | "slack" | | EMAIL | "email" | | WORKFLOW | "workflow" | | LIVE_CALL_ROUTING | "live_call_routing" | +| MOBILE | "mobile" | | PAGERDUTY | "pagerduty" | | OPSGENIE | "opsgenie" | | VICTOROPS | "victorops" | | PAGERTREE | "pagertree" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | NOBL9 | "nobl9" | | ZENDESK | "zendesk" | | ASANA | "asana" | @@ -46,6 +49,7 @@ | GOOGLE_CLOUD | "google_cloud" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | AZURE | "azure" | | SPLUNK | "splunk" | | CHRONOSPHERE | "chronosphere" | diff --git a/docs/AlertRoute.md b/docs/AlertRoute.md new file mode 100644 index 00000000..4e08606f --- /dev/null +++ b/docs/AlertRoute.md @@ -0,0 +1,17 @@ + + +# AlertRoute + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert route | | +|**enabled** | **Boolean** | Whether the alert route is enabled | [optional] | +|**alertsSourceIds** | **List<UUID>** | | | +|**owningTeamIds** | **List<UUID>** | | [optional] | +|**rules** | [**List<NewAlertRouteDataAttributesRulesInner>**](NewAlertRouteDataAttributesRulesInner.md) | | [optional] | + + + diff --git a/docs/AlertRouteList.md b/docs/AlertRouteList.md new file mode 100644 index 00000000..3a0e1f75 --- /dev/null +++ b/docs/AlertRouteList.md @@ -0,0 +1,15 @@ + + +# AlertRouteList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<AlertRouteResponseData>**](AlertRouteResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/AlertRouteResponse.md b/docs/AlertRouteResponse.md new file mode 100644 index 00000000..8362e169 --- /dev/null +++ b/docs/AlertRouteResponse.md @@ -0,0 +1,13 @@ + + +# AlertRouteResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**AlertRouteResponseData**](AlertRouteResponseData.md) | | | + + + diff --git a/docs/AlertRouteResponseData.md b/docs/AlertRouteResponseData.md new file mode 100644 index 00000000..78748f65 --- /dev/null +++ b/docs/AlertRouteResponseData.md @@ -0,0 +1,23 @@ + + +# AlertRouteResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the alert route | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**AlertRoute**](AlertRoute.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_ROUTES | "alert_routes" | + + + diff --git a/docs/AlertRoutesApi.md b/docs/AlertRoutesApi.md new file mode 100644 index 00000000..c6745516 --- /dev/null +++ b/docs/AlertRoutesApi.md @@ -0,0 +1,441 @@ +# AlertRoutesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createAlertRoute**](AlertRoutesApi.md#createAlertRoute) | **POST** /v1/alert_routes | Creates an alert route | +| [**deleteAlertRoute**](AlertRoutesApi.md#deleteAlertRoute) | **DELETE** /v1/alert_routes/{id} | Delete an alert route | +| [**getAlertRoute**](AlertRoutesApi.md#getAlertRoute) | **GET** /v1/alert_routes/{id} | Get an alert route | +| [**listAlertRoutes**](AlertRoutesApi.md#listAlertRoutes) | **GET** /v1/alert_routes | List alert routes | +| [**patchAlertRoute**](AlertRoutesApi.md#patchAlertRoute) | **PATCH** /v1/alert_routes/{id} | Update an alert route | +| [**updateAlertRoute**](AlertRoutesApi.md#updateAlertRoute) | **PUT** /v1/alert_routes/{id} | Update an alert route | + + + +# **createAlertRoute** +> AlertRouteResponse createAlertRoute(newAlertRoute) + +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. + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + NewAlertRoute newAlertRoute = new NewAlertRoute(); // NewAlertRoute | + try { + AlertRouteResponse result = apiInstance.createAlertRoute(newAlertRoute); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#createAlertRoute"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newAlertRoute** | [**NewAlertRoute**](NewAlertRoute.md)| | | + +### Return type + +[**AlertRouteResponse**](AlertRouteResponse.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** | unknown attribute filtered out gracefully | - | +| **422** | create: raises error when multiple fallback rules are present | - | +| **401** | unauthorized | - | + + +# **deleteAlertRoute** +> DeleteAlertRoute200Response deleteAlertRoute(id) + +Delete an alert route + +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.** + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + String id = "id_example"; // String | + try { + DeleteAlertRoute200Response result = apiInstance.deleteAlertRoute(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#deleteAlertRoute"); + 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 + +[**DeleteAlertRoute200Response**](DeleteAlertRoute200Response.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 route deleted | - | +| **404** | cross-team access denied | - | +| **422** | destroy failed | - | +| **401** | unauthorized | - | + + +# **getAlertRoute** +> AlertRouteResponse getAlertRoute(id) + +Get an alert route + +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` + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + String id = "id_example"; // String | + try { + AlertRouteResponse result = apiInstance.getAlertRoute(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#getAlertRoute"); + 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 + +[**AlertRouteResponse**](AlertRouteResponse.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 route found | - | +| **404** | cross-team access denied | - | +| **401** | unauthorized | - | + + +# **listAlertRoutes** +> AlertRouteList listAlertRoutes(pageNumber, pageSize, filterSearch, filterName, sort) + +List alert routes + +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.** + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String sort = "sort_example"; // String | + try { + AlertRouteList result = apiInstance.listAlertRoutes(pageNumber, pageSize, filterSearch, filterName, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#listAlertRoutes"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**AlertRouteList**](AlertRouteList.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 routes filtered by search | - | +| **401** | unauthorized | - | + + +# **patchAlertRoute** +> AlertRouteResponse patchAlertRoute(id, patchAlertRoute) + +Update an alert route + +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.** + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + String id = "id_example"; // String | + PatchAlertRoute patchAlertRoute = new PatchAlertRoute(); // PatchAlertRoute | + try { + AlertRouteResponse result = apiInstance.patchAlertRoute(id, patchAlertRoute); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#patchAlertRoute"); + 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**| | | +| **patchAlertRoute** | [**PatchAlertRoute**](PatchAlertRoute.md)| | | + +### Return type + +[**AlertRouteResponse**](AlertRouteResponse.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** | delete existing rule by id with _destroy | - | +| **422** | invalid request | - | +| **401** | unauthorized | - | +| **404** | cross-team access denied | - | + + +# **updateAlertRoute** +> AlertRouteResponse updateAlertRoute(id, updateAlertRoute) + +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. + +### 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.AlertRoutesApi; + +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"); + + AlertRoutesApi apiInstance = new AlertRoutesApi(defaultClient); + String id = "id_example"; // String | + UpdateAlertRoute updateAlertRoute = new UpdateAlertRoute(); // UpdateAlertRoute | + try { + AlertRouteResponse result = apiInstance.updateAlertRoute(id, updateAlertRoute); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertRoutesApi#updateAlertRoute"); + 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**| | | +| **updateAlertRoute** | [**UpdateAlertRoute**](UpdateAlertRoute.md)| | | + +### Return type + +[**AlertRouteResponse**](AlertRouteResponse.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** | update: handles mixed position types correctly | - | +| **422** | update: raises error when multiple fallback rules are present | - | +| **404** | cross-team access denied | - | + diff --git a/docs/AlertRoutingRule.md b/docs/AlertRoutingRule.md index 94acd7eb..4bc940db 100644 --- a/docs/AlertRoutingRule.md +++ b/docs/AlertRoutingRule.md @@ -10,9 +10,11 @@ |**name** | **String** | The name of the alert routing rule | | |**enabled** | **Boolean** | Whether the alert routing rule is enabled | | |**alertsSourceId** | **UUID** | The ID of the alerts source | | +|**position** | **Integer** | The position of the alert routing rule for ordering evaluation | | |**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | The type of condition for the alert routing rule | | |**conditions** | [**List<AlertRoutingRuleConditionsInner>**](AlertRoutingRuleConditionsInner.md) | The conditions for the alert routing rule | [optional] | -|**destination** | [**AlertRoutingRuleDestination**](AlertRoutingRuleDestination.md) | | | +|**destination** | [**AlertRoutingRuleDestination**](AlertRoutingRuleDestination.md) | | [optional] | +|**conditionGroups** | [**List<AlertRoutingRuleConditionGroupsInner>**](AlertRoutingRuleConditionGroupsInner.md) | The condition groups for the alert routing rule | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/AlertRoutingRuleCondition.md b/docs/AlertRoutingRuleCondition.md new file mode 100644 index 00000000..552b3f35 --- /dev/null +++ b/docs/AlertRoutingRuleCondition.md @@ -0,0 +1,47 @@ + + +# AlertRoutingRuleCondition + +A condition for alert routing rule + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the condition | [optional] | +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | The type of the property field | | +|**propertyFieldName** | **String** | The name of the property field | | +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | The condition type of the property field | | +|**propertyFieldValue** | **String** | The value of the property field | [optional] | +|**propertyFieldValues** | **List<String>** | The values of the property field | [optional] | +|**conditionableId** | **UUID** | The ID of the conditionable object | [optional] | +|**conditionableType** | **String** | The type of the conditionable object | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + +## Enum: PropertyFieldTypeEnum + +| Name | Value | +|---- | -----| +| ATTRIBUTE | "attribute" | +| PAYLOAD | "payload" | + + + +## 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" | + + + diff --git a/docs/AlertRoutingRuleConditionGroup.md b/docs/AlertRoutingRuleConditionGroup.md new file mode 100644 index 00000000..825bf00f --- /dev/null +++ b/docs/AlertRoutingRuleConditionGroup.md @@ -0,0 +1,18 @@ + + +# AlertRoutingRuleConditionGroup + +A group of conditions for alert routing rule + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the condition group | [optional] | +|**position** | **Integer** | The position of the condition group for ordering | | +|**conditions** | [**List<AlertRoutingRuleCondition>**](AlertRoutingRuleCondition.md) | The conditions within this group | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/AlertRoutingRuleConditionGroupsInner.md b/docs/AlertRoutingRuleConditionGroupsInner.md new file mode 100644 index 00000000..80dc0a49 --- /dev/null +++ b/docs/AlertRoutingRuleConditionGroupsInner.md @@ -0,0 +1,17 @@ + + +# AlertRoutingRuleConditionGroupsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the condition group | [optional] | +|**position** | **Integer** | The position of the condition group for ordering | | +|**conditions** | [**List<AlertRoutingRuleConditionGroupsInnerConditionsInner>**](AlertRoutingRuleConditionGroupsInnerConditionsInner.md) | The conditions within this group | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md b/docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md new file mode 100644 index 00000000..45b00c09 --- /dev/null +++ b/docs/AlertRoutingRuleConditionGroupsInnerConditionsInner.md @@ -0,0 +1,46 @@ + + +# AlertRoutingRuleConditionGroupsInnerConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the condition | [optional] | +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | The type of the property field | | +|**propertyFieldName** | **String** | The name of the property field | | +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | The condition type of the property field | | +|**propertyFieldValue** | **String** | The value of the property field | [optional] | +|**propertyFieldValues** | **List<String>** | The values of the property field | [optional] | +|**conditionableId** | **UUID** | The ID of the conditionable object | [optional] | +|**conditionableType** | **String** | The type of the conditionable object | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + +## Enum: PropertyFieldTypeEnum + +| Name | Value | +|---- | -----| +| ATTRIBUTE | "attribute" | +| PAYLOAD | "payload" | + + + +## 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" | + + + diff --git a/docs/AlertRoutingRuleDestination.md b/docs/AlertRoutingRuleDestination.md index 3d2b2ddb..ec71287d 100644 --- a/docs/AlertRoutingRuleDestination.md +++ b/docs/AlertRoutingRuleDestination.md @@ -8,7 +8,7 @@ The destinations for the alert routing rule | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target | | +|**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 | | @@ -17,8 +17,9 @@ The destinations for the alert routing rule | Name | Value | |---- | -----| -| GROUP | "Group" | | SERVICE | "Service" | +| GROUP | "Group" | +| FUNCTIONALITY | "Functionality" | | ESCALATION_POLICY | "EscalationPolicy" | diff --git a/docs/AlertRoutingRuleList.md b/docs/AlertRoutingRuleList.md index 70bcab28..4436cf68 100644 --- a/docs/AlertRoutingRuleList.md +++ b/docs/AlertRoutingRuleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AlertRoutingRuleResponseData>**](AlertRoutingRuleResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/AlertRoutingRuleTarget.md b/docs/AlertRoutingRuleTarget.md new file mode 100644 index 00000000..a45f5db2 --- /dev/null +++ b/docs/AlertRoutingRuleTarget.md @@ -0,0 +1,26 @@ + + +# AlertRoutingRuleTarget + +The destination target for the alert routing rule + +## 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/AlertRoutingRulesApi.md b/docs/AlertRoutingRulesApi.md index 133cc919..36c61fe0 100644 --- a/docs/AlertRoutingRulesApi.md +++ b/docs/AlertRoutingRulesApi.md @@ -17,7 +17,7 @@ All URIs are relative to *https://api.rootly.com* Creates an alert routing rule -Creates a new alert routing rule from provided data +Creates a new alert routing rule from provided data. **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.** ### Example ```java @@ -86,7 +86,7 @@ public class Example { Delete an alert routing rule -Delete a specific alert routing rule by id +Delete a specific alert routing rule by id. **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.** ### Example ```java @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertRoutingRulesApi apiInstance = new AlertRoutingRulesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { AlertRoutingRuleResponse result = apiInstance.deleteAlertRoutingRule(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -154,7 +154,7 @@ public class Example { Retrieves an alert routing rule -Retrieves a specific alert routing rule by id +Retrieves a specific alert routing rule by id. **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.** ### Example ```java @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertRoutingRulesApi apiInstance = new AlertRoutingRulesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { AlertRoutingRuleResponse result = apiInstance.getAlertRoutingRule(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,7 +213,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | alert routing rule found | - | +| **200** | alert_routing_rule found by slug | - | | **404** | resource not found | - | @@ -222,7 +222,7 @@ public class Example { List alert routing rules -List alert routing rules +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.** ### Example ```java @@ -307,7 +307,7 @@ public class Example { Update an alert routing rule -Update a specific alert routing rule by id +Update a specific alert routing rule by id. **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.** ### Example ```java @@ -329,7 +329,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertRoutingRulesApi apiInstance = new AlertRoutingRulesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateAlertRoutingRule updateAlertRoutingRule = new UpdateAlertRoutingRule(); // UpdateAlertRoutingRule | try { AlertRoutingRuleResponse result = apiInstance.updateAlertRoutingRule(id, updateAlertRoutingRule); @@ -349,7 +349,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateAlertRoutingRule** | [**UpdateAlertRoutingRule**](UpdateAlertRoutingRule.md)| | | ### Return type diff --git a/docs/AlertSourcesApi.md b/docs/AlertSourcesApi.md index 49de5d83..86d28e0a 100644 --- a/docs/AlertSourcesApi.md +++ b/docs/AlertSourcesApi.md @@ -4,16 +4,16 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**createAlertSource**](AlertSourcesApi.md#createAlertSource) | **POST** /v1/alert_sources | Creates an alert source | -| [**deleteAlertSource**](AlertSourcesApi.md#deleteAlertSource) | **DELETE** /v1/alert_sources/{id} | Delete an alert source | -| [**getAlertSource**](AlertSourcesApi.md#getAlertSource) | **GET** /v1/alert_sources/{id} | Retrieves an alert source | -| [**listAlertSources**](AlertSourcesApi.md#listAlertSources) | **GET** /v1/alert_sources | List alert sources | -| [**updateAlertSource**](AlertSourcesApi.md#updateAlertSource) | **PUT** /v1/alert_sources/{id} | Update an alert source | +| [**createAlertsSource**](AlertSourcesApi.md#createAlertsSource) | **POST** /v1/alert_sources | Creates an alert source | +| [**deleteAlertsSource**](AlertSourcesApi.md#deleteAlertsSource) | **DELETE** /v1/alert_sources/{id} | Delete an alert source | +| [**getAlertsSource**](AlertSourcesApi.md#getAlertsSource) | **GET** /v1/alert_sources/{id} | Retrieves an alert source | +| [**listAlertsSources**](AlertSourcesApi.md#listAlertsSources) | **GET** /v1/alert_sources | List alert sources | +| [**updateAlertsSource**](AlertSourcesApi.md#updateAlertsSource) | **PUT** /v1/alert_sources/{id} | Update an alert source | - -# **createAlertSource** -> AlertsSourceResponse createAlertSource(newAlertsSource) + +# **createAlertsSource** +> AlertsSourceResponse createAlertsSource(newAlertsSource) Creates an alert source @@ -41,10 +41,10 @@ public class Example { AlertSourcesApi apiInstance = new AlertSourcesApi(defaultClient); NewAlertsSource newAlertsSource = new NewAlertsSource(); // NewAlertsSource | try { - AlertsSourceResponse result = apiInstance.createAlertSource(newAlertsSource); + AlertsSourceResponse result = apiInstance.createAlertsSource(newAlertsSource); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertSourcesApi#createAlertSource"); + System.err.println("Exception when calling AlertSourcesApi#createAlertsSource"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -80,9 +80,9 @@ public class Example { | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | - -# **deleteAlertSource** -> AlertsSourceResponse deleteAlertSource(id) + +# **deleteAlertsSource** +> AlertsSourceResponse deleteAlertsSource(id) Delete an alert source @@ -110,10 +110,10 @@ public class Example { AlertSourcesApi apiInstance = new AlertSourcesApi(defaultClient); String id = "id_example"; // String | try { - AlertsSourceResponse result = apiInstance.deleteAlertSource(id); + AlertsSourceResponse result = apiInstance.deleteAlertsSource(id); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertSourcesApi#deleteAlertSource"); + System.err.println("Exception when calling AlertSourcesApi#deleteAlertsSource"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -148,9 +148,9 @@ public class Example { | **200** | alert source deleted | - | | **404** | resource not found | - | - -# **getAlertSource** -> AlertsSourceResponse getAlertSource(id) + +# **getAlertsSource** +> AlertsSourceResponse getAlertsSource(id) Retrieves an alert source @@ -178,10 +178,10 @@ public class Example { AlertSourcesApi apiInstance = new AlertSourcesApi(defaultClient); String id = "id_example"; // String | try { - AlertsSourceResponse result = apiInstance.getAlertSource(id); + AlertsSourceResponse result = apiInstance.getAlertsSource(id); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertSourcesApi#getAlertSource"); + System.err.println("Exception when calling AlertSourcesApi#getAlertsSource"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -216,9 +216,9 @@ public class Example { | **200** | alert source found | - | | **404** | resource not found | - | - -# **listAlertSources** -> AlertsSourceList listAlertSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort) + +# **listAlertsSources** +> AlertsSourceList listAlertsSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort) List alert sources @@ -250,12 +250,13 @@ public class Example { String filterSearch = "filterSearch_example"; // String | String filterStatuses = "filterStatuses_example"; // String | String filterSourceTypes = "filterSourceTypes_example"; // String | + String filterName = "filterName_example"; // String | String sort = "sort_example"; // String | try { - AlertsSourceList result = apiInstance.listAlertSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort); + AlertsSourceList result = apiInstance.listAlertsSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertSourcesApi#listAlertSources"); + System.err.println("Exception when calling AlertSourcesApi#listAlertsSources"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -275,6 +276,7 @@ public class Example { | **filterSearch** | **String**| | [optional] | | **filterStatuses** | **String**| | [optional] | | **filterSourceTypes** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | | **sort** | **String**| | [optional] | ### Return type @@ -295,9 +297,9 @@ public class Example { |-------------|-------------|------------------| | **200** | success | - | - -# **updateAlertSource** -> AlertsSourceResponse updateAlertSource(id, updateAlertsSource) + +# **updateAlertsSource** +> AlertsSourceResponse updateAlertsSource(id, updateAlertsSource) Update an alert source @@ -326,10 +328,10 @@ public class Example { String id = "id_example"; // String | UpdateAlertsSource updateAlertsSource = new UpdateAlertsSource(); // UpdateAlertsSource | try { - AlertsSourceResponse result = apiInstance.updateAlertSource(id, updateAlertsSource); + AlertsSourceResponse result = apiInstance.updateAlertsSource(id, updateAlertsSource); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertSourcesApi#updateAlertSource"); + System.err.println("Exception when calling AlertSourcesApi#updateAlertsSource"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); diff --git a/docs/AlertTriggerParams.md b/docs/AlertTriggerParams.md index 44ad7017..93263622 100644 --- a/docs/AlertTriggerParams.md +++ b/docs/AlertTriggerParams.md @@ -19,10 +19,14 @@ |**alertConditionStatusUseRegexp** | **Boolean** | | [optional] | |**alertStatuses** | **List<String>** | | [optional] | |**alertLabels** | **List<String>** | | [optional] | +|**alertConditionUrgency** | [**AlertConditionUrgencyEnum**](#AlertConditionUrgencyEnum) | | [optional] | +|**alertUrgencyIds** | **List<UUID>** | | [optional] | |**alertConditionPayload** | [**AlertConditionPayloadEnum**](#AlertConditionPayloadEnum) | | [optional] | |**alertConditionPayloadUseRegexp** | **Boolean** | | [optional] | |**alertPayload** | **List<String>** | | [optional] | |**alertQueryPayload** | **String** | You can use jsonpath syntax. eg: $.incident.teams[*] | [optional] | +|**alertFieldConditions** | [**List<AlertTriggerParamsAlertFieldConditionsInner>**](AlertTriggerParamsAlertFieldConditionsInner.md) | | [optional] | +|**alertPayloadConditions** | [**AlertTriggerParamsAlertPayloadConditions**](AlertTriggerParamsAlertPayloadConditions.md) | | [optional] | @@ -58,6 +62,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -73,6 +78,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -88,6 +94,23 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | +| ANY | "ANY" | +| CONTAINS | "CONTAINS" | +| CONTAINS_ALL | "CONTAINS_ALL" | +| CONTAINS_NONE | "CONTAINS_NONE" | +| NONE | "NONE" | +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: AlertConditionUrgencyEnum + +| Name | Value | +|---- | -----| +| IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -103,6 +126,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/AlertTriggerParamsAlertFieldConditionsInner.md b/docs/AlertTriggerParamsAlertFieldConditionsInner.md new file mode 100644 index 00000000..83e4aac8 --- /dev/null +++ b/docs/AlertTriggerParamsAlertFieldConditionsInner.md @@ -0,0 +1,31 @@ + + +# AlertTriggerParamsAlertFieldConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertFieldId** | **String** | | | +|**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | | | +|**values** | **List<String>** | | [optional] | + + + +## Enum: ConditionTypeEnum + +| Name | Value | +|---- | -----| +| IS | "IS" | +| IS_NOT | "IS NOT" | +| ANY | "ANY" | +| CONTAINS | "CONTAINS" | +| CONTAINS_ALL | "CONTAINS_ALL" | +| CONTAINS_NONE | "CONTAINS_NONE" | +| NONE | "NONE" | +| SET | "SET" | +| UNSET | "UNSET" | + + + diff --git a/docs/AlertTriggerParamsAlertPayloadConditions.md b/docs/AlertTriggerParamsAlertPayloadConditions.md new file mode 100644 index 00000000..573c7ba4 --- /dev/null +++ b/docs/AlertTriggerParamsAlertPayloadConditions.md @@ -0,0 +1,24 @@ + + +# AlertTriggerParamsAlertPayloadConditions + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**logic** | [**LogicEnum**](#LogicEnum) | | [optional] | +|**conditions** | [**List<AlertTriggerParamsAlertPayloadConditionsConditionsInner>**](AlertTriggerParamsAlertPayloadConditionsConditionsInner.md) | | [optional] | + + + +## Enum: LogicEnum + +| Name | Value | +|---- | -----| +| ALL | "ALL" | +| ANY | "ANY" | +| NONE | "NONE" | + + + diff --git a/docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md b/docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md new file mode 100644 index 00000000..8406b750 --- /dev/null +++ b/docs/AlertTriggerParamsAlertPayloadConditionsConditionsInner.md @@ -0,0 +1,32 @@ + + +# AlertTriggerParamsAlertPayloadConditionsConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**query** | **String** | | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | | | +|**values** | **List<String>** | | [optional] | +|**useRegexp** | **Boolean** | | [optional] | + + + +## Enum: OperatorEnum + +| Name | Value | +|---- | -----| +| IS | "IS" | +| IS_NOT | "IS NOT" | +| ANY | "ANY" | +| CONTAINS | "CONTAINS" | +| CONTAINS_ALL | "CONTAINS_ALL" | +| CONTAINS_NONE | "CONTAINS_NONE" | +| NONE | "NONE" | +| SET | "SET" | +| UNSET | "UNSET" | + + + diff --git a/docs/AlertUrgencyList.md b/docs/AlertUrgencyList.md index 2b93c510..287647da 100644 --- a/docs/AlertUrgencyList.md +++ b/docs/AlertUrgencyList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AlertUrgencyResponseData>**](AlertUrgencyResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/AlertsApi.md b/docs/AlertsApi.md index d360175d..4d7d965a 100644 --- a/docs/AlertsApi.md +++ b/docs/AlertsApi.md @@ -7,10 +7,12 @@ All URIs are relative to *https://api.rootly.com* | [**acknowledgeAlert**](AlertsApi.md#acknowledgeAlert) | **POST** /v1/alerts/{id}/acknowledge | Acknowledges an alert | | [**attachAlert**](AlertsApi.md#attachAlert) | **POST** /v1/incidents/{incident_id}/alerts | Attach alerts to an incident | | [**createAlert**](AlertsApi.md#createAlert) | **POST** /v1/alerts | Creates an alert | +| [**escalateAlert**](AlertsApi.md#escalateAlert) | **POST** /v1/alerts/{id}/escalate | Escalates an alert | | [**getAlert**](AlertsApi.md#getAlert) | **GET** /v1/alerts/{id} | Retrieves an alert | | [**listAlerts**](AlertsApi.md#listAlerts) | **GET** /v1/alerts | List alerts | | [**listIncidentAlerts**](AlertsApi.md#listIncidentAlerts) | **GET** /v1/incidents/{incident_id}/alerts | List Incident alerts | | [**resolveAlert**](AlertsApi.md#resolveAlert) | **POST** /v1/alerts/{id}/resolve | Resolves an alert | +| [**snoozeAlert**](AlertsApi.md#snoozeAlert) | **POST** /v1/alerts/{id}/snooze | Snoozes an alert | | [**updateAlert**](AlertsApi.md#updateAlert) | **PATCH** /v1/alerts/{id} | Update alert | @@ -81,6 +83,7 @@ public class Example { |-------------|-------------|------------------| | **200** | alert acknowledged | - | | **404** | resource not found | - | +| **400** | cannot acknowledge open alert | - | # **attachAlert** @@ -221,13 +224,13 @@ public class Example { | **422** | invalid request | - | | **401** | resource not found | - | - -# **getAlert** -> AlertResponse getAlert(id) + +# **escalateAlert** +> AlertResponse escalateAlert(id, escalateAlert) -Retrieves an alert +Escalates an alert -Retrieves a specific alert by id +Escalates a specific alert to the next or specified level in its escalation policy ### Example ```java @@ -250,11 +253,12 @@ public class Example { AlertsApi apiInstance = new AlertsApi(defaultClient); String id = "id_example"; // String | + EscalateAlert escalateAlert = new EscalateAlert(); // EscalateAlert | try { - AlertResponse result = apiInstance.getAlert(id); + AlertResponse result = apiInstance.escalateAlert(id, escalateAlert); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertsApi#getAlert"); + System.err.println("Exception when calling AlertsApi#escalateAlert"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -269,6 +273,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **id** | **String**| | | +| **escalateAlert** | [**EscalateAlert**](EscalateAlert.md)| | [optional] | ### Return type @@ -280,22 +285,24 @@ 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 found | - | -| **404** | resource not found | - | +| **200** | escalates to different EP defaults to level 1 | - | +| **422** | escalation_policy_level exceeds max | - | +| **404** | cannot escalate grouped member alert | - | +| **400** | malformed escalation_policy_id | - | - -# **listAlerts** -> AlertList listAlerts(include, filterStatus, pageNumber, pageSize) + +# **getAlert** +> AlertResponse getAlert(id, include) -List alerts +Retrieves an alert -List alerts +Retrieves a specific alert by id ### Example ```java @@ -317,15 +324,13 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertsApi apiInstance = new AlertsApi(defaultClient); - String include = "include_example"; // String | - String filterStatus = "filterStatus_example"; // String | - Integer pageNumber = 56; // Integer | - Integer pageSize = 56; // Integer | + String id = "id_example"; // String | + String include = "environments"; // String | comma separated if needed. eg: environments,services,groups try { - AlertList result = apiInstance.listAlerts(include, filterStatus, pageNumber, pageSize); + AlertResponse result = apiInstance.getAlert(id, include); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertsApi#listAlerts"); + System.err.println("Exception when calling AlertsApi#getAlert"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -339,14 +344,12 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **include** | **String**| | [optional] | -| **filterStatus** | **String**| | [optional] | -| **pageNumber** | **Integer**| | [optional] | -| **pageSize** | **Integer**| | [optional] | +| **id** | **String**| | | +| **include** | **String**| comma separated if needed. eg: environments,services,groups | [optional] [enum: environments, services, groups, responders, incidents, events, alert_urgency, heartbeat, live_call_router, alert_group, group_leader_alert, group_member_alerts, alert_field_values, alerting_targets, escalation_policies, alert_call_recording, alert_urgency] | ### Return type -[**AlertList**](AlertList.md) +[**AlertResponse**](AlertResponse.md) ### Authorization @@ -360,15 +363,16 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | filter by status | - | +| **200** | alert found with group_member_alerts included | - | +| **404** | resource not found | - | - -# **listIncidentAlerts** -> AlertList listIncidentAlerts(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize) + +# **listAlerts** +> AlertList listAlerts(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize) -List Incident alerts +List alerts -List incident alerts +List alerts ### Example ```java @@ -390,8 +394,8 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); AlertsApi apiInstance = new AlertsApi(defaultClient); - String incidentId = "incidentId_example"; // String | - String include = "include_example"; // String | + String include = "environments"; // String | comma separated if needed. eg: environments,services,groups + String filterStatus = "filterStatus_example"; // String | String filterSource = "filterSource_example"; // String | String filterServices = "filterServices_example"; // String | String filterEnvironments = "filterEnvironments_example"; // String | @@ -409,13 +413,18 @@ public class Example { String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String filterUpdatedAtGt = "filterUpdatedAtGt_example"; // String | + String filterUpdatedAtGte = "filterUpdatedAtGte_example"; // String | + String filterUpdatedAtLt = "filterUpdatedAtLt_example"; // String | + String filterUpdatedAtLte = "filterUpdatedAtLte_example"; // String | + String pageAfter = "pageAfter_example"; // String | The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | try { - AlertList result = apiInstance.listIncidentAlerts(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + AlertList result = apiInstance.listAlerts(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize); System.out.println(result); } catch (ApiException e) { - System.err.println("Exception when calling AlertsApi#listIncidentAlerts"); + System.err.println("Exception when calling AlertsApi#listAlerts"); System.err.println("Status code: " + e.getCode()); System.err.println("Reason: " + e.getResponseBody()); System.err.println("Response headers: " + e.getResponseHeaders()); @@ -429,8 +438,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **incidentId** | **String**| | | -| **include** | **String**| | [optional] | +| **include** | **String**| comma separated if needed. eg: environments,services,groups | [optional] [enum: environments, services, groups, responders, incidents, events, alert_urgency, heartbeat, live_call_router, alert_group, group_leader_alert, group_member_alerts, alert_field_values, alerting_targets, escalation_policies, alert_call_recording, alert_urgency] | +| **filterStatus** | **String**| | [optional] | | **filterSource** | **String**| | [optional] | | **filterServices** | **String**| | [optional] | | **filterEnvironments** | **String**| | [optional] | @@ -448,6 +457,11 @@ public class Example { | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | | **filterCreatedAtLte** | **String**| | [optional] | +| **filterUpdatedAtGt** | **String**| | [optional] | +| **filterUpdatedAtGte** | **String**| | [optional] | +| **filterUpdatedAtLt** | **String**| | [optional] | +| **filterUpdatedAtLte** | **String**| | [optional] | +| **pageAfter** | **String**| The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. | [optional] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | @@ -459,6 +473,75 @@ public class Example { [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** | returns grouping attributes | - | + + +# **listIncidentAlerts** +> AlertList listIncidentAlerts(incidentId, include) + +List Incident alerts + +List incident alerts + +### 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.AlertsApi; + +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"); + + AlertsApi apiInstance = new AlertsApi(defaultClient); + String incidentId = "incidentId_example"; // String | + String include = "environments"; // String | comma separated if needed. eg: environments,services,groups + try { + AlertList result = apiInstance.listIncidentAlerts(incidentId, include); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertsApi#listIncidentAlerts"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **incidentId** | **String**| | | +| **include** | **String**| comma separated if needed. eg: environments,services,groups | [optional] [enum: environments, services, groups, responders, incidents, events, alert_urgency, heartbeat, live_call_router, alert_group, group_leader_alert, group_member_alerts, alert_field_values, alerting_targets, escalation_policies, alert_call_recording, alert_urgency] | + +### Return type + +[**AlertList**](AlertList.md) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + ### HTTP request headers - **Content-Type**: Not defined @@ -536,8 +619,80 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | resolve acknowledged | - | +| **200** | resolves open alert | - | +| **404** | resource not found | - | + + +# **snoozeAlert** +> AlertResponse snoozeAlert(id, snoozeAlert) + +Snoozes an alert + +Snoozes a specific alert by id, extending the acknowledgment timeout + +### 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.AlertsApi; + +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"); + + AlertsApi apiInstance = new AlertsApi(defaultClient); + String id = "id_example"; // String | + SnoozeAlert snoozeAlert = new SnoozeAlert(); // SnoozeAlert | + try { + AlertResponse result = apiInstance.snoozeAlert(id, snoozeAlert); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AlertsApi#snoozeAlert"); + 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**| | | +| **snoozeAlert** | [**SnoozeAlert**](SnoozeAlert.md)| | | + +### Return type + +[**AlertResponse**](AlertResponse.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 snoozed | - | | **404** | resource not found | - | +| **400** | invalid delay_minutes | - | +| **422** | snooze service failure | - | # **updateAlert** @@ -606,6 +761,6 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | alert updated | - | +| **200** | updates one field value and preserves others | - | | **422** | invalid request | - | diff --git a/docs/AlertsSource.md b/docs/AlertsSource.md index a4adcbe8..0123e44e 100644 --- a/docs/AlertsSource.md +++ b/docs/AlertsSource.md @@ -7,18 +7,73 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**alertUrgencyId** | **String** | ID for the default alert urgency assigned to this alert source | [optional] | |**name** | **String** | The name of the alert source | | -|**sourceType** | **String** | The alert source type | [optional] | -|**status** | **String** | The current status of the alert source | | -|**secret** | **String** | A secret key used to authenticate incoming requests to this alerts source | | -|**webhookEndpoint** | **String** | The URL endpoint of the alert source | [optional] | -|**email** | **String** | The email address of the alert source | [optional] | +|**sourceType** | [**SourceTypeEnum**](#SourceTypeEnum) | The alert source type | [optional] | +|**alertUrgencyId** | **String** | ID for the default alert urgency assigned to this alert source | [optional] | +|**deduplicateAlertsByKey** | **Boolean** | Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. | [optional] | +|**deduplicationKeyKind** | [**DeduplicationKeyKindEnum**](#DeduplicationKeyKindEnum) | Kind of deduplication key. | [optional] | +|**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] | +|**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] | +|**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] | +|**webhookEndpoint** | **String** | The webhook URL generated for non-email alert sources | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | -|**sourceableAttributes** | **Object** | Additional attributes specific to certain alert sources (e.g., generic_webhook), encapsulating source-specific configurations or details | [optional] | -|**resolutionRuleAttributes** | **Object** | Additional attributes for email alerts source | [optional] | + + + +## Enum: SourceTypeEnum + +| Name | Value | +|---- | -----| +| EMAIL | "email" | +| APP_DYNAMICS | "app_dynamics" | +| CATCHPOINT | "catchpoint" | +| DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | +| ALERTMANAGER | "alertmanager" | +| GOOGLE_CLOUD | "google_cloud" | +| GRAFANA | "grafana" | +| SENTRY | "sentry" | +| GENERIC_WEBHOOK | "generic_webhook" | +| CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | +| CHECKLY | "checkly" | +| AZURE | "azure" | +| NEW_RELIC | "new_relic" | +| SPLUNK | "splunk" | +| CHRONOSPHERE | "chronosphere" | +| APP_OPTICS | "app_optics" | +| BUG_SNAG | "bug_snag" | +| HONEYCOMB | "honeycomb" | +| MONTE_CARLO | "monte_carlo" | +| NAGIOS | "nagios" | +| PRTG | "prtg" | + + + +## Enum: DeduplicationKeyKindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| CONNECTED | "connected" | +| SETUP_COMPLETE | "setup_complete" | +| SETUP_INCOMPLETE | "setup_incomplete" | diff --git a/docs/AlertsSourceList.md b/docs/AlertsSourceList.md index 11812cff..978a9af7 100644 --- a/docs/AlertsSourceList.md +++ b/docs/AlertsSourceList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AlertsSourceResponseData>**](AlertsSourceResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ApiKey.md b/docs/ApiKey.md new file mode 100644 index 00000000..5f9ce7f5 --- /dev/null +++ b/docs/ApiKey.md @@ -0,0 +1,32 @@ + + +# ApiKey + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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 | | +|**roleId** | **String** | The role ID | [optional] | +|**onCallRoleId** | **String** | The on-call role ID | [optional] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | +|**expiresAt** | **String** | Expiration date | [optional] | +|**lastUsedAt** | **String** | Date of last use | [optional] | +|**gracePeriodEndsAt** | **String** | Grace period end date | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PERSONAL | "personal" | +| TEAM | "team" | +| ORGANIZATION | "organization" | + + + diff --git a/docs/ApiKeyList.md b/docs/ApiKeyList.md new file mode 100644 index 00000000..3847164d --- /dev/null +++ b/docs/ApiKeyList.md @@ -0,0 +1,15 @@ + + +# ApiKeyList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<ApiKeyResponseData>**](ApiKeyResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/ApiKeyResponse.md b/docs/ApiKeyResponse.md new file mode 100644 index 00000000..3c9e8412 --- /dev/null +++ b/docs/ApiKeyResponse.md @@ -0,0 +1,13 @@ + + +# ApiKeyResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ApiKeyResponseData**](ApiKeyResponseData.md) | | | + + + diff --git a/docs/ApiKeyResponseData.md b/docs/ApiKeyResponseData.md new file mode 100644 index 00000000..4cfe1c59 --- /dev/null +++ b/docs/ApiKeyResponseData.md @@ -0,0 +1,23 @@ + + +# ApiKeyResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the API key | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**ApiKey**](ApiKey.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| API_KEYS | "api_keys" | + + + diff --git a/docs/ApiKeyWithTokenResponse.md b/docs/ApiKeyWithTokenResponse.md new file mode 100644 index 00000000..a5be96d4 --- /dev/null +++ b/docs/ApiKeyWithTokenResponse.md @@ -0,0 +1,13 @@ + + +# ApiKeyWithTokenResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ApiKeyWithTokenResponseData**](ApiKeyWithTokenResponseData.md) | | | + + + diff --git a/docs/ApiKeyWithTokenResponseData.md b/docs/ApiKeyWithTokenResponseData.md new file mode 100644 index 00000000..6e68b146 --- /dev/null +++ b/docs/ApiKeyWithTokenResponseData.md @@ -0,0 +1,23 @@ + + +# ApiKeyWithTokenResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the API key | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**ApiKeyWithTokenResponseDataAttributes**](ApiKeyWithTokenResponseDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| API_KEYS | "api_keys" | + + + diff --git a/docs/ApiKeyWithTokenResponseDataAttributes.md b/docs/ApiKeyWithTokenResponseDataAttributes.md new file mode 100644 index 00000000..796c1914 --- /dev/null +++ b/docs/ApiKeyWithTokenResponseDataAttributes.md @@ -0,0 +1,33 @@ + + +# ApiKeyWithTokenResponseDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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 | | +|**roleId** | **String** | The role ID | [optional] | +|**onCallRoleId** | **String** | The on-call role ID | [optional] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | +|**expiresAt** | **String** | Expiration date | [optional] | +|**lastUsedAt** | **String** | Date of last use | [optional] | +|**gracePeriodEndsAt** | **String** | Grace period end date | [optional] | +|**token** | **String** | The API key token (only shown once) | | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PERSONAL | "personal" | +| TEAM | "team" | +| ORGANIZATION | "organization" | + + + diff --git a/docs/ApiKeysApi.md b/docs/ApiKeysApi.md new file mode 100644 index 00000000..55ed6e94 --- /dev/null +++ b/docs/ApiKeysApi.md @@ -0,0 +1,475 @@ +# ApiKeysApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createApiKey**](ApiKeysApi.md#createApiKey) | **POST** /v1/api_keys | Creates an API key | +| [**deleteApiKey**](ApiKeysApi.md#deleteApiKey) | **DELETE** /v1/api_keys/{id} | Revoke an API key | +| [**getApiKey**](ApiKeysApi.md#getApiKey) | **GET** /v1/api_keys/{id} | Retrieves an API key | +| [**listApiKeys**](ApiKeysApi.md#listApiKeys) | **GET** /v1/api_keys | List API keys | +| [**rotateApiKey**](ApiKeysApi.md#rotateApiKey) | **POST** /v1/api_keys/{id}/rotate | Rotate an API key | +| [**updateApiKey**](ApiKeysApi.md#updateApiKey) | **PUT** /v1/api_keys/{id} | Update an API key | + + + +# **createApiKey** +> ApiKeyWithTokenResponse createApiKey(newApiKey) + +Creates an API key + +Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. **Kinds and required fields:** - `personal` — created for the authenticated user. No additional fields required. - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + NewApiKey newApiKey = new NewApiKey(); // NewApiKey | + try { + ApiKeyWithTokenResponse result = apiInstance.createApiKey(newApiKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#createApiKey"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newApiKey** | [**NewApiKey**](NewApiKey.md)| | | + +### Return type + +[**ApiKeyWithTokenResponse**](ApiKeyWithTokenResponse.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** | API key created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteApiKey** +> ApiKeyResponse deleteApiKey(id) + +Revoke an API key + +Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + try { + ApiKeyResponse result = apiInstance.deleteApiKey(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#deleteApiKey"); + 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 + +[**ApiKeyResponse**](ApiKeyResponse.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** | API key revoked | - | +| **404** | API key not found | - | + + +# **getApiKey** +> ApiKeyResponse getApiKey(id, include) + +Retrieves an API key + +Retrieves a specific API key by its UUID. Returns key metadata including name, kind, expiration, last usage timestamp, and the grace period status — the secret token is never included. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + String include = "include_example"; // String | Comma-separated list of relationships to include (role, on_call_role, created_by, groups) + try { + ApiKeyResponse result = apiInstance.getApiKey(id, include); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#getApiKey"); + 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**| | | +| **include** | **String**| Comma-separated list of relationships to include (role, on_call_role, created_by, groups) | [optional] | + +### Return type + +[**ApiKeyResponse**](ApiKeyResponse.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** | API key found | - | +| **404** | API key not found | - | + + +# **listApiKeys** +> ApiKeyList listApiKeys(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort) + +List API keys + +List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. **API key kinds:** - `personal` — tied to a specific user, inherits that user's permissions. - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. - `organization` — organization-wide, creates a service account with a configurable role and on-call role. **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + String include = "include_example"; // String | Comma-separated list of relationships to include (role, on_call_role, created_by, groups) + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterKind = "filterKind_example"; // String | Filter by API key kind: personal, team, organization + String filterSearch = "filterSearch_example"; // String | Search by name (case-insensitive partial match) + String filterName = "filterName_example"; // String | Filter by exact name + String filterUserId = "filterUserId_example"; // String | Filter by the user ID that owns the key + String filterGroupIds = "filterGroupIds_example"; // String | Filter team keys by group IDs (comma-separated) + String filterRoleId = "filterRoleId_example"; // String | Filter by role ID + Boolean filterActive = true; // Boolean | When true, return only non-expired keys + Boolean filterExpired = true; // Boolean | When true, return only expired keys + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | Created after (ISO 8601) + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | Created at or after (ISO 8601) + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | Created before (ISO 8601) + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | Created at or before (ISO 8601) + String filterExpiresAtGt = "filterExpiresAtGt_example"; // String | Expires after (ISO 8601) + String filterExpiresAtGte = "filterExpiresAtGte_example"; // String | Expires at or after (ISO 8601) + String filterExpiresAtLt = "filterExpiresAtLt_example"; // String | Expires before (ISO 8601). Useful for finding keys approaching expiration. + String filterExpiresAtLte = "filterExpiresAtLte_example"; // String | Expires at or before (ISO 8601) + String filterLastUsedAtGt = "filterLastUsedAtGt_example"; // String | Last used after (ISO 8601) + String filterLastUsedAtGte = "filterLastUsedAtGte_example"; // String | Last used at or after (ISO 8601) + String filterLastUsedAtLt = "filterLastUsedAtLt_example"; // String | Last used before (ISO 8601) + String filterLastUsedAtLte = "filterLastUsedAtLte_example"; // String | Last used at or before (ISO 8601) + String sort = "sort_example"; // String | Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) + try { + ApiKeyList result = apiInstance.listApiKeys(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#listApiKeys"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| Comma-separated list of relationships to include (role, on_call_role, created_by, groups) | [optional] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterKind** | **String**| Filter by API key kind: personal, team, organization | [optional] | +| **filterSearch** | **String**| Search by name (case-insensitive partial match) | [optional] | +| **filterName** | **String**| Filter by exact name | [optional] | +| **filterUserId** | **String**| Filter by the user ID that owns the key | [optional] | +| **filterGroupIds** | **String**| Filter team keys by group IDs (comma-separated) | [optional] | +| **filterRoleId** | **String**| Filter by role ID | [optional] | +| **filterActive** | **Boolean**| When true, return only non-expired keys | [optional] | +| **filterExpired** | **Boolean**| When true, return only expired keys | [optional] | +| **filterCreatedAtGt** | **String**| Created after (ISO 8601) | [optional] | +| **filterCreatedAtGte** | **String**| Created at or after (ISO 8601) | [optional] | +| **filterCreatedAtLt** | **String**| Created before (ISO 8601) | [optional] | +| **filterCreatedAtLte** | **String**| Created at or before (ISO 8601) | [optional] | +| **filterExpiresAtGt** | **String**| Expires after (ISO 8601) | [optional] | +| **filterExpiresAtGte** | **String**| Expires at or after (ISO 8601) | [optional] | +| **filterExpiresAtLt** | **String**| Expires before (ISO 8601). Useful for finding keys approaching expiration. | [optional] | +| **filterExpiresAtLte** | **String**| Expires at or before (ISO 8601) | [optional] | +| **filterLastUsedAtGt** | **String**| Last used after (ISO 8601) | [optional] | +| **filterLastUsedAtGte** | **String**| Last used at or after (ISO 8601) | [optional] | +| **filterLastUsedAtLt** | **String**| Last used before (ISO 8601) | [optional] | +| **filterLastUsedAtLte** | **String**| Last used at or before (ISO 8601) | [optional] | +| **sort** | **String**| Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) | [optional] | + +### Return type + +[**ApiKeyList**](ApiKeyList.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 | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **rotateApiKey** +> ApiKeyWithTokenResponse rotateApiKey(id, rotateApiKey) + +Rotate an API key + +Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. **Typical rotation workflow:** 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). 2. Deploy the new token to your systems. 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). 4. After the grace period, the old token is automatically invalidated. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + String id = "id_example"; // String | + RotateApiKey rotateApiKey = new RotateApiKey(); // RotateApiKey | + try { + ApiKeyWithTokenResponse result = apiInstance.rotateApiKey(id, rotateApiKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#rotateApiKey"); + 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**| | | +| **rotateApiKey** | [**RotateApiKey**](RotateApiKey.md)| | [optional] | + +### Return type + +[**ApiKeyWithTokenResponse**](ApiKeyWithTokenResponse.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** | API key rotated | - | +| **404** | API key not found | - | + + +# **updateApiKey** +> ApiKeyResponse updateApiKey(id, updateApiKey) + +Update an API key + +Update an API key's mutable attributes: `name`, `description`, and `expires_at`. The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. The new `expires_at` must be in the future and within 5 years. + +### 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.ApiKeysApi; + +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"); + + ApiKeysApi apiInstance = new ApiKeysApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + UpdateApiKey updateApiKey = new UpdateApiKey(); // UpdateApiKey | + try { + ApiKeyResponse result = apiInstance.updateApiKey(id, updateApiKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ApiKeysApi#updateApiKey"); + 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**| | | +| **updateApiKey** | [**UpdateApiKey**](UpdateApiKey.md)| | | + +### Return type + +[**ApiKeyResponse**](ApiKeyResponse.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** | API key updated | - | +| **404** | API key not found | - | + diff --git a/docs/Audit.md b/docs/Audit.md index 4eab140d..a091525f 100644 --- a/docs/Audit.md +++ b/docs/Audit.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**event** | **String** | Describes the action that was taken. | | |**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] | |**objectChanges** | **Object** | The changes that occurred on the object | [optional] | |**userId** | **Integer** | The ID of who took action on the object. Together with whodunnit_type can be used to find the user | [optional] | @@ -22,12 +23,21 @@ | Name | Value | |---- | -----| +| ALERT_ROUTE | "AlertRoute" | +| ALERT_ROUTING_RULE | "AlertRoutingRule" | +| ALERTS_SOURCE | "Alerts::Source" | | API_KEY | "ApiKey" | +| CATALOG | "Catalog" | +| CATALOG_ENTITY | "CatalogEntity" | +| CATALOG_ENTITY_PROPERTY | "CatalogEntityProperty" | +| CATALOG_FIELD | "CatalogField" | | CAUSE | "Cause" | | CUSTOM_FIELD | "CustomField" | | CUSTOM_FIELD_OPTION | "CustomFieldOption" | | CUSTOM_FORM | "CustomForm" | | DASHBOARD | "Dashboard" | +| EDGE_CONNECTOR | "EdgeConnector" | +| EDGE_CONNECTOR_ACTION | "EdgeConnector::Action" | | ENVIRONMENT | "Environment" | | ESCALATION_POLICY | "EscalationPolicy" | | ESCALATION_POLICY_PATH | "EscalationPolicyPath" | @@ -38,24 +48,41 @@ | GENIUS_WORKFLOW_GROUP | "GeniusWorkflowGroup" | | GENIUS_WORKFLOW_RUN | "GeniusWorkflowRun" | | GROUP | "Group" | +| GROUP_USER | "GroupUser" | | HEARTBEAT | "Heartbeat" | | INCIDENT | "Incident" | +| LOGIN_ACTIVITY | "LoginActivity" | | INCIDENT_ACTION_ITEM | "IncidentActionItem" | | INCIDENT_EVENT | "IncidentEvent" | | INCIDENT_FORM_FIELD_SELECTION | "IncidentFormFieldSelection" | | INCIDENT_FORM_FIELD_SELECTION_USER | "IncidentFormFieldSelectionUser" | +| INCIDENT_PERMISSION_SET | "IncidentPermissionSet" | | INCIDENT_POST_MORTEM | "IncidentPostMortem" | | INCIDENT_ROLE_ASSIGNMENT | "IncidentRoleAssignment" | | INCIDENT_ROLE_TASK | "IncidentRoleTask" | | INCIDENT_STATUS_PAGE_EVENT | "IncidentStatusPageEvent" | | INCIDENT_TASK | "IncidentTask" | | INCIDENT_TYPE | "IncidentType" | +| INTEGRATIONS_DATADOG_ACCOUNT | "Integrations::DatadogAccount" | +| INTEGRATIONS_GITHUB_ACCOUNT | "Integrations::GithubAccount" | +| INTEGRATIONS_GOOGLE_MEET_ACCOUNT | "Integrations::GoogleMeetAccount" | +| INTEGRATIONS_JIRA_ACCOUNT | "Integrations::JiraAccount" | +| INTEGRATIONS_MICROSOFT_TEAMS_ACCOUNT | "Integrations::MicrosoftTeamsAccount" | +| INTEGRATIONS_OPSGENIE_ACCOUNT | "Integrations::OpsgenieAccount" | +| INTEGRATIONS_PAGERDUTY_ACCOUNT | "Integrations::PagerdutyAccount" | +| INTEGRATIONS_SERVICE_NOW_ACCOUNT | "Integrations::ServiceNowAccount" | +| INTEGRATIONS_SLACK_ACCOUNT | "Integrations::SlackAccount" | +| INTEGRATIONS_STATUS_PAGE_IO_ACCOUNT | "Integrations::StatusPageIoAccount" | +| INTEGRATIONS_ZENDESK_ACCOUNT | "Integrations::ZendeskAccount" | +| INTEGRATIONS_ZOOM_ACCOUNT | "Integrations::ZoomAccount" | | LIVE_CALL_ROUTER | "LiveCallRouter" | +| MEMBERSHIP | "Membership" | | ON_CALL_ROLE | "OnCallRole" | | PLAYBOOK | "Playbook" | | PLAYBOOK_TASK | "PlaybookTask" | | ROLE | "Role" | | SCHEDULE | "Schedule" | +| SECRET | "Secret" | | SERVICE | "Service" | | SEVERITY | "Severity" | | STATUS_PAGE | "StatusPage" | diff --git a/docs/AuditsList.md b/docs/AuditsList.md index 1fc057d6..edfcbae2 100644 --- a/docs/AuditsList.md +++ b/docs/AuditsList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AuditsListDataInner>**](AuditsListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/AuthorizationList.md b/docs/AuthorizationList.md index 3633dd66..c89d9c16 100644 --- a/docs/AuthorizationList.md +++ b/docs/AuthorizationList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<AuthorizationResponseData>**](AuthorizationResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/BuiltinField.md b/docs/BuiltinField.md new file mode 100644 index 00000000..6af57f40 --- /dev/null +++ b/docs/BuiltinField.md @@ -0,0 +1,22 @@ + + +# BuiltinField + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**fieldSource** | [**FieldSourceEnum**](#FieldSourceEnum) | | | +|**fieldKey** | **String** | Key identifying the builtin field | | + + + +## Enum: FieldSourceEnum + +| Name | Value | +|---- | -----| +| BUILTIN | "builtin" | + + + diff --git a/docs/CatalogChecklistTemplate.md b/docs/CatalogChecklistTemplate.md new file mode 100644 index 00000000..8738e934 --- /dev/null +++ b/docs/CatalogChecklistTemplate.md @@ -0,0 +1,45 @@ + + +# CatalogChecklistTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the checklist template | | +|**slug** | **String** | The slug of the checklist template | [optional] | +|**description** | **String** | The description of the checklist template | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The catalog type | | +|**scopeType** | [**ScopeTypeEnum**](#ScopeTypeEnum) | The scope type | | +|**scopeId** | **String** | The scope ID | | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | +|**fields** | [**List<CatalogChecklistTemplateFieldsInner>**](CatalogChecklistTemplateFieldsInner.md) | Template fields in position order | [optional] | +|**owners** | [**List<CatalogChecklistTemplateOwnersInner>**](CatalogChecklistTemplateOwnersInner.md) | Template owners | [optional] | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | +| ENVIRONMENT | "Environment" | +| GROUP | "Group" | +| CAUSE | "Cause" | +| INCIDENT_TYPE | "IncidentType" | +| CATALOG | "Catalog" | + + + +## Enum: ScopeTypeEnum + +| Name | Value | +|---- | -----| +| TEAM | "Team" | +| CATALOG | "Catalog" | + + + diff --git a/docs/CatalogChecklistTemplateFieldsInner.md b/docs/CatalogChecklistTemplateFieldsInner.md new file mode 100644 index 00000000..62cea492 --- /dev/null +++ b/docs/CatalogChecklistTemplateFieldsInner.md @@ -0,0 +1,24 @@ + + +# CatalogChecklistTemplateFieldsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**fieldSource** | [**FieldSourceEnum**](#FieldSourceEnum) | Source of the field | [optional] | +|**fieldKey** | **String** | Key identifying the field | [optional] | +|**catalogPropertyId** | **String** | ID of the catalog property for custom fields | [optional] | + + + +## Enum: FieldSourceEnum + +| Name | Value | +|---- | -----| +| BUILTIN | "builtin" | +| CUSTOM | "custom" | + + + diff --git a/docs/CatalogChecklistTemplateList.md b/docs/CatalogChecklistTemplateList.md new file mode 100644 index 00000000..d66b6a53 --- /dev/null +++ b/docs/CatalogChecklistTemplateList.md @@ -0,0 +1,15 @@ + + +# CatalogChecklistTemplateList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CatalogChecklistTemplateResponseData>**](CatalogChecklistTemplateResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CatalogChecklistTemplateOwnersInner.md b/docs/CatalogChecklistTemplateOwnersInner.md new file mode 100644 index 00000000..bbc293f9 --- /dev/null +++ b/docs/CatalogChecklistTemplateOwnersInner.md @@ -0,0 +1,23 @@ + + +# CatalogChecklistTemplateOwnersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | User ID for user owners, or field key for field owners | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | Type of owner | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| FIELD | "field" | +| USER | "user" | + + + diff --git a/docs/CatalogChecklistTemplateResponse.md b/docs/CatalogChecklistTemplateResponse.md new file mode 100644 index 00000000..e9311087 --- /dev/null +++ b/docs/CatalogChecklistTemplateResponse.md @@ -0,0 +1,13 @@ + + +# CatalogChecklistTemplateResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CatalogChecklistTemplateResponseData**](CatalogChecklistTemplateResponseData.md) | | | + + + diff --git a/docs/CatalogChecklistTemplateResponseData.md b/docs/CatalogChecklistTemplateResponseData.md new file mode 100644 index 00000000..a6418664 --- /dev/null +++ b/docs/CatalogChecklistTemplateResponseData.md @@ -0,0 +1,23 @@ + + +# CatalogChecklistTemplateResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the checklist template | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CatalogChecklistTemplate**](CatalogChecklistTemplate.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_CHECKLIST_TEMPLATES | "catalog_checklist_templates" | + + + diff --git a/docs/CatalogChecklistTemplatesApi.md b/docs/CatalogChecklistTemplatesApi.md new file mode 100644 index 00000000..fad71a9d --- /dev/null +++ b/docs/CatalogChecklistTemplatesApi.md @@ -0,0 +1,445 @@ +# CatalogChecklistTemplatesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCatalogChecklistTemplate**](CatalogChecklistTemplatesApi.md#createCatalogChecklistTemplate) | **POST** /v1/catalog_checklist_templates | Creates a catalog checklist template | +| [**deleteCatalogChecklistTemplate**](CatalogChecklistTemplatesApi.md#deleteCatalogChecklistTemplate) | **DELETE** /v1/catalog_checklist_templates/{id} | Delete a catalog checklist template | +| [**getCatalogChecklistTemplate**](CatalogChecklistTemplatesApi.md#getCatalogChecklistTemplate) | **GET** /v1/catalog_checklist_templates/{id} | Retrieves a catalog checklist template | +| [**listCatalogChecklistTemplates**](CatalogChecklistTemplatesApi.md#listCatalogChecklistTemplates) | **GET** /v1/catalog_checklist_templates | List catalog checklist templates | +| [**triggerCatalogChecklistTemplate**](CatalogChecklistTemplatesApi.md#triggerCatalogChecklistTemplate) | **POST** /v1/catalog_checklist_templates/{id}/trigger | Trigger an audit for a catalog checklist template | +| [**updateCatalogChecklistTemplate**](CatalogChecklistTemplatesApi.md#updateCatalogChecklistTemplate) | **PUT** /v1/catalog_checklist_templates/{id} | Update a catalog checklist template | + + + +# **createCatalogChecklistTemplate** +> CatalogChecklistTemplateResponse createCatalogChecklistTemplate(newCatalogChecklistTemplate) + +Creates a catalog checklist template + +Creates a new catalog checklist template + +### 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + NewCatalogChecklistTemplate newCatalogChecklistTemplate = new NewCatalogChecklistTemplate(); // NewCatalogChecklistTemplate | + try { + CatalogChecklistTemplateResponse result = apiInstance.createCatalogChecklistTemplate(newCatalogChecklistTemplate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#createCatalogChecklistTemplate"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogChecklistTemplate** | [**NewCatalogChecklistTemplate**](NewCatalogChecklistTemplate.md)| | | + +### Return type + +[**CatalogChecklistTemplateResponse**](CatalogChecklistTemplateResponse.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** | ignores user-provided field_key for custom fields | - | +| **422** | returns 422 when scope_type is missing for Catalog scope_id | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteCatalogChecklistTemplate** +> CatalogChecklistTemplateResponse deleteCatalogChecklistTemplate(id) + +Delete a catalog checklist template + +Delete a specific catalog checklist template 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + CatalogChecklistTemplateResponse result = apiInstance.deleteCatalogChecklistTemplate(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#deleteCatalogChecklistTemplate"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**CatalogChecklistTemplateResponse**](CatalogChecklistTemplateResponse.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** | catalog checklist template deleted | - | +| **404** | catalog checklist template not found | - | + + +# **getCatalogChecklistTemplate** +> CatalogChecklistTemplateResponse getCatalogChecklistTemplate(id) + +Retrieves a catalog checklist template + +Retrieves a specific catalog checklist template 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + CatalogChecklistTemplateResponse result = apiInstance.getCatalogChecklistTemplate(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#getCatalogChecklistTemplate"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**CatalogChecklistTemplateResponse**](CatalogChecklistTemplateResponse.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** | catalog checklist template found by slug | - | +| **404** | resource not found for another team | - | + + +# **listCatalogChecklistTemplates** +> CatalogChecklistTemplateList listCatalogChecklistTemplates(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List catalog checklist templates + +List catalog checklist templates + +### 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + String include = "template_fields"; // String | comma separated if needed. eg: template_fields,template_owners + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterName = "filterName_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterCatalogType = "filterCatalogType_example"; // String | + String filterScopeType = "filterScopeType_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogChecklistTemplateList result = apiInstance.listCatalogChecklistTemplates(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#listCatalogChecklistTemplates"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: template_fields,template_owners | [optional] [enum: template_fields, template_owners] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, name, -name] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterCatalogType** | **String**| | [optional] | +| **filterScopeType** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogChecklistTemplateList**](CatalogChecklistTemplateList.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** | returns empty list for another team | - | + + +# **triggerCatalogChecklistTemplate** +> triggerCatalogChecklistTemplate(id) + +Trigger an audit for a catalog checklist template + +Triggers an audit for all applicable entities of the checklist template + +### 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + apiInstance.triggerCatalogChecklistTemplate(id); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#triggerCatalogChecklistTemplate"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +null (empty response body) + +### 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 | +|-------------|-------------|------------------| +| **202** | audit triggered | - | +| **404** | resource not found for another team | - | + + +# **updateCatalogChecklistTemplate** +> CatalogChecklistTemplateResponse updateCatalogChecklistTemplate(id, updateCatalogChecklistTemplate) + +Update a catalog checklist template + +Update a specific catalog checklist template 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.CatalogChecklistTemplatesApi; + +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"); + + CatalogChecklistTemplatesApi apiInstance = new CatalogChecklistTemplatesApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate = new UpdateCatalogChecklistTemplate(); // UpdateCatalogChecklistTemplate | + try { + CatalogChecklistTemplateResponse result = apiInstance.updateCatalogChecklistTemplate(id, updateCatalogChecklistTemplate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogChecklistTemplatesApi#updateCatalogChecklistTemplate"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | +| **updateCatalogChecklistTemplate** | [**UpdateCatalogChecklistTemplate**](UpdateCatalogChecklistTemplate.md)| | | + +### Return type + +[**CatalogChecklistTemplateResponse**](CatalogChecklistTemplateResponse.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** | ignores user-provided field_key for custom fields on update | - | +| **422** | rejects duplicate custom fields on update | - | + diff --git a/docs/CatalogEntitiesApi.md b/docs/CatalogEntitiesApi.md index b8b90d46..e8d7d1ab 100644 --- a/docs/CatalogEntitiesApi.md +++ b/docs/CatalogEntitiesApi.md @@ -78,8 +78,8 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | catalog_entity created | - | -| **422** | invalid request | - | +| **201** | catalog_entity created with fields attribute | - | +| **422** | rejects entity with invalid catalog_field_id | - | | **401** | responds with unauthorized for invalid token | - | @@ -110,7 +110,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogEntitiesApi apiInstance = new CatalogEntitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CatalogEntityResponse result = apiInstance.deleteCatalogEntity(id); System.out.println(result); @@ -129,7 +129,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -178,7 +178,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogEntitiesApi apiInstance = new CatalogEntitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String include = "catalog"; // String | comma separated if needed. eg: catalog,properties try { CatalogEntityResponse result = apiInstance.getCatalogEntity(id, include); @@ -198,7 +198,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **include** | **String**| comma separated if needed. eg: catalog,properties | [optional] [enum: catalog, properties] | ### Return type @@ -217,12 +217,12 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | catalog_entity found | - | +| **200** | catalog_entity found by slug | - | | **404** | resource not found | - | # **listCatalogEntities** -> CatalogEntityList listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) +> CatalogEntityList listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) List Catalog Entities @@ -253,14 +253,16 @@ public class Example { String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | String filterSlug = "filterSlug_example"; // String | String filterName = "filterName_example"; // String | + String filterBackstageId = "filterBackstageId_example"; // String | String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | try { - CatalogEntityList result = apiInstance.listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + CatalogEntityList result = apiInstance.listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling CatalogEntitiesApi#listCatalogEntities"); @@ -282,8 +284,10 @@ public class Example { | **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | +| **filterSearch** | **String**| | [optional] | | **filterSlug** | **String**| | [optional] | | **filterName** | **String**| | [optional] | +| **filterBackstageId** | **String**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | @@ -335,7 +339,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogEntitiesApi apiInstance = new CatalogEntitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateCatalogEntity updateCatalogEntity = new UpdateCatalogEntity(); // UpdateCatalogEntity | try { CatalogEntityResponse result = apiInstance.updateCatalogEntity(id, updateCatalogEntity); @@ -355,7 +359,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateCatalogEntity** | [**UpdateCatalogEntity**](UpdateCatalogEntity.md)| | | ### Return type @@ -374,6 +378,6 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | catalog_entity updated | - | +| **200** | catalog_entity update replaces existing properties | - | | **404** | resource not found | - | diff --git a/docs/CatalogEntity.md b/docs/CatalogEntity.md index 91bff1b9..1175b094 100644 --- a/docs/CatalogEntity.md +++ b/docs/CatalogEntity.md @@ -10,8 +10,10 @@ |**name** | **String** | | | |**description** | **String** | | [optional] | |**position** | **Integer** | Default position of the item when displayed in a list. | | +|**backstageId** | **String** | The Backstage entity ID this catalog entity is linked to. | [optional] | |**createdAt** | **String** | | | |**updatedAt** | **String** | | | +|**properties** | [**List<NewCatalogEntityDataAttributesPropertiesInner>**](NewCatalogEntityDataAttributesPropertiesInner.md) | Array of property values for this catalog entity | [optional] | diff --git a/docs/CatalogEntityChecklist.md b/docs/CatalogEntityChecklist.md new file mode 100644 index 00000000..d3109fd1 --- /dev/null +++ b/docs/CatalogEntityChecklist.md @@ -0,0 +1,48 @@ + + +# CatalogEntityChecklist + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogChecklistTemplateId** | **String** | The ID of the checklist template | | +|**auditableType** | [**AuditableTypeEnum**](#AuditableTypeEnum) | The type of the auditable entity | | +|**auditableId** | **String** | The ID of the auditable entity | | +|**status** | [**StatusEnum**](#StatusEnum) | The status of the checklist | | +|**startedAt** | **String** | When the checklist was started | [optional] | +|**completedAt** | **String** | When the checklist was completed | [optional] | +|**completedByUserId** | **String** | The ID of the user who completed the checklist | [optional] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | +|**checklistFields** | [**List<CatalogEntityChecklistChecklistFieldsInner>**](CatalogEntityChecklistChecklistFieldsInner.md) | Checklist fields | [optional] | +|**checklistOwners** | [**List<CatalogEntityChecklistChecklistOwnersInner>**](CatalogEntityChecklistChecklistOwnersInner.md) | Checklist owners | [optional] | + + + +## Enum: AuditableTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | +| ENVIRONMENT | "Environment" | +| GROUP | "Group" | +| CAUSE | "Cause" | +| INCIDENT_TYPE | "IncidentType" | +| CATALOG_ENTITY | "CatalogEntity" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| TRIGGERED | "triggered" | +| IN_PROGRESS | "in_progress" | +| COMPLETED | "completed" | +| CANCELLED | "cancelled" | + + + diff --git a/docs/CatalogEntityChecklistChecklistFieldsInner.md b/docs/CatalogEntityChecklistChecklistFieldsInner.md new file mode 100644 index 00000000..b19e9a6a --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistFieldsInner.md @@ -0,0 +1,13 @@ + + +# CatalogEntityChecklistChecklistFieldsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CatalogEntityChecklistChecklistFieldsInnerData**](CatalogEntityChecklistChecklistFieldsInnerData.md) | | [optional] | + + + diff --git a/docs/CatalogEntityChecklistChecklistFieldsInnerData.md b/docs/CatalogEntityChecklistChecklistFieldsInnerData.md new file mode 100644 index 00000000..ca7bf157 --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistFieldsInnerData.md @@ -0,0 +1,23 @@ + + +# CatalogEntityChecklistChecklistFieldsInnerData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the checklist field | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**CatalogEntityChecklistChecklistFieldsInnerDataAttributes**](CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_ENTITY_CHECKLIST_FIELDS | "catalog_entity_checklist_fields" | + + + diff --git a/docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md b/docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md new file mode 100644 index 00000000..5359ab86 --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.md @@ -0,0 +1,21 @@ + + +# CatalogEntityChecklistChecklistFieldsInnerDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogEntityChecklistId** | **String** | The ID of the parent checklist | [optional] | +|**catalogChecklistTemplateFieldId** | **String** | The ID of the template field | [optional] | +|**fieldKey** | **String** | The field key | [optional] | +|**checked** | **Boolean** | Whether the field is checked | [optional] | +|**valueSnapshot** | **Object** | The value snapshot at time of checking | [optional] | +|**completedByUserId** | **String** | The ID of the user who checked the field | [optional] | +|**completedAt** | **String** | When the field was checked | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/CatalogEntityChecklistChecklistOwnersInner.md b/docs/CatalogEntityChecklistChecklistOwnersInner.md new file mode 100644 index 00000000..3acdda0a --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistOwnersInner.md @@ -0,0 +1,13 @@ + + +# CatalogEntityChecklistChecklistOwnersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CatalogEntityChecklistChecklistOwnersInnerData**](CatalogEntityChecklistChecklistOwnersInnerData.md) | | [optional] | + + + diff --git a/docs/CatalogEntityChecklistChecklistOwnersInnerData.md b/docs/CatalogEntityChecklistChecklistOwnersInnerData.md new file mode 100644 index 00000000..4bd40ebb --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistOwnersInnerData.md @@ -0,0 +1,23 @@ + + +# CatalogEntityChecklistChecklistOwnersInnerData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the checklist owner | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**CatalogEntityChecklistChecklistOwnersInnerDataAttributes**](CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_ENTITY_CHECKLIST_OWNERS | "catalog_entity_checklist_owners" | + + + diff --git a/docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md b/docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md new file mode 100644 index 00000000..11d9cf4b --- /dev/null +++ b/docs/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.md @@ -0,0 +1,16 @@ + + +# CatalogEntityChecklistChecklistOwnersInnerDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogEntityChecklistId** | **String** | The ID of the parent checklist | [optional] | +|**ownerUserId** | **String** | The ID of the owner user | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/CatalogEntityChecklistList.md b/docs/CatalogEntityChecklistList.md new file mode 100644 index 00000000..0e368d72 --- /dev/null +++ b/docs/CatalogEntityChecklistList.md @@ -0,0 +1,15 @@ + + +# CatalogEntityChecklistList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CatalogEntityChecklistResponseData>**](CatalogEntityChecklistResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CatalogEntityChecklistResponse.md b/docs/CatalogEntityChecklistResponse.md new file mode 100644 index 00000000..2df8b92e --- /dev/null +++ b/docs/CatalogEntityChecklistResponse.md @@ -0,0 +1,13 @@ + + +# CatalogEntityChecklistResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CatalogEntityChecklistResponseData**](CatalogEntityChecklistResponseData.md) | | | + + + diff --git a/docs/CatalogEntityChecklistResponseData.md b/docs/CatalogEntityChecklistResponseData.md new file mode 100644 index 00000000..d0ca6d5e --- /dev/null +++ b/docs/CatalogEntityChecklistResponseData.md @@ -0,0 +1,23 @@ + + +# CatalogEntityChecklistResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the entity checklist | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CatalogEntityChecklist**](CatalogEntityChecklist.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_ENTITY_CHECKLISTS | "catalog_entity_checklists" | + + + diff --git a/docs/CatalogEntityChecklistsApi.md b/docs/CatalogEntityChecklistsApi.md new file mode 100644 index 00000000..816435de --- /dev/null +++ b/docs/CatalogEntityChecklistsApi.md @@ -0,0 +1,163 @@ +# CatalogEntityChecklistsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**getCatalogEntityChecklist**](CatalogEntityChecklistsApi.md#getCatalogEntityChecklist) | **GET** /v1/catalog_entity_checklists/{id} | Retrieves a catalog entity checklist | +| [**listCatalogEntityChecklists**](CatalogEntityChecklistsApi.md#listCatalogEntityChecklists) | **GET** /v1/catalog_entity_checklists | List catalog entity checklists | + + + +# **getCatalogEntityChecklist** +> CatalogEntityChecklistResponse getCatalogEntityChecklist(id) + +Retrieves a catalog entity checklist + +Retrieves a specific catalog entity checklist 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.CatalogEntityChecklistsApi; + +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"); + + CatalogEntityChecklistsApi apiInstance = new CatalogEntityChecklistsApi(defaultClient); + UUID id = UUID.randomUUID(); // UUID | + try { + CatalogEntityChecklistResponse result = apiInstance.getCatalogEntityChecklist(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogEntityChecklistsApi#getCatalogEntityChecklist"); + 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 + +[**CatalogEntityChecklistResponse**](CatalogEntityChecklistResponse.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** | catalog entity checklist found | - | +| **404** | resource not found for another team | - | + + +# **listCatalogEntityChecklists** +> CatalogEntityChecklistList listCatalogEntityChecklists(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List catalog entity checklists + +List catalog entity checklists + +### 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.CatalogEntityChecklistsApi; + +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"); + + CatalogEntityChecklistsApi apiInstance = new CatalogEntityChecklistsApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterStatus = "filterStatus_example"; // String | + String filterCatalogChecklistTemplateId = "filterCatalogChecklistTemplateId_example"; // String | + String filterAuditableType = "filterAuditableType_example"; // String | + String filterAuditableId = "filterAuditableId_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogEntityChecklistList result = apiInstance.listCatalogEntityChecklists(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogEntityChecklistsApi#listCatalogEntityChecklists"); + 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] | +| **filterStatus** | **String**| | [optional] | +| **filterCatalogChecklistTemplateId** | **String**| | [optional] | +| **filterAuditableType** | **String**| | [optional] | +| **filterAuditableId** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogEntityChecklistList**](CatalogEntityChecklistList.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** | returns empty list for another team | - | + diff --git a/docs/CatalogEntityList.md b/docs/CatalogEntityList.md index 1223ce5c..d545d66a 100644 --- a/docs/CatalogEntityList.md +++ b/docs/CatalogEntityList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CatalogEntityResponseData>**](CatalogEntityResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CatalogEntityPropertiesApi.md b/docs/CatalogEntityPropertiesApi.md index d642d051..aca8d48d 100644 --- a/docs/CatalogEntityPropertiesApi.md +++ b/docs/CatalogEntityPropertiesApi.md @@ -17,7 +17,7 @@ All URIs are relative to *https://api.rootly.com* Creates a Catalog Entity Property -Creates a new Catalog Entity Property from provided data +**Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Creates a new Catalog Entity Property from provided data. ### Example ```java @@ -88,7 +88,7 @@ public class Example { Delete a Catalog Entity Property -Delete a specific Catalog Entity Property by id +**Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Delete a specific Catalog Entity Property by id. ### Example ```java @@ -156,7 +156,7 @@ public class Example { Retrieves a Catalog Entity Property -Retrieves a specific Catalog Entity Property by id +**Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. Retrieves a specific Catalog Entity Property by id. ### Example ```java @@ -226,7 +226,7 @@ public class Example { List catalog properties -List Catalog Entity Properties +**Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. List Catalog Entity Properties. ### Example ```java @@ -313,7 +313,7 @@ public class Example { Update a Catalog Entity Property -Update a specific Catalog Entity Property by id +**Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Update a specific Catalog Entity Property by id. ### Example ```java diff --git a/docs/CatalogEntityProperty.md b/docs/CatalogEntityProperty.md index 39a6cfd5..5ec3b97d 100644 --- a/docs/CatalogEntityProperty.md +++ b/docs/CatalogEntityProperty.md @@ -2,6 +2,7 @@ # CatalogEntityProperty +**Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. ## Properties @@ -22,6 +23,7 @@ |---- | -----| | TEXT | "text" | | CATALOG_ENTITY | "catalog_entity" | +| SLACK | "slack" | diff --git a/docs/CatalogEntityPropertyList.md b/docs/CatalogEntityPropertyList.md index 622c169c..e78328be 100644 --- a/docs/CatalogEntityPropertyList.md +++ b/docs/CatalogEntityPropertyList.md @@ -2,6 +2,7 @@ # CatalogEntityPropertyList +**Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. ## Properties @@ -9,6 +10,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CatalogEntityPropertyResponseData>**](CatalogEntityPropertyResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CatalogEntityPropertyResponse.md b/docs/CatalogEntityPropertyResponse.md index 31323843..26c07158 100644 --- a/docs/CatalogEntityPropertyResponse.md +++ b/docs/CatalogEntityPropertyResponse.md @@ -2,6 +2,7 @@ # CatalogEntityPropertyResponse +**Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. ## Properties diff --git a/docs/CatalogField.md b/docs/CatalogField.md index 52e1e3a0..273cfac1 100644 --- a/docs/CatalogField.md +++ b/docs/CatalogField.md @@ -9,11 +9,13 @@ |------------ | ------------- | ------------- | -------------| |**catalogId** | **String** | | | |**name** | **String** | | | -|**slug** | **String** | | | +|**slug** | **String** | | [optional] | |**kind** | [**KindEnum**](#KindEnum) | | | |**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | |**multiple** | **Boolean** | Whether the attribute accepts multiple values. | | |**position** | **Integer** | Default position of the item when displayed in a list. | | +|**required** | **Boolean** | Whether the field is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the field belongs to. | [optional] | |**createdAt** | **String** | | | |**updatedAt** | **String** | | | @@ -28,3 +30,17 @@ +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | + + + diff --git a/docs/CatalogFieldList.md b/docs/CatalogFieldList.md index 93b5082d..e9b7cbca 100644 --- a/docs/CatalogFieldList.md +++ b/docs/CatalogFieldList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CatalogFieldResponseData>**](CatalogFieldResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CatalogFieldResponseData.md b/docs/CatalogFieldResponseData.md index 8f6f231f..cc8f720d 100644 --- a/docs/CatalogFieldResponseData.md +++ b/docs/CatalogFieldResponseData.md @@ -17,7 +17,7 @@ | Name | Value | |---- | -----| -| CATALOG_FIELDS | "catalog_fields" | +| CATALOG_PROPERTIES | "catalog_properties" | diff --git a/docs/CatalogList.md b/docs/CatalogList.md index 2a768832..16e590e8 100644 --- a/docs/CatalogList.md +++ b/docs/CatalogList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CatalogResponseData>**](CatalogResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CatalogPropertiesApi.md b/docs/CatalogPropertiesApi.md new file mode 100644 index 00000000..58e902f7 --- /dev/null +++ b/docs/CatalogPropertiesApi.md @@ -0,0 +1,347 @@ +# CatalogPropertiesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCatalogProperty**](CatalogPropertiesApi.md#createCatalogProperty) | **POST** /v1/catalogs/{catalog_id}/properties | Creates a Catalog Property (alias for field) | +| [**deleteCatalogProperty**](CatalogPropertiesApi.md#deleteCatalogProperty) | **DELETE** /v1/catalog_properties/{id} | Delete a catalog_property | +| [**getCatalogProperty**](CatalogPropertiesApi.md#getCatalogProperty) | **GET** /v1/catalog_properties/{id} | Retrieves a Catalog Property (alias for field) | +| [**listCatalogProperties**](CatalogPropertiesApi.md#listCatalogProperties) | **GET** /v1/catalogs/{catalog_id}/properties | List Catalog Properties (alias for fields) | +| [**updateCatalogProperty**](CatalogPropertiesApi.md#updateCatalogProperty) | **PUT** /v1/catalog_properties/{id} | Update a catalog_property (alias for field) | + + + +# **createCatalogProperty** +> createCatalogProperty(catalogId, newCatalogField) + +Creates a Catalog Property (alias for field) + +Creates a new Catalog Property - returns catalog_properties type + +### 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.CatalogPropertiesApi; + +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"); + + CatalogPropertiesApi apiInstance = new CatalogPropertiesApi(defaultClient); + String catalogId = "catalogId_example"; // String | + NewCatalogField newCatalogField = new NewCatalogField(); // NewCatalogField | + try { + apiInstance.createCatalogProperty(catalogId, newCatalogField); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogPropertiesApi#createCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **catalogId** | **String**| | | +| **newCatalogField** | [**NewCatalogField**](NewCatalogField.md)| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | catalog_property created | - | + + +# **deleteCatalogProperty** +> deleteCatalogProperty(id) + +Delete a catalog_property + +Delete a specific catalog_property by id - returns catalog_properties type + +### 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.CatalogPropertiesApi; + +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"); + + CatalogPropertiesApi apiInstance = new CatalogPropertiesApi(defaultClient); + String id = "id_example"; // String | + try { + apiInstance.deleteCatalogProperty(id); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogPropertiesApi#deleteCatalogProperty"); + 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 + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | catalog_property deleted | - | + + +# **getCatalogProperty** +> getCatalogProperty(id) + +Retrieves a Catalog Property (alias for field) + +Retrieves a specific Catalog Property by id - returns catalog_properties type + +### 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.CatalogPropertiesApi; + +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"); + + CatalogPropertiesApi apiInstance = new CatalogPropertiesApi(defaultClient); + String id = "id_example"; // String | + try { + apiInstance.getCatalogProperty(id); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogPropertiesApi#getCatalogProperty"); + 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 + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | catalog_property found | - | + + +# **listCatalogProperties** +> listCatalogProperties(catalogId) + +List Catalog Properties (alias for fields) + +List Catalog Properties - returns catalog_properties type + +### 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.CatalogPropertiesApi; + +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"); + + CatalogPropertiesApi apiInstance = new CatalogPropertiesApi(defaultClient); + String catalogId = "catalogId_example"; // String | + try { + apiInstance.listCatalogProperties(catalogId); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogPropertiesApi#listCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **catalogId** | **String**| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | success with catalog_properties type | - | + + +# **updateCatalogProperty** +> updateCatalogProperty(id, updateCatalogField) + +Update a catalog_property (alias for field) + +Update a specific catalog_property by id - returns catalog_properties type + +### 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.CatalogPropertiesApi; + +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"); + + CatalogPropertiesApi apiInstance = new CatalogPropertiesApi(defaultClient); + String id = "id_example"; // String | + UpdateCatalogField updateCatalogField = new UpdateCatalogField(); // UpdateCatalogField | + try { + apiInstance.updateCatalogProperty(id, updateCatalogField); + } catch (ApiException e) { + System.err.println("Exception when calling CatalogPropertiesApi#updateCatalogProperty"); + 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**| | | +| **updateCatalogField** | [**UpdateCatalogField**](UpdateCatalogField.md)| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | catalog_property updated | - | + diff --git a/docs/CatalogProperty.md b/docs/CatalogProperty.md new file mode 100644 index 00000000..72edacfd --- /dev/null +++ b/docs/CatalogProperty.md @@ -0,0 +1,46 @@ + + +# CatalogProperty + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogId** | **String** | | | +|**name** | **String** | | | +|**slug** | **String** | | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | | | +|**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | +|**multiple** | **Boolean** | Whether the attribute accepts multiple values. | | +|**position** | **Integer** | Default position of the item when displayed in a list. | | +|**required** | **Boolean** | Whether the property is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the property belongs to. | [optional] | +|**createdAt** | **String** | | | +|**updatedAt** | **String** | | | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| TEXT | "text" | +| REFERENCE | "reference" | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | + + + diff --git a/docs/CatalogPropertyList.md b/docs/CatalogPropertyList.md new file mode 100644 index 00000000..776dda39 --- /dev/null +++ b/docs/CatalogPropertyList.md @@ -0,0 +1,15 @@ + + +# CatalogPropertyList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CatalogPropertyResponseData>**](CatalogPropertyResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/CatalogPropertyResponse.md b/docs/CatalogPropertyResponse.md new file mode 100644 index 00000000..ff236dc7 --- /dev/null +++ b/docs/CatalogPropertyResponse.md @@ -0,0 +1,13 @@ + + +# CatalogPropertyResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CatalogPropertyResponseData**](CatalogPropertyResponseData.md) | | | + + + diff --git a/docs/CatalogPropertyResponseData.md b/docs/CatalogPropertyResponseData.md new file mode 100644 index 00000000..136a8761 --- /dev/null +++ b/docs/CatalogPropertyResponseData.md @@ -0,0 +1,23 @@ + + +# CatalogPropertyResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the catalog_property | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CatalogProperty**](CatalogProperty.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_PROPERTIES | "catalog_properties" | + + + diff --git a/docs/CatalogsApi.md b/docs/CatalogsApi.md index 7e3cf0aa..a16a8f4a 100644 --- a/docs/CatalogsApi.md +++ b/docs/CatalogsApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogsApi apiInstance = new CatalogsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CatalogResponse result = apiInstance.deleteCatalog(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogsApi apiInstance = new CatalogsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CatalogResponse result = apiInstance.getCatalog(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,12 +213,12 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | catalog found | - | +| **200** | catalog found by slug | - | | **404** | resource not found | - | # **listCatalogs** -> CatalogList listCatalogs(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) +> CatalogList listCatalogs(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) List catalogs @@ -248,6 +248,7 @@ public class Example { String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | String filterSlug = "filterSlug_example"; // String | String filterName = "filterName_example"; // String | String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | @@ -255,7 +256,7 @@ public class Example { String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | try { - CatalogList result = apiInstance.listCatalogs(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + CatalogList result = apiInstance.listCatalogs(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling CatalogsApi#listCatalogs"); @@ -276,6 +277,7 @@ public class Example { | **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | +| **filterSearch** | **String**| | [optional] | | **filterSlug** | **String**| | [optional] | | **filterName** | **String**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | @@ -329,7 +331,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CatalogsApi apiInstance = new CatalogsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateCatalog updateCatalog = new UpdateCatalog(); // UpdateCatalog | try { CatalogResponse result = apiInstance.updateCatalog(id, updateCatalog); @@ -349,7 +351,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateCatalog** | [**UpdateCatalog**](UpdateCatalog.md)| | | ### Return type diff --git a/docs/Cause.md b/docs/Cause.md index 34a3c0fa..128f7d8a 100644 --- a/docs/Cause.md +++ b/docs/Cause.md @@ -11,6 +11,7 @@ |**slug** | **String** | The slug of the cause | [optional] | |**description** | **String** | The description of the cause | [optional] | |**position** | **Integer** | Position of the cause | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this cause. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/CauseList.md b/docs/CauseList.md index 9e3517ba..d85887ec 100644 --- a/docs/CauseList.md +++ b/docs/CauseList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CauseResponseData>**](CauseResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CausesApi.md b/docs/CausesApi.md index 6a075e7a..1ee2dbc3 100644 --- a/docs/CausesApi.md +++ b/docs/CausesApi.md @@ -5,8 +5,10 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**createCause**](CausesApi.md#createCause) | **POST** /v1/causes | Creates a cause | +| [**createCauseCatalogProperty**](CausesApi.md#createCauseCatalogProperty) | **POST** /v1/causes/properties | Creates a Catalog Property | | [**deleteCause**](CausesApi.md#deleteCause) | **DELETE** /v1/causes/{id} | Delete a cause | | [**getCause**](CausesApi.md#getCause) | **GET** /v1/causes/{id} | Retrieves a cause | +| [**listCauseCatalogProperties**](CausesApi.md#listCauseCatalogProperties) | **GET** /v1/causes/properties | List Catalog Properties | | [**listCauses**](CausesApi.md#listCauses) | **GET** /v1/causes | List causes | | [**updateCause**](CausesApi.md#updateCause) | **PUT** /v1/causes/{id} | Update a cause | @@ -80,6 +82,75 @@ public class Example { | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | + +# **createCauseCatalogProperty** +> CatalogPropertyResponse createCauseCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.CausesApi; + +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"); + + CausesApi apiInstance = new CausesApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createCauseCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CausesApi#createCauseCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **deleteCause** > CauseResponse deleteCause(id) @@ -108,7 +179,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CausesApi apiInstance = new CausesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CauseResponse result = apiInstance.deleteCause(id); System.out.println(result); @@ -127,7 +198,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +247,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CausesApi apiInstance = new CausesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CauseResponse result = apiInstance.getCause(id); System.out.println(result); @@ -195,7 +266,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,9 +284,96 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | cause found | - | +| **200** | cause found by slug | - | | **404** | resource not found | - | + +# **listCauseCatalogProperties** +> CatalogPropertyList listCauseCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List Cause Catalog Properties + +### 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.CausesApi; + +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"); + + CausesApi apiInstance = new CausesApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listCauseCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CausesApi#listCauseCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **listCauses** > CauseList listCauses(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) @@ -329,7 +487,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CausesApi apiInstance = new CausesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateCause updateCause = new UpdateCause(); // UpdateCause | try { CauseResponse result = apiInstance.updateCause(id, updateCause); @@ -349,7 +507,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateCause** | [**UpdateCause**](UpdateCause.md)| | | ### Return type diff --git a/docs/CommunicationsGroup.md b/docs/CommunicationsGroup.md new file mode 100644 index 00000000..b5dedf2e --- /dev/null +++ b/docs/CommunicationsGroup.md @@ -0,0 +1,35 @@ + + +# CommunicationsGroup + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications group | | +|**slug** | **String** | The slug of the communications group | [optional] | +|**description** | **String** | The description of the communications group | [optional] | +|**communicationTypeId** | **String** | The communication type ID | | +|**isPrivate** | **Boolean** | Whether the group is private | | +|**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | Condition type | | +|**smsChannel** | **Boolean** | SMS channel enabled | | +|**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] | +|**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] | + + + +## Enum: ConditionTypeEnum + +| Name | Value | +|---- | -----| +| ANY | "any" | +| ALL | "all" | + + + diff --git a/docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md b/docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md new file mode 100644 index 00000000..9a0d10db --- /dev/null +++ b/docs/CommunicationsGroupCommunicationExternalGroupMembersInner.md @@ -0,0 +1,16 @@ + + +# CommunicationsGroupCommunicationExternalGroupMembersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the external group member | [optional] | +|**name** | **String** | Name of the external member | [optional] | +|**email** | **String** | Email of the external member | [optional] | +|**phoneNumber** | **String** | Phone number of the external member | [optional] | + + + diff --git a/docs/CommunicationsGroupResponse.md b/docs/CommunicationsGroupResponse.md new file mode 100644 index 00000000..ed9766ff --- /dev/null +++ b/docs/CommunicationsGroupResponse.md @@ -0,0 +1,13 @@ + + +# CommunicationsGroupResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CommunicationsGroupResponseData**](CommunicationsGroupResponseData.md) | | | + + + diff --git a/docs/CommunicationsGroupResponseData.md b/docs/CommunicationsGroupResponseData.md new file mode 100644 index 00000000..602f63af --- /dev/null +++ b/docs/CommunicationsGroupResponseData.md @@ -0,0 +1,23 @@ + + +# CommunicationsGroupResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the communications group | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CommunicationsGroup**](CommunicationsGroup.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_GROUPS | "communications_groups" | + + + diff --git a/docs/CommunicationsGroupsApi.md b/docs/CommunicationsGroupsApi.md new file mode 100644 index 00000000..97612a1d --- /dev/null +++ b/docs/CommunicationsGroupsApi.md @@ -0,0 +1,377 @@ +# CommunicationsGroupsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCommunicationsGroup**](CommunicationsGroupsApi.md#createCommunicationsGroup) | **POST** /v1/communications/groups | Creates a communications group | +| [**deleteCommunicationsGroup**](CommunicationsGroupsApi.md#deleteCommunicationsGroup) | **DELETE** /v1/communications/groups/{id} | Deletes a communications group | +| [**getCommunicationsGroup**](CommunicationsGroupsApi.md#getCommunicationsGroup) | **GET** /v1/communications/groups/{id} | Shows a communications group | +| [**listCommunicationsGroups**](CommunicationsGroupsApi.md#listCommunicationsGroups) | **GET** /v1/communications/groups | Lists communications groups | +| [**updateCommunicationsGroup**](CommunicationsGroupsApi.md#updateCommunicationsGroup) | **PATCH** /v1/communications/groups/{id} | Updates a communications group | + + + +# **createCommunicationsGroup** +> CommunicationsGroupResponse createCommunicationsGroup(newCommunicationsGroup) + +Creates a communications group + +Creates a new communications group 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.CommunicationsGroupsApi; + +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"); + + CommunicationsGroupsApi apiInstance = new CommunicationsGroupsApi(defaultClient); + NewCommunicationsGroup newCommunicationsGroup = new NewCommunicationsGroup(); // NewCommunicationsGroup | + try { + CommunicationsGroupResponse result = apiInstance.createCommunicationsGroup(newCommunicationsGroup); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsGroupsApi#createCommunicationsGroup"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCommunicationsGroup** | [**NewCommunicationsGroup**](NewCommunicationsGroup.md)| | | + +### Return type + +[**CommunicationsGroupResponse**](CommunicationsGroupResponse.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** | communications group created | - | +| **422** | invalid request | - | + + +# **deleteCommunicationsGroup** +> deleteCommunicationsGroup(id) + +Deletes a communications group + +Deletes a communications group + +### 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.CommunicationsGroupsApi; + +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"); + + CommunicationsGroupsApi apiInstance = new CommunicationsGroupsApi(defaultClient); + String id = "id_example"; // String | Communications Group ID + try { + apiInstance.deleteCommunicationsGroup(id); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsGroupsApi#deleteCommunicationsGroup"); + 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**| Communications Group ID | | + +### Return type + +null (empty response body) + +### 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** | communications group deleted | - | +| **404** | communications group not found | - | + + +# **getCommunicationsGroup** +> CommunicationsGroupResponse getCommunicationsGroup(id) + +Shows a communications group + +Shows details of a communications group + +### 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.CommunicationsGroupsApi; + +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"); + + CommunicationsGroupsApi apiInstance = new CommunicationsGroupsApi(defaultClient); + String id = "id_example"; // String | Communications Group ID + try { + CommunicationsGroupResponse result = apiInstance.getCommunicationsGroup(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsGroupsApi#getCommunicationsGroup"); + 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**| Communications Group ID | | + +### Return type + +[**CommunicationsGroupResponse**](CommunicationsGroupResponse.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** | communications group found | - | +| **404** | communications group not found | - | + + +# **listCommunicationsGroups** +> CommunicationsGroupsResponse listCommunicationsGroups(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +Lists communications groups + +Lists communications groups + +### 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.CommunicationsGroupsApi; + +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"); + + CommunicationsGroupsApi apiInstance = new CommunicationsGroupsApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterIsPrivate = "filterIsPrivate_example"; // String | + String filterCommunicationTypeId = "filterCommunicationTypeId_example"; // String | + String filterConditionType = "filterConditionType_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + CommunicationsGroupsResponse result = apiInstance.listCommunicationsGroups(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsGroupsApi#listCommunicationsGroups"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterIsPrivate** | **String**| | [optional] | +| **filterCommunicationTypeId** | **String**| | [optional] | +| **filterConditionType** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**CommunicationsGroupsResponse**](CommunicationsGroupsResponse.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** | communications groups found | - | + + +# **updateCommunicationsGroup** +> CommunicationsGroupResponse updateCommunicationsGroup(id, updateCommunicationsGroup) + +Updates a communications group + +Updates a communications group + +### 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.CommunicationsGroupsApi; + +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"); + + CommunicationsGroupsApi apiInstance = new CommunicationsGroupsApi(defaultClient); + String id = "id_example"; // String | Communications Group ID + UpdateCommunicationsGroup updateCommunicationsGroup = new UpdateCommunicationsGroup(); // UpdateCommunicationsGroup | + try { + CommunicationsGroupResponse result = apiInstance.updateCommunicationsGroup(id, updateCommunicationsGroup); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsGroupsApi#updateCommunicationsGroup"); + 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**| Communications Group ID | | +| **updateCommunicationsGroup** | [**UpdateCommunicationsGroup**](UpdateCommunicationsGroup.md)| | | + +### Return type + +[**CommunicationsGroupResponse**](CommunicationsGroupResponse.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** | communications group updated | - | +| **422** | invalid request | - | + diff --git a/docs/CommunicationsGroupsResponse.md b/docs/CommunicationsGroupsResponse.md new file mode 100644 index 00000000..81dd8dda --- /dev/null +++ b/docs/CommunicationsGroupsResponse.md @@ -0,0 +1,15 @@ + + +# CommunicationsGroupsResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CommunicationsGroupResponseData>**](CommunicationsGroupResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CommunicationsStage.md b/docs/CommunicationsStage.md new file mode 100644 index 00000000..3f045bb2 --- /dev/null +++ b/docs/CommunicationsStage.md @@ -0,0 +1,18 @@ + + +# CommunicationsStage + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications stage | | +|**slug** | **String** | The slug of the communications stage | [optional] | +|**description** | **String** | The description of the communications stage | [optional] | +|**position** | **Integer** | Position of the communications stage | | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | + + + diff --git a/docs/CommunicationsStageResponse.md b/docs/CommunicationsStageResponse.md new file mode 100644 index 00000000..9de0253c --- /dev/null +++ b/docs/CommunicationsStageResponse.md @@ -0,0 +1,13 @@ + + +# CommunicationsStageResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CommunicationsStageResponseData**](CommunicationsStageResponseData.md) | | | + + + diff --git a/docs/CommunicationsStageResponseData.md b/docs/CommunicationsStageResponseData.md new file mode 100644 index 00000000..4203165a --- /dev/null +++ b/docs/CommunicationsStageResponseData.md @@ -0,0 +1,23 @@ + + +# CommunicationsStageResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the communications stage | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CommunicationsStage**](CommunicationsStage.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_STAGES | "communications_stages" | + + + diff --git a/docs/CommunicationsStagesApi.md b/docs/CommunicationsStagesApi.md new file mode 100644 index 00000000..8bd2ce97 --- /dev/null +++ b/docs/CommunicationsStagesApi.md @@ -0,0 +1,372 @@ +# CommunicationsStagesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCommunicationsStage**](CommunicationsStagesApi.md#createCommunicationsStage) | **POST** /v1/communications/stages | Creates a communications stage | +| [**deleteCommunicationsStage**](CommunicationsStagesApi.md#deleteCommunicationsStage) | **DELETE** /v1/communications/stages/{id} | Deletes a communications stage | +| [**getCommunicationsStage**](CommunicationsStagesApi.md#getCommunicationsStage) | **GET** /v1/communications/stages/{id} | Shows a communications stage | +| [**listCommunicationsStages**](CommunicationsStagesApi.md#listCommunicationsStages) | **GET** /v1/communications/stages | Lists communications stages | +| [**updateCommunicationsStage**](CommunicationsStagesApi.md#updateCommunicationsStage) | **PATCH** /v1/communications/stages/{id} | Updates a communications stage | + + + +# **createCommunicationsStage** +> CommunicationsStageResponse createCommunicationsStage(newCommunicationsStage) + +Creates a communications stage + +Creates a new communications stage 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.CommunicationsStagesApi; + +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"); + + CommunicationsStagesApi apiInstance = new CommunicationsStagesApi(defaultClient); + NewCommunicationsStage newCommunicationsStage = new NewCommunicationsStage(); // NewCommunicationsStage | + try { + CommunicationsStageResponse result = apiInstance.createCommunicationsStage(newCommunicationsStage); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsStagesApi#createCommunicationsStage"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCommunicationsStage** | [**NewCommunicationsStage**](NewCommunicationsStage.md)| | | + +### Return type + +[**CommunicationsStageResponse**](CommunicationsStageResponse.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** | communications stage created | - | +| **422** | invalid request | - | +| **401** | unauthorized | - | + + +# **deleteCommunicationsStage** +> deleteCommunicationsStage(id) + +Deletes a communications stage + +Deletes a communications stage + +### 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.CommunicationsStagesApi; + +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"); + + CommunicationsStagesApi apiInstance = new CommunicationsStagesApi(defaultClient); + String id = "id_example"; // String | Communications Stage ID + try { + apiInstance.deleteCommunicationsStage(id); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsStagesApi#deleteCommunicationsStage"); + 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**| Communications Stage ID | | + +### Return type + +null (empty response body) + +### 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** | communications stage deleted | - | +| **404** | communications stage not found | - | + + +# **getCommunicationsStage** +> CommunicationsStageResponse getCommunicationsStage(id) + +Shows a communications stage + +Shows details of a communications stage + +### 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.CommunicationsStagesApi; + +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"); + + CommunicationsStagesApi apiInstance = new CommunicationsStagesApi(defaultClient); + String id = "id_example"; // String | Communications Stage ID + try { + CommunicationsStageResponse result = apiInstance.getCommunicationsStage(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsStagesApi#getCommunicationsStage"); + 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**| Communications Stage ID | | + +### Return type + +[**CommunicationsStageResponse**](CommunicationsStageResponse.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** | communications stage found | - | +| **404** | resource not found | - | + + +# **listCommunicationsStages** +> CommunicationsStagesResponse listCommunicationsStages(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +Lists communications stages + +Lists communications stages + +### 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.CommunicationsStagesApi; + +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"); + + CommunicationsStagesApi apiInstance = new CommunicationsStagesApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + CommunicationsStagesResponse result = apiInstance.listCommunicationsStages(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsStagesApi#listCommunicationsStages"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**CommunicationsStagesResponse**](CommunicationsStagesResponse.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** | communications stages found | - | + + +# **updateCommunicationsStage** +> CommunicationsStageResponse updateCommunicationsStage(id, updateCommunicationsStage) + +Updates a communications stage + +Updates a communications stage + +### 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.CommunicationsStagesApi; + +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"); + + CommunicationsStagesApi apiInstance = new CommunicationsStagesApi(defaultClient); + String id = "id_example"; // String | Communications Stage ID + UpdateCommunicationsStage updateCommunicationsStage = new UpdateCommunicationsStage(); // UpdateCommunicationsStage | + try { + CommunicationsStageResponse result = apiInstance.updateCommunicationsStage(id, updateCommunicationsStage); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsStagesApi#updateCommunicationsStage"); + 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**| Communications Stage ID | | +| **updateCommunicationsStage** | [**UpdateCommunicationsStage**](UpdateCommunicationsStage.md)| | | + +### Return type + +[**CommunicationsStageResponse**](CommunicationsStageResponse.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** | communications stage updated | - | +| **422** | invalid request | - | + diff --git a/docs/CommunicationsStagesResponse.md b/docs/CommunicationsStagesResponse.md new file mode 100644 index 00000000..9909a4e9 --- /dev/null +++ b/docs/CommunicationsStagesResponse.md @@ -0,0 +1,15 @@ + + +# CommunicationsStagesResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CommunicationsStageResponseData>**](CommunicationsStageResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CommunicationsTemplate.md b/docs/CommunicationsTemplate.md new file mode 100644 index 00000000..b1c43343 --- /dev/null +++ b/docs/CommunicationsTemplate.md @@ -0,0 +1,21 @@ + + +# CommunicationsTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications template | | +|**slug** | **String** | The slug of the communications template | [optional] | +|**description** | **String** | The description of the communications template | [optional] | +|**position** | **Integer** | Position of the communications template | | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | +|**communicationTypeId** | **String** | The communication type ID | [optional] | +|**communicationTemplateStages** | [**List<CommunicationsTemplateCommunicationTemplateStagesInner>**](CommunicationsTemplateCommunicationTemplateStagesInner.md) | Communication template stages | [optional] | +|**communicationType** | [**CommunicationsTemplateCommunicationType**](CommunicationsTemplateCommunicationType.md) | | [optional] | + + + diff --git a/docs/CommunicationsTemplateCommunicationTemplateStagesInner.md b/docs/CommunicationsTemplateCommunicationTemplateStagesInner.md new file mode 100644 index 00000000..1bcead95 --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationTemplateStagesInner.md @@ -0,0 +1,13 @@ + + +# CommunicationsTemplateCommunicationTemplateStagesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CommunicationsTemplateCommunicationTemplateStagesInnerData**](CommunicationsTemplateCommunicationTemplateStagesInnerData.md) | | [optional] | + + + diff --git a/docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md new file mode 100644 index 00000000..5336392f --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerData.md @@ -0,0 +1,23 @@ + + +# CommunicationsTemplateCommunicationTemplateStagesInnerData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the communication template stage | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes**](CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TEMPLATE_STAGES | "communications_template_stages" | + + + diff --git a/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md new file mode 100644 index 00000000..b2ed441e --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.md @@ -0,0 +1,20 @@ + + +# CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**emailBody** | **String** | Email body for the stage | [optional] | +|**emailSubject** | **String** | Email subject for the stage | [optional] | +|**slackContent** | **String** | Slack content for the stage | [optional] | +|**smsContent** | **String** | SMS content for the stage | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | +|**communicationStage** | [**CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage**](CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md) | | [optional] | +|**communicationTemplate** | [**CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate**](CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md) | | [optional] | + + + diff --git a/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md new file mode 100644 index 00000000..30c59c04 --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.md @@ -0,0 +1,14 @@ + + +# CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The communication stage ID | [optional] | +|**name** | **String** | The communication stage name | [optional] | + + + diff --git a/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md new file mode 100644 index 00000000..1ccaaa32 --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.md @@ -0,0 +1,14 @@ + + +# CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | The communication template ID | [optional] | +|**name** | **String** | The communication template name | [optional] | + + + diff --git a/docs/CommunicationsTemplateCommunicationType.md b/docs/CommunicationsTemplateCommunicationType.md new file mode 100644 index 00000000..8dceefe8 --- /dev/null +++ b/docs/CommunicationsTemplateCommunicationType.md @@ -0,0 +1,14 @@ + + +# CommunicationsTemplateCommunicationType + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the communication type | [optional] | +|**name** | **String** | Name of the communication type | [optional] | + + + diff --git a/docs/CommunicationsTemplateResponse.md b/docs/CommunicationsTemplateResponse.md new file mode 100644 index 00000000..d7b9032d --- /dev/null +++ b/docs/CommunicationsTemplateResponse.md @@ -0,0 +1,13 @@ + + +# CommunicationsTemplateResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CommunicationsTemplateResponseData**](CommunicationsTemplateResponseData.md) | | | + + + diff --git a/docs/CommunicationsTemplateResponseData.md b/docs/CommunicationsTemplateResponseData.md new file mode 100644 index 00000000..5bae24c0 --- /dev/null +++ b/docs/CommunicationsTemplateResponseData.md @@ -0,0 +1,23 @@ + + +# CommunicationsTemplateResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the communications template | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CommunicationsTemplate**](CommunicationsTemplate.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TEMPLATES | "communications_templates" | + + + diff --git a/docs/CommunicationsTemplatesApi.md b/docs/CommunicationsTemplatesApi.md new file mode 100644 index 00000000..58bda5e4 --- /dev/null +++ b/docs/CommunicationsTemplatesApi.md @@ -0,0 +1,373 @@ +# CommunicationsTemplatesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCommunicationsTemplate**](CommunicationsTemplatesApi.md#createCommunicationsTemplate) | **POST** /v1/communications/templates | Creates a communications template | +| [**deleteCommunicationsTemplate**](CommunicationsTemplatesApi.md#deleteCommunicationsTemplate) | **DELETE** /v1/communications/templates/{id} | Deletes a communications template | +| [**getCommunicationsTemplate**](CommunicationsTemplatesApi.md#getCommunicationsTemplate) | **GET** /v1/communications/templates/{id} | Shows a communications template | +| [**listCommunicationsTemplates**](CommunicationsTemplatesApi.md#listCommunicationsTemplates) | **GET** /v1/communications/templates | Lists communications templates | +| [**updateCommunicationsTemplate**](CommunicationsTemplatesApi.md#updateCommunicationsTemplate) | **PATCH** /v1/communications/templates/{id} | Updates a communications template | + + + +# **createCommunicationsTemplate** +> CommunicationsTemplateResponse createCommunicationsTemplate(newCommunicationsTemplate) + +Creates a communications template + +Creates a new communications template 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.CommunicationsTemplatesApi; + +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"); + + CommunicationsTemplatesApi apiInstance = new CommunicationsTemplatesApi(defaultClient); + NewCommunicationsTemplate newCommunicationsTemplate = new NewCommunicationsTemplate(); // NewCommunicationsTemplate | + try { + CommunicationsTemplateResponse result = apiInstance.createCommunicationsTemplate(newCommunicationsTemplate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTemplatesApi#createCommunicationsTemplate"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCommunicationsTemplate** | [**NewCommunicationsTemplate**](NewCommunicationsTemplate.md)| | | + +### Return type + +[**CommunicationsTemplateResponse**](CommunicationsTemplateResponse.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** | communications template created | - | +| **422** | invalid request | - | + + +# **deleteCommunicationsTemplate** +> deleteCommunicationsTemplate(id) + +Deletes a communications template + +Deletes a communications template + +### 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.CommunicationsTemplatesApi; + +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"); + + CommunicationsTemplatesApi apiInstance = new CommunicationsTemplatesApi(defaultClient); + String id = "id_example"; // String | Communications Template ID + try { + apiInstance.deleteCommunicationsTemplate(id); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTemplatesApi#deleteCommunicationsTemplate"); + 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**| Communications Template ID | | + +### Return type + +null (empty response body) + +### 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** | communications template deleted | - | +| **404** | communications template not found | - | + + +# **getCommunicationsTemplate** +> CommunicationsTemplateResponse getCommunicationsTemplate(id) + +Shows a communications template + +Shows details of a communications template + +### 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.CommunicationsTemplatesApi; + +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"); + + CommunicationsTemplatesApi apiInstance = new CommunicationsTemplatesApi(defaultClient); + String id = "id_example"; // String | Communications Template ID + try { + CommunicationsTemplateResponse result = apiInstance.getCommunicationsTemplate(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTemplatesApi#getCommunicationsTemplate"); + 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**| Communications Template ID | | + +### Return type + +[**CommunicationsTemplateResponse**](CommunicationsTemplateResponse.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** | communications template found | - | +| **404** | communications template not found | - | + + +# **listCommunicationsTemplates** +> CommunicationsTemplatesResponse listCommunicationsTemplates(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +Lists communications templates + +Lists communications templates + +### 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.CommunicationsTemplatesApi; + +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"); + + CommunicationsTemplatesApi apiInstance = new CommunicationsTemplatesApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterCommunicationTypeId = "filterCommunicationTypeId_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + CommunicationsTemplatesResponse result = apiInstance.listCommunicationsTemplates(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTemplatesApi#listCommunicationsTemplates"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterCommunicationTypeId** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**CommunicationsTemplatesResponse**](CommunicationsTemplatesResponse.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** | communications templates found | - | + + +# **updateCommunicationsTemplate** +> CommunicationsTemplateResponse updateCommunicationsTemplate(id, updateCommunicationsTemplate) + +Updates a communications template + +Updates a communications template + +### 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.CommunicationsTemplatesApi; + +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"); + + CommunicationsTemplatesApi apiInstance = new CommunicationsTemplatesApi(defaultClient); + String id = "id_example"; // String | Communications Template ID + UpdateCommunicationsTemplate updateCommunicationsTemplate = new UpdateCommunicationsTemplate(); // UpdateCommunicationsTemplate | + try { + CommunicationsTemplateResponse result = apiInstance.updateCommunicationsTemplate(id, updateCommunicationsTemplate); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTemplatesApi#updateCommunicationsTemplate"); + 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**| Communications Template ID | | +| **updateCommunicationsTemplate** | [**UpdateCommunicationsTemplate**](UpdateCommunicationsTemplate.md)| | | + +### Return type + +[**CommunicationsTemplateResponse**](CommunicationsTemplateResponse.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** | communications template updated | - | +| **422** | invalid request | - | + diff --git a/docs/CommunicationsTemplatesResponse.md b/docs/CommunicationsTemplatesResponse.md new file mode 100644 index 00000000..47ce805a --- /dev/null +++ b/docs/CommunicationsTemplatesResponse.md @@ -0,0 +1,15 @@ + + +# CommunicationsTemplatesResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CommunicationsTemplateResponseData>**](CommunicationsTemplateResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CommunicationsType.md b/docs/CommunicationsType.md new file mode 100644 index 00000000..8aa1063b --- /dev/null +++ b/docs/CommunicationsType.md @@ -0,0 +1,19 @@ + + +# CommunicationsType + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications type | | +|**slug** | **String** | The slug of the communications type | [optional] | +|**description** | **String** | The description of the communications type | [optional] | +|**color** | **String** | The color of the communications type | | +|**position** | **Integer** | Position of the communications type | | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | + + + diff --git a/docs/CommunicationsTypeResponse.md b/docs/CommunicationsTypeResponse.md new file mode 100644 index 00000000..1acdfc2d --- /dev/null +++ b/docs/CommunicationsTypeResponse.md @@ -0,0 +1,13 @@ + + +# CommunicationsTypeResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CommunicationsTypeResponseData**](CommunicationsTypeResponseData.md) | | | + + + diff --git a/docs/CommunicationsTypeResponseData.md b/docs/CommunicationsTypeResponseData.md new file mode 100644 index 00000000..b042b175 --- /dev/null +++ b/docs/CommunicationsTypeResponseData.md @@ -0,0 +1,23 @@ + + +# CommunicationsTypeResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the communications type | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CommunicationsType**](CommunicationsType.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TYPES | "communications_types" | + + + diff --git a/docs/CommunicationsTypesApi.md b/docs/CommunicationsTypesApi.md new file mode 100644 index 00000000..5a4201d2 --- /dev/null +++ b/docs/CommunicationsTypesApi.md @@ -0,0 +1,371 @@ +# CommunicationsTypesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createCommunicationsType**](CommunicationsTypesApi.md#createCommunicationsType) | **POST** /v1/communications/types | Creates a communications type | +| [**deleteCommunicationsType**](CommunicationsTypesApi.md#deleteCommunicationsType) | **DELETE** /v1/communications/types/{id} | Deletes a communications type | +| [**getCommunicationsType**](CommunicationsTypesApi.md#getCommunicationsType) | **GET** /v1/communications/types/{id} | Shows a communications type | +| [**listCommunicationsTypes**](CommunicationsTypesApi.md#listCommunicationsTypes) | **GET** /v1/communications/types | Lists communications types | +| [**updateCommunicationsType**](CommunicationsTypesApi.md#updateCommunicationsType) | **PATCH** /v1/communications/types/{id} | Updates a communications type | + + + +# **createCommunicationsType** +> CommunicationsTypeResponse createCommunicationsType(newCommunicationsType) + +Creates a communications type + +Creates a new communications type 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.CommunicationsTypesApi; + +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"); + + CommunicationsTypesApi apiInstance = new CommunicationsTypesApi(defaultClient); + NewCommunicationsType newCommunicationsType = new NewCommunicationsType(); // NewCommunicationsType | + try { + CommunicationsTypeResponse result = apiInstance.createCommunicationsType(newCommunicationsType); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTypesApi#createCommunicationsType"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCommunicationsType** | [**NewCommunicationsType**](NewCommunicationsType.md)| | | + +### Return type + +[**CommunicationsTypeResponse**](CommunicationsTypeResponse.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** | communications type created | - | +| **422** | invalid request | - | + + +# **deleteCommunicationsType** +> deleteCommunicationsType(id) + +Deletes a communications type + +Deletes a communications type + +### 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.CommunicationsTypesApi; + +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"); + + CommunicationsTypesApi apiInstance = new CommunicationsTypesApi(defaultClient); + String id = "id_example"; // String | Communications Type ID + try { + apiInstance.deleteCommunicationsType(id); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTypesApi#deleteCommunicationsType"); + 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**| Communications Type ID | | + +### Return type + +null (empty response body) + +### 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** | communications type deleted | - | +| **404** | communications type not found | - | + + +# **getCommunicationsType** +> CommunicationsTypeResponse getCommunicationsType(id) + +Shows a communications type + +Shows details of a communications type + +### 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.CommunicationsTypesApi; + +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"); + + CommunicationsTypesApi apiInstance = new CommunicationsTypesApi(defaultClient); + String id = "id_example"; // String | Communications Type ID + try { + CommunicationsTypeResponse result = apiInstance.getCommunicationsType(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTypesApi#getCommunicationsType"); + 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**| Communications Type ID | | + +### Return type + +[**CommunicationsTypeResponse**](CommunicationsTypeResponse.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** | communications type found | - | +| **404** | communications type not found | - | + + +# **listCommunicationsTypes** +> CommunicationsTypesResponse listCommunicationsTypes(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +Lists communications types + +Lists communications types + +### 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.CommunicationsTypesApi; + +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"); + + CommunicationsTypesApi apiInstance = new CommunicationsTypesApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterName = "filterName_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + CommunicationsTypesResponse result = apiInstance.listCommunicationsTypes(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTypesApi#listCommunicationsTypes"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**CommunicationsTypesResponse**](CommunicationsTypesResponse.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** | communications types found | - | + + +# **updateCommunicationsType** +> CommunicationsTypeResponse updateCommunicationsType(id, updateCommunicationsType) + +Updates a communications type + +Updates a communications type + +### 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.CommunicationsTypesApi; + +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"); + + CommunicationsTypesApi apiInstance = new CommunicationsTypesApi(defaultClient); + String id = "id_example"; // String | Communications Type ID + UpdateCommunicationsType updateCommunicationsType = new UpdateCommunicationsType(); // UpdateCommunicationsType | + try { + CommunicationsTypeResponse result = apiInstance.updateCommunicationsType(id, updateCommunicationsType); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling CommunicationsTypesApi#updateCommunicationsType"); + 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**| Communications Type ID | | +| **updateCommunicationsType** | [**UpdateCommunicationsType**](UpdateCommunicationsType.md)| | | + +### Return type + +[**CommunicationsTypeResponse**](CommunicationsTypeResponse.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** | communications type updated | - | +| **422** | invalid request | - | + diff --git a/docs/CommunicationsTypesResponse.md b/docs/CommunicationsTypesResponse.md new file mode 100644 index 00000000..3b0d046a --- /dev/null +++ b/docs/CommunicationsTypesResponse.md @@ -0,0 +1,15 @@ + + +# CommunicationsTypesResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<CommunicationsTypeResponseData>**](CommunicationsTypeResponseData.md) | | | +|**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/CreateAnthropicChatCompletionTaskParams.md b/docs/CreateAnthropicChatCompletionTaskParams.md new file mode 100644 index 00000000..e80fc823 --- /dev/null +++ b/docs/CreateAnthropicChatCompletionTaskParams.md @@ -0,0 +1,24 @@ + + +# CreateAnthropicChatCompletionTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**model** | [**CreateAnthropicChatCompletionTaskParamsModel**](CreateAnthropicChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to Anthropic (optional) | [optional] | +|**prompt** | **String** | The prompt to send to Anthropic | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_ANTHROPIC_CHAT_COMPLETION_TASK | "create_anthropic_chat_completion_task" | + + + diff --git a/docs/CreateAnthropicChatCompletionTaskParamsModel.md b/docs/CreateAnthropicChatCompletionTaskParamsModel.md new file mode 100644 index 00000000..08ba7c6e --- /dev/null +++ b/docs/CreateAnthropicChatCompletionTaskParamsModel.md @@ -0,0 +1,15 @@ + + +# CreateAnthropicChatCompletionTaskParamsModel + +The Anthropic model. eg: claude-3-5-sonnet-20241022 + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateCodaPageTaskParams.md b/docs/CreateCodaPageTaskParams.md index 44012581..e0b92f4a 100644 --- a/docs/CreateCodaPageTaskParams.md +++ b/docs/CreateCodaPageTaskParams.md @@ -15,6 +15,7 @@ |**content** | **String** | The Coda page content | [optional] | |**template** | [**CreateCodaPageTaskParamsTemplate**](CreateCodaPageTaskParamsTemplate.md) | | [optional] | |**folderId** | **String** | The Coda folder id | [optional] | +|**doc** | [**CreateCodaPageTaskParamsDoc**](CreateCodaPageTaskParamsDoc.md) | | [optional] | diff --git a/docs/CreateCodaPageTaskParamsDoc.md b/docs/CreateCodaPageTaskParamsDoc.md new file mode 100644 index 00000000..3afc7c0b --- /dev/null +++ b/docs/CreateCodaPageTaskParamsDoc.md @@ -0,0 +1,15 @@ + + +# CreateCodaPageTaskParamsDoc + +The Coda doc object with id and name + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateEdgeConnectorActionRequest.md b/docs/CreateEdgeConnectorActionRequest.md new file mode 100644 index 00000000..9c47a018 --- /dev/null +++ b/docs/CreateEdgeConnectorActionRequest.md @@ -0,0 +1,13 @@ + + +# CreateEdgeConnectorActionRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**action** | [**CreateEdgeConnectorActionRequestAction**](CreateEdgeConnectorActionRequestAction.md) | | [optional] | + + + diff --git a/docs/CreateEdgeConnectorActionRequestAction.md b/docs/CreateEdgeConnectorActionRequestAction.md new file mode 100644 index 00000000..d8802ed2 --- /dev/null +++ b/docs/CreateEdgeConnectorActionRequestAction.md @@ -0,0 +1,24 @@ + + +# CreateEdgeConnectorActionRequestAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Action name | | +|**actionType** | [**ActionTypeEnum**](#ActionTypeEnum) | Action type | | +|**metadata** | [**CreateEdgeConnectorActionRequestActionMetadata**](CreateEdgeConnectorActionRequestActionMetadata.md) | | [optional] | + + + +## Enum: ActionTypeEnum + +| Name | Value | +|---- | -----| +| SCRIPT | "script" | +| HTTP | "http" | + + + diff --git a/docs/CreateEdgeConnectorActionRequestActionMetadata.md b/docs/CreateEdgeConnectorActionRequestActionMetadata.md new file mode 100644 index 00000000..71618afb --- /dev/null +++ b/docs/CreateEdgeConnectorActionRequestActionMetadata.md @@ -0,0 +1,15 @@ + + +# CreateEdgeConnectorActionRequestActionMetadata + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**description** | **String** | | [optional] | +|**timeout** | **Integer** | | [optional] | +|**parameters** | [**List<CreateEdgeConnectorActionRequestActionMetadataParametersInner>**](CreateEdgeConnectorActionRequestActionMetadataParametersInner.md) | | [optional] | + + + diff --git a/docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md b/docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md new file mode 100644 index 00000000..e19dbea2 --- /dev/null +++ b/docs/CreateEdgeConnectorActionRequestActionMetadataParametersInner.md @@ -0,0 +1,27 @@ + + +# CreateEdgeConnectorActionRequestActionMetadataParametersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**required** | **Boolean** | | [optional] | +|**description** | **String** | | [optional] | +|**options** | **List<String>** | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STRING | "string" | +| NUMBER | "number" | +| BOOLEAN | "boolean" | + + + diff --git a/docs/CreateEdgeConnectorRequest.md b/docs/CreateEdgeConnectorRequest.md new file mode 100644 index 00000000..d0628cca --- /dev/null +++ b/docs/CreateEdgeConnectorRequest.md @@ -0,0 +1,13 @@ + + +# CreateEdgeConnectorRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**CreateEdgeConnectorRequestData**](CreateEdgeConnectorRequestData.md) | | | + + + diff --git a/docs/CreateEdgeConnectorRequestData.md b/docs/CreateEdgeConnectorRequestData.md new file mode 100644 index 00000000..d1eabf25 --- /dev/null +++ b/docs/CreateEdgeConnectorRequestData.md @@ -0,0 +1,22 @@ + + +# CreateEdgeConnectorRequestData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**CreateEdgeConnectorRequestDataAttributes**](CreateEdgeConnectorRequestDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| EDGE_CONNECTORS | "edge_connectors" | + + + diff --git a/docs/CreateEdgeConnectorRequestDataAttributes.md b/docs/CreateEdgeConnectorRequestDataAttributes.md new file mode 100644 index 00000000..123a9a45 --- /dev/null +++ b/docs/CreateEdgeConnectorRequestDataAttributes.md @@ -0,0 +1,25 @@ + + +# CreateEdgeConnectorRequestDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Connector name | | +|**description** | **String** | Connector description | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | Connector status | [optional] | +|**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| PAUSED | "paused" | + + + diff --git a/docs/CreateGithubIssueTaskParams.md b/docs/CreateGithubIssueTaskParams.md index 745a4582..ae741ab4 100644 --- a/docs/CreateGithubIssueTaskParams.md +++ b/docs/CreateGithubIssueTaskParams.md @@ -11,6 +11,9 @@ |**title** | **String** | The issue title | | |**body** | **String** | The issue body | [optional] | |**repository** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**labels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | The issue labels | [optional] | +|**issueType** | [**CreateGithubIssueTaskParamsIssueType**](CreateGithubIssueTaskParamsIssueType.md) | | [optional] | +|**parentIssueNumber** | **String** | The parent issue number for sub-issue linking | [optional] | diff --git a/docs/CreateGithubIssueTaskParamsIssueType.md b/docs/CreateGithubIssueTaskParamsIssueType.md new file mode 100644 index 00000000..f5fc5d5d --- /dev/null +++ b/docs/CreateGithubIssueTaskParamsIssueType.md @@ -0,0 +1,15 @@ + + +# CreateGithubIssueTaskParamsIssueType + +The issue type + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateGoogleGeminiChatCompletionTaskParams.md b/docs/CreateGoogleGeminiChatCompletionTaskParams.md new file mode 100644 index 00000000..d8008f9d --- /dev/null +++ b/docs/CreateGoogleGeminiChatCompletionTaskParams.md @@ -0,0 +1,24 @@ + + +# CreateGoogleGeminiChatCompletionTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**model** | [**CreateGoogleGeminiChatCompletionTaskParamsModel**](CreateGoogleGeminiChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to Gemini (optional) | [optional] | +|**prompt** | **String** | The prompt to send to Gemini | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_GOOGLE_GEMINI_CHAT_COMPLETION_TASK | "create_google_gemini_chat_completion_task" | + + + diff --git a/docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md b/docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md new file mode 100644 index 00000000..9a50ff68 --- /dev/null +++ b/docs/CreateGoogleGeminiChatCompletionTaskParamsModel.md @@ -0,0 +1,15 @@ + + +# CreateGoogleGeminiChatCompletionTaskParamsModel + +The Gemini model. eg: gemini-2.0-flash + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateGoogleMeetingTaskParams.md b/docs/CreateGoogleMeetingTaskParams.md index 9d5f8fef..bf121a11 100644 --- a/docs/CreateGoogleMeetingTaskParams.md +++ b/docs/CreateGoogleMeetingTaskParams.md @@ -12,6 +12,7 @@ |**description** | **String** | [DEPRECATED] The meeting description | | |**conferenceSolutionKey** | [**ConferenceSolutionKeyEnum**](#ConferenceSolutionKeyEnum) | [DEPRECATED] Sets the video conference type attached to the meeting | [optional] | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**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] | @@ -36,3 +37,14 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + diff --git a/docs/CreateIncidentTaskParams.md b/docs/CreateIncidentTaskParams.md index 879cd6c1..558e8b8d 100644 --- a/docs/CreateIncidentTaskParams.md +++ b/docs/CreateIncidentTaskParams.md @@ -12,12 +12,12 @@ |**summary** | **String** | The incident summary | [optional] | |**severityId** | **String** | | [optional] | |**incidentTypeIds** | **List<String>** | | [optional] | -|**serviceIds** | **List<String>** | | [optional] | -|**functionalityIds** | **List<String>** | | [optional] | +|**serviceIds** | **List<String>** | Array of service UUIDs | [optional] | +|**functionalityIds** | **List<String>** | Array of functionality UUIDs | [optional] | |**environmentIds** | **List<String>** | | [optional] | -|**groupIds** | **List<String>** | | [optional] | +|**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**_private** | **Boolean** | | [optional] | -|**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON | [optional] | +|**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON. Use 'services', 'functionalities', or 'groups' keys with arrays of names/slugs for name/slug lookup | [optional] | diff --git a/docs/CreateJsmopsAlertTaskParams.md b/docs/CreateJsmopsAlertTaskParams.md new file mode 100644 index 00000000..7f99d120 --- /dev/null +++ b/docs/CreateJsmopsAlertTaskParams.md @@ -0,0 +1,43 @@ + + +# CreateJsmopsAlertTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**message** | **String** | Message of the alert | | +|**description** | **String** | Description field of the alert that is generally used to provide a detailed information about the alert | [optional] | +|**teams** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**users** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**schedules** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**escalations** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | | [optional] | +|**details** | **String** | Details payload. Can contain liquid markup and need to be valid JSON | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_JSMOPS_ALERT | "create_jsmops_alert" | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| P3 | "P3" | +| P1 | "P1" | +| P2 | "P2" | +| P32 | "P3" | +| P4 | "P4" | +| P5 | "P5" | +| AUTO | "auto" | + + + diff --git a/docs/CreateMicrosoftTeamsChatTaskParams.md b/docs/CreateMicrosoftTeamsChatTaskParams.md new file mode 100644 index 00000000..cab6a4d0 --- /dev/null +++ b/docs/CreateMicrosoftTeamsChatTaskParams.md @@ -0,0 +1,33 @@ + + +# CreateMicrosoftTeamsChatTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**topic** | **String** | Chat topic (only for group chats) | [optional] | +|**chatType** | [**ChatTypeEnum**](#ChatTypeEnum) | Type of chat to create | [optional] | +|**members** | [**List<CreateMicrosoftTeamsChatTaskParamsMembersInner>**](CreateMicrosoftTeamsChatTaskParamsMembersInner.md) | Array of members to include in the chat | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_MICROSOFT_TEAMS_CHAT | "create_microsoft_teams_chat" | + + + +## Enum: ChatTypeEnum + +| Name | Value | +|---- | -----| +| GROUP | "group" | +| ONE_ON_ONE | "oneOnOne" | + + + diff --git a/docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md b/docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md new file mode 100644 index 00000000..4f383147 --- /dev/null +++ b/docs/CreateMicrosoftTeamsChatTaskParamsMembersInner.md @@ -0,0 +1,14 @@ + + +# CreateMicrosoftTeamsChatTaskParamsMembersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**email** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateMicrosoftTeamsMeetingTaskParams.md b/docs/CreateMicrosoftTeamsMeetingTaskParams.md index 5c9d00ee..8153bd0f 100644 --- a/docs/CreateMicrosoftTeamsMeetingTaskParams.md +++ b/docs/CreateMicrosoftTeamsMeetingTaskParams.md @@ -11,6 +11,7 @@ |**name** | **String** | The meeting name | | |**subject** | **String** | The meeting subject | | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**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] | @@ -24,3 +25,14 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + diff --git a/docs/CreateMistralChatCompletionTaskParams.md b/docs/CreateMistralChatCompletionTaskParams.md new file mode 100644 index 00000000..7ba015d8 --- /dev/null +++ b/docs/CreateMistralChatCompletionTaskParams.md @@ -0,0 +1,27 @@ + + +# CreateMistralChatCompletionTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**model** | [**CreateMistralChatCompletionTaskParamsModel**](CreateMistralChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to Mistral (optional) | [optional] | +|**prompt** | **String** | The prompt to send to Mistral | | +|**temperature** | **BigDecimal** | Sampling temperature (0.0-1.5). Higher values make output more random. | [optional] | +|**maxTokens** | **Integer** | Maximum number of tokens to generate | [optional] | +|**topP** | **BigDecimal** | Nucleus sampling parameter (0.0-1.0) | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_MISTRAL_CHAT_COMPLETION_TASK | "create_mistral_chat_completion_task" | + + + diff --git a/docs/CreateMistralChatCompletionTaskParamsModel.md b/docs/CreateMistralChatCompletionTaskParamsModel.md new file mode 100644 index 00000000..9cf60b59 --- /dev/null +++ b/docs/CreateMistralChatCompletionTaskParamsModel.md @@ -0,0 +1,15 @@ + + +# CreateMistralChatCompletionTaskParamsModel + +The Mistral model. eg: mistral-large-latest + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateNotionPageTaskParams.md b/docs/CreateNotionPageTaskParams.md index 93c726dd..706416ff 100644 --- a/docs/CreateNotionPageTaskParams.md +++ b/docs/CreateNotionPageTaskParams.md @@ -11,6 +11,7 @@ |**title** | **String** | The Notion page title | | |**parentPage** | [**CreateNotionPageTaskParamsParentPage**](CreateNotionPageTaskParamsParentPage.md) | | | |**postMortemTemplateId** | **String** | Retrospective template to use when creating page task, if desired | [optional] | +|**content** | **String** | Custom page content with liquid templating support. When provided, only this content will be rendered (no default sections) | [optional] | |**markPostMortemAsPublished** | **Boolean** | | [optional] | |**showTimelineAsTable** | **Boolean** | | [optional] | |**showActionItemsAsTable** | **Boolean** | | [optional] | diff --git a/docs/CreateOpenaiChatCompletionTaskParams.md b/docs/CreateOpenaiChatCompletionTaskParams.md new file mode 100644 index 00000000..7f219337 --- /dev/null +++ b/docs/CreateOpenaiChatCompletionTaskParams.md @@ -0,0 +1,50 @@ + + +# CreateOpenaiChatCompletionTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**model** | [**CreateOpenaiChatCompletionTaskParamsModel**](CreateOpenaiChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to OpenAI (optional) | [optional] | +|**prompt** | **String** | The prompt to send to OpenAI | | +|**temperature** | **BigDecimal** | Controls randomness in the response. Higher values make output more random | [optional] | +|**maxTokens** | **Integer** | Maximum number of tokens to generate in the response | [optional] | +|**topP** | **BigDecimal** | Controls diversity via nucleus sampling. Lower values make output more focused | [optional] | +|**reasoningEffort** | [**ReasoningEffortEnum**](#ReasoningEffortEnum) | Constrains effort on reasoning for GPT-5 and o-series models | [optional] | +|**reasoningSummary** | [**ReasoningSummaryEnum**](#ReasoningSummaryEnum) | Summary of the reasoning performed by the model for GPT-5 and o-series models | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| OPENAI_CHAT_COMPLETION | "openai_chat_completion" | + + + +## Enum: ReasoningEffortEnum + +| Name | Value | +|---- | -----| +| MINIMAL | "minimal" | +| LOW | "low" | +| MEDIUM | "medium" | +| HIGH | "high" | + + + +## Enum: ReasoningSummaryEnum + +| Name | Value | +|---- | -----| +| AUTO | "auto" | +| CONCISE | "concise" | +| DETAILED | "detailed" | + + + diff --git a/docs/CreateOpenaiChatCompletionTaskParamsModel.md b/docs/CreateOpenaiChatCompletionTaskParamsModel.md new file mode 100644 index 00000000..342d3110 --- /dev/null +++ b/docs/CreateOpenaiChatCompletionTaskParamsModel.md @@ -0,0 +1,15 @@ + + +# CreateOpenaiChatCompletionTaskParamsModel + +The OpenAI model. eg: gpt-5-nano + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateOutlookEventTaskParams.md b/docs/CreateOutlookEventTaskParams.md index 863c4949..fde371af 100644 --- a/docs/CreateOutlookEventTaskParams.md +++ b/docs/CreateOutlookEventTaskParams.md @@ -17,6 +17,7 @@ |**summary** | **String** | The event summary | | |**description** | **String** | The event description | | |**excludeWeekends** | **Boolean** | | [optional] | +|**enableOnlineMeeting** | **Boolean** | Enable Microsoft Teams online meeting | [optional] | |**postToIncidentTimeline** | **Boolean** | | [optional] | |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | diff --git a/docs/CreateSubIncidentTaskParams.md b/docs/CreateSubIncidentTaskParams.md new file mode 100644 index 00000000..c4377282 --- /dev/null +++ b/docs/CreateSubIncidentTaskParams.md @@ -0,0 +1,23 @@ + + +# CreateSubIncidentTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**title** | **String** | The sub incident title | | +|**summary** | **String** | The sub incident summary | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_SUB_INCIDENT | "create_sub_incident" | + + + diff --git a/docs/CreateWatsonxChatCompletionTaskParams.md b/docs/CreateWatsonxChatCompletionTaskParams.md new file mode 100644 index 00000000..99f4b5e2 --- /dev/null +++ b/docs/CreateWatsonxChatCompletionTaskParams.md @@ -0,0 +1,25 @@ + + +# CreateWatsonxChatCompletionTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**model** | [**CreateWatsonxChatCompletionTaskParamsModel**](CreateWatsonxChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to WatsonX (optional) | [optional] | +|**prompt** | **String** | The prompt to send to WatsonX | | +|**projectId** | **String** | | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| CREATE_WATSONX_CHAT_COMPLETION_TASK | "create_watsonx_chat_completion_task" | + + + diff --git a/docs/CreateWatsonxChatCompletionTaskParamsModel.md b/docs/CreateWatsonxChatCompletionTaskParamsModel.md new file mode 100644 index 00000000..9d0f63fe --- /dev/null +++ b/docs/CreateWatsonxChatCompletionTaskParamsModel.md @@ -0,0 +1,15 @@ + + +# CreateWatsonxChatCompletionTaskParamsModel + +The WatsonX model. eg: ibm/granite-3-b8b-instruct + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/CreateWebexMeetingTaskParams.md b/docs/CreateWebexMeetingTaskParams.md index c3c8d8c2..4493a6b0 100644 --- a/docs/CreateWebexMeetingTaskParams.md +++ b/docs/CreateWebexMeetingTaskParams.md @@ -11,6 +11,7 @@ |**topic** | **String** | The meeting topic | | |**password** | **String** | The meeting password | [optional] | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**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] | @@ -24,3 +25,14 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + diff --git a/docs/CreateZoomMeetingTaskParams.md b/docs/CreateZoomMeetingTaskParams.md index 74067e5b..caec50b5 100644 --- a/docs/CreateZoomMeetingTaskParams.md +++ b/docs/CreateZoomMeetingTaskParams.md @@ -14,6 +14,7 @@ |**alternativeHosts** | **List<String>** | | [optional] | |**autoRecording** | [**AutoRecordingEnum**](#AutoRecordingEnum) | | [optional] | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**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] | @@ -37,3 +38,14 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + diff --git a/docs/CustomField.md b/docs/CustomField.md index cf44714b..7427948e 100644 --- a/docs/CustomField.md +++ b/docs/CustomField.md @@ -7,46 +7,17 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**label** | **String** | The name of the custom_field | | -|**kind** | **String** | The kind of the custom_field | [optional] | -|**enabled** | **Boolean** | Whether the custom_field is enabled | [optional] | -|**slug** | **String** | The slug of the custom_field | | -|**description** | **String** | The description of the custom_field | [optional] | -|**shown** | [**List<ShownEnum>**](#List<ShownEnum>) | | | -|**required** | [**List<RequiredEnum>**](#List<RequiredEnum>) | | | -|**_default** | **String** | The default value for text field kinds | [optional] | -|**position** | **Integer** | The position of the custom_field | | -|**createdAt** | **String** | Date of creation | | -|**updatedAt** | **String** | Date of last update | | +|**fieldSource** | [**FieldSourceEnum**](#FieldSourceEnum) | | | +|**catalogPropertyId** | **String** | ID of the catalog property | | +|**fieldKey** | **String** | Ignored for custom fields (auto-derived from catalog property) | [optional] | -## Enum: List<ShownEnum> +## Enum: FieldSourceEnum | Name | Value | |---- | -----| -| INCIDENT_FORM | "incident_form" | -| INCIDENT_MITIGATION_FORM | "incident_mitigation_form" | -| INCIDENT_RESOLUTION_FORM | "incident_resolution_form" | -| INCIDENT_POST_MORTEM_FORM | "incident_post_mortem_form" | -| INCIDENT_SLACK_FORM | "incident_slack_form" | -| INCIDENT_MITIGATION_SLACK_FORM | "incident_mitigation_slack_form" | -| INCIDENT_RESOLUTION_SLACK_FORM | "incident_resolution_slack_form" | -| INCIDENT_POST_MORTEM | "incident_post_mortem" | - - - -## Enum: List<RequiredEnum> - -| Name | Value | -|---- | -----| -| INCIDENT_FORM | "incident_form" | -| INCIDENT_MITIGATION_FORM | "incident_mitigation_form" | -| INCIDENT_RESOLUTION_FORM | "incident_resolution_form" | -| INCIDENT_POST_MORTEM_FORM | "incident_post_mortem_form" | -| INCIDENT_SLACK_FORM | "incident_slack_form" | -| INCIDENT_MITIGATION_SLACK_FORM | "incident_mitigation_slack_form" | -| INCIDENT_RESOLUTION_SLACK_FORM | "incident_resolution_slack_form" | +| CUSTOM | "custom" | diff --git a/docs/CustomFieldList.md b/docs/CustomFieldList.md index e5ee7a08..9f668e38 100644 --- a/docs/CustomFieldList.md +++ b/docs/CustomFieldList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CustomFieldResponseData>**](CustomFieldResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CustomFieldOptionList.md b/docs/CustomFieldOptionList.md index 69824e87..faa2d59a 100644 --- a/docs/CustomFieldOptionList.md +++ b/docs/CustomFieldOptionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CustomFieldOptionResponseData>**](CustomFieldOptionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CustomForm.md b/docs/CustomForm.md index 86356f70..61663856 100644 --- a/docs/CustomForm.md +++ b/docs/CustomForm.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the custom form. | | -|**slug** | **String** | The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. | | +|**slug** | **String** | The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. | [optional] | |**description** | **String** | | [optional] | |**enabled** | **Boolean** | | | |**command** | **String** | The Slack command used to trigger this form. | | diff --git a/docs/CustomFormList.md b/docs/CustomFormList.md index 24abb6f1..16da6772 100644 --- a/docs/CustomFormList.md +++ b/docs/CustomFormList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<CustomFormResponseData>**](CustomFormResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/CustomFormsApi.md b/docs/CustomFormsApi.md index ceace400..9b38e0e2 100644 --- a/docs/CustomFormsApi.md +++ b/docs/CustomFormsApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CustomFormsApi apiInstance = new CustomFormsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CustomFormResponse result = apiInstance.deleteCustomForm(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -145,7 +145,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | custom_form deleted | - | +| **200** | custom_form found by slug | - | | **404** | resource not found | - | @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CustomFormsApi apiInstance = new CustomFormsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { CustomFormResponse result = apiInstance.getCustomForm(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -332,7 +332,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); CustomFormsApi apiInstance = new CustomFormsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateCustomForm updateCustomForm = new UpdateCustomForm(); // UpdateCustomForm | try { CustomFormResponse result = apiInstance.updateCustomForm(id, updateCustomForm); @@ -352,7 +352,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateCustomForm** | [**UpdateCustomForm**](UpdateCustomForm.md)| | | ### Return type diff --git a/docs/DashboardList.md b/docs/DashboardList.md index eaca87a8..8660691a 100644 --- a/docs/DashboardList.md +++ b/docs/DashboardList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<DashboardResponseData>**](DashboardResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/DashboardPanelList.md b/docs/DashboardPanelList.md index 5228036e..aefc0b73 100644 --- a/docs/DashboardPanelList.md +++ b/docs/DashboardPanelList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<DashboardPanelResponseData>**](DashboardPanelResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/DashboardsApi.md b/docs/DashboardsApi.md index 62a8ae03..216c7051 100644 --- a/docs/DashboardsApi.md +++ b/docs/DashboardsApi.md @@ -110,7 +110,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); DashboardsApi apiInstance = new DashboardsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { DashboardResponse result = apiInstance.deleteDashboard(id); System.out.println(result); @@ -129,7 +129,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -178,7 +178,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); DashboardsApi apiInstance = new DashboardsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { DashboardResponse result = apiInstance.duplicateDashboard(id); System.out.println(result); @@ -197,7 +197,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -246,7 +246,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); DashboardsApi apiInstance = new DashboardsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String include = "panels"; // String | comma separated if needed. eg: panels try { DashboardResponse result = apiInstance.getDashboard(id, include); @@ -266,7 +266,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **include** | **String**| comma separated if needed. eg: panels | [optional] [enum: panels] | ### Return type @@ -285,7 +285,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | dashboard found | - | +| **200** | dashboard found by slug | - | | **404** | resource not found | - | @@ -387,7 +387,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); DashboardsApi apiInstance = new DashboardsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { DashboardResponse result = apiInstance.setDefaultDashboard(id); System.out.println(result); @@ -406,7 +406,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -424,7 +424,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | dashboard created | - | +| **200** | dashboard found by slug | - | | **401** | responds with unauthorized for invalid token | - | @@ -455,7 +455,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); DashboardsApi apiInstance = new DashboardsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateDashboard updateDashboard = new UpdateDashboard(); // UpdateDashboard | try { DashboardResponse result = apiInstance.updateDashboard(id, updateDashboard); @@ -475,7 +475,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateDashboard** | [**UpdateDashboard**](UpdateDashboard.md)| | | ### Return type diff --git a/docs/DeleteAlertRoute200Response.md b/docs/DeleteAlertRoute200Response.md new file mode 100644 index 00000000..3e44642a --- /dev/null +++ b/docs/DeleteAlertRoute200Response.md @@ -0,0 +1,13 @@ + + +# DeleteAlertRoute200Response + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**DeleteAlertRoute200ResponseData**](DeleteAlertRoute200ResponseData.md) | | [optional] | + + + diff --git a/docs/DeleteAlertRoute200ResponseData.md b/docs/DeleteAlertRoute200ResponseData.md new file mode 100644 index 00000000..300e003a --- /dev/null +++ b/docs/DeleteAlertRoute200ResponseData.md @@ -0,0 +1,15 @@ + + +# DeleteAlertRoute200ResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**type** | **String** | | [optional] | +|**attributes** | [**DeleteAlertRoute200ResponseDataAttributes**](DeleteAlertRoute200ResponseDataAttributes.md) | | [optional] | + + + diff --git a/docs/DeleteAlertRoute200ResponseDataAttributes.md b/docs/DeleteAlertRoute200ResponseDataAttributes.md new file mode 100644 index 00000000..c40eff46 --- /dev/null +++ b/docs/DeleteAlertRoute200ResponseDataAttributes.md @@ -0,0 +1,13 @@ + + +# DeleteAlertRoute200ResponseDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**deleted** | **Boolean** | | [optional] | + + + diff --git a/docs/EdgeConnector.md b/docs/EdgeConnector.md new file mode 100644 index 00000000..90dd308e --- /dev/null +++ b/docs/EdgeConnector.md @@ -0,0 +1,13 @@ + + +# EdgeConnector + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**EdgeConnectorData**](EdgeConnectorData.md) | | | + + + diff --git a/docs/EdgeConnectorAction.md b/docs/EdgeConnectorAction.md new file mode 100644 index 00000000..45782d24 --- /dev/null +++ b/docs/EdgeConnectorAction.md @@ -0,0 +1,13 @@ + + +# EdgeConnectorAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**EdgeConnectorActionData**](EdgeConnectorActionData.md) | | | + + + diff --git a/docs/EdgeConnectorActionData.md b/docs/EdgeConnectorActionData.md new file mode 100644 index 00000000..51c7e381 --- /dev/null +++ b/docs/EdgeConnectorActionData.md @@ -0,0 +1,23 @@ + + +# EdgeConnectorActionData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**id** | **UUID** | | | +|**attributes** | [**EdgeConnectorActionDataAttributes**](EdgeConnectorActionDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| EDGE_CONNECTOR_ACTIONS | "edge_connector_actions" | + + + diff --git a/docs/EdgeConnectorActionDataAttributes.md b/docs/EdgeConnectorActionDataAttributes.md new file mode 100644 index 00000000..d1bde491 --- /dev/null +++ b/docs/EdgeConnectorActionDataAttributes.md @@ -0,0 +1,50 @@ + + +# EdgeConnectorActionDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Action name | | +|**slug** | **String** | Action slug | [optional] | +|**actionType** | [**ActionTypeEnum**](#ActionTypeEnum) | Action type | | +|**icon** | [**IconEnum**](#IconEnum) | Action icon | [optional] | +|**description** | **String** | Action description | [optional] | +|**timeout** | **Integer** | Timeout in seconds | [optional] | +|**parameters** | [**List<EdgeConnectorActionDataAttributesParametersInner>**](EdgeConnectorActionDataAttributesParametersInner.md) | Parameter definitions | [optional] | +|**lastExecutedAt** | **OffsetDateTime** | | [optional] | +|**createdAt** | **OffsetDateTime** | | [optional] | +|**updatedAt** | **OffsetDateTime** | | [optional] | + + + +## Enum: ActionTypeEnum + +| Name | Value | +|---- | -----| +| SCRIPT | "script" | +| HTTP | "http" | + + + +## Enum: IconEnum + +| Name | Value | +|---- | -----| +| BOLT | "bolt" | +| BOLT_SLASH | "bolt-slash" | +| COG | "cog" | +| COMMAND_LINE | "command-line" | +| CODE_BRACKET | "code-bracket" | +| SERVER | "server" | +| SERVER_STACK | "server-stack" | +| PLAY | "play" | +| ARROW_PATH | "arrow-path" | +| WRENCH_SCREWDRIVER | "wrench-screwdriver" | +| CUBE | "cube" | +| ROCKET_LAUNCH | "rocket-launch" | + + + diff --git a/docs/EdgeConnectorActionDataAttributesParametersInner.md b/docs/EdgeConnectorActionDataAttributesParametersInner.md new file mode 100644 index 00000000..0aaff13f --- /dev/null +++ b/docs/EdgeConnectorActionDataAttributesParametersInner.md @@ -0,0 +1,28 @@ + + +# EdgeConnectorActionDataAttributesParametersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**required** | **Boolean** | | [optional] | +|**description** | **String** | | [optional] | +|**_default** | **String** | Default value (any type) | [optional] | +|**options** | **List<String>** | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STRING | "string" | +| NUMBER | "number" | +| BOOLEAN | "boolean" | + + + diff --git a/docs/EdgeConnectorActionsApi.md b/docs/EdgeConnectorActionsApi.md new file mode 100644 index 00000000..34687dba --- /dev/null +++ b/docs/EdgeConnectorActionsApi.md @@ -0,0 +1,346 @@ +# EdgeConnectorActionsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createEdgeConnectorAction**](EdgeConnectorActionsApi.md#createEdgeConnectorAction) | **POST** /v1/edge_connectors/{edge_connector_id}/actions | Create edge connector action | +| [**deleteEdgeConnectorAction**](EdgeConnectorActionsApi.md#deleteEdgeConnectorAction) | **DELETE** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Delete edge connector action | +| [**getEdgeConnectorAction**](EdgeConnectorActionsApi.md#getEdgeConnectorAction) | **GET** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Show edge connector action | +| [**listEdgeConnectorActions**](EdgeConnectorActionsApi.md#listEdgeConnectorActions) | **GET** /v1/edge_connectors/{edge_connector_id}/actions | List edge connector actions | +| [**updateEdgeConnectorAction**](EdgeConnectorActionsApi.md#updateEdgeConnectorAction) | **PATCH** /v1/edge_connectors/{edge_connector_id}/actions/{id} | Update edge connector action | + + + +# **createEdgeConnectorAction** +> createEdgeConnectorAction(edgeConnectorId, createEdgeConnectorActionRequest) + +Create edge connector action + +### 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.EdgeConnectorActionsApi; + +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"); + + EdgeConnectorActionsApi apiInstance = new EdgeConnectorActionsApi(defaultClient); + String edgeConnectorId = "edgeConnectorId_example"; // String | Edge connector ID + CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest = new CreateEdgeConnectorActionRequest(); // CreateEdgeConnectorActionRequest | + try { + apiInstance.createEdgeConnectorAction(edgeConnectorId, createEdgeConnectorActionRequest); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorActionsApi#createEdgeConnectorAction"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **edgeConnectorId** | **String**| Edge connector ID | | +| **createEdgeConnectorActionRequest** | [**CreateEdgeConnectorActionRequest**](CreateEdgeConnectorActionRequest.md)| | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Action created | - | +| **422** | Invalid parameters | - | + + +# **deleteEdgeConnectorAction** +> deleteEdgeConnectorAction(edgeConnectorId, id) + +Delete edge connector action + +### 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.EdgeConnectorActionsApi; + +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"); + + EdgeConnectorActionsApi apiInstance = new EdgeConnectorActionsApi(defaultClient); + String edgeConnectorId = "edgeConnectorId_example"; // String | Edge connector ID + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + apiInstance.deleteEdgeConnectorAction(edgeConnectorId, id); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorActionsApi#deleteEdgeConnectorAction"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **edgeConnectorId** | **String**| Edge connector ID | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Action deleted | - | + + +# **getEdgeConnectorAction** +> getEdgeConnectorAction(edgeConnectorId, id) + +Show edge connector action + +### 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.EdgeConnectorActionsApi; + +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"); + + EdgeConnectorActionsApi apiInstance = new EdgeConnectorActionsApi(defaultClient); + String edgeConnectorId = "edgeConnectorId_example"; // String | Edge connector ID + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + apiInstance.getEdgeConnectorAction(edgeConnectorId, id); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorActionsApi#getEdgeConnectorAction"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **edgeConnectorId** | **String**| Edge connector ID | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Returns action details | - | +| **404** | Action not found | - | + + +# **listEdgeConnectorActions** +> listEdgeConnectorActions(edgeConnectorId) + +List edge connector actions + +### 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.EdgeConnectorActionsApi; + +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"); + + EdgeConnectorActionsApi apiInstance = new EdgeConnectorActionsApi(defaultClient); + String edgeConnectorId = "edgeConnectorId_example"; // String | Edge connector ID + try { + apiInstance.listEdgeConnectorActions(edgeConnectorId); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorActionsApi#listEdgeConnectorActions"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **edgeConnectorId** | **String**| Edge connector ID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Returns list of actions | - | +| **404** | Edge connector not found | - | + + +# **updateEdgeConnectorAction** +> updateEdgeConnectorAction(edgeConnectorId, id, updateEdgeConnectorActionRequest) + +Update edge connector action + +### 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.EdgeConnectorActionsApi; + +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"); + + EdgeConnectorActionsApi apiInstance = new EdgeConnectorActionsApi(defaultClient); + String edgeConnectorId = "edgeConnectorId_example"; // String | Edge connector ID + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest = new UpdateEdgeConnectorActionRequest(); // UpdateEdgeConnectorActionRequest | + try { + apiInstance.updateEdgeConnectorAction(edgeConnectorId, id, updateEdgeConnectorActionRequest); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorActionsApi#updateEdgeConnectorAction"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **edgeConnectorId** | **String**| Edge connector ID | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | +| **updateEdgeConnectorActionRequest** | [**UpdateEdgeConnectorActionRequest**](UpdateEdgeConnectorActionRequest.md)| | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Action updated | - | + diff --git a/docs/EdgeConnectorData.md b/docs/EdgeConnectorData.md new file mode 100644 index 00000000..682d39f3 --- /dev/null +++ b/docs/EdgeConnectorData.md @@ -0,0 +1,23 @@ + + +# EdgeConnectorData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**id** | **UUID** | | | +|**attributes** | [**EdgeConnectorDataAttributes**](EdgeConnectorDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| EDGE_CONNECTORS | "edge_connectors" | + + + diff --git a/docs/EdgeConnectorDataAttributes.md b/docs/EdgeConnectorDataAttributes.md new file mode 100644 index 00000000..79c83996 --- /dev/null +++ b/docs/EdgeConnectorDataAttributes.md @@ -0,0 +1,34 @@ + + +# EdgeConnectorDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Connector name | | +|**description** | **String** | Connector description | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | Connector status | | +|**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | +|**lastPollAt** | **OffsetDateTime** | Last time connector polled | [optional] | +|**online** | **Boolean** | Whether connector is currently online | [optional] | +|**deliveriesCount** | **Integer** | Total number of deliveries | [optional] | +|**deliveriesQueuedCount** | **Integer** | Number of queued deliveries | [optional] | +|**deliveriesRunningCount** | **Integer** | Number of running deliveries | [optional] | +|**deliveriesCompletedCount** | **Integer** | Number of completed deliveries | [optional] | +|**deliveriesFailedCount** | **Integer** | Number of failed deliveries | [optional] | +|**createdAt** | **OffsetDateTime** | | [optional] | +|**updatedAt** | **OffsetDateTime** | | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| PAUSED | "paused" | + + + diff --git a/docs/EdgeConnectorsApi.md b/docs/EdgeConnectorsApi.md new file mode 100644 index 00000000..d2096fed --- /dev/null +++ b/docs/EdgeConnectorsApi.md @@ -0,0 +1,344 @@ +# EdgeConnectorsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createEdgeConnector**](EdgeConnectorsApi.md#createEdgeConnector) | **POST** /v1/edge_connectors | Create edge connector | +| [**deleteEdgeConnector**](EdgeConnectorsApi.md#deleteEdgeConnector) | **DELETE** /v1/edge_connectors/{id} | Delete edge connector | +| [**getEdgeConnector**](EdgeConnectorsApi.md#getEdgeConnector) | **GET** /v1/edge_connectors/{id} | Show edge connector | +| [**listEdgeConnectors**](EdgeConnectorsApi.md#listEdgeConnectors) | **GET** /v1/edge_connectors | List edge connectors | +| [**updateEdgeConnector**](EdgeConnectorsApi.md#updateEdgeConnector) | **PATCH** /v1/edge_connectors/{id} | Update edge connector | + + + +# **createEdgeConnector** +> createEdgeConnector(createEdgeConnectorRequest) + +Create edge connector + +### 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.EdgeConnectorsApi; + +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"); + + EdgeConnectorsApi apiInstance = new EdgeConnectorsApi(defaultClient); + CreateEdgeConnectorRequest createEdgeConnectorRequest = new CreateEdgeConnectorRequest(); // CreateEdgeConnectorRequest | + try { + apiInstance.createEdgeConnector(createEdgeConnectorRequest); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorsApi#createEdgeConnector"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **createEdgeConnectorRequest** | [**CreateEdgeConnectorRequest**](CreateEdgeConnectorRequest.md)| | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Edge connector created | - | +| **422** | Invalid parameters | - | + + +# **deleteEdgeConnector** +> deleteEdgeConnector(id) + +Delete edge connector + +### 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.EdgeConnectorsApi; + +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"); + + EdgeConnectorsApi apiInstance = new EdgeConnectorsApi(defaultClient); + String id = "id_example"; // String | Edge connector ID + try { + apiInstance.deleteEdgeConnector(id); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorsApi#deleteEdgeConnector"); + 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**| Edge connector ID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Edge connector deleted | - | + + +# **getEdgeConnector** +> getEdgeConnector(id) + +Show edge connector + +### 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.EdgeConnectorsApi; + +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"); + + EdgeConnectorsApi apiInstance = new EdgeConnectorsApi(defaultClient); + String id = "id_example"; // String | Edge connector ID + try { + apiInstance.getEdgeConnector(id); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorsApi#getEdgeConnector"); + 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**| Edge connector ID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Returns edge connector details | - | +| **404** | Edge connector not found | - | + + +# **listEdgeConnectors** +> listEdgeConnectors(page, perPage, status, name) + +List edge connectors + +### 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.EdgeConnectorsApi; + +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"); + + EdgeConnectorsApi apiInstance = new EdgeConnectorsApi(defaultClient); + Integer page = 56; // Integer | + Integer perPage = 56; // Integer | + String status = "status_example"; // String | Filter by status (active/paused) + String name = "name_example"; // String | Filter by name (partial match) + try { + apiInstance.listEdgeConnectors(page, perPage, status, name); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorsApi#listEdgeConnectors"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **page** | **Integer**| | [optional] | +| **perPage** | **Integer**| | [optional] | +| **status** | **String**| Filter by status (active/paused) | [optional] | +| **name** | **String**| Filter by name (partial match) | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Filters by status | - | + + +# **updateEdgeConnector** +> updateEdgeConnector(id, updateEdgeConnectorRequest) + +Update edge connector + +### 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.EdgeConnectorsApi; + +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"); + + EdgeConnectorsApi apiInstance = new EdgeConnectorsApi(defaultClient); + String id = "id_example"; // String | Edge connector ID + UpdateEdgeConnectorRequest updateEdgeConnectorRequest = new UpdateEdgeConnectorRequest(); // UpdateEdgeConnectorRequest | + try { + apiInstance.updateEdgeConnector(id, updateEdgeConnectorRequest); + } catch (ApiException e) { + System.err.println("Exception when calling EdgeConnectorsApi#updateEdgeConnector"); + 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**| Edge connector ID | | +| **updateEdgeConnectorRequest** | [**UpdateEdgeConnectorRequest**](UpdateEdgeConnectorRequest.md)| | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: application/vnd.api+json + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Edge connector updated | - | +| **422** | Invalid parameters | - | + diff --git a/docs/Environment.md b/docs/Environment.md index 92e523c4..5ceb90bd 100644 --- a/docs/Environment.md +++ b/docs/Environment.md @@ -15,6 +15,7 @@ |**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] | +|**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/EnvironmentList.md b/docs/EnvironmentList.md index d18b7677..32b43e94 100644 --- a/docs/EnvironmentList.md +++ b/docs/EnvironmentList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<EnvironmentResponseData>**](EnvironmentResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/EnvironmentsApi.md b/docs/EnvironmentsApi.md index 00de2dce..114614c1 100644 --- a/docs/EnvironmentsApi.md +++ b/docs/EnvironmentsApi.md @@ -5,8 +5,10 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**createEnvironment**](EnvironmentsApi.md#createEnvironment) | **POST** /v1/environments | Creates an environment | +| [**createEnvironmentCatalogProperty**](EnvironmentsApi.md#createEnvironmentCatalogProperty) | **POST** /v1/environments/properties | Creates a Catalog Property | | [**deleteEnvironment**](EnvironmentsApi.md#deleteEnvironment) | **DELETE** /v1/environments/{id} | Delete an environment | | [**getEnvironment**](EnvironmentsApi.md#getEnvironment) | **GET** /v1/environments/{id} | Retrieves an environment | +| [**listEnvironmentCatalogProperties**](EnvironmentsApi.md#listEnvironmentCatalogProperties) | **GET** /v1/environments/properties | List Catalog Properties | | [**listEnvironments**](EnvironmentsApi.md#listEnvironments) | **GET** /v1/environments | List environments | | [**updateEnvironment**](EnvironmentsApi.md#updateEnvironment) | **PUT** /v1/environments/{id} | Update an environment | @@ -80,6 +82,75 @@ public class Example { | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | + +# **createEnvironmentCatalogProperty** +> CatalogPropertyResponse createEnvironmentCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.EnvironmentsApi; + +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"); + + EnvironmentsApi apiInstance = new EnvironmentsApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createEnvironmentCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling EnvironmentsApi#createEnvironmentCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **deleteEnvironment** > EnvironmentResponse deleteEnvironment(id) @@ -108,7 +179,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); EnvironmentsApi apiInstance = new EnvironmentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { EnvironmentResponse result = apiInstance.deleteEnvironment(id); System.out.println(result); @@ -127,7 +198,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +247,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); EnvironmentsApi apiInstance = new EnvironmentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { EnvironmentResponse result = apiInstance.getEnvironment(id); System.out.println(result); @@ -195,7 +266,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,9 +284,96 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | environment found | - | +| **200** | environment found by slug | - | | **404** | resource not found | - | + +# **listEnvironmentCatalogProperties** +> CatalogPropertyList listEnvironmentCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List Environment Catalog Properties + +### 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.EnvironmentsApi; + +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"); + + EnvironmentsApi apiInstance = new EnvironmentsApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listEnvironmentCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling EnvironmentsApi#listEnvironmentCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **listEnvironments** > EnvironmentList listEnvironments(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) @@ -333,7 +491,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); EnvironmentsApi apiInstance = new EnvironmentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateEnvironment updateEnvironment = new UpdateEnvironment(); // UpdateEnvironment | try { EnvironmentResponse result = apiInstance.updateEnvironment(id, updateEnvironment); @@ -353,7 +511,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateEnvironment** | [**UpdateEnvironment**](UpdateEnvironment.md)| | | ### Return type diff --git a/docs/EscalateAlert.md b/docs/EscalateAlert.md new file mode 100644 index 00000000..a852156c --- /dev/null +++ b/docs/EscalateAlert.md @@ -0,0 +1,13 @@ + + +# EscalateAlert + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**EscalateAlertData**](EscalateAlertData.md) | | [optional] | + + + diff --git a/docs/EscalateAlertData.md b/docs/EscalateAlertData.md new file mode 100644 index 00000000..b823a796 --- /dev/null +++ b/docs/EscalateAlertData.md @@ -0,0 +1,22 @@ + + +# EscalateAlertData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**EscalateAlertDataAttributes**](EscalateAlertDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERTS | "alerts" | + + + diff --git a/docs/EscalateAlertDataAttributes.md b/docs/EscalateAlertDataAttributes.md new file mode 100644 index 00000000..09cd42bf --- /dev/null +++ b/docs/EscalateAlertDataAttributes.md @@ -0,0 +1,14 @@ + + +# EscalateAlertDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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] | + + + diff --git a/docs/EscalationPoliciesApi.md b/docs/EscalationPoliciesApi.md index d56f0f56..e7ab0fb9 100644 --- a/docs/EscalationPoliciesApi.md +++ b/docs/EscalationPoliciesApi.md @@ -220,7 +220,7 @@ public class Example { # **listEscalationPolicies** -> EscalationPolicyList listEscalationPolicies(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize) +> EscalationPolicyList listEscalationPolicies(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize) List escalation policies @@ -249,6 +249,7 @@ public class Example { String include = "escalation_policy_levels"; // String | comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths String filterSearch = "filterSearch_example"; // String | String filterName = "filterName_example"; // String | + String filterTeamIds = "filterTeamIds_example"; // String | Filter escalation policies by associated team IDs. Comma-separate multiple values. String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | @@ -256,7 +257,7 @@ public class Example { Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | try { - EscalationPolicyList result = apiInstance.listEscalationPolicies(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + EscalationPolicyList result = apiInstance.listEscalationPolicies(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling EscalationPoliciesApi#listEscalationPolicies"); @@ -276,6 +277,7 @@ public class Example { | **include** | **String**| comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths | [optional] [enum: escalation_policy_levels, escalation_policy_paths, groups, services] | | **filterSearch** | **String**| | [optional] | | **filterName** | **String**| | [optional] | +| **filterTeamIds** | **String**| Filter escalation policies by associated team IDs. Comma-separate multiple values. | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | diff --git a/docs/EscalationPolicyLevel.md b/docs/EscalationPolicyLevel.md index 5a0ec066..ad3df1c4 100644 --- a/docs/EscalationPolicyLevel.md +++ b/docs/EscalationPolicyLevel.md @@ -11,7 +11,7 @@ |**escalationPolicyPathId** | **String** | The ID of the dynamic escalation policy path the level will belong to. If nothing is specified it will add the level to your default path. | [optional] | |**pagingStrategyConfigurationStrategy** | [**PagingStrategyConfigurationStrategyEnum**](#PagingStrategyConfigurationStrategyEnum) | | [optional] | |**pagingStrategyConfigurationScheduleStrategy** | [**PagingStrategyConfigurationScheduleStrategyEnum**](#PagingStrategyConfigurationScheduleStrategyEnum) | | [optional] | -|**delay** | **Integer** | Delay before notification targets will be alerted. | | +|**delay** | **Integer** | Delay before notifying targets in the next Escalation Level. | | |**position** | **Integer** | Position of the escalation policy level | | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | diff --git a/docs/EscalationPolicyLevelList.md b/docs/EscalationPolicyLevelList.md index af62dbd1..8bda6a99 100644 --- a/docs/EscalationPolicyLevelList.md +++ b/docs/EscalationPolicyLevelList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<EscalationPolicyLevelListDataInner>**](EscalationPolicyLevelListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/EscalationPolicyList.md b/docs/EscalationPolicyList.md index 90a1471c..e7f91240 100644 --- a/docs/EscalationPolicyList.md +++ b/docs/EscalationPolicyList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<EscalationPolicyResponseData>**](EscalationPolicyResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/EscalationPolicyPath.md b/docs/EscalationPolicyPath.md index aa91376a..4e0b1d1e 100644 --- a/docs/EscalationPolicyPath.md +++ b/docs/EscalationPolicyPath.md @@ -10,7 +10,10 @@ |**name** | **String** | The name of the escalation path | | |**_default** | **Boolean** | Whether this escalation path is the default path | | |**notificationType** | **String** | Notification rule type | | +|**pathType** | [**PathTypeEnum**](#PathTypeEnum) | The type of escalation path | [optional] | |**escalationPolicyId** | **String** | The ID of the escalation policy | | +|**afterDeferralBehavior** | [**AfterDeferralBehaviorEnum**](#AfterDeferralBehaviorEnum) | What happens after a deferral path finishes | [optional] | +|**afterDeferralPathId** | **String** | The escalation path to execute after this deferral path when after_deferral_behavior is execute_path | [optional] | |**matchMode** | [**MatchModeEnum**](#MatchModeEnum) | How path rules are matched. | [optional] | |**position** | **Integer** | The position of this path in the paths for this EP. | [optional] | |**repeat** | **Boolean** | Whether this path should be repeated until someone acknowledges the alert | | @@ -18,7 +21,27 @@ |**initialDelay** | **Integer** | Initial delay for escalation path in minutes. Maximum 1 week (10080). | [optional] | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | -|**rules** | [**List<EscalationPolicyPathRulesInner>**](EscalationPolicyPathRulesInner.md) | Escalation path rules | [optional] | +|**rules** | [**List<UpdateEscalationPolicyPathDataAttributesRulesInner>**](UpdateEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path rules | [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] | + + + +## Enum: PathTypeEnum + +| Name | Value | +|---- | -----| +| ESCALATION | "escalation" | +| DEFERRAL | "deferral" | + + + +## Enum: AfterDeferralBehaviorEnum + +| Name | Value | +|---- | -----| +| RE_EVALUATE | "re_evaluate" | +| EXECUTE_PATH | "execute_path" | @@ -31,3 +54,314 @@ +## Enum: TimeRestrictionTimeZoneEnum + +| 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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | + + + diff --git a/docs/EscalationPolicyPathList.md b/docs/EscalationPolicyPathList.md index f7b62af8..95e7d6ac 100644 --- a/docs/EscalationPolicyPathList.md +++ b/docs/EscalationPolicyPathList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<EscalationPolicyPathListDataInner>**](EscalationPolicyPathListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormField.md b/docs/FormField.md index 68ba3749..51395a6d 100644 --- a/docs/FormField.md +++ b/docs/FormField.md @@ -12,13 +12,14 @@ |**valueKind** | [**ValueKindEnum**](#ValueKindEnum) | The value kind of the form field | | |**valueKindCatalogId** | **String** | The ID of the catalog used when value_kind is `catalog_entity` | [optional] | |**name** | **String** | The name of the form field | | -|**slug** | **String** | The slug of the form field | | +|**slug** | **String** | The slug of the form field | [optional] | |**description** | **String** | The description of the form field | [optional] | |**shown** | **List<String>** | | | |**required** | **List<String>** | | | |**showOnIncidentDetails** | **Boolean** | Whether the form field is shown on the incident details panel | [optional] | |**enabled** | **Boolean** | Whether the form field is enabled | [optional] | |**defaultValues** | **List<String>** | | | +|**autoSetByCatalogPropertyId** | **String** | Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -56,6 +57,7 @@ | MITIGATED_AT | "mitigated_at" | | RESOLVED_AT | "resolved_at" | | CLOSED_AT | "closed_at" | +| CUSTOM_SUB_STATUS | "custom_sub_status" | | MANUAL_STARTING_DATETIME_FIELD | "manual_starting_datetime_field" | @@ -87,6 +89,9 @@ | FUNCTIONALITY | "functionality" | | USER | "user" | | CATALOG_ENTITY | "catalog_entity" | +| ENVIRONMENT | "environment" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | diff --git a/docs/FormFieldList.md b/docs/FormFieldList.md index 14691bbf..48d62988 100644 --- a/docs/FormFieldList.md +++ b/docs/FormFieldList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormFieldResponseData>**](FormFieldResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormFieldOption.md b/docs/FormFieldOption.md index 5151ad10..85695eba 100644 --- a/docs/FormFieldOption.md +++ b/docs/FormFieldOption.md @@ -7,11 +7,12 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the form field option | [optional] | |**formFieldId** | **String** | The ID of the parent custom field | [optional] | -|**value** | **String** | The value of the form_field_option | | -|**color** | **String** | The hex color of the form_field_option | | +|**value** | **String** | The value of the form field option | | +|**color** | **String** | The hex color of the form field option | | |**_default** | **Boolean** | | [optional] | -|**position** | **Integer** | The position of the form_field_option | | +|**position** | **Integer** | The position of the form field option | | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/FormFieldOptionList.md b/docs/FormFieldOptionList.md index 3e575830..fcecd8da 100644 --- a/docs/FormFieldOptionList.md +++ b/docs/FormFieldOptionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormFieldOptionResponseData>**](FormFieldOptionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormFieldOptionResponseData.md b/docs/FormFieldOptionResponseData.md index 2cba3a2b..0ec80f44 100644 --- a/docs/FormFieldOptionResponseData.md +++ b/docs/FormFieldOptionResponseData.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**id** | **String** | Unique ID of the form_field_option | | +|**id** | **String** | Unique ID of the form field option | | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**FormFieldOption**](FormFieldOption.md) | | | diff --git a/docs/FormFieldPlacement.md b/docs/FormFieldPlacement.md index e2f8d8aa..86515c83 100644 --- a/docs/FormFieldPlacement.md +++ b/docs/FormFieldPlacement.md @@ -14,6 +14,7 @@ |**required** | **Boolean** | Whether the field is unconditionally required on this form. | | |**requiredOperator** | [**RequiredOperatorEnum**](#RequiredOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required | [optional] | |**placementOperator** | [**PlacementOperatorEnum**](#PlacementOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement | [optional] | +|**nonEditable** | **Boolean** | Whether the field is read-only and cannot be edited by users. | [optional] | diff --git a/docs/FormFieldPlacementCondition.md b/docs/FormFieldPlacementCondition.md index 9050a4d5..50e5afa6 100644 --- a/docs/FormFieldPlacementCondition.md +++ b/docs/FormFieldPlacementCondition.md @@ -30,6 +30,7 @@ | Name | Value | |---- | -----| | EQUAL | "equal" | +| NOT_EQUAL | "not_equal" | | IS_SET | "is_set" | | IS_NOT_SET | "is_not_set" | diff --git a/docs/FormFieldPlacementConditionList.md b/docs/FormFieldPlacementConditionList.md index 81cb340a..51eebb6f 100644 --- a/docs/FormFieldPlacementConditionList.md +++ b/docs/FormFieldPlacementConditionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormFieldPlacementConditionResponseData>**](FormFieldPlacementConditionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormFieldPlacementList.md b/docs/FormFieldPlacementList.md index e0bb7eaa..dedeae76 100644 --- a/docs/FormFieldPlacementList.md +++ b/docs/FormFieldPlacementList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormFieldPlacementResponseData>**](FormFieldPlacementResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormFieldPlacementsApi.md b/docs/FormFieldPlacementsApi.md index 59244665..0b50e3fa 100644 --- a/docs/FormFieldPlacementsApi.md +++ b/docs/FormFieldPlacementsApi.md @@ -78,7 +78,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | form_field_placement created | - | +| **201** | form_field_placement created with non_editable true | - | | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | @@ -360,6 +360,6 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | form_field_placement updated | - | +| **200** | form_field_placement updated with non_editable | - | | **404** | resource not found | - | diff --git a/docs/FormFieldPositionList.md b/docs/FormFieldPositionList.md index bff85d1a..826ecc50 100644 --- a/docs/FormFieldPositionList.md +++ b/docs/FormFieldPositionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormFieldPositionResponseData>**](FormFieldPositionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormFieldsApi.md b/docs/FormFieldsApi.md index ed9735f4..f3ba7a6d 100644 --- a/docs/FormFieldsApi.md +++ b/docs/FormFieldsApi.md @@ -76,8 +76,8 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | form_field created | - | -| **422** | invalid request | - | +| **201** | form_field created with auto_set_by_catalog_property_id | - | +| **422** | form_field creation fails with auto_set_by_catalog_property_id for catalog fields of different type | - | | **401** | responds with unauthorized for invalid token | - | @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormFieldsApi apiInstance = new FormFieldsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { FormFieldResponse result = apiInstance.deleteFormField(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormFieldsApi apiInstance = new FormFieldsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String include = "options"; // String | comma separated if needed. eg: options,positions try { FormFieldResponse result = apiInstance.getFormField(id, include); @@ -196,7 +196,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **include** | **String**| comma separated if needed. eg: options,positions | [optional] [enum: options, positions] | ### Return type @@ -215,7 +215,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | form_field found | - | +| **200** | form_field found by slug | - | | **404** | resource not found | - | @@ -335,7 +335,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormFieldsApi apiInstance = new FormFieldsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateFormField updateFormField = new UpdateFormField(); // UpdateFormField | try { FormFieldResponse result = apiInstance.updateFormField(id, updateFormField); @@ -355,7 +355,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateFormField** | [**UpdateFormField**](UpdateFormField.md)| | | ### Return type diff --git a/docs/FormSet.md b/docs/FormSet.md index 67d0376c..b2cb6ac1 100644 --- a/docs/FormSet.md +++ b/docs/FormSet.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the form set | | -|**slug** | **String** | The slug of the form set | | +|**slug** | **String** | The slug of the form set | [optional] | |**isDefault** | **Boolean** | Whether the form set is default | | |**forms** | **List<String>** | The forms included in the form set. Add custom forms using the custom form's `slug` field. Or choose a built-in form: `web_new_incident_form`, `web_update_incident_form`, `web_incident_post_mortem_form`, `web_incident_mitigation_form`, `web_incident_resolution_form`, `web_incident_cancellation_form`, `web_scheduled_incident_form`, `web_update_scheduled_incident_form`, `slack_new_incident_form`, `slack_update_incident_form`, `slack_update_incident_status_form`, `slack_incident_mitigation_form`, `slack_incident_resolution_form`, `slack_incident_cancellation_form`, `slack_scheduled_incident_form`, `slack_update_scheduled_incident_form` | | |**createdAt** | **String** | Date of creation | | diff --git a/docs/FormSetConditionList.md b/docs/FormSetConditionList.md index 5f7ee824..6cad0d56 100644 --- a/docs/FormSetConditionList.md +++ b/docs/FormSetConditionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormSetConditionResponseData>**](FormSetConditionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormSetList.md b/docs/FormSetList.md index d91f7ee9..ca072009 100644 --- a/docs/FormSetList.md +++ b/docs/FormSetList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FormSetResponseData>**](FormSetResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/FormSetsApi.md b/docs/FormSetsApi.md index fa4c41ed..63c7291c 100644 --- a/docs/FormSetsApi.md +++ b/docs/FormSetsApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormSetsApi apiInstance = new FormSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { FormSetResponse result = apiInstance.deleteFormSet(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormSetsApi apiInstance = new FormSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { FormSetResponse result = apiInstance.getFormSet(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,7 +213,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | form_set found | - | +| **200** | form_set found by slug | - | | **404** | resource not found | - | @@ -327,7 +327,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FormSetsApi apiInstance = new FormSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateFormSet updateFormSet = new UpdateFormSet(); // UpdateFormSet | try { FormSetResponse result = apiInstance.updateFormSet(id, updateFormSet); @@ -347,7 +347,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateFormSet** | [**UpdateFormSet**](UpdateFormSet.md)| | | ### Return type diff --git a/docs/FunctionalitiesApi.md b/docs/FunctionalitiesApi.md index bb51a812..5774d371 100644 --- a/docs/FunctionalitiesApi.md +++ b/docs/FunctionalitiesApi.md @@ -5,11 +5,13 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**createFunctionality**](FunctionalitiesApi.md#createFunctionality) | **POST** /v1/functionalities | Creates a functionality | +| [**createFunctionalityCatalogProperty**](FunctionalitiesApi.md#createFunctionalityCatalogProperty) | **POST** /v1/functionalities/properties | Creates a Catalog Property | | [**deleteFunctionality**](FunctionalitiesApi.md#deleteFunctionality) | **DELETE** /v1/functionalities/{id} | Delete a functionality | | [**getFunctionality**](FunctionalitiesApi.md#getFunctionality) | **GET** /v1/functionalities/{id} | Retrieves a functionality | | [**getFunctionalityIncidentsChart**](FunctionalitiesApi.md#getFunctionalityIncidentsChart) | **GET** /v1/functionalities/{id}/incidents_chart | Get functionality incidents chart | | [**getFunctionalityUptimeChart**](FunctionalitiesApi.md#getFunctionalityUptimeChart) | **GET** /v1/functionalities/{id}/uptime_chart | Get functionality uptime chart | | [**listFunctionalities**](FunctionalitiesApi.md#listFunctionalities) | **GET** /v1/functionalities | List functionalities | +| [**listFunctionalityCatalogProperties**](FunctionalitiesApi.md#listFunctionalityCatalogProperties) | **GET** /v1/functionalities/properties | List Catalog Properties | | [**updateFunctionality**](FunctionalitiesApi.md#updateFunctionality) | **PUT** /v1/functionalities/{id} | Update a functionality | @@ -82,6 +84,75 @@ public class Example { | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | + +# **createFunctionalityCatalogProperty** +> CatalogPropertyResponse createFunctionalityCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.FunctionalitiesApi; + +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"); + + FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createFunctionalityCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling FunctionalitiesApi#createFunctionalityCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **deleteFunctionality** > FunctionalityResponse deleteFunctionality(id) @@ -110,7 +181,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { FunctionalityResponse result = apiInstance.deleteFunctionality(id); System.out.println(result); @@ -129,7 +200,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -178,7 +249,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { FunctionalityResponse result = apiInstance.getFunctionality(id); System.out.println(result); @@ -197,7 +268,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -246,7 +317,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String period = "period_example"; // String | try { Object result = apiInstance.getFunctionalityIncidentsChart(id, period); @@ -266,7 +337,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **period** | **String**| | | ### Return type @@ -316,7 +387,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String period = "period_example"; // String | try { Object result = apiInstance.getFunctionalityUptimeChart(id, period); @@ -336,7 +407,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **period** | **String**| | [optional] | ### Return type @@ -453,6 +524,93 @@ public class Example { |-------------|-------------|------------------| | **200** | success | - | + +# **listFunctionalityCatalogProperties** +> CatalogPropertyList listFunctionalityCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List Functionality Catalog Properties + +### 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.FunctionalitiesApi; + +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"); + + FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listFunctionalityCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling FunctionalitiesApi#listFunctionalityCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **updateFunctionality** > FunctionalityResponse updateFunctionality(id, updateFunctionality) @@ -481,7 +639,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); FunctionalitiesApi apiInstance = new FunctionalitiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateFunctionality updateFunctionality = new UpdateFunctionality(); // UpdateFunctionality | try { FunctionalityResponse result = apiInstance.updateFunctionality(id, updateFunctionality); @@ -501,7 +659,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateFunctionality** | [**UpdateFunctionality**](UpdateFunctionality.md)| | | ### Return type diff --git a/docs/Functionality.md b/docs/Functionality.md index 506a3dc7..a36e7db2 100644 --- a/docs/Functionality.md +++ b/docs/Functionality.md @@ -23,10 +23,12 @@ |**position** | **Integer** | Position of the functionality | [optional] | |**environmentIds** | **List<String>** | Environments associated with this functionality | [optional] | |**serviceIds** | **List<String>** | Services associated with this functionality | [optional] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this functionality | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with this functionality | [optional] | +|**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] | +|**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/FunctionalityList.md b/docs/FunctionalityList.md index 6a5887e7..e315d351 100644 --- a/docs/FunctionalityList.md +++ b/docs/FunctionalityList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<FunctionalityResponseData>**](FunctionalityResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/GetAlertFieldIdParameter.md b/docs/GetAlertFieldIdParameter.md new file mode 100644 index 00000000..04ba2d8c --- /dev/null +++ b/docs/GetAlertFieldIdParameter.md @@ -0,0 +1,12 @@ + + +# GetAlertFieldIdParameter + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + diff --git a/docs/GetTeamIdParameter.md b/docs/GetTeamIdParameter.md new file mode 100644 index 00000000..dcf8404b --- /dev/null +++ b/docs/GetTeamIdParameter.md @@ -0,0 +1,12 @@ + + +# GetTeamIdParameter + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + diff --git a/docs/Heartbeat.md b/docs/Heartbeat.md index e0776075..bdeba049 100644 --- a/docs/Heartbeat.md +++ b/docs/Heartbeat.md @@ -10,15 +10,17 @@ |**name** | **String** | The name of the heartbeat | | |**description** | **String** | The description of the heartbeat | [optional] | |**alertSummary** | **String** | Summary of alerts triggered when heartbeat expires. | | +|**alertDescription** | **String** | Description of alerts triggered when heartbeat expires. | [optional] | |**alertUrgencyId** | **String** | Urgency of alerts triggered when heartbeat expires. | [optional] | |**interval** | **Integer** | | | |**intervalUnit** | [**IntervalUnitEnum**](#IntervalUnitEnum) | | | |**notificationTargetId** | **String** | | | -|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | | | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. | | |**enabled** | **Boolean** | Whether to trigger alerts when heartbeat is expired. | | |**status** | [**StatusEnum**](#StatusEnum) | | | |**pingUrl** | **String** | URL to receive heartbeat pings. | [optional] | |**secret** | **String** | Secret used as bearer token when pinging heartbeat. | [optional] | +|**emailAddress** | **String** | Email address to receive heartbeat pings. | | |**lastPingedAt** | **String** | When the heartbeat was last pinged. | [optional] | |**expiresAt** | **String** | When heartbeat expires | [optional] | |**createdAt** | **String** | Date of creation | | @@ -30,9 +32,9 @@ | Name | Value | |---- | -----| -| SECONDS | "seconds" | | MINUTES | "minutes" | | HOURS | "hours" | +| DAYS | "days" | @@ -44,6 +46,7 @@ | GROUP | "Group" | | SERVICE | "Service" | | ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/HeartbeatList.md b/docs/HeartbeatList.md index 58e68666..12e01800 100644 --- a/docs/HeartbeatList.md +++ b/docs/HeartbeatList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<HeartbeatResponseData>**](HeartbeatResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/HeartbeatsApi.md b/docs/HeartbeatsApi.md index 473e747f..d3ebbf4c 100644 --- a/docs/HeartbeatsApi.md +++ b/docs/HeartbeatsApi.md @@ -78,7 +78,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **201** | heartbeat created | - | -| **422** | invalid request | - | +| **422** | interval less than 60 seconds | - | | **401** | responds with unauthorized for invalid token | - | @@ -109,7 +109,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); HeartbeatsApi apiInstance = new HeartbeatsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { HeartbeatResponse result = apiInstance.deleteHeartbeat(id); System.out.println(result); @@ -128,7 +128,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -177,7 +177,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); HeartbeatsApi apiInstance = new HeartbeatsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { HeartbeatResponse result = apiInstance.getHeartbeat(id); System.out.println(result); @@ -196,7 +196,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -214,7 +214,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | heartbeat found | - | +| **200** | heartbeat found by slug | - | | **404** | resource not found | - | @@ -300,7 +300,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | success | - | +| **200** | filter by name | - | # **pingHeartbeat** @@ -397,7 +397,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); HeartbeatsApi apiInstance = new HeartbeatsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateHeartbeat updateHeartbeat = new UpdateHeartbeat(); // UpdateHeartbeat | try { HeartbeatResponse result = apiInstance.updateHeartbeat(id, updateHeartbeat); @@ -417,7 +417,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateHeartbeat** | [**UpdateHeartbeat**](UpdateHeartbeat.md)| | | ### Return type @@ -438,4 +438,5 @@ public class Example { |-------------|-------------|------------------| | **200** | heartbeat updated | - | | **404** | resource not found | - | +| **422** | invalid enum value | - | diff --git a/docs/Incident.md b/docs/Incident.md index 74002afd..8e80a9c4 100644 --- a/docs/Incident.md +++ b/docs/Incident.md @@ -7,13 +7,21 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the incident | [optional] | +|**sequentialId** | **Integer** | Sequential ID of the incident | [optional] | |**title** | **String** | The title of the incident | | |**kind** | **String** | The kind of the incident | [optional] | -|**slug** | **String** | The slug of the incident | | +|**slug** | **String** | The slug of the incident | [optional] | |**parentIncidentId** | **String** | ID of parent incident | [optional] | |**duplicateIncidentId** | **String** | ID of duplicated incident | [optional] | |**summary** | **String** | The summary of the incident | [optional] | -|**_private** | **Boolean** | Create an incident as private | [optional] | +|**_private** | **Boolean** | The visibility of the incident | [optional] | +|**source** | **String** | The source of the incident | [optional] | +|**status** | **String** | The status of the incident | [optional] | +|**url** | **String** | The url to the incident | [optional] | +|**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] | |**environments** | [**List<EnvironmentResponse>**](EnvironmentResponse.md) | The Environments of the incident | [optional] | |**incidentTypes** | [**List<IncidentTypeResponse>**](IncidentTypeResponse.md) | The Incident Types of the incident | [optional] | @@ -24,18 +32,96 @@ |**slackChannelId** | **String** | Slack channel id | [optional] | |**slackChannelName** | **String** | Slack channel name | [optional] | |**slackChannelUrl** | **String** | Slack channel url | [optional] | +|**slackChannelShortUrl** | **String** | Slack channel short url | [optional] | +|**slackChannelDeepLink** | **String** | Slack channel deep link | [optional] | +|**slackChannelArchived** | **Boolean** | Whether the Slack channel is archived | [optional] | +|**slackLastMessageTs** | **String** | Timestamp of last Slack message | [optional] | +|**zoomMeetingId** | **String** | Zoom meeting ID | [optional] | +|**zoomMeetingStartUrl** | **String** | Zoom meeting start URL | [optional] | +|**zoomMeetingJoinUrl** | **String** | Zoom meeting join URL | [optional] | +|**zoomMeetingPassword** | **String** | Zoom meeting password | [optional] | +|**zoomMeetingPstnPassword** | **String** | Zoom meeting PSTN password | [optional] | +|**zoomMeetingH323Password** | **String** | Zoom meeting H323 password | [optional] | +|**zoomMeetingGlobalDialInNumbers** | [**List<IncidentZoomMeetingGlobalDialInNumbersInner>**](IncidentZoomMeetingGlobalDialInNumbersInner.md) | Zoom meeting global dial-in numbers | [optional] | +|**googleDriveId** | **String** | Google Drive document ID | [optional] | +|**googleDriveParentId** | **String** | Google Drive parent folder ID | [optional] | +|**googleDriveUrl** | **String** | Google Drive URL | [optional] | +|**googleMeetingId** | **String** | Google meeting ID | [optional] | +|**googleMeetingUrl** | **String** | Google meeting URL | [optional] | +|**jiraIssueKey** | **String** | Jira issue key | [optional] | +|**jiraIssueId** | **String** | Jira issue ID | [optional] | +|**jiraIssueUrl** | **String** | Jira issue URL | [optional] | +|**githubIssueId** | **String** | GitHub issue ID | [optional] | +|**githubIssueUrl** | **String** | GitHub issue URL | [optional] | +|**gitlabIssueId** | **String** | GitLab issue ID | [optional] | +|**gitlabIssueUrl** | **String** | GitLab issue URL | [optional] | +|**asanaTaskId** | **String** | Asana task ID | [optional] | +|**asanaTaskUrl** | **String** | Asana task URL | [optional] | +|**linearIssueId** | **String** | Linear issue ID | [optional] | +|**linearIssueUrl** | **String** | Linear issue URL | [optional] | +|**trelloCardId** | **String** | Trello card ID | [optional] | +|**trelloCardUrl** | **String** | Trello card URL | [optional] | +|**zendeskTicketId** | **String** | Zendesk ticket ID | [optional] | +|**zendeskTicketUrl** | **String** | Zendesk ticket URL | [optional] | +|**pagerdutyIncidentId** | **String** | PagerDuty incident ID | [optional] | +|**pagerdutyIncidentNumber** | **String** | PagerDuty incident number | [optional] | +|**pagerdutyIncidentUrl** | **String** | PagerDuty incident URL | [optional] | +|**opsgenieIncidentId** | **String** | Opsgenie incident ID | [optional] | +|**opsgenieIncidentUrl** | **String** | Opsgenie incident URL | [optional] | +|**opsgenieAlertId** | **String** | Opsgenie alert ID | [optional] | +|**opsgenieAlertUrl** | **String** | Opsgenie alert URL | [optional] | +|**serviceNowIncidentId** | **String** | ServiceNow incident ID | [optional] | +|**serviceNowIncidentKey** | **String** | ServiceNow incident key | [optional] | +|**serviceNowIncidentUrl** | **String** | ServiceNow incident URL | [optional] | +|**mattermostChannelId** | **String** | Mattermost channel ID | [optional] | +|**mattermostChannelName** | **String** | Mattermost channel name | [optional] | +|**mattermostChannelUrl** | **String** | Mattermost channel URL | [optional] | +|**confluencePageId** | **String** | Confluence page ID | [optional] | +|**confluencePageUrl** | **String** | Confluence page URL | [optional] | +|**datadogNotebookId** | **String** | Datadog notebook ID | [optional] | +|**datadogNotebookUrl** | **String** | Datadog notebook URL | [optional] | +|**shortcutStoryId** | **String** | Shortcut story ID | [optional] | +|**shortcutStoryUrl** | **String** | Shortcut story URL | [optional] | +|**shortcutTaskId** | **String** | Shortcut task ID | [optional] | +|**shortcutTaskUrl** | **String** | Shortcut task URL | [optional] | +|**motionTaskId** | **String** | Motion task ID | [optional] | +|**motionTaskUrl** | **String** | Motion task URL | [optional] | +|**clickupTaskId** | **String** | ClickUp task ID | [optional] | +|**clickupTaskUrl** | **String** | ClickUp task URL | [optional] | +|**victorOpsIncidentId** | **String** | VictorOps incident ID | [optional] | +|**victorOpsIncidentUrl** | **String** | VictorOps incident URL | [optional] | +|**quipPageId** | **String** | Quip page ID | [optional] | +|**quipPageUrl** | **String** | Quip page URL | [optional] | +|**sharepointPageId** | **String** | SharePoint page ID | [optional] | +|**sharepointPageUrl** | **String** | SharePoint page URL | [optional] | +|**airtableBaseKey** | **String** | Airtable base key | [optional] | +|**airtableTableName** | **String** | Airtable table name | [optional] | +|**airtableRecordId** | **String** | Airtable record ID | [optional] | +|**airtableRecordUrl** | **String** | Airtable record URL | [optional] | +|**freshserviceTicketId** | **String** | Freshservice ticket ID | [optional] | +|**freshserviceTicketUrl** | **String** | Freshservice ticket URL | [optional] | +|**freshserviceTaskId** | **String** | Freshservice task ID | [optional] | +|**freshserviceTaskUrl** | **String** | Freshservice task URL | [optional] | |**mitigationMessage** | **String** | How was the incident mitigated? | [optional] | |**resolutionMessage** | **String** | How was the incident resolved? | [optional] | |**cancellationMessage** | **String** | Why was the incident cancelled? | [optional] | |**scheduledFor** | **String** | Date of when the maintenance begins | [optional] | |**scheduledUntil** | **String** | Date of when the maintenance ends | [optional] | +|**mutedServiceIds** | **List<String>** | The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. | [optional] | |**retrospectiveProgressStatus** | [**RetrospectiveProgressStatusEnum**](#RetrospectiveProgressStatusEnum) | The status of the retrospective progress | [optional] | +|**inTriageBy** | **Object** | The user who triaged the incident | [optional] | +|**startedBy** | **Object** | The user who started the incident | [optional] | +|**mitigatedBy** | **Object** | The user who mitigated the incident | [optional] | +|**resolvedBy** | **Object** | The user who resolved the incident | [optional] | +|**closedBy** | **Object** | The user who closed the incident | [optional] | +|**cancelledBy** | **Object** | The user who cancelled the incident | [optional] | |**inTriageAt** | **String** | Date of triage | [optional] | |**startedAt** | **String** | Date of start | [optional] | |**detectedAt** | **String** | Date of detection | [optional] | |**acknowledgedAt** | **String** | Date of acknowledgment | [optional] | |**mitigatedAt** | **String** | Date of mitigation | [optional] | |**resolvedAt** | **String** | Date of resolution | [optional] | +|**closedAt** | **String** | Date of closure | [optional] | |**cancelledAt** | **String** | Date of cancellation | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/IncidentActionItem.md b/docs/IncidentActionItem.md index 90c7fb80..ac3ceb21 100644 --- a/docs/IncidentActionItem.md +++ b/docs/IncidentActionItem.md @@ -10,12 +10,13 @@ |**summary** | **String** | The summary of the action item | | |**description** | **String** | The description of incident action item | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the action item | [optional] | -|**assignedToUserId** | **Integer** | ID of user you wish to assign this action item | [optional] | +|**assignedTo** | [**UserFlatResponse**](UserFlatResponse.md) | User assigned to this action item | [optional] | |**assignedToGroupIds** | **List<String>** | IDs of groups 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] | |**jiraIssueId** | **String** | The Jira issue ID. | [optional] | +|**jiraIssueKey** | **String** | The Jira issue key. | [optional] | |**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/IncidentActionItemList.md b/docs/IncidentActionItemList.md index 399936fa..b1b4bf2e 100644 --- a/docs/IncidentActionItemList.md +++ b/docs/IncidentActionItemList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentActionItemResponseData>**](IncidentActionItemResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentCustomFieldSelectionList.md b/docs/IncidentCustomFieldSelectionList.md index 39bc88f7..699f5524 100644 --- a/docs/IncidentCustomFieldSelectionList.md +++ b/docs/IncidentCustomFieldSelectionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentCustomFieldSelectionResponseData>**](IncidentCustomFieldSelectionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentEventFunctionalityList.md b/docs/IncidentEventFunctionalityList.md index 3edfd6cb..9e1a3676 100644 --- a/docs/IncidentEventFunctionalityList.md +++ b/docs/IncidentEventFunctionalityList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentEventFunctionalityResponseData>**](IncidentEventFunctionalityResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentEventList.md b/docs/IncidentEventList.md index 73905bfb..51256445 100644 --- a/docs/IncidentEventList.md +++ b/docs/IncidentEventList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentEventResponseData>**](IncidentEventResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentEventServiceList.md b/docs/IncidentEventServiceList.md index fcda7f64..c56d19a9 100644 --- a/docs/IncidentEventServiceList.md +++ b/docs/IncidentEventServiceList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentEventServiceResponseData>**](IncidentEventServiceResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentFeedbackList.md b/docs/IncidentFeedbackList.md index b9215b77..cefdc493 100644 --- a/docs/IncidentFeedbackList.md +++ b/docs/IncidentFeedbackList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentFeedbackResponseData>**](IncidentFeedbackResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentFormFieldSelection.md b/docs/IncidentFormFieldSelection.md index d068b90d..ff7c018f 100644 --- a/docs/IncidentFormFieldSelection.md +++ b/docs/IncidentFormFieldSelection.md @@ -16,6 +16,9 @@ |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedFunctionalityIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | diff --git a/docs/IncidentFormFieldSelectionList.md b/docs/IncidentFormFieldSelectionList.md index 7cf9b2a4..986e01c5 100644 --- a/docs/IncidentFormFieldSelectionList.md +++ b/docs/IncidentFormFieldSelectionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentFormFieldSelectionResponseData>**](IncidentFormFieldSelectionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentList.md b/docs/IncidentList.md index 4378be03..8e93b610 100644 --- a/docs/IncidentList.md +++ b/docs/IncidentList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentResponseData>**](IncidentResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentPermissionSet.md b/docs/IncidentPermissionSet.md index 894cb4e2..864ea859 100644 --- a/docs/IncidentPermissionSet.md +++ b/docs/IncidentPermissionSet.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The incident permission set name. | | -|**slug** | **String** | The incident permission set slug. | | +|**slug** | **String** | The incident permission set slug. | [optional] | |**description** | **String** | The incident permission set description. | [optional] | |**privateIncidentPermissions** | [**List<PrivateIncidentPermissionsEnum>**](#List<PrivateIncidentPermissionsEnum>) | | [optional] | |**publicIncidentPermissions** | [**List<PublicIncidentPermissionsEnum>**](#List<PublicIncidentPermissionsEnum>) | | [optional] | diff --git a/docs/IncidentPermissionSetBooleanList.md b/docs/IncidentPermissionSetBooleanList.md index d084ba97..fdd6bfec 100644 --- a/docs/IncidentPermissionSetBooleanList.md +++ b/docs/IncidentPermissionSetBooleanList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentPermissionSetBooleanResponseData>**](IncidentPermissionSetBooleanResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentPermissionSetList.md b/docs/IncidentPermissionSetList.md index 5e764a88..6ce6f0a5 100644 --- a/docs/IncidentPermissionSetList.md +++ b/docs/IncidentPermissionSetList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentPermissionSetResponseData>**](IncidentPermissionSetResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentPermissionSetResourceList.md b/docs/IncidentPermissionSetResourceList.md index 529c5a02..b0ffb28b 100644 --- a/docs/IncidentPermissionSetResourceList.md +++ b/docs/IncidentPermissionSetResourceList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentPermissionSetResourceResponseData>**](IncidentPermissionSetResourceResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentPermissionSetsApi.md b/docs/IncidentPermissionSetsApi.md index a4dae2fd..c7f28251 100644 --- a/docs/IncidentPermissionSetsApi.md +++ b/docs/IncidentPermissionSetsApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentPermissionSetsApi apiInstance = new IncidentPermissionSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentPermissionSetResponse result = apiInstance.deleteIncidentPermissionSet(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentPermissionSetsApi apiInstance = new IncidentPermissionSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentPermissionSetResponse result = apiInstance.getIncidentPermissionSet(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -331,7 +331,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentPermissionSetsApi apiInstance = new IncidentPermissionSetsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateIncidentPermissionSet updateIncidentPermissionSet = new UpdateIncidentPermissionSet(); // UpdateIncidentPermissionSet | try { IncidentPermissionSetResponse result = apiInstance.updateIncidentPermissionSet(id, updateIncidentPermissionSet); @@ -351,7 +351,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateIncidentPermissionSet** | [**UpdateIncidentPermissionSet**](UpdateIncidentPermissionSet.md)| | | ### Return type diff --git a/docs/IncidentPostMortemList.md b/docs/IncidentPostMortemList.md index f5609608..6b0725e0 100644 --- a/docs/IncidentPostMortemList.md +++ b/docs/IncidentPostMortemList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentPostMortemResponseData>**](IncidentPostMortemResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentRetrospectivesApi.md b/docs/IncidentRetrospectivesApi.md index 3fead011..0b18ebda 100644 --- a/docs/IncidentRetrospectivesApi.md +++ b/docs/IncidentRetrospectivesApi.md @@ -11,7 +11,7 @@ All URIs are relative to *https://api.rootly.com* # **listIncidentPostMortems** -> IncidentPostMortemList listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort) +> IncidentPostMortemList listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort) List incident retrospectives @@ -45,10 +45,18 @@ public class Example { String filterSeverity = "filterSeverity_example"; // String | String filterType = "filterType_example"; // String | Integer filterUserId = 56; // Integer | - String filterEnvironments = "filterEnvironments_example"; // String | - String filterFunctionalities = "filterFunctionalities_example"; // String | - String filterServices = "filterServices_example"; // String | - String filterTeams = "filterTeams_example"; // String | + String filterTypes = "filterTypes_example"; // String | Filter by incident type slugs + String filterTypeIds = "filterTypeIds_example"; // String | Filter by incident type IDs (UUIDs) + String filterEnvironments = "filterEnvironments_example"; // String | Filter by environment slugs + String filterEnvironmentIds = "filterEnvironmentIds_example"; // String | Filter by environment IDs (UUIDs) + String filterFunctionalities = "filterFunctionalities_example"; // String | Filter by functionality slugs + String filterFunctionalityIds = "filterFunctionalityIds_example"; // String | Filter by functionality IDs (UUIDs) + String filterServices = "filterServices_example"; // String | Filter by service slugs + String filterServiceIds = "filterServiceIds_example"; // String | Filter by service IDs (UUIDs) + String filterTeams = "filterTeams_example"; // String | Filter by team/group slugs + String filterTeamIds = "filterTeamIds_example"; // String | Filter by team/group IDs (UUIDs) + String filterCauses = "filterCauses_example"; // String | Filter by cause slugs + String filterCauseIds = "filterCauseIds_example"; // String | Filter by cause IDs (UUIDs) String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | @@ -67,7 +75,7 @@ public class Example { String filterResolvedAtLte = "filterResolvedAtLte_example"; // String | String sort = "sort_example"; // String | try { - IncidentPostMortemList result = apiInstance.listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); + IncidentPostMortemList result = apiInstance.listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IncidentRetrospectivesApi#listIncidentPostMortems"); @@ -92,10 +100,18 @@ public class Example { | **filterSeverity** | **String**| | [optional] | | **filterType** | **String**| | [optional] | | **filterUserId** | **Integer**| | [optional] | -| **filterEnvironments** | **String**| | [optional] | -| **filterFunctionalities** | **String**| | [optional] | -| **filterServices** | **String**| | [optional] | -| **filterTeams** | **String**| | [optional] | +| **filterTypes** | **String**| Filter by incident type slugs | [optional] | +| **filterTypeIds** | **String**| Filter by incident type IDs (UUIDs) | [optional] | +| **filterEnvironments** | **String**| Filter by environment slugs | [optional] | +| **filterEnvironmentIds** | **String**| Filter by environment IDs (UUIDs) | [optional] | +| **filterFunctionalities** | **String**| Filter by functionality slugs | [optional] | +| **filterFunctionalityIds** | **String**| Filter by functionality IDs (UUIDs) | [optional] | +| **filterServices** | **String**| Filter by service slugs | [optional] | +| **filterServiceIds** | **String**| Filter by service IDs (UUIDs) | [optional] | +| **filterTeams** | **String**| Filter by team/group slugs | [optional] | +| **filterTeamIds** | **String**| Filter by team/group IDs (UUIDs) | [optional] | +| **filterCauses** | **String**| Filter by cause slugs | [optional] | +| **filterCauseIds** | **String**| Filter by cause IDs (UUIDs) | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | @@ -160,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRetrospectivesApi apiInstance = new IncidentRetrospectivesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentPostMortemResponse result = apiInstance.listIncidentPostmortem(id); System.out.println(result); @@ -179,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -228,7 +244,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRetrospectivesApi apiInstance = new IncidentRetrospectivesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateIncidentPostMortem updateIncidentPostMortem = new UpdateIncidentPostMortem(); // UpdateIncidentPostMortem | try { IncidentPostMortemResponse result = apiInstance.updateIncidentPostmortem(id, updateIncidentPostMortem); @@ -248,7 +264,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateIncidentPostMortem** | [**UpdateIncidentPostMortem**](UpdateIncidentPostMortem.md)| | | ### Return type diff --git a/docs/IncidentRoleList.md b/docs/IncidentRoleList.md index 0e8f2e25..70b075bc 100644 --- a/docs/IncidentRoleList.md +++ b/docs/IncidentRoleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentRoleResponseData>**](IncidentRoleResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentRoleTaskList.md b/docs/IncidentRoleTaskList.md index 667b5eb1..2085f3da 100644 --- a/docs/IncidentRoleTaskList.md +++ b/docs/IncidentRoleTaskList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentRoleTaskResponseData>**](IncidentRoleTaskResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentRolesApi.md b/docs/IncidentRolesApi.md index f53bb744..f421c493 100644 --- a/docs/IncidentRolesApi.md +++ b/docs/IncidentRolesApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRolesApi apiInstance = new IncidentRolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentRoleResponse result = apiInstance.deleteIncidentRole(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRolesApi apiInstance = new IncidentRolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentRoleResponse result = apiInstance.getIncidentRole(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -218,7 +218,7 @@ public class Example { # **listIncidentRoles** -> IncidentRoleList listIncidentRoles(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) +> IncidentRoleList listIncidentRoles(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) List incident roles @@ -244,7 +244,6 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRolesApi apiInstance = new IncidentRolesApi(defaultClient); - String include = "include_example"; // String | Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | String filterSearch = "filterSearch_example"; // String | @@ -257,7 +256,7 @@ public class Example { String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | String sort = "sort_example"; // String | try { - IncidentRoleList result = apiInstance.listIncidentRoles(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + IncidentRoleList result = apiInstance.listIncidentRoles(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IncidentRolesApi#listIncidentRoles"); @@ -274,7 +273,6 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **include** | **String**| | [optional] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | | **filterSearch** | **String**| | [optional] | @@ -333,7 +331,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentRolesApi apiInstance = new IncidentRolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateIncidentRole updateIncidentRole = new UpdateIncidentRole(); // UpdateIncidentRole | try { IncidentRoleResponse result = apiInstance.updateIncidentRole(id, updateIncidentRole); @@ -353,7 +351,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateIncidentRole** | [**UpdateIncidentRole**](UpdateIncidentRole.md)| | | ### Return type diff --git a/docs/IncidentStatusPageEvent.md b/docs/IncidentStatusPageEvent.md index bdd86fdc..a0dbfc31 100644 --- a/docs/IncidentStatusPageEvent.md +++ b/docs/IncidentStatusPageEvent.md @@ -28,7 +28,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/IncidentStatusPageEventList.md b/docs/IncidentStatusPageEventList.md index e2838240..a8136f2c 100644 --- a/docs/IncidentStatusPageEventList.md +++ b/docs/IncidentStatusPageEventList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentStatusPageEventResponseData>**](IncidentStatusPageEventResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentSubStatusList.md b/docs/IncidentSubStatusList.md index 137a5d03..6d9ec4fe 100644 --- a/docs/IncidentSubStatusList.md +++ b/docs/IncidentSubStatusList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentSubStatusResponseData>**](IncidentSubStatusResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentTriggerParams.md b/docs/IncidentTriggerParams.md index 620c6cd4..182853be 100644 --- a/docs/IncidentTriggerParams.md +++ b/docs/IncidentTriggerParams.md @@ -57,6 +57,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | @@ -93,6 +94,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -108,6 +110,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -123,6 +126,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -138,6 +142,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -153,6 +158,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -168,6 +174,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -183,6 +190,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -198,6 +206,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -213,6 +222,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -228,6 +238,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -243,6 +254,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -258,6 +270,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -273,6 +286,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/IncidentType.md b/docs/IncidentType.md index 42081e09..5836078c 100644 --- a/docs/IncidentType.md +++ b/docs/IncidentType.md @@ -15,6 +15,7 @@ |**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] | +|**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/IncidentTypeList.md b/docs/IncidentTypeList.md index 4439aacd..0d53bc9f 100644 --- a/docs/IncidentTypeList.md +++ b/docs/IncidentTypeList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<IncidentTypeResponseData>**](IncidentTypeResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/IncidentTypesApi.md b/docs/IncidentTypesApi.md index c6859ed3..7ff1bf0f 100644 --- a/docs/IncidentTypesApi.md +++ b/docs/IncidentTypesApi.md @@ -5,8 +5,10 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**createIncidentType**](IncidentTypesApi.md#createIncidentType) | **POST** /v1/incident_types | Creates an incident type | +| [**createIncidentTypeCatalogProperty**](IncidentTypesApi.md#createIncidentTypeCatalogProperty) | **POST** /v1/incident_types/properties | Creates a Catalog Property | | [**deleteIncidentType**](IncidentTypesApi.md#deleteIncidentType) | **DELETE** /v1/incident_types/{id} | Delete an incident type | | [**getIncidentType**](IncidentTypesApi.md#getIncidentType) | **GET** /v1/incident_types/{id} | Retrieves an incident type | +| [**listIncidentTypeCatalogProperties**](IncidentTypesApi.md#listIncidentTypeCatalogProperties) | **GET** /v1/incident_types/properties | List Catalog Properties | | [**listIncidentTypes**](IncidentTypesApi.md#listIncidentTypes) | **GET** /v1/incident_types | List incident types | | [**updateIncidentType**](IncidentTypesApi.md#updateIncidentType) | **PUT** /v1/incident_types/{id} | Update an incident type | @@ -80,6 +82,75 @@ public class Example { | **422** | invalid request | - | | **401** | resource not found | - | + +# **createIncidentTypeCatalogProperty** +> CatalogPropertyResponse createIncidentTypeCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.IncidentTypesApi; + +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"); + + IncidentTypesApi apiInstance = new IncidentTypesApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createIncidentTypeCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling IncidentTypesApi#createIncidentTypeCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **deleteIncidentType** > IncidentTypeResponse deleteIncidentType(id) @@ -108,7 +179,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentTypesApi apiInstance = new IncidentTypesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentTypeResponse result = apiInstance.deleteIncidentType(id); System.out.println(result); @@ -127,7 +198,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +247,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentTypesApi apiInstance = new IncidentTypesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentTypeResponse result = apiInstance.getIncidentType(id); System.out.println(result); @@ -195,7 +266,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,9 +284,96 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | incident_type found | - | +| **200** | incident_type found by slug | - | | **404** | resource not found | - | + +# **listIncidentTypeCatalogProperties** +> CatalogPropertyList listIncidentTypeCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List IncidentType Catalog Properties + +### 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.IncidentTypesApi; + +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"); + + IncidentTypesApi apiInstance = new IncidentTypesApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listIncidentTypeCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling IncidentTypesApi#listIncidentTypeCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **listIncidentTypes** > IncidentTypeList listIncidentTypes(include, pageNumber, pageSize, filterSlug, filterName, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) @@ -331,7 +489,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentTypesApi apiInstance = new IncidentTypesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateIncidentType updateIncidentType = new UpdateIncidentType(); // UpdateIncidentType | try { IncidentTypeResponse result = apiInstance.updateIncidentType(id, updateIncidentType); @@ -351,7 +509,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateIncidentType** | [**UpdateIncidentType**](UpdateIncidentType.md)| | | ### Return type diff --git a/docs/IncidentZoomMeetingGlobalDialInNumbersInner.md b/docs/IncidentZoomMeetingGlobalDialInNumbersInner.md new file mode 100644 index 00000000..35059e08 --- /dev/null +++ b/docs/IncidentZoomMeetingGlobalDialInNumbersInner.md @@ -0,0 +1,17 @@ + + +# IncidentZoomMeetingGlobalDialInNumbersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**country** | **String** | | [optional] | +|**countryName** | **String** | | [optional] | +|**city** | **String** | | [optional] | +|**number** | **String** | | [optional] | +|**type** | **String** | | [optional] | + + + diff --git a/docs/IncidentsApi.md b/docs/IncidentsApi.md index e57ee716..8180af6a 100644 --- a/docs/IncidentsApi.md +++ b/docs/IncidentsApi.md @@ -9,6 +9,7 @@ All URIs are relative to *https://api.rootly.com* | [**cancelIncident**](IncidentsApi.md#cancelIncident) | **PUT** /v1/incidents/{id}/cancel | Cancel an incident | | [**createIncident**](IncidentsApi.md#createIncident) | **POST** /v1/incidents | Creates an incident | | [**deleteIncident**](IncidentsApi.md#deleteIncident) | **DELETE** /v1/incidents/{id} | Delete an incident | +| [**detachFromParentIncident**](IncidentsApi.md#detachFromParentIncident) | **PUT** /v1/incidents/{id}/detach_from_parent | Detach an incident from its parent | | [**getIncident**](IncidentsApi.md#getIncident) | **GET** /v1/incidents/{id} | Retrieves an incident | | [**listIncidents**](IncidentsApi.md#listIncidents) | **GET** /v1/incidents | List incidents | | [**markAsDuplicateIncident**](IncidentsApi.md#markAsDuplicateIncident) | **PUT** /v1/incidents/{id}/duplicate | Mark an incident as a duplicate | @@ -18,6 +19,7 @@ All URIs are relative to *https://api.rootly.com* | [**resolveIncident**](IncidentsApi.md#resolveIncident) | **PUT** /v1/incidents/{id}/resolve | Resolve an incident | | [**restartIncident**](IncidentsApi.md#restartIncident) | **PUT** /v1/incidents/{id}/restart | Restart an incident | | [**triageIncident**](IncidentsApi.md#triageIncident) | **PUT** /v1/incidents/{id}/in_triage | Triage an incident | +| [**unmarkAsDuplicateIncident**](IncidentsApi.md#unmarkAsDuplicateIncident) | **PUT** /v1/incidents/{id}/unmark_as_duplicate | Remove duplicate marking from an incident | | [**updateIncident**](IncidentsApi.md#updateIncident) | **PUT** /v1/incidents/{id} | Update an incident | @@ -49,7 +51,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | AddSubscribers addSubscribers = new AddSubscribers(); // AddSubscribers | try { IncidentResponse result = apiInstance.addSubscribersToIncident(id, addSubscribers); @@ -69,7 +71,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **addSubscribers** | [**AddSubscribers**](AddSubscribers.md)| | | ### Return type @@ -119,7 +121,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | AssignRoleToUser assignRoleToUser = new AssignRoleToUser(); // AssignRoleToUser | try { IncidentResponse result = apiInstance.assignUserToIncident(id, assignRoleToUser); @@ -139,7 +141,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **assignRoleToUser** | [**AssignRoleToUser**](AssignRoleToUser.md)| | | ### Return type @@ -189,7 +191,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | CancelIncident cancelIncident = new CancelIncident(); // CancelIncident | try { IncidentResponse result = apiInstance.cancelIncident(id, cancelIncident); @@ -209,7 +211,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **cancelIncident** | [**CancelIncident**](CancelIncident.md)| | | ### Return type @@ -328,7 +330,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { IncidentResponse result = apiInstance.deleteIncident(id); System.out.println(result); @@ -347,7 +349,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -368,6 +370,75 @@ public class Example { | **200** | incident deleted | - | | **404** | resource not found | - | + +# **detachFromParentIncident** +> IncidentResponse detachFromParentIncident(id) + +Detach an incident from its parent + +Detach a sub-incident from its parent incident + +### 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.IncidentsApi; + +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"); + + IncidentsApi apiInstance = new IncidentsApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + IncidentResponse result = apiInstance.detachFromParentIncident(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling IncidentsApi#detachFromParentIncident"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**IncidentResponse**](IncidentResponse.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 detached from parent | - | +| **422** | incident has no parent | - | +| **404** | resource not found | - | + # **getIncident** > IncidentResponse getIncident(id, include) @@ -396,7 +467,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String include = "sub_statuses"; // String | comma separated if needed. eg: sub_statuses,causes,subscribers try { IncidentResponse result = apiInstance.getIncident(id, include); @@ -416,8 +487,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | -| **include** | **String**| comma separated if needed. eg: sub_statuses,causes,subscribers | [optional] [enum: sub_statuses, causes, subscribers, roles, slack_messages, environments, incident_types, services, functionalities, groups, events, action_items, custom_field_selections, feedbacks, incident_post_mortem] | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | +| **include** | **String**| comma separated if needed. eg: sub_statuses,causes,subscribers | [optional] [enum: sub_statuses, causes, subscribers, roles, slack_messages, environments, incident_types, services, functionalities, groups, events, action_items, custom_field_selections, feedbacks, incident_post_mortem, alerts] | ### Return type @@ -435,12 +506,12 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | incident found | - | +| **200** | incident found by slug | - | | **404** | resource not found | - | # **listIncidents** -> IncidentList listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include) +> IncidentList listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include) List incidents @@ -482,13 +553,17 @@ public class Example { String filterEnvironmentIds = "filterEnvironmentIds_example"; // String | String filterFunctionalities = "filterFunctionalities_example"; // String | String filterFunctionalityIds = "filterFunctionalityIds_example"; // String | + String filterFunctionalityNames = "filterFunctionalityNames_example"; // String | String filterServices = "filterServices_example"; // String | String filterServiceIds = "filterServiceIds_example"; // String | + String filterServiceNames = "filterServiceNames_example"; // String | String filterTeams = "filterTeams_example"; // String | String filterTeamIds = "filterTeamIds_example"; // String | + String filterTeamNames = "filterTeamNames_example"; // String | String filterCause = "filterCause_example"; // String | String filterCauseIds = "filterCauseIds_example"; // String | String filterCustomFieldSelectedOptionIds = "filterCustomFieldSelectedOptionIds_example"; // String | + String filterSlackChannelId = "filterSlackChannelId_example"; // String | String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | @@ -528,7 +603,7 @@ public class Example { String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at String include = "sub_statuses"; // String | comma separated if needed. eg: sub_statuses,causes,subscribers try { - IncidentList result = apiInstance.listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); + IncidentList result = apiInstance.listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling IncidentsApi#listIncidents"); @@ -561,13 +636,17 @@ public class Example { | **filterEnvironmentIds** | **String**| | [optional] | | **filterFunctionalities** | **String**| | [optional] | | **filterFunctionalityIds** | **String**| | [optional] | +| **filterFunctionalityNames** | **String**| | [optional] | | **filterServices** | **String**| | [optional] | | **filterServiceIds** | **String**| | [optional] | +| **filterServiceNames** | **String**| | [optional] | | **filterTeams** | **String**| | [optional] | | **filterTeamIds** | **String**| | [optional] | +| **filterTeamNames** | **String**| | [optional] | | **filterCause** | **String**| | [optional] | | **filterCauseIds** | **String**| | [optional] | | **filterCustomFieldSelectedOptionIds** | **String**| | [optional] | +| **filterSlackChannelId** | **String**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | @@ -604,8 +683,8 @@ public class Example { | **filterInTriageAtGte** | **String**| | [optional] | | **filterInTriageAtLt** | **String**| | [optional] | | **filterInTriageAtLte** | **String**| | [optional] | -| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at] | -| **include** | **String**| comma separated if needed. eg: sub_statuses,causes,subscribers | [optional] [enum: sub_statuses, causes, subscribers, roles, slack_messages, environments, incident_types, services, functionalities, groups, events, action_items, custom_field_selections, feedbacks, incident_post_mortem] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, started_at, -started_at, in_triage_at, -in_triage_at, mitigated_at, -mitigated_at, resolved_at, -resolved_at] | +| **include** | **String**| comma separated if needed. eg: sub_statuses,causes,subscribers | [optional] [enum: sub_statuses, causes, subscribers, roles, slack_messages, environments, incident_types, services, functionalities, groups, events, action_items, custom_field_selections, feedbacks, incident_post_mortem, alerts] | ### Return type @@ -653,7 +732,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | ResolveIncident resolveIncident = new ResolveIncident(); // ResolveIncident | try { IncidentResponse result = apiInstance.markAsDuplicateIncident(id, resolveIncident); @@ -673,7 +752,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **resolveIncident** | [**ResolveIncident**](ResolveIncident.md)| | | ### Return type @@ -723,7 +802,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | MitigateIncident mitigateIncident = new MitigateIncident(); // MitigateIncident | try { IncidentResponse result = apiInstance.mitigateIncident(id, mitigateIncident); @@ -743,7 +822,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **mitigateIncident** | [**MitigateIncident**](MitigateIncident.md)| | | ### Return type @@ -793,7 +872,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UnassignRoleFromUser unassignRoleFromUser = new UnassignRoleFromUser(); // UnassignRoleFromUser | try { IncidentResponse result = apiInstance.removeAssignedUserFromIncident(id, unassignRoleFromUser); @@ -813,7 +892,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **unassignRoleFromUser** | [**UnassignRoleFromUser**](UnassignRoleFromUser.md)| | | ### Return type @@ -863,7 +942,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | RemoveSubscribers removeSubscribers = new RemoveSubscribers(); // RemoveSubscribers | try { IncidentResponse result = apiInstance.removeSubscribersToIncident(id, removeSubscribers); @@ -883,7 +962,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **removeSubscribers** | [**RemoveSubscribers**](RemoveSubscribers.md)| | | ### Return type @@ -933,7 +1012,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | ResolveIncident resolveIncident = new ResolveIncident(); // ResolveIncident | try { IncidentResponse result = apiInstance.resolveIncident(id, resolveIncident); @@ -953,7 +1032,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **resolveIncident** | [**ResolveIncident**](ResolveIncident.md)| | | ### Return type @@ -1003,7 +1082,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | RestartIncident restartIncident = new RestartIncident(); // RestartIncident | try { IncidentResponse result = apiInstance.restartIncident(id, restartIncident); @@ -1023,7 +1102,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **restartIncident** | [**RestartIncident**](RestartIncident.md)| | | ### Return type @@ -1073,7 +1152,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | InTriageIncident inTriageIncident = new InTriageIncident(); // InTriageIncident | try { IncidentResponse result = apiInstance.triageIncident(id, inTriageIncident); @@ -1093,7 +1172,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **inTriageIncident** | [**InTriageIncident**](InTriageIncident.md)| | | ### Return type @@ -1115,6 +1194,75 @@ public class Example { | **200** | incident set to triage | - | | **404** | resource not found | - | + +# **unmarkAsDuplicateIncident** +> IncidentResponse unmarkAsDuplicateIncident(id) + +Remove duplicate marking from an incident + +Remove the duplicate marking from an incident + +### 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.IncidentsApi; + +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"); + + IncidentsApi apiInstance = new IncidentsApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + IncidentResponse result = apiInstance.unmarkAsDuplicateIncident(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling IncidentsApi#unmarkAsDuplicateIncident"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**IncidentResponse**](IncidentResponse.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** | duplicate marking removed | - | +| **422** | incident is not marked as duplicate | - | +| **404** | resource not found | - | + # **updateIncident** > IncidentResponse updateIncident(id, updateIncident) @@ -1143,7 +1291,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); IncidentsApi apiInstance = new IncidentsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateIncident updateIncident = new UpdateIncident(); // UpdateIncident | try { IncidentResponse result = apiInstance.updateIncident(id, updateIncident); @@ -1163,7 +1311,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateIncident** | [**UpdateIncident**](UpdateIncident.md)| | | ### Return type diff --git a/docs/LiveCallRouter.md b/docs/LiveCallRouter.md index 14a53558..14fab557 100644 --- a/docs/LiveCallRouter.md +++ b/docs/LiveCallRouter.md @@ -15,12 +15,14 @@ |**phoneNumber** | **String** | You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number) API and pass that phone number here to register | [optional] | |**voicemailGreeting** | **String** | The voicemail greeting of the live_call_router | [optional] | |**callerGreeting** | **String** | The caller greeting message of the live_call_router | [optional] | -|**waitingMusicUrl** | **String** | The waiting music URL of the live_call_router | [optional] | +|**waitingMusicUrl** | [**WaitingMusicUrlEnum**](#WaitingMusicUrlEnum) | The waiting music URL of the live_call_router | [optional] | |**sentToVoicemailDelay** | **Integer** | The delay (seconds) after which the caller in redirected to voicemail | [optional] | |**shouldRedirectToVoicemailOnNoAnswer** | **Boolean** | This prompts the caller to choose voicemail or connect live | [optional] | |**escalationLevelDelayInSeconds** | **Integer** | This overrides the delay (seconds) in escalation levels | [optional] | |**shouldAutoResolveAlertOnCallEnd** | **Boolean** | This overrides the delay (seconds) in escalation levels | [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] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -40,11 +42,14 @@ | Name | Value | |---- | -----| -| US | "US" | -| GB | "GB" | -| NZ | "NZ" | -| CA | "CA" | | AU | "AU" | +| CA | "CA" | +| DE | "DE" | +| NL | "NL" | +| NZ | "NZ" | +| SE | "SE" | +| GB | "GB" | +| US | "US" | @@ -54,6 +59,21 @@ |---- | -----| | LOCAL | "local" | | TOLL_FREE | "toll_free" | +| MOBILE | "mobile" | + + + +## Enum: WaitingMusicUrlEnum + +| Name | Value | +|---- | -----| +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3 | "https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3 | "https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3 | "https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3 | "https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3 | "https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3" | diff --git a/docs/LiveCallRouterList.md b/docs/LiveCallRouterList.md index a28aacaf..fa47c79c 100644 --- a/docs/LiveCallRouterList.md +++ b/docs/LiveCallRouterList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<LiveCallRouterResponseData>**](LiveCallRouterResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/LiveCallRoutersApi.md b/docs/LiveCallRoutersApi.md index 2e662d82..364a7e88 100644 --- a/docs/LiveCallRoutersApi.md +++ b/docs/LiveCallRoutersApi.md @@ -77,7 +77,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | live_call_router created | - | +| **201** | live_call_router created with multiple targets without calling_tree_enabled (backward compat) | - | | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | @@ -177,7 +177,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); LiveCallRoutersApi apiInstance = new LiveCallRoutersApi(defaultClient); - String countryCode = "US"; // String | + String countryCode = "AU"; // String | String phoneType = "local"; // String | try { apiInstance.generatePhoneNumberLiveCallRouter(countryCode, phoneType); @@ -196,8 +196,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **countryCode** | **String**| | [enum: US, GB, NZ, CA, AU] | -| **phoneType** | **String**| | [enum: local, toll_free] | +| **countryCode** | **String**| | [enum: AU, CA, DE, NL, NZ, SE, GB, US] | +| **phoneType** | **String**| | [enum: local, toll_free, mobile] | ### Return type diff --git a/docs/MeetingRecording.md b/docs/MeetingRecording.md new file mode 100644 index 00000000..bcfb6962 --- /dev/null +++ b/docs/MeetingRecording.md @@ -0,0 +1,49 @@ + + +# MeetingRecording + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**platform** | [**PlatformEnum**](#PlatformEnum) | Meeting platform | | +|**sessionNumber** | **Integer** | Session number within the incident for this platform (starts at 1, increments on re-invite) | | +|**status** | [**StatusEnum**](#StatusEnum) | Current recording lifecycle status | | +|**startedAt** | **OffsetDateTime** | When the bot started recording (null if bot never joined) | [optional] | +|**endedAt** | **OffsetDateTime** | When the recording ended | [optional] | +|**durationMinutes** | **BigDecimal** | Recording duration in minutes (null if not started) | [optional] | +|**speakerCount** | **Integer** | Number of unique speakers detected in the transcript | [optional] | +|**wordCount** | **Integer** | Total word count across all transcript segments | [optional] | +|**transcriptSummary** | **String** | AI-generated summary of the meeting transcript (null if no transcript or not yet analyzed) | [optional] | +|**hasVideo** | **Boolean** | Whether a video recording file is attached | [optional] | +|**createdAt** | **OffsetDateTime** | When the recording session was created | | +|**updatedAt** | **OffsetDateTime** | When the recording session was last updated | | + + + +## Enum: PlatformEnum + +| Name | Value | +|---- | -----| +| ZOOM | "zoom" | +| GOOGLE_MEET | "google_meet" | +| MICROSOFT_TEAMS | "microsoft_teams" | +| WEBEX | "webex" | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| PENDING | "pending" | +| RECORDING | "recording" | +| PAUSED | "paused" | +| CALL_ENDED | "call_ended" | +| ANALYZING | "analyzing" | +| COMPLETED | "completed" | +| FAILED | "failed" | + + + diff --git a/docs/MeetingRecordingList.md b/docs/MeetingRecordingList.md new file mode 100644 index 00000000..5dc06479 --- /dev/null +++ b/docs/MeetingRecordingList.md @@ -0,0 +1,14 @@ + + +# MeetingRecordingList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<MeetingRecordingListDataInner>**](MeetingRecordingListDataInner.md) | | | +|**meta** | [**Meta**](Meta.md) | | [optional] | + + + diff --git a/docs/MeetingRecordingListDataInner.md b/docs/MeetingRecordingListDataInner.md new file mode 100644 index 00000000..c7128239 --- /dev/null +++ b/docs/MeetingRecordingListDataInner.md @@ -0,0 +1,23 @@ + + +# MeetingRecordingListDataInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique UUID of the meeting recording | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**MeetingRecording**](MeetingRecording.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| MEETING_RECORDINGS | "meeting_recordings" | + + + diff --git a/docs/MeetingRecordingsApi.md b/docs/MeetingRecordingsApi.md new file mode 100644 index 00000000..c4a89a12 --- /dev/null +++ b/docs/MeetingRecordingsApi.md @@ -0,0 +1,627 @@ +# MeetingRecordingsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createMeetingRecording**](MeetingRecordingsApi.md#createMeetingRecording) | **POST** /v1/incidents/{incident_id}/meeting_recordings | Create meeting recording | +| [**deleteMeetingRecording**](MeetingRecordingsApi.md#deleteMeetingRecording) | **DELETE** /v1/meeting_recordings/{id} | Delete a meeting recording | +| [**deleteMeetingRecordingVideo**](MeetingRecordingsApi.md#deleteMeetingRecordingVideo) | **DELETE** /v1/meeting_recordings/{id}/delete_video | Delete video from a meeting recording | +| [**getMeetingRecording**](MeetingRecordingsApi.md#getMeetingRecording) | **GET** /v1/meeting_recordings/{id} | Get a meeting recording | +| [**leaveMeetingRecording**](MeetingRecordingsApi.md#leaveMeetingRecording) | **POST** /v1/meeting_recordings/{id}/leave | Leave a meeting call | +| [**listMeetingRecordings**](MeetingRecordingsApi.md#listMeetingRecordings) | **GET** /v1/incidents/{incident_id}/meeting_recordings | List meeting recordings | +| [**pauseMeetingRecording**](MeetingRecordingsApi.md#pauseMeetingRecording) | **POST** /v1/meeting_recordings/{id}/pause | Pause a meeting recording | +| [**resumeMeetingRecording**](MeetingRecordingsApi.md#resumeMeetingRecording) | **POST** /v1/meeting_recordings/{id}/resume | Resume a meeting recording | +| [**stopMeetingRecording**](MeetingRecordingsApi.md#stopMeetingRecording) | **POST** /v1/meeting_recordings/{id}/stop | Stop a meeting recording | + + + +# **createMeetingRecording** +> createMeetingRecording(incidentId, platform) + +Create meeting recording + +Invite a recording bot to the incident's meeting. If no previous recordings exist for the platform, a new bot is invited (session 1). If previous sessions exist, a new session is created (re-invite). The bot joins the meeting, records audio/video, and generates a transcript when the session ends. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String incidentId = "incidentId_example"; // String | Incident UUID + String platform = "zoom"; // String | Meeting platform + try { + apiInstance.createMeetingRecording(incidentId, platform); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#createMeetingRecording"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **incidentId** | **String**| Incident UUID | | +| **platform** | **String**| Meeting platform | [optional] [enum: zoom, google_meet, microsoft_teams, webex] | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | recording session created | - | +| **422** | validation error (e.g. bot already active) | - | + + +# **deleteMeetingRecording** +> deleteMeetingRecording(id) + +Delete a meeting recording + +Delete a meeting recording. Only completed or failed recordings can be deleted. Active recordings (pending, recording, paused) must be stopped 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.deleteMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#deleteMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | meeting recording deleted | - | +| **422** | cannot delete active recording | - | + + +# **deleteMeetingRecordingVideo** +> deleteMeetingRecordingVideo(id) + +Delete video from a meeting recording + +Delete only the video file from a meeting recording. The transcript, summary, and all metadata are preserved. Only non-active recordings with an attached video can have their video deleted. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.deleteMeetingRecordingVideo(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#deleteMeetingRecordingVideo"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | video deleted | - | +| **422** | cannot delete video (active recording or no video) | - | + + +# **getMeetingRecording** +> getMeetingRecording(id) + +Get a meeting recording + +Retrieve a single meeting recording session including its status, duration, speaker count, word count, and transcript summary. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.getMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#getMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | meeting recording found | - | +| **404** | meeting recording not found | - | + + +# **leaveMeetingRecording** +> leaveMeetingRecording(id) + +Leave a meeting call + +Remove the recording bot from the meeting entirely. Unlike stop, this immediately disconnects the bot. The session will transition to analyzing and then completed once transcript processing finishes. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.leaveMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#leaveMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | bot left the call | - | +| **422** | bot is not in a call | - | + + +# **listMeetingRecordings** +> MeetingRecordingList listMeetingRecordings(incidentId, pageNumber, pageSize) + +List meeting recordings + +List all meeting recording sessions for an incident. Returns recordings sorted by session number. Each recording represents one bot session with its own transcript, status, and metadata. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String incidentId = "incidentId_example"; // String | Incident UUID + Integer pageNumber = 56; // Integer | Page number + Integer pageSize = 56; // Integer | Number of recordings per page + try { + MeetingRecordingList result = apiInstance.listMeetingRecordings(incidentId, pageNumber, pageSize); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#listMeetingRecordings"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **incidentId** | **String**| Incident UUID | | +| **pageNumber** | **Integer**| Page number | [optional] | +| **pageSize** | **Integer**| Number of recordings per page | [optional] | + +### Return type + +[**MeetingRecordingList**](MeetingRecordingList.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** | meeting recordings listed | - | +| **404** | incident not found | - | + + +# **pauseMeetingRecording** +> pauseMeetingRecording(id) + +Pause a meeting recording + +Pause an active recording session. The bot remains in the meeting but stops capturing audio/video. Use the resume endpoint to continue recording. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.pauseMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#pauseMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | recording paused | - | +| **422** | recording is not active | - | + + +# **resumeMeetingRecording** +> resumeMeetingRecording(id) + +Resume a meeting recording + +Resume a paused recording session. The bot continues capturing audio/video from the meeting. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.resumeMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#resumeMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | recording resumed | - | +| **422** | recording is not paused | - | + + +# **stopMeetingRecording** +> stopMeetingRecording(id) + +Stop a meeting recording + +Stop an active or paused recording. The bot finishes processing, generates a transcript, and the session status transitions to completed. This is irreversible — to record again, create a new session. + +### 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.MeetingRecordingsApi; + +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"); + + MeetingRecordingsApi apiInstance = new MeetingRecordingsApi(defaultClient); + String id = "id_example"; // String | Meeting Recording UUID + try { + apiInstance.stopMeetingRecording(id); + } catch (ApiException e) { + System.err.println("Exception when calling MeetingRecordingsApi#stopMeetingRecording"); + 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**| Meeting Recording UUID | | + +### Return type + +null (empty response body) + +### Authorization + +[bearer_auth](../README.md#bearer_auth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | recording stopped | - | +| **422** | recording cannot be stopped | - | + diff --git a/docs/Meta.md b/docs/Meta.md new file mode 100644 index 00000000..726dffae --- /dev/null +++ b/docs/Meta.md @@ -0,0 +1,18 @@ + + +# Meta + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**nextCursor** | **String** | | [optional] | +|**currentPage** | **Integer** | | | +|**nextPage** | **Integer** | | | +|**prevPage** | **Integer** | | | +|**totalCount** | **Integer** | | | +|**totalPages** | **Integer** | | | + + + diff --git a/docs/NewAlertDataAttributes.md b/docs/NewAlertDataAttributes.md index fa1f4912..5fdae496 100644 --- a/docs/NewAlertDataAttributes.md +++ b/docs/NewAlertDataAttributes.md @@ -12,18 +12,20 @@ |**status** | [**StatusEnum**](#StatusEnum) | Only available for organizations with Rootly On-Call enabled. Can be one of open, triggered. | [optional] | |**summary** | **String** | The summary of the alert | | |**description** | **String** | The description of the alert | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. | [optional] | -|**groupIds** | **List<String>** | The Group ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the alert | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. | [optional] | +|**groupIds** | **List<String>** | The Group IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the alert | [optional] | |**startedAt** | **OffsetDateTime** | Alert start datetime | [optional] | |**endedAt** | **OffsetDateTime** | Alert end datetime | [optional] | |**externalId** | **String** | External ID | [optional] | |**externalUrl** | **String** | External Url | [optional] | |**alertUrgencyId** | **String** | The ID of the alert urgency | [optional] | -|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, User. | [optional] | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, Functionality, User. Please contact support if you encounter issues using `Functionality` as a notification target type. | [optional] | |**notificationTargetId** | **String** | Only available for organizations with Rootly On-Call enabled. The _identifier_ of the notification target object. | [optional] | |**labels** | [**List<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | +|**deduplicationKey** | **String** | Alerts sharing the same deduplication key are treated as a single alert. | [optional] | +|**alertFieldValuesAttributes** | [**List<NewAlertDataAttributesAlertFieldValuesAttributesInner>**](NewAlertDataAttributesAlertFieldValuesAttributesInner.md) | Custom alert field values to create with the alert | [optional] | @@ -43,16 +45,19 @@ | ROOTLY | "rootly" | | MANUAL | "manual" | | API | "api" | +| HEARTBEAT | "heartbeat" | | WEB | "web" | | SLACK | "slack" | | EMAIL | "email" | | WORKFLOW | "workflow" | | LIVE_CALL_ROUTING | "live_call_routing" | +| MOBILE | "mobile" | | PAGERDUTY | "pagerduty" | | OPSGENIE | "opsgenie" | | VICTOROPS | "victorops" | | PAGERTREE | "pagertree" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | NOBL9 | "nobl9" | | ZENDESK | "zendesk" | | ASANA | "asana" | @@ -68,6 +73,7 @@ | GOOGLE_CLOUD | "google_cloud" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | AZURE | "azure" | | SPLUNK | "splunk" | | CHRONOSPHERE | "chronosphere" | @@ -101,6 +107,7 @@ | GROUP | "Group" | | ESCALATION_POLICY | "EscalationPolicy" | | SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md b/docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md new file mode 100644 index 00000000..24648578 --- /dev/null +++ b/docs/NewAlertDataAttributesAlertFieldValuesAttributesInner.md @@ -0,0 +1,14 @@ + + +# NewAlertDataAttributesAlertFieldValuesAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**alertFieldId** | **String** | ID of the custom alert field | | +|**value** | **String** | Value for the alert field | | + + + diff --git a/docs/NewAlertDataAttributesLabelsInner.md b/docs/NewAlertDataAttributesLabelsInner.md index fac2d0a7..04268ced 100644 --- a/docs/NewAlertDataAttributesLabelsInner.md +++ b/docs/NewAlertDataAttributesLabelsInner.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**key** | **String** | Key of the tag | | -|**value** | **String** | Value of the tag | | +|**value** | [**NewAlertDataAttributesLabelsInnerValue**](NewAlertDataAttributesLabelsInnerValue.md) | | | diff --git a/docs/NewAlertDataAttributesLabelsInnerValue.md b/docs/NewAlertDataAttributesLabelsInnerValue.md new file mode 100644 index 00000000..6f88276e --- /dev/null +++ b/docs/NewAlertDataAttributesLabelsInnerValue.md @@ -0,0 +1,13 @@ + + +# NewAlertDataAttributesLabelsInnerValue + +Value of the tag + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + diff --git a/docs/NewAlertField.md b/docs/NewAlertField.md new file mode 100644 index 00000000..317482a9 --- /dev/null +++ b/docs/NewAlertField.md @@ -0,0 +1,13 @@ + + +# NewAlertField + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewAlertFieldData**](NewAlertFieldData.md) | | | + + + diff --git a/docs/NewAlertFieldData.md b/docs/NewAlertFieldData.md new file mode 100644 index 00000000..6b14120a --- /dev/null +++ b/docs/NewAlertFieldData.md @@ -0,0 +1,22 @@ + + +# NewAlertFieldData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewAlertFieldDataAttributes**](NewAlertFieldDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELDS | "alert_fields" | + + + diff --git a/docs/NewAlertFieldDataAttributes.md b/docs/NewAlertFieldDataAttributes.md new file mode 100644 index 00000000..ad08dd07 --- /dev/null +++ b/docs/NewAlertFieldDataAttributes.md @@ -0,0 +1,13 @@ + + +# NewAlertFieldDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert field | | + + + diff --git a/docs/NewAlertGroupDataAttributes.md b/docs/NewAlertGroupDataAttributes.md index cc1a7578..0ded2d6e 100644 --- a/docs/NewAlertGroupDataAttributes.md +++ b/docs/NewAlertGroupDataAttributes.md @@ -11,10 +11,11 @@ |**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] | |**targets** | [**List<NewAlertGroupDataAttributesTargetsInner>**](NewAlertGroupDataAttributesTargetsInner.md) | | [optional] | -|**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.md) | | [optional] | -|**groupByAlertTitle** | [**GroupByAlertTitleEnum**](#GroupByAlertTitleEnum) | Whether the alerts should be grouped by titles. | [optional] | -|**groupByAlertUrgency** | [**GroupByAlertUrgencyEnum**](#GroupByAlertUrgencyEnum) | Whether the alerts should be grouped by urgencies. | [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] | +|**groupByAlertUrgency** | [**GroupByAlertUrgencyEnum**](#GroupByAlertUrgencyEnum) | [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | |**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | Group alerts when ANY or ALL of the fields are matching. | [optional] | +|**conditions** | [**List<NewAlertGroupDataAttributesConditionsInner>**](NewAlertGroupDataAttributesConditionsInner.md) | | [optional] | diff --git a/docs/NewAlertGroupDataAttributesConditionsInner.md b/docs/NewAlertGroupDataAttributesConditionsInner.md new file mode 100644 index 00000000..2b366e1d --- /dev/null +++ b/docs/NewAlertGroupDataAttributesConditionsInner.md @@ -0,0 +1,54 @@ + + +# NewAlertGroupDataAttributesConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | The type of the property field | | +|**propertyFieldName** | **String** | The name of the property field. If the property field type is selected as 'attribute', then the allowed property field names are 'summary' (for Title), 'description', 'alert_urgency' and 'external_url' (for Alert Source URL). If the property field type is selected as 'payload', then the property field name should be supplied in JSON Path syntax. | [optional] | +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | The condition type of the property field | | +|**propertyFieldValue** | **String** | The value of the property field. Can be null if the property field condition type is 'is_one_of' or 'is_not_one_of' | [optional] | +|**propertyFieldValues** | **List<String>** | The values of the property field. Need to be passed if the property field condition type is 'is_one_of' or 'is_not_one_of' except for when property field name is 'alert_urgency' | [optional] | +|**alertUrgencyIds** | **List<String>** | The Alert Urgency IDs to check in the condition. Only need to be set when the property field type is 'attribute', the property field name is 'alert_urgency' and the property field condition type is 'is_one_of' or 'is_not_one_of' | [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] | + + + +## Enum: PropertyFieldTypeEnum + +| Name | Value | +|---- | -----| +| ATTRIBUTE | "attribute" | +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + +## 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" | +| MATCHES_EXISTING_ALERT | "matches_existing_alert" | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + diff --git a/docs/NewAlertGroupDataAttributesTargetsInner.md b/docs/NewAlertGroupDataAttributesTargetsInner.md index f7f789fa..9f12d727 100644 --- a/docs/NewAlertGroupDataAttributesTargetsInner.md +++ b/docs/NewAlertGroupDataAttributesTargetsInner.md @@ -7,8 +7,8 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target. | | -|**targetId** | **UUID** | id for the Group, Service or EscalationPolicy | | +|**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 | | @@ -19,6 +19,7 @@ | GROUP | "Group" | | SERVICE | "Service" | | ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/NewAlertRoute.md b/docs/NewAlertRoute.md new file mode 100644 index 00000000..3e041d49 --- /dev/null +++ b/docs/NewAlertRoute.md @@ -0,0 +1,13 @@ + + +# NewAlertRoute + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewAlertRouteData**](NewAlertRouteData.md) | | [optional] | + + + diff --git a/docs/NewAlertRouteData.md b/docs/NewAlertRouteData.md new file mode 100644 index 00000000..dc2722ce --- /dev/null +++ b/docs/NewAlertRouteData.md @@ -0,0 +1,22 @@ + + +# NewAlertRouteData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**attributes** | [**NewAlertRouteDataAttributes**](NewAlertRouteDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_ROUTES | "alert_routes" | + + + diff --git a/docs/NewAlertRouteDataAttributes.md b/docs/NewAlertRouteDataAttributes.md new file mode 100644 index 00000000..d46a3805 --- /dev/null +++ b/docs/NewAlertRouteDataAttributes.md @@ -0,0 +1,17 @@ + + +# NewAlertRouteDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert route | | +|**enabled** | **Boolean** | Whether the alert route is enabled | [optional] | +|**alertsSourceIds** | **List<UUID>** | | | +|**owningTeamIds** | **List<UUID>** | | [optional] | +|**rules** | [**List<NewAlertRouteDataAttributesRulesInner>**](NewAlertRouteDataAttributesRulesInner.md) | | [optional] | + + + diff --git a/docs/NewAlertRouteDataAttributesRulesInner.md b/docs/NewAlertRouteDataAttributesRulesInner.md new file mode 100644 index 00000000..ac13d28a --- /dev/null +++ b/docs/NewAlertRouteDataAttributesRulesInner.md @@ -0,0 +1,17 @@ + + +# NewAlertRouteDataAttributesRulesInner + + +## 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<NewAlertRouteDataAttributesRulesInnerDestinationsInner>**](NewAlertRouteDataAttributesRulesInnerDestinationsInner.md) | | | +|**conditionGroups** | [**List<NewAlertRouteDataAttributesRulesInnerConditionGroupsInner>**](NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md) | | | + + + diff --git a/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md b/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md new file mode 100644 index 00000000..67181ae7 --- /dev/null +++ b/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.md @@ -0,0 +1,14 @@ + + +# NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**position** | **Integer** | The position of the condition group | [optional] | +|**conditions** | [**List<NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner>**](NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md) | | | + + + diff --git a/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md b/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md new file mode 100644 index 00000000..142a11b8 --- /dev/null +++ b/docs/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md @@ -0,0 +1,53 @@ + + +# NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | | | +|**propertyFieldName** | **String** | The name of the property field | [optional] | +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | | | +|**propertyFieldValue** | **String** | The value of the property field | [optional] | +|**propertyFieldValues** | **List<String>** | | [optional] | +|**alertUrgencyIds** | **List<String>** | The Alert Urgency IDs to check in the condition | [optional] | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of the conditionable | [optional] | +|**conditionableId** | **UUID** | The ID of the conditionable | [optional] | + + + +## 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/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md b/docs/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md new file mode 100644 index 00000000..d84afeb6 --- /dev/null +++ b/docs/NewAlertRouteDataAttributesRulesInnerDestinationsInner.md @@ -0,0 +1,25 @@ + + +# NewAlertRouteDataAttributesRulesInnerDestinationsInner + + +## 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/NewAlertRoutingRuleDataAttributes.md b/docs/NewAlertRoutingRuleDataAttributes.md index 928ccd7e..fa4d3e24 100644 --- a/docs/NewAlertRoutingRuleDataAttributes.md +++ b/docs/NewAlertRoutingRuleDataAttributes.md @@ -11,9 +11,10 @@ |**enabled** | **Boolean** | Whether the alert routing rule is enabled | [optional] | |**owningTeamIds** | **List<UUID>** | The IDs of the teams which own the alert routing rule. If the user doesn't have Alert Routing Create Permission in On-Call Roles, then this field is required and can contain Team IDs the user is an admin of. | [optional] | |**alertsSourceId** | **UUID** | The ID of the alerts source | | +|**position** | **Integer** | The position of the alert routing rule for ordering evaluation | [optional] | |**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | The type of condition for the alert routing rule | [optional] | |**conditions** | [**List<NewAlertRoutingRuleDataAttributesConditionsInner>**](NewAlertRoutingRuleDataAttributesConditionsInner.md) | | [optional] | -|**destination** | [**NewAlertRoutingRuleDataAttributesDestination**](NewAlertRoutingRuleDataAttributesDestination.md) | | | +|**destination** | [**NewAlertRouteDataAttributesRulesInnerDestinationsInner**](NewAlertRouteDataAttributesRulesInnerDestinationsInner.md) | | | diff --git a/docs/NewAlertsSourceDataAttributes.md b/docs/NewAlertsSourceDataAttributes.md index a62fd6d1..68fffa4b 100644 --- a/docs/NewAlertsSourceDataAttributes.md +++ b/docs/NewAlertsSourceDataAttributes.md @@ -10,11 +10,16 @@ |**name** | **String** | The name of the alert source | | |**sourceType** | [**SourceTypeEnum**](#SourceTypeEnum) | The alert source type | [optional] | |**alertUrgencyId** | **String** | ID for the default alert urgency assigned to this alert source | [optional] | +|**deduplicateAlertsByKey** | **Boolean** | Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. | [optional] | +|**deduplicationKeyKind** | [**DeduplicationKeyKindEnum**](#DeduplicationKeyKindEnum) | Kind of deduplication key. | [optional] | +|**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] | |**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] | @@ -26,12 +31,14 @@ | APP_DYNAMICS | "app_dynamics" | | CATCHPOINT | "catchpoint" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | ALERTMANAGER | "alertmanager" | | GOOGLE_CLOUD | "google_cloud" | | GRAFANA | "grafana" | | SENTRY | "sentry" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | CHECKLY | "checkly" | | AZURE | "azure" | | NEW_RELIC | "new_relic" | @@ -46,3 +53,11 @@ +## Enum: DeduplicationKeyKindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | + + + diff --git a/docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md b/docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md new file mode 100644 index 00000000..249fa6a9 --- /dev/null +++ b/docs/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.md @@ -0,0 +1,14 @@ + + +# NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + + +## 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/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md b/docs/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md index b2548e7c..8a239d42 100644 --- a/docs/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md +++ b/docs/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.md @@ -10,6 +10,10 @@ |**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] | @@ -24,3 +28,20 @@ +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md b/docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md index 5250c157..20c3721b 100644 --- a/docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md +++ b/docs/NewAlertsSourceDataAttributesResolutionRuleAttributes.md @@ -10,6 +10,9 @@ Provide additional attributes for email alerts source |------------ | ------------- | ------------- | -------------| |**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<NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner>**](NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md) | List of conditions to evaluate for auto resolution | [optional] | @@ -25,3 +28,20 @@ Provide additional attributes for email alerts source +## Enum: IdentifierMatchableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: IdentifierReferenceKindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md b/docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md index f70b90fe..602aadcd 100644 --- a/docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md +++ b/docs/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.md @@ -10,6 +10,9 @@ |**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] | @@ -26,3 +29,20 @@ +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELD | "AlertField" | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md b/docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md index 3a54644b..5ff6eecf 100644 --- a/docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md +++ b/docs/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.md @@ -19,6 +19,7 @@ | 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/NewApiKey.md b/docs/NewApiKey.md new file mode 100644 index 00000000..f159e71f --- /dev/null +++ b/docs/NewApiKey.md @@ -0,0 +1,13 @@ + + +# NewApiKey + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewApiKeyData**](NewApiKeyData.md) | | | + + + diff --git a/docs/NewApiKeyData.md b/docs/NewApiKeyData.md new file mode 100644 index 00000000..97e19913 --- /dev/null +++ b/docs/NewApiKeyData.md @@ -0,0 +1,22 @@ + + +# NewApiKeyData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewApiKeyDataAttributes**](NewApiKeyDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| API_KEYS | "api_keys" | + + + diff --git a/docs/NewApiKeyDataAttributes.md b/docs/NewApiKeyDataAttributes.md new file mode 100644 index 00000000..a103fd84 --- /dev/null +++ b/docs/NewApiKeyDataAttributes.md @@ -0,0 +1,29 @@ + + +# NewApiKeyDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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 | | +|**expiresAt** | **OffsetDateTime** | The expiration date of the API key (ISO 8601) | | +|**groupId** | **String** | The group (team) ID. Required when kind is 'team'. | [optional] | +|**roleId** | **String** | The role ID for organization API keys | [optional] | +|**onCallRoleId** | **String** | The on-call role ID for organization API keys | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| PERSONAL | "personal" | +| TEAM | "team" | +| ORGANIZATION | "organization" | + + + diff --git a/docs/NewCatalogChecklistTemplate.md b/docs/NewCatalogChecklistTemplate.md new file mode 100644 index 00000000..7650e021 --- /dev/null +++ b/docs/NewCatalogChecklistTemplate.md @@ -0,0 +1,13 @@ + + +# NewCatalogChecklistTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCatalogChecklistTemplateData**](NewCatalogChecklistTemplateData.md) | | | + + + diff --git a/docs/NewCatalogChecklistTemplateData.md b/docs/NewCatalogChecklistTemplateData.md new file mode 100644 index 00000000..12aca06c --- /dev/null +++ b/docs/NewCatalogChecklistTemplateData.md @@ -0,0 +1,22 @@ + + +# NewCatalogChecklistTemplateData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCatalogChecklistTemplateDataAttributes**](NewCatalogChecklistTemplateDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_CHECKLIST_TEMPLATES | "catalog_checklist_templates" | + + + diff --git a/docs/NewCatalogChecklistTemplateDataAttributes.md b/docs/NewCatalogChecklistTemplateDataAttributes.md new file mode 100644 index 00000000..8d6f683d --- /dev/null +++ b/docs/NewCatalogChecklistTemplateDataAttributes.md @@ -0,0 +1,42 @@ + + +# NewCatalogChecklistTemplateDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the checklist template | | +|**description** | **String** | The description of the checklist template | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The catalog type | | +|**scopeType** | [**ScopeTypeEnum**](#ScopeTypeEnum) | The scope type | | +|**scopeId** | **String** | The scope ID (team or catalog UUID) | [optional] | +|**fields** | [**List<NewCatalogChecklistTemplateDataAttributesFieldsInner>**](NewCatalogChecklistTemplateDataAttributesFieldsInner.md) | Template fields. Position is determined by array order. | [optional] | +|**owners** | [**List<NewCatalogChecklistTemplateDataAttributesOwnersInner>**](NewCatalogChecklistTemplateDataAttributesOwnersInner.md) | Template owners | [optional] | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| FUNCTIONALITY | "Functionality" | +| ENVIRONMENT | "Environment" | +| GROUP | "Group" | +| CAUSE | "Cause" | +| INCIDENT_TYPE | "IncidentType" | +| CATALOG | "Catalog" | + + + +## Enum: ScopeTypeEnum + +| Name | Value | +|---- | -----| +| TEAM | "Team" | +| CATALOG | "Catalog" | + + + diff --git a/docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md b/docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md new file mode 100644 index 00000000..2c2ac826 --- /dev/null +++ b/docs/NewCatalogChecklistTemplateDataAttributesFieldsInner.md @@ -0,0 +1,23 @@ + + +# NewCatalogChecklistTemplateDataAttributesFieldsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**fieldSource** | [**FieldSourceEnum**](#FieldSourceEnum) | | | +|**fieldKey** | **String** | Ignored for custom fields (auto-derived from catalog property) | | +|**catalogPropertyId** | **String** | ID of the catalog property | | + + + +## Enum: FieldSourceEnum + +| Name | Value | +|---- | -----| +| CUSTOM | "custom" | + + + diff --git a/docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md b/docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md new file mode 100644 index 00000000..5e9036f7 --- /dev/null +++ b/docs/NewCatalogChecklistTemplateDataAttributesOwnersInner.md @@ -0,0 +1,23 @@ + + +# NewCatalogChecklistTemplateDataAttributesOwnersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | User ID for user owners, or field key for field owners | | +|**type** | [**TypeEnum**](#TypeEnum) | Type of owner | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| FIELD | "field" | +| USER | "user" | + + + diff --git a/docs/NewCatalogEntityDataAttributes.md b/docs/NewCatalogEntityDataAttributes.md index 8ab1ceb0..0e769c66 100644 --- a/docs/NewCatalogEntityDataAttributes.md +++ b/docs/NewCatalogEntityDataAttributes.md @@ -10,6 +10,8 @@ |**name** | **String** | | | |**description** | **String** | | [optional] | |**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**backstageId** | **String** | The Backstage entity ID this catalog entity is linked to. | [optional] | +|**properties** | [**List<NewCatalogEntityDataAttributesPropertiesInner>**](NewCatalogEntityDataAttributesPropertiesInner.md) | Array of property values for this catalog entity | [optional] | diff --git a/docs/NewCatalogEntityDataAttributesPropertiesInner.md b/docs/NewCatalogEntityDataAttributesPropertiesInner.md new file mode 100644 index 00000000..3ec89a29 --- /dev/null +++ b/docs/NewCatalogEntityDataAttributesPropertiesInner.md @@ -0,0 +1,14 @@ + + +# NewCatalogEntityDataAttributesPropertiesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogPropertyId** | **String** | Unique ID of the catalog property | | +|**value** | **String** | The value for this property | | + + + diff --git a/docs/NewCatalogEntityProperty.md b/docs/NewCatalogEntityProperty.md index ff94b9db..4af54d61 100644 --- a/docs/NewCatalogEntityProperty.md +++ b/docs/NewCatalogEntityProperty.md @@ -2,6 +2,7 @@ # NewCatalogEntityProperty +**Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. ## Properties diff --git a/docs/NewCatalogEntityPropertyDataAttributes.md b/docs/NewCatalogEntityPropertyDataAttributes.md index a062c4a9..9cba7bd3 100644 --- a/docs/NewCatalogEntityPropertyDataAttributes.md +++ b/docs/NewCatalogEntityPropertyDataAttributes.md @@ -2,6 +2,7 @@ # NewCatalogEntityPropertyDataAttributes +Maximum of 50 values allowed per catalog field. ## Properties @@ -20,6 +21,7 @@ |---- | -----| | TEXT | "text" | | CATALOG_ENTITY | "catalog_entity" | +| SLACK | "slack" | diff --git a/docs/NewCatalogField.md b/docs/NewCatalogField.md index 8f0470f7..e62c4b24 100644 --- a/docs/NewCatalogField.md +++ b/docs/NewCatalogField.md @@ -2,6 +2,7 @@ # NewCatalogField +A catalog can have a maximum of 50 fields. ## Properties diff --git a/docs/NewCatalogFieldData.md b/docs/NewCatalogFieldData.md index 4f8be025..75e8cc95 100644 --- a/docs/NewCatalogFieldData.md +++ b/docs/NewCatalogFieldData.md @@ -16,7 +16,7 @@ | Name | Value | |---- | -----| -| CATALOG_FIELDS | "catalog_fields" | +| CATALOG_PROPERTIES | "catalog_properties" | diff --git a/docs/NewCatalogFieldDataAttributes.md b/docs/NewCatalogFieldDataAttributes.md index 6fdd607e..0a6e370a 100644 --- a/docs/NewCatalogFieldDataAttributes.md +++ b/docs/NewCatalogFieldDataAttributes.md @@ -12,6 +12,8 @@ |**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | |**multiple** | **Boolean** | Whether the attribute accepts multiple values. | [optional] | |**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**required** | **Boolean** | Whether the field is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the field belongs to. | [optional] | @@ -21,6 +23,29 @@ |---- | -----| | TEXT | "text" | | REFERENCE | "reference" | +| BOOLEAN | "boolean" | +| REFERENCE2 | "reference" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ENVIRONMENT | "environment" | +| GROUP | "group" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | +| USER | "user" | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | diff --git a/docs/NewCatalogProperty.md b/docs/NewCatalogProperty.md new file mode 100644 index 00000000..dbfd0fdb --- /dev/null +++ b/docs/NewCatalogProperty.md @@ -0,0 +1,14 @@ + + +# NewCatalogProperty + +A catalog can have a maximum of 50 properties. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCatalogPropertyData**](NewCatalogPropertyData.md) | | | + + + diff --git a/docs/NewCatalogPropertyData.md b/docs/NewCatalogPropertyData.md new file mode 100644 index 00000000..3cccf73a --- /dev/null +++ b/docs/NewCatalogPropertyData.md @@ -0,0 +1,22 @@ + + +# NewCatalogPropertyData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCatalogPropertyDataAttributes**](NewCatalogPropertyDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_PROPERTIES | "catalog_properties" | + + + diff --git a/docs/NewCatalogPropertyDataAttributes.md b/docs/NewCatalogPropertyDataAttributes.md new file mode 100644 index 00000000..c7151874 --- /dev/null +++ b/docs/NewCatalogPropertyDataAttributes.md @@ -0,0 +1,51 @@ + + +# NewCatalogPropertyDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | | +|**kind** | [**KindEnum**](#KindEnum) | | | +|**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | +|**multiple** | **Boolean** | Whether the attribute accepts multiple values. | [optional] | +|**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**required** | **Boolean** | Whether the property is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the property belongs to. | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| TEXT | "text" | +| REFERENCE | "reference" | +| BOOLEAN | "boolean" | +| REFERENCE2 | "reference" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ENVIRONMENT | "environment" | +| GROUP | "group" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | +| USER | "user" | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | + + + diff --git a/docs/NewCauseDataAttributes.md b/docs/NewCauseDataAttributes.md index a35349f6..cad4a564 100644 --- a/docs/NewCauseDataAttributes.md +++ b/docs/NewCauseDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the cause | | |**description** | **String** | The description of the cause | [optional] | |**position** | **Integer** | Position of the cause | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this cause. | [optional] | diff --git a/docs/NewCauseDataAttributesPropertiesInner.md b/docs/NewCauseDataAttributesPropertiesInner.md new file mode 100644 index 00000000..2c49f564 --- /dev/null +++ b/docs/NewCauseDataAttributesPropertiesInner.md @@ -0,0 +1,15 @@ + + +# NewCauseDataAttributesPropertiesInner + +Set a value for a catalog property + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**catalogPropertyId** | **String** | Catalog property ID | | +|**value** | **String** | The property value | | + + + diff --git a/docs/NewCommunicationsGroup.md b/docs/NewCommunicationsGroup.md new file mode 100644 index 00000000..37dfd328 --- /dev/null +++ b/docs/NewCommunicationsGroup.md @@ -0,0 +1,13 @@ + + +# NewCommunicationsGroup + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCommunicationsGroupData**](NewCommunicationsGroupData.md) | | | + + + diff --git a/docs/NewCommunicationsGroupData.md b/docs/NewCommunicationsGroupData.md new file mode 100644 index 00000000..e6caa2a3 --- /dev/null +++ b/docs/NewCommunicationsGroupData.md @@ -0,0 +1,22 @@ + + +# NewCommunicationsGroupData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCommunicationsGroupDataAttributes**](NewCommunicationsGroupDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_GROUPS | "communications_groups" | + + + diff --git a/docs/NewCommunicationsGroupDataAttributes.md b/docs/NewCommunicationsGroupDataAttributes.md new file mode 100644 index 00000000..880f24fe --- /dev/null +++ b/docs/NewCommunicationsGroupDataAttributes.md @@ -0,0 +1,32 @@ + + +# NewCommunicationsGroupDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications group | | +|**description** | **String** | The description of the communications group | [optional] | +|**communicationTypeId** | **String** | The communication type ID | | +|**isPrivate** | **Boolean** | Whether the group is private | [optional] | +|**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | Condition type | [optional] | +|**smsChannel** | **Boolean** | SMS channel enabled | [optional] | +|**emailChannel** | **Boolean** | Email channel enabled | [optional] | +|**memberIds** | **List<Integer>** | Array of member user IDs | [optional] | +|**slackChannelIds** | **List<String>** | Array of Slack channel IDs | [optional] | +|**communicationGroupConditions** | [**List<NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner>**](NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md) | Group conditions attributes | [optional] | +|**communicationExternalGroupMembers** | [**List<NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner>**](NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md) | External group members attributes | [optional] | + + + +## Enum: ConditionTypeEnum + +| Name | Value | +|---- | -----| +| ANY | "any" | +| ALL | "all" | + + + diff --git a/docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md b/docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md new file mode 100644 index 00000000..ef9d290a --- /dev/null +++ b/docs/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md @@ -0,0 +1,15 @@ + + +# NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Name of the external member | [optional] | +|**email** | **String** | Email of the external member | [optional] | +|**phoneNumber** | **String** | Phone number of the external member | [optional] | + + + diff --git a/docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md b/docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md new file mode 100644 index 00000000..e25fc0cf --- /dev/null +++ b/docs/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md @@ -0,0 +1,30 @@ + + +# NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + + +## 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/NewCommunicationsStage.md b/docs/NewCommunicationsStage.md new file mode 100644 index 00000000..5c434f19 --- /dev/null +++ b/docs/NewCommunicationsStage.md @@ -0,0 +1,13 @@ + + +# NewCommunicationsStage + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCommunicationsStageData**](NewCommunicationsStageData.md) | | | + + + diff --git a/docs/NewCommunicationsStageData.md b/docs/NewCommunicationsStageData.md new file mode 100644 index 00000000..dd06006c --- /dev/null +++ b/docs/NewCommunicationsStageData.md @@ -0,0 +1,22 @@ + + +# NewCommunicationsStageData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCommunicationsStageDataAttributes**](NewCommunicationsStageDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_STAGES | "communications_stages" | + + + diff --git a/docs/NewCommunicationsStageDataAttributes.md b/docs/NewCommunicationsStageDataAttributes.md new file mode 100644 index 00000000..fecf068a --- /dev/null +++ b/docs/NewCommunicationsStageDataAttributes.md @@ -0,0 +1,15 @@ + + +# NewCommunicationsStageDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications stage | | +|**description** | **String** | The description of the communications stage | [optional] | +|**position** | **Integer** | Position of the communications stage | [optional] | + + + diff --git a/docs/NewCommunicationsTemplate.md b/docs/NewCommunicationsTemplate.md new file mode 100644 index 00000000..86d69ee4 --- /dev/null +++ b/docs/NewCommunicationsTemplate.md @@ -0,0 +1,13 @@ + + +# NewCommunicationsTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCommunicationsTemplateData**](NewCommunicationsTemplateData.md) | | | + + + diff --git a/docs/NewCommunicationsTemplateData.md b/docs/NewCommunicationsTemplateData.md new file mode 100644 index 00000000..dbffcde9 --- /dev/null +++ b/docs/NewCommunicationsTemplateData.md @@ -0,0 +1,22 @@ + + +# NewCommunicationsTemplateData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCommunicationsTemplateDataAttributes**](NewCommunicationsTemplateDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TEMPLATES | "communications_templates" | + + + diff --git a/docs/NewCommunicationsTemplateDataAttributes.md b/docs/NewCommunicationsTemplateDataAttributes.md new file mode 100644 index 00000000..8b7f64f7 --- /dev/null +++ b/docs/NewCommunicationsTemplateDataAttributes.md @@ -0,0 +1,17 @@ + + +# NewCommunicationsTemplateDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications template | | +|**description** | **String** | The description of the communications template | [optional] | +|**communicationTypeId** | **String** | The communication type ID | | +|**position** | **Integer** | Position of the communications template | [optional] | +|**communicationTemplateStagesAttributes** | [**List<NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner>**](NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md) | Template stages attributes | [optional] | + + + diff --git a/docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md b/docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md new file mode 100644 index 00000000..8ab6809f --- /dev/null +++ b/docs/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md @@ -0,0 +1,17 @@ + + +# NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**communicationStageId** | **String** | The communication stage ID | [optional] | +|**smsContent** | **String** | SMS content for the stage | [optional] | +|**emailSubject** | **String** | Email subject for the stage | [optional] | +|**emailBody** | **String** | Email body for the stage | [optional] | +|**slackContent** | **String** | Slack content for the stage | [optional] | + + + diff --git a/docs/NewCommunicationsType.md b/docs/NewCommunicationsType.md new file mode 100644 index 00000000..119bd33e --- /dev/null +++ b/docs/NewCommunicationsType.md @@ -0,0 +1,13 @@ + + +# NewCommunicationsType + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewCommunicationsTypeData**](NewCommunicationsTypeData.md) | | | + + + diff --git a/docs/NewCommunicationsTypeData.md b/docs/NewCommunicationsTypeData.md new file mode 100644 index 00000000..06294c9b --- /dev/null +++ b/docs/NewCommunicationsTypeData.md @@ -0,0 +1,22 @@ + + +# NewCommunicationsTypeData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewCommunicationsTypeDataAttributes**](NewCommunicationsTypeDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TYPES | "communications_types" | + + + diff --git a/docs/NewCommunicationsTypeDataAttributes.md b/docs/NewCommunicationsTypeDataAttributes.md new file mode 100644 index 00000000..dbd5459b --- /dev/null +++ b/docs/NewCommunicationsTypeDataAttributes.md @@ -0,0 +1,16 @@ + + +# NewCommunicationsTypeDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications type | | +|**description** | **String** | The description of the communications type | [optional] | +|**color** | **String** | The color of the communications type | | +|**position** | **Integer** | Position of the communications type | [optional] | + + + diff --git a/docs/NewCustomFormDataAttributes.md b/docs/NewCustomFormDataAttributes.md index 2614f623..1a449dec 100644 --- a/docs/NewCustomFormDataAttributes.md +++ b/docs/NewCustomFormDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the custom form. | | -|**slug** | **String** | The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. | [optional] | |**description** | **String** | | [optional] | |**enabled** | **Boolean** | | [optional] | |**command** | **String** | The Slack command used to trigger this form. | | diff --git a/docs/NewDashboardPanelDataAttributesParamsDatasetsInner.md b/docs/NewDashboardPanelDataAttributesParamsDatasetsInner.md index abef5b50..3115fdb1 100644 --- a/docs/NewDashboardPanelDataAttributesParamsDatasetsInner.md +++ b/docs/NewDashboardPanelDataAttributesParamsDatasetsInner.md @@ -10,7 +10,7 @@ |**name** | **String** | | [optional] | |**collection** | [**CollectionEnum**](#CollectionEnum) | | [optional] | |**filter** | [**List<NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner>**](NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.md) | | [optional] | -|**groupBy** | **String** | | [optional] | +|**groupBy** | [**NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy**](NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md) | | [optional] | |**aggregate** | [**NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate**](NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.md) | | [optional] | diff --git a/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md index 40dd58b9..666df088 100644 --- a/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md +++ b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.md @@ -35,6 +35,8 @@ | NOT_EXISTS | "not_exists" | | CONTAINS | "contains" | | NOT_CONTAINS | "not_contains" | +| ASSIGNED | "assigned" | +| UNASSIGNED | "unassigned" | diff --git a/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md new file mode 100644 index 00000000..7a6529dd --- /dev/null +++ b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.md @@ -0,0 +1,24 @@ + + +# NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | [**KeyEnum**](#KeyEnum) | | | +|**value** | **String** | | | + + + +## Enum: KeyEnum + +| Name | Value | +|---- | -----| +| CUSTOM_FIELD | "custom_field" | +| INCIDENT_ROLE | "incident_role" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md new file mode 100644 index 00000000..c6f2a328 --- /dev/null +++ b/docs/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.md @@ -0,0 +1,24 @@ + + +# NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | [**KeyEnum**](#KeyEnum) | | | +|**value** | **String** | | | + + + +## Enum: KeyEnum + +| Name | Value | +|---- | -----| +| CUSTOM_FIELD | "custom_field" | +| INCIDENT_ROLE | "incident_role" | +| ALERT_FIELD | "alert_field" | + + + diff --git a/docs/NewEdgeConnector.md b/docs/NewEdgeConnector.md new file mode 100644 index 00000000..ba4ced8e --- /dev/null +++ b/docs/NewEdgeConnector.md @@ -0,0 +1,13 @@ + + +# NewEdgeConnector + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**edgeConnector** | [**NewEdgeConnectorEdgeConnector**](NewEdgeConnectorEdgeConnector.md) | | | + + + diff --git a/docs/NewEdgeConnectorAction.md b/docs/NewEdgeConnectorAction.md new file mode 100644 index 00000000..41d7efdb --- /dev/null +++ b/docs/NewEdgeConnectorAction.md @@ -0,0 +1,13 @@ + + +# NewEdgeConnectorAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**action** | [**NewEdgeConnectorActionAction**](NewEdgeConnectorActionAction.md) | | | + + + diff --git a/docs/NewEdgeConnectorActionAction.md b/docs/NewEdgeConnectorActionAction.md new file mode 100644 index 00000000..f5ddcddd --- /dev/null +++ b/docs/NewEdgeConnectorActionAction.md @@ -0,0 +1,24 @@ + + +# NewEdgeConnectorActionAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Action name | | +|**actionType** | [**ActionTypeEnum**](#ActionTypeEnum) | Action type | | +|**metadata** | [**NewEdgeConnectorActionActionMetadata**](NewEdgeConnectorActionActionMetadata.md) | | [optional] | + + + +## Enum: ActionTypeEnum + +| Name | Value | +|---- | -----| +| SCRIPT | "script" | +| HTTP | "http" | + + + diff --git a/docs/NewEdgeConnectorActionActionMetadata.md b/docs/NewEdgeConnectorActionActionMetadata.md new file mode 100644 index 00000000..01b40e2f --- /dev/null +++ b/docs/NewEdgeConnectorActionActionMetadata.md @@ -0,0 +1,35 @@ + + +# NewEdgeConnectorActionActionMetadata + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**description** | **String** | | [optional] | +|**timeout** | **Integer** | | [optional] | +|**icon** | [**IconEnum**](#IconEnum) | | [optional] | +|**parameters** | [**List<EdgeConnectorActionDataAttributesParametersInner>**](EdgeConnectorActionDataAttributesParametersInner.md) | | [optional] | + + + +## Enum: IconEnum + +| Name | Value | +|---- | -----| +| BOLT | "bolt" | +| BOLT_SLASH | "bolt-slash" | +| COG | "cog" | +| COMMAND_LINE | "command-line" | +| CODE_BRACKET | "code-bracket" | +| SERVER | "server" | +| SERVER_STACK | "server-stack" | +| PLAY | "play" | +| ARROW_PATH | "arrow-path" | +| WRENCH_SCREWDRIVER | "wrench-screwdriver" | +| CUBE | "cube" | +| ROCKET_LAUNCH | "rocket-launch" | + + + diff --git a/docs/NewEdgeConnectorEdgeConnector.md b/docs/NewEdgeConnectorEdgeConnector.md new file mode 100644 index 00000000..19afe3c4 --- /dev/null +++ b/docs/NewEdgeConnectorEdgeConnector.md @@ -0,0 +1,25 @@ + + +# NewEdgeConnectorEdgeConnector + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | Connector name | | +|**description** | **String** | Connector description | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | Connector status | [optional] | +|**subscriptions** | **List<String>** | Array of event types to subscribe to | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| PAUSED | "paused" | + + + diff --git a/docs/NewEnvironmentDataAttributes.md b/docs/NewEnvironmentDataAttributes.md index 92aecebb..dd836a48 100644 --- a/docs/NewEnvironmentDataAttributes.md +++ b/docs/NewEnvironmentDataAttributes.md @@ -14,6 +14,7 @@ |**notifyEmails** | **List<String>** | Emails to attach to 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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this environment. | [optional] | diff --git a/docs/NewEscalationPolicyDataAttributesBusinessHours.md b/docs/NewEscalationPolicyDataAttributesBusinessHours.md index 50dcc8aa..f721ca79 100644 --- a/docs/NewEscalationPolicyDataAttributesBusinessHours.md +++ b/docs/NewEscalationPolicyDataAttributesBusinessHours.md @@ -7,13 +7,324 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**timeZone** | **String** | Time zone for business hours | [optional] | +|**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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | + + + ## Enum: List<DaysEnum> | Name | Value | diff --git a/docs/NewEscalationPolicyLevelDataAttributes.md b/docs/NewEscalationPolicyLevelDataAttributes.md index e14b15e6..e3909b59 100644 --- a/docs/NewEscalationPolicyLevelDataAttributes.md +++ b/docs/NewEscalationPolicyLevelDataAttributes.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**delay** | **Integer** | Delay before notification targets will be alerted. | [optional] | +|**delay** | **Integer** | Delay before notifying targets in the next Escalation Level. | [optional] | |**position** | **Integer** | Position of the escalation policy level | | |**pagingStrategyConfigurationStrategy** | [**PagingStrategyConfigurationStrategyEnum**](#PagingStrategyConfigurationStrategyEnum) | | [optional] | |**pagingStrategyConfigurationScheduleStrategy** | [**PagingStrategyConfigurationScheduleStrategyEnum**](#PagingStrategyConfigurationScheduleStrategyEnum) | | [optional] | diff --git a/docs/NewEscalationPolicyPathDataAttributes.md b/docs/NewEscalationPolicyPathDataAttributes.md index 4d4e58f6..a8997cbd 100644 --- a/docs/NewEscalationPolicyPathDataAttributes.md +++ b/docs/NewEscalationPolicyPathDataAttributes.md @@ -9,6 +9,9 @@ |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the escalation path | | |**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | Notification rule type to be used | [optional] | +|**pathType** | [**PathTypeEnum**](#PathTypeEnum) | The type of escalation path to create | [optional] | +|**afterDeferralBehavior** | [**AfterDeferralBehaviorEnum**](#AfterDeferralBehaviorEnum) | What happens after a deferral path finishes. Required for deferral paths. | [optional] | +|**afterDeferralPathId** | **String** | The escalation path to execute after this deferral path when after_deferral_behavior is execute_path. | [optional] | |**_default** | **Boolean** | Whether this escalation path is the default path | [optional] | |**matchMode** | [**MatchModeEnum**](#MatchModeEnum) | How path rules are matched. | [optional] | |**position** | **Integer** | The position of this path in the paths for this EP. | [optional] | @@ -16,6 +19,8 @@ |**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] | |**rules** | [**List<NewEscalationPolicyPathDataAttributesRulesInner>**](NewEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path conditions | [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] | @@ -28,6 +33,24 @@ +## Enum: PathTypeEnum + +| Name | Value | +|---- | -----| +| ESCALATION | "escalation" | +| DEFERRAL | "deferral" | + + + +## Enum: AfterDeferralBehaviorEnum + +| Name | Value | +|---- | -----| +| RE_EVALUATE | "re_evaluate" | +| EXECUTE_PATH | "execute_path" | + + + ## Enum: MatchModeEnum | Name | Value | @@ -37,3 +60,314 @@ +## Enum: TimeRestrictionTimeZoneEnum + +| 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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInner.md b/docs/NewEscalationPolicyPathDataAttributesRulesInner.md index 55756c0a..20daca90 100644 --- a/docs/NewEscalationPolicyPathDataAttributesRulesInner.md +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInner.md @@ -11,8 +11,14 @@ |**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | |**withinWorkingHour** | **Boolean** | Whether the escalation path should be used within working hours | | |**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 | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert field value should be matched | | +|**value** | **String** | Value with which JSON path value should be matched | [optional] | +|**values** | **List<String>** | Values to match against | [optional] | +|**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 | | @@ -20,7 +26,7 @@ | Name | Value | |---- | -----| -| JSON_PATH | "json_path" | +| DEFERRAL_WINDOW | "deferral_window" | @@ -30,8 +36,329 @@ |---- | -----| | 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" | + + + +## 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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md new file mode 100644 index 00000000..f9d44d0e --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.md @@ -0,0 +1,22 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| ALERT_URGENCY | "alert_urgency" | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md new file mode 100644 index 00000000..195f0504 --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.md @@ -0,0 +1,22 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + + +## 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/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md new file mode 100644 index 00000000..cb2edb40 --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.md @@ -0,0 +1,40 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + + +## 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" | +| 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md new file mode 100644 index 00000000..c7f6be45 --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.md @@ -0,0 +1,46 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md new file mode 100644 index 00000000..a5aa06e4 --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.md @@ -0,0 +1,22 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**ruleType** | [**RuleTypeEnum**](#RuleTypeEnum) | The type of the escalation path rule | | +|**serviceIds** | **List<String>** | Service ids for which this escalation path should be used | | + + + +## Enum: RuleTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "service" | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md new file mode 100644 index 00000000..c525141a --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.md @@ -0,0 +1,334 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + + +## 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<NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner>**](NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md new file mode 100644 index 00000000..46cdbe5a --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.md @@ -0,0 +1,23 @@ + + +# NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**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** | | [optional] | + + + diff --git a/docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md b/docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md new file mode 100644 index 00000000..2143fc5a --- /dev/null +++ b/docs/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.md @@ -0,0 +1,44 @@ + + +# NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startDay** | [**StartDayEnum**](#StartDayEnum) | | | +|**startTime** | **String** | Formatted as HH:MM | | +|**endDay** | [**EndDayEnum**](#EndDayEnum) | | | +|**endTime** | **String** | Formatted as HH:MM | | + + + +## 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/NewFormFieldDataAttributes.md b/docs/NewFormFieldDataAttributes.md index 64d58411..c11f935a 100644 --- a/docs/NewFormFieldDataAttributes.md +++ b/docs/NewFormFieldDataAttributes.md @@ -18,6 +18,7 @@ |**showOnIncidentDetails** | **Boolean** | Whether the form field is shown on the incident details panel | [optional] | |**enabled** | **Boolean** | Whether the form field is enabled | [optional] | |**defaultValues** | **List<String>** | | [optional] | +|**autoSetByCatalogPropertyId** | **String** | Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. | [optional] | @@ -53,6 +54,7 @@ | MITIGATED_AT | "mitigated_at" | | RESOLVED_AT | "resolved_at" | | CLOSED_AT | "closed_at" | +| CUSTOM_SUB_STATUS | "custom_sub_status" | | MANUAL_STARTING_DATETIME_FIELD | "manual_starting_datetime_field" | @@ -84,6 +86,9 @@ | FUNCTIONALITY | "functionality" | | USER | "user" | | CATALOG_ENTITY | "catalog_entity" | +| ENVIRONMENT | "environment" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | diff --git a/docs/NewFormFieldOptionDataAttributes.md b/docs/NewFormFieldOptionDataAttributes.md index bbae32c8..841db554 100644 --- a/docs/NewFormFieldOptionDataAttributes.md +++ b/docs/NewFormFieldOptionDataAttributes.md @@ -8,10 +8,10 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**formFieldId** | **String** | The ID of the form field | | -|**value** | **String** | The value of the form_field_option | | -|**color** | **String** | The hex color of the form_field_option | [optional] | +|**value** | **String** | The value of the form field option | | +|**color** | **String** | The hex color of the form field option | [optional] | |**_default** | **Boolean** | | [optional] | -|**position** | **Integer** | The position of the form_field_option | [optional] | +|**position** | **Integer** | The position of the form field option | [optional] | diff --git a/docs/NewFormFieldPlacementConditionDataAttributes.md b/docs/NewFormFieldPlacementConditionDataAttributes.md index eef5b190..4f9a9891 100644 --- a/docs/NewFormFieldPlacementConditionDataAttributes.md +++ b/docs/NewFormFieldPlacementConditionDataAttributes.md @@ -29,6 +29,7 @@ | Name | Value | |---- | -----| | EQUAL | "equal" | +| NOT_EQUAL | "not_equal" | | IS_SET | "is_set" | | IS_NOT_SET | "is_not_set" | diff --git a/docs/NewFormFieldPlacementDataAttributes.md b/docs/NewFormFieldPlacementDataAttributes.md index 8818fb1f..011001b6 100644 --- a/docs/NewFormFieldPlacementDataAttributes.md +++ b/docs/NewFormFieldPlacementDataAttributes.md @@ -13,6 +13,7 @@ |**required** | **Boolean** | Whether the field is unconditionally required on this form. | [optional] | |**requiredOperator** | [**RequiredOperatorEnum**](#RequiredOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required | [optional] | |**placementOperator** | [**PlacementOperatorEnum**](#PlacementOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement | [optional] | +|**nonEditable** | **Boolean** | Whether the field is read-only and cannot be edited by users. | [optional] | diff --git a/docs/NewFunctionalityDataAttributes.md b/docs/NewFunctionalityDataAttributes.md index 16730103..b41f7522 100644 --- a/docs/NewFunctionalityDataAttributes.md +++ b/docs/NewFunctionalityDataAttributes.md @@ -24,10 +24,12 @@ |**showUptimeLastDays** | [**ShowUptimeLastDaysEnum**](#ShowUptimeLastDaysEnum) | Show uptime over x days | [optional] | |**environmentIds** | **List<String>** | Environments associated with this functionality | [optional] | |**serviceIds** | **List<String>** | Services associated with this functionality | [optional] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this functionality | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with this functionality | [optional] | +|**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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this functionality. | [optional] | diff --git a/docs/NewHeartbeatDataAttributes.md b/docs/NewHeartbeatDataAttributes.md index 11ba520a..0c9ef628 100644 --- a/docs/NewHeartbeatDataAttributes.md +++ b/docs/NewHeartbeatDataAttributes.md @@ -10,11 +10,12 @@ |**name** | **String** | The name of the heartbeat | | |**description** | **String** | The description of the heartbeat | [optional] | |**alertSummary** | **String** | Summary of alerts triggered when heartbeat expires. | | +|**alertDescription** | **String** | Description of alerts triggered when heartbeat expires. | [optional] | |**alertUrgencyId** | **String** | Urgency of alerts triggered when heartbeat expires. | [optional] | |**interval** | **Integer** | | | |**intervalUnit** | [**IntervalUnitEnum**](#IntervalUnitEnum) | | | |**notificationTargetId** | **String** | | | -|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | | | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. | | |**enabled** | **Boolean** | Whether to trigger alerts when heartbeat is expired. | [optional] | @@ -23,9 +24,9 @@ | Name | Value | |---- | -----| -| SECONDS | "seconds" | | MINUTES | "minutes" | | HOURS | "hours" | +| DAYS | "days" | @@ -37,6 +38,7 @@ | GROUP | "Group" | | SERVICE | "Service" | | ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/NewIncidentActionItemDataAttributes.md b/docs/NewIncidentActionItemDataAttributes.md index 6afe98e5..66e0dc33 100644 --- a/docs/NewIncidentActionItemDataAttributes.md +++ b/docs/NewIncidentActionItemDataAttributes.md @@ -16,6 +16,7 @@ |**status** | [**StatusEnum**](#StatusEnum) | The status of the action item | [optional] | |**dueDate** | **String** | The due date of the action item | [optional] | |**jiraIssueId** | **String** | The Jira issue ID. | [optional] | +|**jiraIssueKey** | **String** | The Jira issue key. | [optional] | |**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | diff --git a/docs/NewIncidentDataAttributes.md b/docs/NewIncidentDataAttributes.md index ef9f34a5..72bee114 100644 --- a/docs/NewIncidentDataAttributes.md +++ b/docs/NewIncidentDataAttributes.md @@ -15,14 +15,25 @@ |**summary** | **String** | The summary of the incident | [optional] | |**userId** | **String** | User ID of the creator of the incident. Default to the user attached to the Api Key | [optional] | |**severityId** | **String** | The Severity ID to attach to the incident | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the incident | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the incident | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the incident | [optional] | -|**functionalityIds** | **List<String>** | The Functionality ID's to attach to the incident | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the incident | [optional] | -|**causeIds** | **List<String>** | The Cause ID's to attach to the incident | [optional] | +|**publicTitle** | **String** | The public title of the incident | [optional] | +|**alertIds** | **List<String>** | The Alert IDs to attach to the incident | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the incident | [optional] | +|**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the incident | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the incident | [optional] | +|**functionalityIds** | **List<String>** | The Functionality IDs to attach to the incident | [optional] | +|**groupIds** | **List<String>** | The Team IDs to attach to the incident | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident | [optional] | +|**mutedServiceIds** | **List<String>** | The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. | [optional] | |**labels** | **Object** | Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"} | [optional] | |**slackChannelName** | **String** | Slack channel name | [optional] | +|**slackChannelId** | **String** | Slack channel id | [optional] | +|**slackChannelUrl** | **String** | Slack channel url | [optional] | +|**slackChannelArchived** | **Boolean** | Whether the Slack channel is archived | [optional] | +|**googleDriveParentId** | **String** | Google Drive parent folder ID | [optional] | +|**googleDriveUrl** | **String** | Google Drive URL | [optional] | +|**jiraIssueKey** | **String** | Jira issue key | [optional] | +|**jiraIssueId** | **String** | Jira issue ID | [optional] | +|**jiraIssueUrl** | **String** | Jira 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] | @@ -34,6 +45,7 @@ |**acknowledgedAt** | **String** | Date of acknowledgment | [optional] | |**mitigatedAt** | **String** | Date of mitigation | [optional] | |**resolvedAt** | **String** | Date of resolution | [optional] | +|**closedAt** | **String** | Date of closure | [optional] | |**cancelledAt** | **String** | Date of cancellation | [optional] | @@ -50,6 +62,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | diff --git a/docs/NewIncidentFormFieldSelectionDataAttributes.md b/docs/NewIncidentFormFieldSelectionDataAttributes.md index 72ef32dc..35d6e79d 100644 --- a/docs/NewIncidentFormFieldSelectionDataAttributes.md +++ b/docs/NewIncidentFormFieldSelectionDataAttributes.md @@ -16,6 +16,9 @@ |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedFunctionalityIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | diff --git a/docs/NewIncidentPermissionSetDataAttributes.md b/docs/NewIncidentPermissionSetDataAttributes.md index fbc46160..2551ad23 100644 --- a/docs/NewIncidentPermissionSetDataAttributes.md +++ b/docs/NewIncidentPermissionSetDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The incident permission set name. | | -|**slug** | **String** | The incident permission set slug. | [optional] | |**description** | **String** | The incident permission set description. | [optional] | |**privateIncidentPermissions** | [**List<PrivateIncidentPermissionsEnum>**](#List<PrivateIncidentPermissionsEnum>) | | [optional] | |**publicIncidentPermissions** | [**List<PublicIncidentPermissionsEnum>**](#List<PublicIncidentPermissionsEnum>) | | [optional] | diff --git a/docs/NewIncidentStatusPageEventDataAttributes.md b/docs/NewIncidentStatusPageEventDataAttributes.md index 77e8ba19..be4dbd3c 100644 --- a/docs/NewIncidentStatusPageEventDataAttributes.md +++ b/docs/NewIncidentStatusPageEventDataAttributes.md @@ -25,7 +25,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/NewIncidentTypeDataAttributes.md b/docs/NewIncidentTypeDataAttributes.md index 4305fc1c..d9409b98 100644 --- a/docs/NewIncidentTypeDataAttributes.md +++ b/docs/NewIncidentTypeDataAttributes.md @@ -14,6 +14,7 @@ |**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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this incident type. | [optional] | diff --git a/docs/NewLiveCallRouterDataAttributes.md b/docs/NewLiveCallRouterDataAttributes.md index 448dc966..fcdb0f04 100644 --- a/docs/NewLiveCallRouterDataAttributes.md +++ b/docs/NewLiveCallRouterDataAttributes.md @@ -13,15 +13,18 @@ |**countryCode** | [**CountryCodeEnum**](#CountryCodeEnum) | The country code of the live_call_router | | |**phoneType** | [**PhoneTypeEnum**](#PhoneTypeEnum) | The phone type of the live_call_router | | |**phoneNumber** | **String** | You can select a phone number using [generate_phone_number](#//api/v1/live_call_routers/generate_phone_number) API and pass that phone number here to register | | -|**voicemailGreeting** | **String** | The voicemail greeting of the live_call_router | [optional] | +|**voicemailGreeting** | **String** | The voicemail greeting of the live_call_router | | |**callerGreeting** | **String** | The caller greeting message of the live_call_router | [optional] | -|**waitingMusicUrl** | **String** | The waiting music URL of the live_call_router | [optional] | +|**waitingMusicUrl** | [**WaitingMusicUrlEnum**](#WaitingMusicUrlEnum) | The waiting music URL of the live_call_router | [optional] | |**sentToVoicemailDelay** | **Integer** | The delay (seconds) after which the caller in redirected to voicemail | [optional] | |**shouldRedirectToVoicemailOnNoAnswer** | **Boolean** | This prompts the caller to choose voicemail or connect live | [optional] | |**escalationLevelDelayInSeconds** | **Integer** | This overrides the delay (seconds) in escalation levels | [optional] | |**shouldAutoResolveAlertOnCallEnd** | **Boolean** | This overrides the delay (seconds) in escalation levels | [optional] | |**alertUrgencyId** | **String** | This is used in escalation paths to determine who to page | [optional] | -|**escalationPolicyTriggerParams** | [**NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams**](NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md) | | | +|**callingTreeEnabled** | **Boolean** | Whether the live call router is configured as a phone tree, requiring callers to press a key before being connected | [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. | | +|**escalationPolicyTriggerParams** | [**NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams**](NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md) | | [optional] | @@ -38,11 +41,14 @@ | Name | Value | |---- | -----| -| US | "US" | -| GB | "GB" | -| NZ | "NZ" | -| CA | "CA" | | AU | "AU" | +| CA | "CA" | +| DE | "DE" | +| NL | "NL" | +| NZ | "NZ" | +| SE | "SE" | +| GB | "GB" | +| US | "US" | @@ -52,6 +58,21 @@ |---- | -----| | LOCAL | "local" | | TOLL_FREE | "toll_free" | +| MOBILE | "mobile" | + + + +## Enum: WaitingMusicUrlEnum + +| Name | Value | +|---- | -----| +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3 | "https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3 | "https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3 | "https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3 | "https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3 | "https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3" | diff --git a/docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md b/docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md index cb762f0b..84fc3b1e 100644 --- a/docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md +++ b/docs/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**id** | **String** | The ID of notification target | | -|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target | | +|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target. Please contact support if you encounter issues using `functionality` as a target type. | | @@ -19,6 +19,7 @@ | SERVICE | "service" | | GROUP | "group" | | ESCALATION_POLICY | "escalation_policy" | +| FUNCTIONALITY | "functionality" | diff --git a/docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md b/docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md new file mode 100644 index 00000000..631bcad4 --- /dev/null +++ b/docs/NewLiveCallRouterDataAttributesPagingTargetsInner.md @@ -0,0 +1,26 @@ + + +# NewLiveCallRouterDataAttributesPagingTargetsInner + + +## 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/NewOnCallPayReport.md b/docs/NewOnCallPayReport.md new file mode 100644 index 00000000..78f6edad --- /dev/null +++ b/docs/NewOnCallPayReport.md @@ -0,0 +1,13 @@ + + +# NewOnCallPayReport + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewOnCallPayReportData**](NewOnCallPayReportData.md) | | | + + + diff --git a/docs/NewOnCallPayReportData.md b/docs/NewOnCallPayReportData.md new file mode 100644 index 00000000..ae396668 --- /dev/null +++ b/docs/NewOnCallPayReportData.md @@ -0,0 +1,22 @@ + + +# NewOnCallPayReportData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewOnCallPayReportDataAttributes**](NewOnCallPayReportDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ON_CALL_PAY_REPORTS | "on_call_pay_reports" | + + + diff --git a/docs/NewOnCallPayReportDataAttributes.md b/docs/NewOnCallPayReportDataAttributes.md new file mode 100644 index 00000000..f715af9a --- /dev/null +++ b/docs/NewOnCallPayReportDataAttributes.md @@ -0,0 +1,15 @@ + + +# NewOnCallPayReportDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startDate** | **LocalDate** | The start date for the report period. | | +|**endDate** | **LocalDate** | The end date for the report period. | | +|**scheduleIds** | **List<String>** | List of schedule UUIDs to scope the report. | [optional] | + + + diff --git a/docs/NewOnCallRoleDataAttributes.md b/docs/NewOnCallRoleDataAttributes.md index 78bf8a73..05409c52 100644 --- a/docs/NewOnCallRoleDataAttributes.md +++ b/docs/NewOnCallRoleDataAttributes.md @@ -8,8 +8,12 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | | -|**slug** | **String** | The role slug. | [optional] | -|**systemRole** | [**List<SystemRoleEnum>**](#List<SystemRoleEnum>) | The kind of role (user and custom type roles are only editable) | | +|**systemRole** | [**List<SystemRoleEnum>**](#List<SystemRoleEnum>) | The kind of role (user and custom type roles are only editable) | [optional] | +|**alertFieldsPermissions** | [**List<AlertFieldsPermissionsEnum>**](#List<AlertFieldsPermissionsEnum>) | | [optional] | +|**alertGroupsPermissions** | [**List<AlertGroupsPermissionsEnum>**](#List<AlertGroupsPermissionsEnum>) | | [optional] | +|**alertRoutingRulesPermissions** | [**List<AlertRoutingRulesPermissionsEnum>**](#List<AlertRoutingRulesPermissionsEnum>) | | [optional] | +|**onCallReadinessReportPermissions** | [**List<OnCallReadinessReportPermissionsEnum>**](#List<OnCallReadinessReportPermissionsEnum>) | | [optional] | +|**onCallRolesPermissions** | [**List<OnCallRolesPermissionsEnum>**](#List<OnCallRolesPermissionsEnum>) | | [optional] | |**alertSourcesPermissions** | [**List<AlertSourcesPermissionsEnum>**](#List<AlertSourcesPermissionsEnum>) | | [optional] | |**alertUrgencyPermissions** | [**List<AlertUrgencyPermissionsEnum>**](#List<AlertUrgencyPermissionsEnum>) | | [optional] | |**alertsPermissions** | [**List<AlertsPermissionsEnum>**](#List<AlertsPermissionsEnum>) | | [optional] | @@ -37,15 +41,69 @@ | ADMIN | "admin" | | USER | "user" | | CUSTOM | "custom" | +| OBSERVER | "observer" | | NO_ACCESS | "no_access" | +## Enum: List<AlertFieldsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertGroupsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertRoutingRulesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<OnCallReadinessReportPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | + + + +## Enum: List<OnCallRolesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<AlertSourcesPermissionsEnum> | Name | Value | |---- | -----| | CREATE | "create" | +| READ | "read" | | UPDATE | "update" | | DELETE | "delete" | @@ -69,6 +127,7 @@ | CREATE | "create" | | UPDATE | "update" | | READ | "read" | +| DELETE | "delete" | diff --git a/docs/NewPlaybookDataAttributes.md b/docs/NewPlaybookDataAttributes.md index c30895a8..8a5a6dd9 100644 --- a/docs/NewPlaybookDataAttributes.md +++ b/docs/NewPlaybookDataAttributes.md @@ -10,12 +10,12 @@ |**title** | **String** | The title of the playbook | | |**summary** | **String** | The summary of the playbook | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | -|**severityIds** | **List<String>** | The Severity ID's to attach to the incident | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the incident | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the incident | [optional] | -|**functionalityIds** | **List<String>** | The Functionality ID's to attach to the incident | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the incident | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the incident | [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] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the incident | [optional] | +|**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] | diff --git a/docs/NewPostMortemTemplateDataAttributes.md b/docs/NewPostMortemTemplateDataAttributes.md index f0b2a60b..ccaa39be 100644 --- a/docs/NewPostMortemTemplateDataAttributes.md +++ b/docs/NewPostMortemTemplateDataAttributes.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the postmortem template | | |**_default** | **Boolean** | Default selected template when editing a postmortem | [optional] | -|**content** | **String** | The postmortem template. Liquid syntax is supported | | +|**content** | **String** | The postmortem template. Supports TipTap blocks (followup and timeline components), Liquid syntax, and HTML. Will be sanitized and applied to both content and content_html fields. | [optional] | |**format** | [**FormatEnum**](#FormatEnum) | The format of the input | [optional] | diff --git a/docs/NewPulseDataAttributes.md b/docs/NewPulseDataAttributes.md index 12f418a8..ff27e26b 100644 --- a/docs/NewPulseDataAttributes.md +++ b/docs/NewPulseDataAttributes.md @@ -9,12 +9,12 @@ |------------ | ------------- | ------------- | -------------| |**source** | **String** | The source of the pulse (eg: k8s) | [optional] | |**summary** | **String** | The summary of the pulse | | -|**serviceIds** | **List<String>** | The Service ID's to attach to the pulse | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the pulse | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the pulse | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the pulse | [optional] | |**startedAt** | **OffsetDateTime** | Pulse start datetime | [optional] | |**endedAt** | **OffsetDateTime** | Pulse end datetime | [optional] | |**externalUrl** | **String** | The external url of the pulse | [optional] | -|**labels** | [**List<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | +|**labels** | [**List<NewPulseDataAttributesLabelsInner>**](NewPulseDataAttributesLabelsInner.md) | | [optional] | |**refs** | [**List<NewPulseDataAttributesRefsInner>**](NewPulseDataAttributesRefsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | diff --git a/docs/NewPulseDataAttributesLabelsInner.md b/docs/NewPulseDataAttributesLabelsInner.md new file mode 100644 index 00000000..3b46eae4 --- /dev/null +++ b/docs/NewPulseDataAttributesLabelsInner.md @@ -0,0 +1,14 @@ + + +# NewPulseDataAttributesLabelsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**key** | **String** | Key of the tag | | +|**value** | **String** | Value of the tag | | + + + diff --git a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.md b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.md index baece415..5271de68 100644 --- a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.md +++ b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.md @@ -7,9 +7,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**severityIds** | **List<String>** | Severity ID's for retrospective process matching criteria | | -|**groupIds** | **List<String>** | Team ID's for retrospective process matching criteria | | -|**incidentTypeIds** | **List<String>** | Incident type ID's for retrospective process matching criteria | | +|**severityIds** | **List<String>** | Severity IDs for retrospective process matching criteria | | +|**groupIds** | **List<String>** | Team IDs for retrospective process matching criteria | | +|**incidentTypeIds** | **List<String>** | Incident type IDs for retrospective process matching criteria | | diff --git a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.md b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.md index 725b9716..2056172c 100644 --- a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.md +++ b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**severityIds** | **List<String>** | Severity ID's for retrospective process matching criteria | | +|**severityIds** | **List<String>** | Severity IDs for retrospective process matching criteria | | diff --git a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.md b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.md index 0f8e2540..c80bb66c 100644 --- a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.md +++ b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**groupIds** | **List<String>** | Team ID's for retrospective process matching criteria | | +|**groupIds** | **List<String>** | Team IDs for retrospective process matching criteria | | diff --git a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.md b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.md index 4846caf0..6e240c08 100644 --- a/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.md +++ b/docs/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**incidentTypeIds** | **List<String>** | Incident type ID's for retrospective process matching criteria | | +|**incidentTypeIds** | **List<String>** | Incident type IDs for retrospective process matching criteria | | diff --git a/docs/NewRoleDataAttributes.md b/docs/NewRoleDataAttributes.md index 6ae589c4..132d6335 100644 --- a/docs/NewRoleDataAttributes.md +++ b/docs/NewRoleDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | | -|**slug** | **String** | The role slug. | [optional] | |**incidentPermissionSetId** | **String** | Associated incident permissions set. | [optional] | |**alertsPermissions** | [**List<AlertsPermissionsEnum>**](#List<AlertsPermissionsEnum>) | | [optional] | |**apiKeysPermissions** | [**List<ApiKeysPermissionsEnum>**](#List<ApiKeysPermissionsEnum>) | | [optional] | @@ -36,6 +35,13 @@ |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [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] | +|**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | +|**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | +|**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | +|**communicationPermissions** | [**List<CommunicationPermissionsEnum>**](#List<CommunicationPermissionsEnum>) | | [optional] | @@ -322,3 +328,81 @@ +## Enum: List<CatalogsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SubStatusesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<EdgeConnectorPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SlasPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<PagingPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<IncidentCommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | +| SEND | "send" | + + + +## Enum: List<CommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + diff --git a/docs/NewScheduleDataAttributes.md b/docs/NewScheduleDataAttributes.md index d6b2aa7d..aeeec447 100644 --- a/docs/NewScheduleDataAttributes.md +++ b/docs/NewScheduleDataAttributes.md @@ -11,8 +11,11 @@ |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | |**slackUserGroup** | [**NewScheduleDataAttributesSlackUserGroup**](NewScheduleDataAttributesSlackUserGroup.md) | | [optional] | +|**slackChannel** | [**NewScheduleDataAttributesSlackChannel**](NewScheduleDataAttributesSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | -|**ownerUserId** | **Integer** | ID of the owner of the schedule | [optional] | +|**ownerUserId** | **Integer** | ID of the owner of the schedule | | +|**shiftStartNotificationsEnabled** | **Boolean** | Whether shift-start notifications are enabled | [optional] | +|**shiftUpdateNotificationsEnabled** | **Boolean** | Whether shift-update notifications are enabled | [optional] | diff --git a/docs/NewScheduleDataAttributesSlackChannel.md b/docs/NewScheduleDataAttributesSlackChannel.md new file mode 100644 index 00000000..cb167489 --- /dev/null +++ b/docs/NewScheduleDataAttributesSlackChannel.md @@ -0,0 +1,14 @@ + + +# NewScheduleDataAttributesSlackChannel + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | [optional] | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/NewScheduleDataAttributesSlackUserGroup.md b/docs/NewScheduleDataAttributesSlackUserGroup.md index dedc6d50..cea281b0 100644 --- a/docs/NewScheduleDataAttributesSlackUserGroup.md +++ b/docs/NewScheduleDataAttributesSlackUserGroup.md @@ -7,8 +7,8 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**id** | **String** | Slack channel ID | [optional] | -|**name** | **String** | Slack channel name | [optional] | +|**id** | **String** | Slack user group ID | [optional] | +|**name** | **String** | Slack user group name | [optional] | diff --git a/docs/NewScheduleRotationDataAttributes.md b/docs/NewScheduleRotationDataAttributes.md index dc73b7d7..646e981f 100644 --- a/docs/NewScheduleRotationDataAttributes.md +++ b/docs/NewScheduleRotationDataAttributes.md @@ -16,6 +16,9 @@ |**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | |**timeZone** | **String** | A valid IANA time zone name. | [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] | +|**scheduleRotationMembers** | [**List<NewScheduleRotationDataAttributesScheduleRotationMembersInner>**](NewScheduleRotationDataAttributesScheduleRotationMembersInner.md) | You can only add schedule rotation members if your account has schedule nesting feature enabled | [optional] | diff --git a/docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md b/docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md new file mode 100644 index 00000000..ba69d155 --- /dev/null +++ b/docs/NewScheduleRotationDataAttributesScheduleRotationMembersInner.md @@ -0,0 +1,24 @@ + + +# NewScheduleRotationDataAttributesScheduleRotationMembersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**memberType** | [**MemberTypeEnum**](#MemberTypeEnum) | Type of member | | +|**memberId** | **String** | ID of the member | | +|**position** | **Integer** | Position of the member in rotation | [optional] | + + + +## Enum: MemberTypeEnum + +| Name | Value | +|---- | -----| +| USER | "User" | +| SCHEDULE | "Schedule" | + + + diff --git a/docs/NewServiceDataAttributes.md b/docs/NewServiceDataAttributes.md index d21f986d..d50c6d30 100644 --- a/docs/NewServiceDataAttributes.md +++ b/docs/NewServiceDataAttributes.md @@ -28,12 +28,19 @@ |**gitlabRepositoryBranch** | **String** | The GitLab repository branch associated to this service. eg: main | [optional] | |**environmentIds** | **List<String>** | Environments associated with this service | [optional] | |**serviceIds** | **List<String>** | Services dependent on this service | [optional] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with this service | [optional] | +|**ownerGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | +|**ownerUserIds** | **List<Integer>** | Owner Users associated with this service | [optional] | +|**kubernetesDeploymentName** | **String** | The Kubernetes deployment name associated to this service. eg: namespace/deployment-name | [optional] | |**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | |**alertUrgencyId** | **String** | The alert urgency id of the service | [optional] | +|**escalationPolicyId** | **String** | The escalation policy id of the service | [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** | [**NewServiceDataAttributesAlertBroadcastChannel**](NewServiceDataAttributesAlertBroadcastChannel.md) | | [optional] | +|**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | +|**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this service. | [optional] | diff --git a/docs/NewServiceDataAttributesAlertBroadcastChannel.md b/docs/NewServiceDataAttributesAlertBroadcastChannel.md new file mode 100644 index 00000000..f95c1867 --- /dev/null +++ b/docs/NewServiceDataAttributesAlertBroadcastChannel.md @@ -0,0 +1,15 @@ + + +# NewServiceDataAttributesAlertBroadcastChannel + +Slack channel to broadcast alerts to + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/NewServiceDataAttributesIncidentBroadcastChannel.md b/docs/NewServiceDataAttributesIncidentBroadcastChannel.md new file mode 100644 index 00000000..4d0746f4 --- /dev/null +++ b/docs/NewServiceDataAttributesIncidentBroadcastChannel.md @@ -0,0 +1,15 @@ + + +# NewServiceDataAttributesIncidentBroadcastChannel + +Slack channel to broadcast incidents to + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/NewSla.md b/docs/NewSla.md new file mode 100644 index 00000000..fb3a3176 --- /dev/null +++ b/docs/NewSla.md @@ -0,0 +1,13 @@ + + +# NewSla + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewSlaData**](NewSlaData.md) | | | + + + diff --git a/docs/NewSlaData.md b/docs/NewSlaData.md new file mode 100644 index 00000000..efb8e5df --- /dev/null +++ b/docs/NewSlaData.md @@ -0,0 +1,22 @@ + + +# NewSlaData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewSlaDataAttributes**](NewSlaDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SLAS | "slas" | + + + diff --git a/docs/NewSlaDataAttributes.md b/docs/NewSlaDataAttributes.md new file mode 100644 index 00000000..512cd906 --- /dev/null +++ b/docs/NewSlaDataAttributes.md @@ -0,0 +1,97 @@ + + +# NewSlaDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the SLA | | +|**description** | **String** | A description of the SLA | [optional] | +|**position** | **Integer** | Position of the SLA for ordering | [optional] | +|**conditionMatchType** | [**ConditionMatchTypeEnum**](#ConditionMatchTypeEnum) | Whether all or any conditions must match | [optional] | +|**managerRoleId** | **UUID** | The ID of the incident role responsible for this SLA. Must provide either manager_role_id or manager_user_id. | [optional] | +|**managerUserId** | **Integer** | The ID of the user responsible for this SLA. Must provide either manager_role_id or manager_user_id. | [optional] | +|**assignmentDeadlineDays** | [**AssignmentDeadlineDaysEnum**](#AssignmentDeadlineDaysEnum) | Number of days for the assignment deadline | | +|**assignmentDeadlineParentStatus** | [**AssignmentDeadlineParentStatusEnum**](#AssignmentDeadlineParentStatusEnum) | The incident parent status that triggers the assignment deadline | | +|**assignmentDeadlineSubStatusId** | **UUID** | Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**assignmentSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the assignment deadline | [optional] | +|**completionDeadlineDays** | [**CompletionDeadlineDaysEnum**](#CompletionDeadlineDaysEnum) | Number of days for the completion deadline | | +|**completionDeadlineParentStatus** | [**CompletionDeadlineParentStatusEnum**](#CompletionDeadlineParentStatusEnum) | The incident parent status that triggers the completion deadline | | +|**completionDeadlineSubStatusId** | **UUID** | Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**completionSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the completion deadline | [optional] | +|**conditions** | [**List<NewSlaDataAttributesConditionsInner>**](NewSlaDataAttributesConditionsInner.md) | Conditions that determine which incidents this SLA applies to. Maximum 20. | [optional] | +|**notificationConfigurations** | [**List<NewSlaDataAttributesNotificationConfigurationsInner>**](NewSlaDataAttributesNotificationConfigurationsInner.md) | Notification timing configurations. Maximum 20. | [optional] | + + + +## Enum: ConditionMatchTypeEnum + +| Name | Value | +|---- | -----| +| ALL | "ALL" | +| ANY | "ANY" | + + + +## Enum: AssignmentDeadlineDaysEnum + +| Name | Value | +|---- | -----| +| NUMBER_1 | 1 | +| NUMBER_2 | 2 | +| NUMBER_3 | 3 | +| NUMBER_4 | 4 | +| NUMBER_5 | 5 | +| NUMBER_6 | 6 | +| NUMBER_7 | 7 | +| NUMBER_14 | 14 | +| NUMBER_21 | 21 | +| NUMBER_30 | 30 | + + + +## Enum: AssignmentDeadlineParentStatusEnum + +| Name | Value | +|---- | -----| +| IN_TRIAGE | "in_triage" | +| STARTED | "started" | +| MITIGATED | "mitigated" | +| RESOLVED | "resolved" | +| CLOSED | "closed" | +| CANCELLED | "cancelled" | + + + +## Enum: CompletionDeadlineDaysEnum + +| Name | Value | +|---- | -----| +| NUMBER_1 | 1 | +| NUMBER_2 | 2 | +| NUMBER_3 | 3 | +| NUMBER_4 | 4 | +| NUMBER_5 | 5 | +| NUMBER_6 | 6 | +| NUMBER_7 | 7 | +| NUMBER_14 | 14 | +| NUMBER_21 | 21 | +| NUMBER_30 | 30 | + + + +## Enum: CompletionDeadlineParentStatusEnum + +| Name | Value | +|---- | -----| +| IN_TRIAGE | "in_triage" | +| STARTED | "started" | +| MITIGATED | "mitigated" | +| RESOLVED | "resolved" | +| CLOSED | "closed" | +| CANCELLED | "cancelled" | + + + diff --git a/docs/NewSlaDataAttributesConditionsInner.md b/docs/NewSlaDataAttributesConditionsInner.md new file mode 100644 index 00000000..b9666870 --- /dev/null +++ b/docs/NewSlaDataAttributesConditionsInner.md @@ -0,0 +1,52 @@ + + +# NewSlaDataAttributesConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of condition | | +|**property** | [**PropertyEnum**](#PropertyEnum) | The property to evaluate (for built-in field conditions). When the team has custom lifecycle statuses enabled, use 'sub_status' (with sub-status IDs as values); otherwise use 'status' (with parent status names). Sending the wrong one will return a validation error. | [optional] | +|**operator** | **String** | The comparison operator | | +|**values** | **List<String>** | The values to compare against | [optional] | +|**formFieldId** | **UUID** | The ID of the form field (for custom field conditions) | [optional] | +|**position** | **Integer** | The position of the condition for ordering | [optional] | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| SLAS_BUILT_IN_FIELD_CONDITION | "SLAs::BuiltInFieldCondition" | +| SLAS_CUSTOM_FIELD_CONDITION | "SLAs::CustomFieldCondition" | + + + +## Enum: PropertyEnum + +| Name | Value | +|---- | -----| +| SEVERITY | "severity" | +| ENVIRONMENT | "environment" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| GROUP | "group" | +| CAUSE | "cause" | +| SUB_STATUS | "sub_status" | +| INCIDENT_ROLE | "incident_role" | +| STATUS | "status" | +| KIND | "kind" | +| VISIBILITY | "visibility" | +| SUMMARY | "summary" | +| STARTED_AT | "started_at" | +| DETECTED_AT | "detected_at" | +| ACKNOWLEDGED_AT | "acknowledged_at" | +| MITIGATED_AT | "mitigated_at" | +| RESOLVED_AT | "resolved_at" | + + + diff --git a/docs/NewSlaDataAttributesNotificationConfigurationsInner.md b/docs/NewSlaDataAttributesNotificationConfigurationsInner.md new file mode 100644 index 00000000..6c86657a --- /dev/null +++ b/docs/NewSlaDataAttributesNotificationConfigurationsInner.md @@ -0,0 +1,24 @@ + + +# NewSlaDataAttributesNotificationConfigurationsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**offsetType** | [**OffsetTypeEnum**](#OffsetTypeEnum) | When to send the notification relative to the deadline | | +|**offsetDays** | **Integer** | Number of days before or after the deadline. Must be 0 for when_due. | | + + + +## Enum: OffsetTypeEnum + +| Name | Value | +|---- | -----| +| BEFORE_DUE | "before_due" | +| WHEN_DUE | "when_due" | +| AFTER_DUE | "after_due" | + + + diff --git a/docs/NewStatusPageDataAttributes.md b/docs/NewStatusPageDataAttributes.md index 71fe2305..f6e31cbc 100644 --- a/docs/NewStatusPageDataAttributes.md +++ b/docs/NewStatusPageDataAttributes.md @@ -18,8 +18,15 @@ |**showUptimeLastDays** | [**ShowUptimeLastDaysEnum**](#ShowUptimeLastDaysEnum) | Show uptime over x days | [optional] | |**successMessage** | **String** | Message showing when all components are operational | [optional] | |**failureMessage** | **String** | Message showing when at least one component is not operational | [optional] | -|**authenticationEnabled** | **Boolean** | Enable authentication | [optional] | +|**authenticationMethod** | [**AuthenticationMethodEnum**](#AuthenticationMethodEnum) | Authentication method | [optional] | +|**authenticationEnabled** | **Boolean** | Enable authentication (deprecated - use authentication_method instead) | [optional] | |**authenticationPassword** | **String** | Authentication password | [optional] | +|**samlIdpSsoServiceUrl** | **String** | SAML IdP SSO service URL | [optional] | +|**samlIdpSloServiceUrl** | **String** | SAML IdP SLO service URL | [optional] | +|**samlIdpCert** | **String** | SAML IdP certificate | [optional] | +|**samlNameIdentifierFormat** | [**SamlNameIdentifierFormatEnum**](#SamlNameIdentifierFormatEnum) | SAML name identifier format | [optional] | +|**sectionOrder** | [**List<SectionOrderEnum>**](#List<SectionOrderEnum>) | Order of sections on the status page | [optional] | +|**externalDomainNames** | **List<String>** | External domain names attached to the status page | [optional] | |**websiteUrl** | **String** | Website URL | [optional] | |**websitePrivacyUrl** | **String** | Website Privacy URL | [optional] | |**websiteSupportUrl** | **String** | Website Support URL | [optional] | @@ -39,8 +46,37 @@ | NUMBER_30 | 30 | | NUMBER_60 | 60 | | NUMBER_90 | 90 | -| NUMBER_180 | 180 | -| NUMBER_360 | 360 | + + + +## Enum: AuthenticationMethodEnum + +| Name | Value | +|---- | -----| +| NONE | "none" | +| PASSWORD | "password" | +| SAML | "saml" | + + + +## Enum: SamlNameIdentifierFormatEnum + +| Name | Value | +|---- | -----| +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" | + + + +## Enum: List<SectionOrderEnum> + +| Name | Value | +|---- | -----| +| MAINTENANCE | "maintenance" | +| SYSTEM_STATUS | "system_status" | +| INCIDENTS | "incidents" | diff --git a/docs/NewStatusPageTemplateDataAttributes.md b/docs/NewStatusPageTemplateDataAttributes.md index 82da1d05..0963b598 100644 --- a/docs/NewStatusPageTemplateDataAttributes.md +++ b/docs/NewStatusPageTemplateDataAttributes.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**statusPageId** | **String** | | [optional] | |**title** | **String** | Title of the template | | +|**updateTitle** | **String** | Title that will be used for the status page update | [optional] | |**body** | **String** | Description of the event the template will populate | | |**updateStatus** | [**UpdateStatusEnum**](#UpdateStatusEnum) | Status of the event the template will populate | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the status page template | [optional] | @@ -28,7 +29,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/NewSubStatusDataAttributes.md b/docs/NewSubStatusDataAttributes.md index 3007cb6e..8e1bfb5f 100644 --- a/docs/NewSubStatusDataAttributes.md +++ b/docs/NewSubStatusDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | | | -|**slug** | **String** | | [optional] | |**description** | **String** | | [optional] | |**parentStatus** | [**ParentStatusEnum**](#ParentStatusEnum) | | | |**position** | **Integer** | | [optional] | diff --git a/docs/NewTeamDataAttributes.md b/docs/NewTeamDataAttributes.md index c3f34a83..252032bc 100644 --- a/docs/NewTeamDataAttributes.md +++ b/docs/NewTeamDataAttributes.md @@ -28,6 +28,12 @@ |**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] | +|**alertBroadcastEnabled** | **Boolean** | Enable alerts to be broadcasted to a specific channel | [optional] | +|**alertBroadcastChannel** | [**NewServiceDataAttributesAlertBroadcastChannel**](NewServiceDataAttributesAlertBroadcastChannel.md) | | [optional] | +|**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | +|**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | +|**autoAddMembersWhenAttached** | **Boolean** | Auto add members to incident channel when team is attached | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | diff --git a/docs/NewUserEmailAddress.md b/docs/NewUserEmailAddress.md new file mode 100644 index 00000000..4b56264d --- /dev/null +++ b/docs/NewUserEmailAddress.md @@ -0,0 +1,13 @@ + + +# NewUserEmailAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewUserEmailAddressData**](NewUserEmailAddressData.md) | | | + + + diff --git a/docs/NewUserEmailAddressData.md b/docs/NewUserEmailAddressData.md new file mode 100644 index 00000000..acb656ba --- /dev/null +++ b/docs/NewUserEmailAddressData.md @@ -0,0 +1,22 @@ + + +# NewUserEmailAddressData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewUserEmailAddressDataAttributes**](NewUserEmailAddressDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_EMAIL_ADDRESSES | "user_email_addresses" | + + + diff --git a/docs/NewUserEmailAddressDataAttributes.md b/docs/NewUserEmailAddressDataAttributes.md new file mode 100644 index 00000000..6a92cd9a --- /dev/null +++ b/docs/NewUserEmailAddressDataAttributes.md @@ -0,0 +1,13 @@ + + +# NewUserEmailAddressDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**email** | **String** | Email address | | + + + diff --git a/docs/NewUserNotificationRuleDataAttributes.md b/docs/NewUserNotificationRuleDataAttributes.md index 30673071..2256757d 100644 --- a/docs/NewUserNotificationRuleDataAttributes.md +++ b/docs/NewUserNotificationRuleDataAttributes.md @@ -26,6 +26,7 @@ | CALL | "call" | | DEVICE | "device" | | NON_CRITICAL_DEVICE | "non_critical_device" | +| SLACK | "slack" | diff --git a/docs/NewUserPhoneNumber.md b/docs/NewUserPhoneNumber.md new file mode 100644 index 00000000..501f1a5e --- /dev/null +++ b/docs/NewUserPhoneNumber.md @@ -0,0 +1,13 @@ + + +# NewUserPhoneNumber + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**NewUserPhoneNumberData**](NewUserPhoneNumberData.md) | | | + + + diff --git a/docs/NewUserPhoneNumberData.md b/docs/NewUserPhoneNumberData.md new file mode 100644 index 00000000..fa58b6d9 --- /dev/null +++ b/docs/NewUserPhoneNumberData.md @@ -0,0 +1,22 @@ + + +# NewUserPhoneNumberData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**NewUserPhoneNumberDataAttributes**](NewUserPhoneNumberDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_PHONE_NUMBERS | "user_phone_numbers" | + + + diff --git a/docs/NewUserPhoneNumberDataAttributes.md b/docs/NewUserPhoneNumberDataAttributes.md new file mode 100644 index 00000000..3f835a4f --- /dev/null +++ b/docs/NewUserPhoneNumberDataAttributes.md @@ -0,0 +1,13 @@ + + +# NewUserPhoneNumberDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**phone** | **String** | Phone number in international format | | + + + diff --git a/docs/NewWebhooksEndpointDataAttributes.md b/docs/NewWebhooksEndpointDataAttributes.md index 9301660c..ce3b4f1d 100644 --- a/docs/NewWebhooksEndpointDataAttributes.md +++ b/docs/NewWebhooksEndpointDataAttributes.md @@ -48,6 +48,7 @@ | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | | GENIUS_WORKFLOW_RUN_FAILED | "genius_workflow_run.failed" | | GENIUS_WORKFLOW_RUN_CANCELED | "genius_workflow_run.canceled" | +| AUDIT_LOG_CREATED | "audit_log.created" | diff --git a/docs/NewWorkflowCustomFieldSelectionDataAttributes.md b/docs/NewWorkflowCustomFieldSelectionDataAttributes.md index c8f89fce..c46c3d8b 100644 --- a/docs/NewWorkflowCustomFieldSelectionDataAttributes.md +++ b/docs/NewWorkflowCustomFieldSelectionDataAttributes.md @@ -20,6 +20,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/NewWorkflowDataAttributes.md b/docs/NewWorkflowDataAttributes.md index 0cb7655a..096686c1 100644 --- a/docs/NewWorkflowDataAttributes.md +++ b/docs/NewWorkflowDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The title of the workflow | | -|**slug** | **String** | The slug of the workflow | [optional] | |**description** | **String** | The description of the workflow | [optional] | |**command** | **String** | Workflow command | [optional] | |**commandFeedbackEnabled** | **Boolean** | This will notify you back when the workflow is starting | [optional] | diff --git a/docs/NewWorkflowDataAttributesTriggerParams.md b/docs/NewWorkflowDataAttributesTriggerParams.md index 677c531f..11c030fb 100644 --- a/docs/NewWorkflowDataAttributesTriggerParams.md +++ b/docs/NewWorkflowDataAttributesTriggerParams.md @@ -53,10 +53,14 @@ |**alertConditionStatusUseRegexp** | **Boolean** | | [optional] | |**alertStatuses** | **List<String>** | | [optional] | |**alertLabels** | **List<String>** | | [optional] | +|**alertConditionUrgency** | [**AlertConditionUrgencyEnum**](#AlertConditionUrgencyEnum) | | [optional] | +|**alertUrgencyIds** | **List<UUID>** | | [optional] | |**alertConditionPayload** | [**AlertConditionPayloadEnum**](#AlertConditionPayloadEnum) | | [optional] | |**alertConditionPayloadUseRegexp** | **Boolean** | | [optional] | |**alertPayload** | **List<String>** | | [optional] | |**alertQueryPayload** | **String** | You can use jsonpath syntax. eg: $.incident.teams[*] | [optional] | +|**alertFieldConditions** | [**List<AlertTriggerParamsAlertFieldConditionsInner>**](AlertTriggerParamsAlertFieldConditionsInner.md) | | [optional] | +|**alertPayloadConditions** | [**AlertTriggerParamsAlertPayloadConditions**](AlertTriggerParamsAlertPayloadConditions.md) | | [optional] | |**pulseCondition** | [**PulseConditionEnum**](#PulseConditionEnum) | | [optional] | |**pulseConditionSource** | [**PulseConditionSourceEnum**](#PulseConditionSourceEnum) | | [optional] | |**pulseConditionSourceUseRegexp** | **Boolean** | | [optional] | @@ -99,6 +103,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | @@ -135,6 +140,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -150,6 +156,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -165,6 +172,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -180,6 +188,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -195,6 +204,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -210,6 +220,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -225,6 +236,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -240,6 +252,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -255,6 +268,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -270,6 +284,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -285,6 +300,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -300,6 +316,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -315,6 +332,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -402,6 +420,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -426,6 +445,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -452,6 +472,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -477,6 +498,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -502,6 +524,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -517,6 +540,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -532,6 +556,23 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | +| ANY | "ANY" | +| CONTAINS | "CONTAINS" | +| CONTAINS_ALL | "CONTAINS_ALL" | +| CONTAINS_NONE | "CONTAINS_NONE" | +| NONE | "NONE" | +| SET | "SET" | +| UNSET | "UNSET" | + + + +## Enum: AlertConditionUrgencyEnum + +| Name | Value | +|---- | -----| +| IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -547,6 +588,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -572,6 +614,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -587,6 +630,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -602,6 +646,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/NewWorkflowFormFieldConditionDataAttributes.md b/docs/NewWorkflowFormFieldConditionDataAttributes.md index 06539108..2618c21f 100644 --- a/docs/NewWorkflowFormFieldConditionDataAttributes.md +++ b/docs/NewWorkflowFormFieldConditionDataAttributes.md @@ -17,6 +17,9 @@ |**selectedOptionIds** | **List<String>** | | [optional] | |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | [optional] | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | @@ -25,6 +28,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/NewWorkflowTaskDataAttributesTaskParams.md b/docs/NewWorkflowTaskDataAttributesTaskParams.md index 5f4e0850..653fe1bb 100644 --- a/docs/NewWorkflowTaskDataAttributesTaskParams.md +++ b/docs/NewWorkflowTaskDataAttributesTaskParams.md @@ -21,11 +21,11 @@ |**postToIncidentTimeline** | **Boolean** | | [optional] | |**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON | [optional] | |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | -|**groupIds** | **List<String>** | | [optional] | +|**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**playbookId** | **String** | The playbook id if tab is of an incident playbook | [optional] | |**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**title** | **String** | The task title | | -|**link** | **String** | The tab link. Required if not a playbook tab | [optional] | +|**link** | **String** | The tab link | | |**emoji** | **String** | The bookmark emoji | [optional] | |**groupId** | **String** | The team id | | |**event** | **String** | Incident event description | | @@ -68,17 +68,19 @@ |**integration** | [**CreateJiraIssueTaskParamsIntegration**](CreateJiraIssueTaskParamsIntegration.md) | | [optional] | |**space** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**ancestor** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | -|**template** | [**CreateIncidentPostmortemTaskParamsTemplate**](CreateIncidentPostmortemTaskParamsTemplate.md) | | [optional] | -|**postMortemTemplateId** | **String** | Retrospective template to use when creating page task, if desired | [optional] | +|**template** | [**UpdateDatadogNotebookTaskParamsTemplate**](UpdateDatadogNotebookTaskParamsTemplate.md) | | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating notebook, if desired | [optional] | |**markPostMortemAsPublished** | **Boolean** | | [optional] | |**subtitle** | **String** | The Coda page subtitle | [optional] | |**folderId** | **String** | The Coda folder id | [optional] | +|**doc** | [**CreateCodaPageTaskParamsDoc**](CreateCodaPageTaskParamsDoc.md) | | [optional] | |**namespace** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**parentFolder** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**body** | **String** | The issue body | | -|**repository** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | -|**issueType** | [**IssueTypeEnum**](#IssueTypeEnum) | The issue type | | +|**repository** | [**UpdateGithubIssueTaskParamsRepository**](UpdateGithubIssueTaskParamsRepository.md) | | | |**labels** | **List<String>** | | [optional] | +|**issueType** | [**IssueTypeEnum**](#IssueTypeEnum) | The issue type | | +|**parentIssueNumber** | **String** | The parent issue number for sub-issue linking | [optional] | |**calendar** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**attendees** | **List<String>** | Emails of attendees | [optional] | |**timeZone** | **String** | A valid IANA time zone name. | [optional] | @@ -86,13 +88,14 @@ |**timeOfMeeting** | **String** | Time of meeting in format HH:MM | | |**meetingDuration** | **String** | Meeting duration in format like '1 hour', '30 minutes' | | |**excludeWeekends** | **Boolean** | | [optional] | +|**enableOnlineMeeting** | **Boolean** | Enable Microsoft Teams online meeting | [optional] | |**calendarId** | **String** | | [optional] | |**sendUpdates** | **Boolean** | Send an email to the attendees notifying them of the event | [optional] | |**canGuestsModifyEvent** | **Boolean** | | [optional] | |**canGuestsSeeOtherGuests** | **Boolean** | | [optional] | |**canGuestsInviteOthers** | **Boolean** | | [optional] | |**conferenceSolutionKey** | [**ConferenceSolutionKeyEnum**](#ConferenceSolutionKeyEnum) | [DEPRECATED] Sets the video conference type attached to the meeting | [optional] | -|**fileId** | **String** | The Notion page ID | | +|**fileId** | **String** | The Datadog notebook ID | | |**templateId** | **String** | The Quip file ID to use as a template | [optional] | |**docId** | **String** | The Coda doc id | [optional] | |**pageId** | **String** | The Coda page id | | @@ -107,13 +110,14 @@ |**value** | **String** | | | |**parentFolderId** | **String** | The parent folder id | [optional] | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**recordingMode** | [**RecordingModeEnum**](#RecordingModeEnum) | The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) | [optional] | |**subject** | **String** | The ticket subject | | |**conferenceCallInfo** | [**ConferenceCallInfoEnum**](#ConferenceCallInfoEnum) | | [optional] | |**passwordRequired** | **Boolean** | | [optional] | |**severityId** | **String** | | [optional] | |**incidentTypeIds** | **List<String>** | | [optional] | -|**serviceIds** | **List<String>** | | [optional] | -|**functionalityIds** | **List<String>** | | [optional] | +|**serviceIds** | **List<String>** | Array of service UUIDs | [optional] | +|**functionalityIds** | **List<String>** | Array of functionality UUIDs | [optional] | |**environmentIds** | **List<String>** | | [optional] | |**_private** | **Boolean** | | [optional] | |**incidentId** | **String** | The incident id | | @@ -122,14 +126,19 @@ |**updatePayload** | **String** | Update payload. Can contain liquid markup and need to be valid JSON | [optional] | |**parentIssueId** | **String** | The parent issue | | |**subtaskIssueType** | [**CreateJiraIssueTaskParamsIssueType**](CreateJiraIssueTaskParamsIssueType.md) | | | -|**state** | [**CreateLinearIssueTaskParamsState**](CreateLinearIssueTaskParamsState.md) | | | +|**state** | [**UpdateLinearIssueTaskParamsState**](UpdateLinearIssueTaskParamsState.md) | | | |**project** | [**CreateLinearIssueTaskParamsProject**](CreateLinearIssueTaskParamsProject.md) | | [optional] | |**issueId** | **String** | The issue id | | +|**topic** | **String** | | | +|**chatType** | [**ChatTypeEnum**](#ChatTypeEnum) | Type of chat to create | [optional] | +|**members** | [**List<CreateMicrosoftTeamsChatTaskParamsMembersInner>**](CreateMicrosoftTeamsChatTaskParamsMembersInner.md) | Array of members to include in the chat | | +|**chat** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**emails** | **String** | Comma separated list of emails to invite | | |**parentPage** | [**CreateNotionPageTaskParamsParentPage**](CreateNotionPageTaskParamsParentPage.md) | | | |**showTimelineAsTable** | **Boolean** | | [optional] | |**showActionItemsAsTable** | **Boolean** | | [optional] | |**text** | **String** | The message text | | +|**chats** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**attachments** | **String** | Support liquid markup. Needs to be a valid JSON string after liquid is parsed | | |**archivation** | [**CreateTrelloCardTaskParamsArchivation**](CreateTrelloCardTaskParamsArchivation.md) | | | |**group** | [**Object**](Object.md) | The group id and display name | [optional] | @@ -137,7 +146,6 @@ |**parentStoryId** | **String** | The parent story | | |**board** | [**CreateTrelloCardTaskParamsBoard**](CreateTrelloCardTaskParamsBoard.md) | | | |**_list** | [**CreateTrelloCardTaskParamsList**](CreateTrelloCardTaskParamsList.md) | | | -|**topic** | **String** | | | |**password** | **String** | The meeting password | [optional] | |**comment** | **String** | The ticket comment | [optional] | |**tags** | **String** | The ticket tags | [optional] | @@ -173,7 +181,8 @@ |**details** | **String** | Details payload. Can contain liquid markup and need to be valid JSON | [optional] | |**alertId** | **String** | Opsgenie Alert ID | | |**opsgenieIncidentId** | **String** | The Opsgenie incident ID, this can also be a Rootly incident variable ex. {{ incident.opsgenie_incident_id }} | | -|**alertUrgencyId** | **String** | Alert urgency ID | [optional] | +|**functionalityTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**alertUrgencyId** | **String** | Alert urgency ID | | |**escalationNote** | **String** | | [optional] | |**escalationPolicies** | [**List<Object>**](Object.md) | | [optional] | |**createNewIncidentOnConflict** | **Boolean** | Rootly only supports linking to a single PagerDuty incident. If this feature is disabled Rootly will add responders from any additional pages to the existing PagerDuty incident that is linked to the Rootly incident. If enabled, Rootly will create a new PagerDuty incident that is not linked to any Rootly incidents | [optional] | @@ -214,6 +223,7 @@ |**tableName** | **String** | The table name | | |**recordId** | **String** | The record id | | |**taskId** | **String** | The task id | | +|**labelsMode** | [**LabelsModeEnum**](#LabelsModeEnum) | How to apply labels. 'replace' (default) overwrites all existing labels. 'append' adds to existing labels without removing them. | [optional] | |**startedAt** | **String** | | [optional] | |**detectedAt** | **String** | | [optional] | |**acknowledgedAt** | **String** | | [optional] | @@ -230,8 +240,14 @@ |**workflow** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**checkWorkflowConditions** | **Boolean** | | [optional] | |**blocks** | **String** | Support liquid markup. Needs to be a valid JSON string after liquid is parsed | | -|**model** | [**GeniusCreateWatsonxChatCompletionTaskParamsModel**](GeniusCreateWatsonxChatCompletionTaskParamsModel.md) | | | -|**prompt** | **String** | The prompt to send to WatsonX | | +|**model** | [**CreateAnthropicChatCompletionTaskParamsModel**](CreateAnthropicChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to Anthropic (optional) | [optional] | +|**prompt** | **String** | The prompt to send to Anthropic | | +|**temperature** | **BigDecimal** | Sampling temperature (0.0-1.5). Higher values make output more random. | [optional] | +|**maxTokens** | **Integer** | Maximum number of tokens to generate | [optional] | +|**topP** | **BigDecimal** | Nucleus sampling parameter (0.0-1.0) | [optional] | +|**reasoningEffort** | [**ReasoningEffortEnum**](#ReasoningEffortEnum) | Constrains effort on reasoning for GPT-5 and o-series models | [optional] | +|**reasoningSummary** | [**ReasoningSummaryEnum**](#ReasoningSummaryEnum) | Summary of the reasoning performed by the model for GPT-5 and o-series models | [optional] | |**projectId** | **String** | | | @@ -240,7 +256,7 @@ | Name | Value | |---- | -----| -| GENIUS_CREATE_WATSONX_CHAT_COMPLETION_TASK | "genius_create_watsonx_chat_completion_task" | +| CREATE_ANTHROPIC_CHAT_COMPLETION_TASK | "create_anthropic_chat_completion_task" | @@ -344,6 +360,17 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + ## Enum: ConferenceCallInfoEnum | Name | Value | @@ -355,6 +382,15 @@ +## Enum: ChatTypeEnum + +| Name | Value | +|---- | -----| +| GROUP | "group" | +| ONE_ON_ONE | "oneOnOne" | + + + ## Enum: AutoRecordingEnum | Name | Value | @@ -445,3 +481,33 @@ +## Enum: LabelsModeEnum + +| Name | Value | +|---- | -----| +| REPLACE | "replace" | +| APPEND | "append" | + + + +## Enum: ReasoningEffortEnum + +| Name | Value | +|---- | -----| +| MINIMAL | "minimal" | +| LOW | "low" | +| MEDIUM | "medium" | +| HIGH | "high" | + + + +## Enum: ReasoningSummaryEnum + +| Name | Value | +|---- | -----| +| AUTO | "auto" | +| CONCISE | "concise" | +| DETAILED | "detailed" | + + + diff --git a/docs/OnCallPayReport.md b/docs/OnCallPayReport.md new file mode 100644 index 00000000..47cdd7e6 --- /dev/null +++ b/docs/OnCallPayReport.md @@ -0,0 +1,51 @@ + + +# OnCallPayReport + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**status** | [**StatusEnum**](#StatusEnum) | The current status of the report. | | +|**startDate** | **LocalDate** | The start date of the report period. | | +|**endDate** | **LocalDate** | The end date of the report period. | | +|**totalDuration** | **Integer** | Total on-call duration in seconds. | [optional] | +|**usersCount** | **Integer** | Number of users included in the report. | [optional] | +|**currency** | **String** | The currency code for monetary values. | [optional] | +|**payType** | [**PayTypeEnum**](#PayTypeEnum) | The pay calculation type. | [optional] | +|**hourlyRateCents** | **Integer** | Hourly pay rate in cents. | [optional] | +|**dailyRateCents** | **Integer** | Daily pay rate in cents. | [optional] | +|**totalPayCents** | **Integer** | Total pay amount in cents. | [optional] | +|**includeShadow** | **Boolean** | Whether shadow shifts are included. | [optional] | +|**showIndividualShiftData** | **Boolean** | Whether individual shift data is shown. | [optional] | +|**hasSingleRate** | **Boolean** | Whether a single rate is applied to all users. | [optional] | +|**enabledGranularTimeBreakdown** | **Boolean** | Whether granular time breakdown is enabled. | [optional] | +|**lastGeneratedAt** | **OffsetDateTime** | When the report was last generated. | [optional] | +|**timeZone** | **String** | The team's IANA timezone used to interpret start_date and end_date. | [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] | +|**createdAt** | **OffsetDateTime** | | | +|**updatedAt** | **OffsetDateTime** | | | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| PROCESSING | "processing" | +| GENERATED | "generated" | +| DOWNLOADED | "downloaded" | + + + +## Enum: PayTypeEnum + +| Name | Value | +|---- | -----| +| HOURLY | "hourly" | +| DAILY | "daily" | + + + diff --git a/docs/OnCallPayReportList.md b/docs/OnCallPayReportList.md new file mode 100644 index 00000000..b56490da --- /dev/null +++ b/docs/OnCallPayReportList.md @@ -0,0 +1,15 @@ + + +# OnCallPayReportList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<OnCallPayReportResponseData>**](OnCallPayReportResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/OnCallPayReportResponse.md b/docs/OnCallPayReportResponse.md new file mode 100644 index 00000000..7f4f2fc3 --- /dev/null +++ b/docs/OnCallPayReportResponse.md @@ -0,0 +1,13 @@ + + +# OnCallPayReportResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**OnCallPayReportResponseData**](OnCallPayReportResponseData.md) | | | + + + diff --git a/docs/OnCallPayReportResponseData.md b/docs/OnCallPayReportResponseData.md new file mode 100644 index 00000000..d752a880 --- /dev/null +++ b/docs/OnCallPayReportResponseData.md @@ -0,0 +1,23 @@ + + +# OnCallPayReportResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the on_call_pay_report | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**OnCallPayReport**](OnCallPayReport.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ON_CALL_PAY_REPORTS | "on_call_pay_reports" | + + + diff --git a/docs/OnCallPayReportsApi.md b/docs/OnCallPayReportsApi.md new file mode 100644 index 00000000..c54d9036 --- /dev/null +++ b/docs/OnCallPayReportsApi.md @@ -0,0 +1,372 @@ +# OnCallPayReportsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createOnCallPayReport**](OnCallPayReportsApi.md#createOnCallPayReport) | **POST** /v1/on_call_pay_reports | Creates an On-Call Pay Report | +| [**getOnCallPayReport**](OnCallPayReportsApi.md#getOnCallPayReport) | **GET** /v1/on_call_pay_reports/{id} | Retrieves an On-Call Pay Report | +| [**listOnCallPayReports**](OnCallPayReportsApi.md#listOnCallPayReports) | **GET** /v1/on_call_pay_reports | List On-Call Pay Reports | +| [**regenerateOnCallPayReport**](OnCallPayReportsApi.md#regenerateOnCallPayReport) | **POST** /v1/on_call_pay_reports/{id}/regenerate | Regenerate an On-Call Pay Report | +| [**updateOnCallPayReport**](OnCallPayReportsApi.md#updateOnCallPayReport) | **PUT** /v1/on_call_pay_reports/{id} | Update an On-Call Pay Report | + + + +# **createOnCallPayReport** +> OnCallPayReportResponse createOnCallPayReport(newOnCallPayReport) + +Creates an On-Call Pay Report + +Generates a new on-call pay report for the given date range. The report is generated asynchronously. + +### 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.OnCallPayReportsApi; + +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"); + + OnCallPayReportsApi apiInstance = new OnCallPayReportsApi(defaultClient); + NewOnCallPayReport newOnCallPayReport = new NewOnCallPayReport(); // NewOnCallPayReport | + try { + OnCallPayReportResponse result = apiInstance.createOnCallPayReport(newOnCallPayReport); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallPayReportsApi#createOnCallPayReport"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newOnCallPayReport** | [**NewOnCallPayReport**](NewOnCallPayReport.md)| | | + +### Return type + +[**OnCallPayReportResponse**](OnCallPayReportResponse.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** | on_call_pay_report created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **getOnCallPayReport** +> OnCallPayReportResponse getOnCallPayReport(id, include) + +Retrieves an On-Call Pay Report + +Retrieves a specific on-call pay report 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.OnCallPayReportsApi; + +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"); + + OnCallPayReportsApi apiInstance = new OnCallPayReportsApi(defaultClient); + String id = "id_example"; // String | + String include = "include_example"; // String | + try { + OnCallPayReportResponse result = apiInstance.getOnCallPayReport(id, include); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallPayReportsApi#getOnCallPayReport"); + 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**| | | +| **include** | **String**| | [optional] | + +### Return type + +[**OnCallPayReportResponse**](OnCallPayReportResponse.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** | on_call_pay_report found | - | +| **404** | resource not found for different team | - | + + +# **listOnCallPayReports** +> OnCallPayReportList listOnCallPayReports(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List On-Call Pay Reports + +List on-call pay reports + +### 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.OnCallPayReportsApi; + +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"); + + OnCallPayReportsApi apiInstance = new OnCallPayReportsApi(defaultClient); + String include = "include_example"; // String | + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterStatus = "filterStatus_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + OnCallPayReportList result = apiInstance.listOnCallPayReports(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallPayReportsApi#listOnCallPayReports"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| | [optional] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterStatus** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**OnCallPayReportList**](OnCallPayReportList.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 | - | + + +# **regenerateOnCallPayReport** +> OnCallPayReportResponse regenerateOnCallPayReport(id) + +Regenerate an On-Call Pay Report + +Triggers regeneration of an existing on-call pay report. + +### 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.OnCallPayReportsApi; + +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"); + + OnCallPayReportsApi apiInstance = new OnCallPayReportsApi(defaultClient); + String id = "id_example"; // String | + try { + OnCallPayReportResponse result = apiInstance.regenerateOnCallPayReport(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallPayReportsApi#regenerateOnCallPayReport"); + 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 + +[**OnCallPayReportResponse**](OnCallPayReportResponse.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** | on_call_pay_report regeneration triggered | - | +| **404** | on_call_pay_report not found | - | + + +# **updateOnCallPayReport** +> OnCallPayReportResponse updateOnCallPayReport(id, updateOnCallPayReport) + +Update an On-Call Pay Report + +Update a specific on-call pay report by id. Triggers report regeneration. + +### 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.OnCallPayReportsApi; + +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"); + + OnCallPayReportsApi apiInstance = new OnCallPayReportsApi(defaultClient); + String id = "id_example"; // String | + UpdateOnCallPayReport updateOnCallPayReport = new UpdateOnCallPayReport(); // UpdateOnCallPayReport | + try { + OnCallPayReportResponse result = apiInstance.updateOnCallPayReport(id, updateOnCallPayReport); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallPayReportsApi#updateOnCallPayReport"); + 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**| | | +| **updateOnCallPayReport** | [**UpdateOnCallPayReport**](UpdateOnCallPayReport.md)| | | + +### Return type + +[**OnCallPayReportResponse**](OnCallPayReportResponse.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** | on_call_pay_report updated | - | +| **404** | not allowed when flipper disabled | - | +| **422** | invalid request | - | + diff --git a/docs/OnCallRole.md b/docs/OnCallRole.md index e1ee794a..7d8e82c9 100644 --- a/docs/OnCallRole.md +++ b/docs/OnCallRole.md @@ -8,10 +8,15 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | | -|**slug** | **String** | The role slug. | | -|**systemRole** | [**List<SystemRoleEnum>**](#List<SystemRoleEnum>) | The kind of role | | +|**slug** | **String** | The role slug. | [optional] | +|**systemRole** | [**List<SystemRoleEnum>**](#List<SystemRoleEnum>) | The kind of role | [optional] | |**alertSourcesPermissions** | [**List<AlertSourcesPermissionsEnum>**](#List<AlertSourcesPermissionsEnum>) | | [optional] | |**alertUrgencyPermissions** | [**List<AlertUrgencyPermissionsEnum>**](#List<AlertUrgencyPermissionsEnum>) | | [optional] | +|**alertFieldsPermissions** | [**List<AlertFieldsPermissionsEnum>**](#List<AlertFieldsPermissionsEnum>) | | [optional] | +|**alertGroupsPermissions** | [**List<AlertGroupsPermissionsEnum>**](#List<AlertGroupsPermissionsEnum>) | | [optional] | +|**alertRoutingRulesPermissions** | [**List<AlertRoutingRulesPermissionsEnum>**](#List<AlertRoutingRulesPermissionsEnum>) | | [optional] | +|**onCallReadinessReportPermissions** | [**List<OnCallReadinessReportPermissionsEnum>**](#List<OnCallReadinessReportPermissionsEnum>) | | [optional] | +|**onCallRolesPermissions** | [**List<OnCallRolesPermissionsEnum>**](#List<OnCallRolesPermissionsEnum>) | | [optional] | |**alertsPermissions** | [**List<AlertsPermissionsEnum>**](#List<AlertsPermissionsEnum>) | | [optional] | |**apiKeysPermissions** | [**List<ApiKeysPermissionsEnum>**](#List<ApiKeysPermissionsEnum>) | | [optional] | |**auditsPermissions** | [**List<AuditsPermissionsEnum>**](#List<AuditsPermissionsEnum>) | | [optional] | @@ -39,6 +44,7 @@ | ADMIN | "admin" | | USER | "user" | | CUSTOM | "custom" | +| OBSERVER | "observer" | | NO_ACCESS | "no_access" | @@ -48,6 +54,7 @@ | Name | Value | |---- | -----| | CREATE | "create" | +| READ | "read" | | UPDATE | "update" | | DELETE | "delete" | @@ -64,6 +71,58 @@ +## Enum: List<AlertFieldsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertGroupsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertRoutingRulesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<OnCallReadinessReportPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | + + + +## Enum: List<OnCallRolesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<AlertsPermissionsEnum> | Name | Value | @@ -71,6 +130,7 @@ | CREATE | "create" | | UPDATE | "update" | | READ | "read" | +| DELETE | "delete" | diff --git a/docs/OnCallRoleList.md b/docs/OnCallRoleList.md index 2eae3d2a..01625e9a 100644 --- a/docs/OnCallRoleList.md +++ b/docs/OnCallRoleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<OnCallRoleResponseData>**](OnCallRoleResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/OnCallShadowsList.md b/docs/OnCallShadowsList.md index 379c83a5..e918f3de 100644 --- a/docs/OnCallShadowsList.md +++ b/docs/OnCallShadowsList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<OnCallShadowsListDataInner>**](OnCallShadowsListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/OnCallsApi.md b/docs/OnCallsApi.md new file mode 100644 index 00000000..1d4b13ca --- /dev/null +++ b/docs/OnCallsApi.md @@ -0,0 +1,97 @@ +# OnCallsApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**listOncalls**](OnCallsApi.md#listOncalls) | **GET** /v1/oncalls | List on-calls | + + + +# **listOncalls** +> listOncalls(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes) + +List on-calls + +List who is currently on-call, with support for filtering by escalation policy, schedule, and user. Returns on-call entries grouped by escalation policy level. + +### 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.OnCallsApi; + +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"); + + OnCallsApi apiInstance = new OnCallsApi(defaultClient); + String include = "user"; // String | comma separated if needed. eg: user,schedule + String since = "since_example"; // String | Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. + String until = "until_example"; // String | End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. + Boolean earliest = true; // Boolean | When true, returns only the first on-call user per escalation policy level + String timeZone = "timeZone_example"; // String | Timezone for response times (e.g., America/New_York). Defaults to UTC. + String filterEscalationPolicyIds = "filterEscalationPolicyIds_example"; // String | Comma-separated escalation policy IDs + String filterScheduleIds = "filterScheduleIds_example"; // String | Comma-separated schedule IDs + String filterUserIds = "filterUserIds_example"; // String | Comma-separated user IDs + String filterServiceIds = "filterServiceIds_example"; // String | Comma-separated service IDs + String filterGroupIds = "filterGroupIds_example"; // String | Comma-separated group IDs (teams) + String filterNotificationTypes = "filterNotificationTypes_example"; // String | Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). + try { + apiInstance.listOncalls(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes); + } catch (ApiException e) { + System.err.println("Exception when calling OnCallsApi#listOncalls"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: user,schedule | [optional] [enum: user, schedule, escalation_policy] | +| **since** | **String**| Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. | [optional] | +| **until** | **String**| End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. | [optional] | +| **earliest** | **Boolean**| When true, returns only the first on-call user per escalation policy level | [optional] | +| **timeZone** | **String**| Timezone for response times (e.g., America/New_York). Defaults to UTC. | [optional] | +| **filterEscalationPolicyIds** | **String**| Comma-separated escalation policy IDs | [optional] | +| **filterScheduleIds** | **String**| Comma-separated schedule IDs | [optional] | +| **filterUserIds** | **String**| Comma-separated user IDs | [optional] | +| **filterServiceIds** | **String**| Comma-separated service IDs | [optional] | +| **filterGroupIds** | **String**| Comma-separated group IDs (teams) | [optional] | +| **filterNotificationTypes** | **String**| Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). | [optional] | + +### Return type + +null (empty response body) + +### 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 | - | +| **404** | resource not found when alerting is disabled | - | +| **401** | responds with unauthorized for invalid token | - | + diff --git a/docs/OverrideShift.md b/docs/OverrideShift.md index 9d392852..94341606 100644 --- a/docs/OverrideShift.md +++ b/docs/OverrideShift.md @@ -15,6 +15,7 @@ |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | |**shiftOverride** | [**ShiftOverrideResponse**](ShiftOverrideResponse.md) | Override metadata | [optional] | +|**userId** | **Integer** | Override shift user | [optional] | |**user** | [**UserResponse**](UserResponse.md) | User metadata | [optional] | diff --git a/docs/OverrideShiftList.md b/docs/OverrideShiftList.md index 381e83ef..7168a4e1 100644 --- a/docs/OverrideShiftList.md +++ b/docs/OverrideShiftList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<OverrideShiftResponseData>**](OverrideShiftResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/OverrideShiftsApi.md b/docs/OverrideShiftsApi.md index f4f56761..71524da8 100644 --- a/docs/OverrideShiftsApi.md +++ b/docs/OverrideShiftsApi.md @@ -18,7 +18,7 @@ All URIs are relative to *https://api.rootly.com* creates an override shift -Creates a new override shift from provided data +Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. ### Example ```java @@ -79,8 +79,8 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | override_shift created | - | -| **422** | invalid request | - | +| **201** | returns assignee relationship when schedule nesting enabled | - | +| **422** | cannot create schedule-based override shift | - | | **401** | responds with unauthorized for invalid token | - | @@ -89,7 +89,7 @@ public class Example { Delete an on call shadow configuration -Delete a specific on call shadow configuration by id +Delete a specific on call shadow configuration by id. Future shadows are hard-deleted. Active shadows (started in the past) have their end time truncated to preserve historical data. ### Example ```java @@ -148,7 +148,8 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | override shift deleted | - | +| **200** | active shadow is preserved with truncated end time | - | +| **422** | shadow period already ended | - | | **404** | resource not found | - | diff --git a/docs/PageJsmopsOnCallRespondersTaskParams.md b/docs/PageJsmopsOnCallRespondersTaskParams.md new file mode 100644 index 00000000..f8bcbb27 --- /dev/null +++ b/docs/PageJsmopsOnCallRespondersTaskParams.md @@ -0,0 +1,41 @@ + + +# PageJsmopsOnCallRespondersTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**title** | **String** | Incident title. | [optional] | +|**message** | **String** | Message of the incident | [optional] | +|**description** | **String** | Description field of the incident that is generally used to provide a detailed information about the incident | [optional] | +|**teams** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**users** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**priority** | [**PriorityEnum**](#PriorityEnum) | | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| PAGE_JSMOPS_ON_CALL_RESPONDERS | "page_jsmops_on_call_responders" | + + + +## Enum: PriorityEnum + +| Name | Value | +|---- | -----| +| P3 | "P3" | +| P1 | "P1" | +| P2 | "P2" | +| P32 | "P3" | +| P4 | "P4" | +| P5 | "P5" | +| AUTO | "auto" | + + + diff --git a/docs/PageRootlyOnCallRespondersTaskParams.md b/docs/PageRootlyOnCallRespondersTaskParams.md index 3a441587..97021ef5 100644 --- a/docs/PageRootlyOnCallRespondersTaskParams.md +++ b/docs/PageRootlyOnCallRespondersTaskParams.md @@ -12,7 +12,8 @@ |**serviceTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**userTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**groupTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | -|**alertUrgencyId** | **String** | Alert urgency ID | [optional] | +|**functionalityTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**alertUrgencyId** | **String** | Alert urgency ID | | |**summary** | **String** | Alert title | | |**description** | **String** | Alert description | [optional] | |**escalationNote** | **String** | | [optional] | diff --git a/docs/PatchAlertRoute.md b/docs/PatchAlertRoute.md new file mode 100644 index 00000000..7ba4db4e --- /dev/null +++ b/docs/PatchAlertRoute.md @@ -0,0 +1,13 @@ + + +# PatchAlertRoute + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**PatchAlertRouteData**](PatchAlertRouteData.md) | | | + + + diff --git a/docs/PatchAlertRouteData.md b/docs/PatchAlertRouteData.md new file mode 100644 index 00000000..288acd8c --- /dev/null +++ b/docs/PatchAlertRouteData.md @@ -0,0 +1,22 @@ + + +# PatchAlertRouteData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**PatchAlertRouteDataAttributes**](PatchAlertRouteDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_ROUTES | "alert_routes" | + + + diff --git a/docs/PatchAlertRouteDataAttributes.md b/docs/PatchAlertRouteDataAttributes.md new file mode 100644 index 00000000..6970d842 --- /dev/null +++ b/docs/PatchAlertRouteDataAttributes.md @@ -0,0 +1,17 @@ + + +# PatchAlertRouteDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert route | [optional] | +|**enabled** | **Boolean** | Whether the alert route is enabled | [optional] | +|**alertsSourceIds** | **List<UUID>** | | [optional] | +|**owningTeamIds** | **List<UUID>** | | [optional] | +|**rules** | [**List<PatchAlertRouteDataAttributesRulesInner>**](PatchAlertRouteDataAttributesRulesInner.md) | | [optional] | + + + diff --git a/docs/PatchAlertRouteDataAttributesRulesInner.md b/docs/PatchAlertRouteDataAttributesRulesInner.md new file mode 100644 index 00000000..5a3b4b90 --- /dev/null +++ b/docs/PatchAlertRouteDataAttributesRulesInner.md @@ -0,0 +1,19 @@ + + +# PatchAlertRouteDataAttributesRulesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | The ID of the alert routing rule. Required for updating or deleting existing rules. | [optional] | +|**destroy** | **Boolean** | Set to true to delete this rule. When true, only the id field is required. | [optional] | +|**name** | **String** | The name of the alert routing rule | [optional] | +|**position** | **Integer** | The position of the alert routing rule for ordering evaluation | [optional] | +|**fallbackRule** | **Boolean** | Whether this is a fallback rule | [optional] | +|**destinations** | [**List<PatchAlertRouteDataAttributesRulesInnerDestinationsInner>**](PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md) | | [optional] | +|**conditionGroups** | [**List<PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner>**](PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md) | | [optional] | + + + diff --git a/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md b/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md new file mode 100644 index 00000000..d8bef177 --- /dev/null +++ b/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.md @@ -0,0 +1,16 @@ + + +# PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | The ID of the condition group. Required for updating or deleting existing condition groups. | [optional] | +|**destroy** | **Boolean** | Set to true to delete this condition group | [optional] | +|**position** | **Integer** | The position of the condition group | [optional] | +|**conditions** | [**List<PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner>**](PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md) | | [optional] | + + + diff --git a/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md b/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md new file mode 100644 index 00000000..ba61f8c2 --- /dev/null +++ b/docs/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.md @@ -0,0 +1,55 @@ + + +# PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | The ID of the condition. Required for updating or deleting existing conditions. | [optional] | +|**destroy** | **Boolean** | Set to true to delete this condition | [optional] | +|**propertyFieldConditionType** | [**PropertyFieldConditionTypeEnum**](#PropertyFieldConditionTypeEnum) | | [optional] | +|**propertyFieldName** | **String** | The name of the property field | [optional] | +|**propertyFieldType** | [**PropertyFieldTypeEnum**](#PropertyFieldTypeEnum) | | [optional] | +|**propertyFieldValue** | **String** | The value of the property field | [optional] | +|**propertyFieldValues** | **List<String>** | | [optional] | +|**alertUrgencyIds** | **List<String>** | The Alert Urgency IDs to check in the condition | [optional] | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of the conditionable | [optional] | +|**conditionableId** | **UUID** | The ID of the conditionable | [optional] | + + + +## 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/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md b/docs/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md new file mode 100644 index 00000000..b325e304 --- /dev/null +++ b/docs/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.md @@ -0,0 +1,27 @@ + + +# PatchAlertRouteDataAttributesRulesInnerDestinationsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | The ID of the destination. Required for updating or deleting existing destinations. | [optional] | +|**destroy** | **Boolean** | Set to true to delete this destination | [optional] | +|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. | [optional] | +|**targetId** | **UUID** | The ID of the target | [optional] | + + + +## Enum: TargetTypeEnum + +| Name | Value | +|---- | -----| +| SERVICE | "Service" | +| GROUP | "Group" | +| FUNCTIONALITY | "Functionality" | +| ESCALATION_POLICY | "EscalationPolicy" | + + + diff --git a/docs/PhoneVerificationResponse.md b/docs/PhoneVerificationResponse.md new file mode 100644 index 00000000..87472246 --- /dev/null +++ b/docs/PhoneVerificationResponse.md @@ -0,0 +1,14 @@ + + +# PhoneVerificationResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**message** | **String** | Success message | [optional] | +|**error** | **String** | Error message | [optional] | + + + diff --git a/docs/Playbook.md b/docs/Playbook.md index 0f046a89..2ddd5233 100644 --- a/docs/Playbook.md +++ b/docs/Playbook.md @@ -10,12 +10,12 @@ |**title** | **String** | The title of the playbook | | |**summary** | **String** | The summary of the playbook | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | -|**severityIds** | **List<String>** | The Severity ID's to attach to the incident | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the incident | [optional] | -|**functionalityIds** | **List<String>** | The Functionality ID's to attach to the incident | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the incident | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the incident | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the incident | [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] | +|**functionalityIds** | **List<String>** | The Functionality IDs to attach to the incident | [optional] | +|**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] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/PlaybookList.md b/docs/PlaybookList.md index dab4cda9..8513ea77 100644 --- a/docs/PlaybookList.md +++ b/docs/PlaybookList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<PlaybookResponseData>**](PlaybookResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/PlaybookTaskList.md b/docs/PlaybookTaskList.md index 207bbb60..76a4eab5 100644 --- a/docs/PlaybookTaskList.md +++ b/docs/PlaybookTaskList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<PlaybookTaskResponseData>**](PlaybookTaskResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/PostMortemTemplate.md b/docs/PostMortemTemplate.md index ef7c6e94..c83dad34 100644 --- a/docs/PostMortemTemplate.md +++ b/docs/PostMortemTemplate.md @@ -11,6 +11,8 @@ |**slug** | **String** | The slugified name of the postmortem template | [optional] | |**_default** | **Boolean** | Default selected template when editing a postmortem | [optional] | |**content** | **String** | The postmortem template. Liquid syntax and markdown are supported | [optional] | +|**contentHtml** | **String** | The postmortem template in HTML format with TipTap blocks support. Supports followup and timeline components. Liquid syntax is supported. | [optional] | +|**contentJson** | **Object** | The postmortem template in TipTap JSON format | [optional] | |**format** | [**FormatEnum**](#FormatEnum) | The format of the input | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/PostMortemTemplateList.md b/docs/PostMortemTemplateList.md index 8b6eb195..640fe15d 100644 --- a/docs/PostMortemTemplateList.md +++ b/docs/PostMortemTemplateList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<PostMortemTemplateResponseData>**](PostMortemTemplateResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/PostMortemTriggerParams.md b/docs/PostMortemTriggerParams.md index 876d7827..76a000f9 100644 --- a/docs/PostMortemTriggerParams.md +++ b/docs/PostMortemTriggerParams.md @@ -60,6 +60,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | @@ -96,6 +97,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -111,6 +113,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -126,6 +129,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -141,6 +145,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -156,6 +161,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -171,6 +177,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -186,6 +193,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -201,6 +209,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -216,6 +225,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -231,6 +241,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -246,6 +257,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -261,6 +273,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -276,6 +289,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -363,6 +377,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/PublishIncidentTaskParams.md b/docs/PublishIncidentTaskParams.md index c91504be..4a2eb365 100644 --- a/docs/PublishIncidentTaskParams.md +++ b/docs/PublishIncidentTaskParams.md @@ -38,7 +38,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/Pulse.md b/docs/Pulse.md index 81ec4120..b1d94a50 100644 --- a/docs/Pulse.md +++ b/docs/Pulse.md @@ -12,7 +12,7 @@ |**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<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | +|**labels** | [**List<NewPulseDataAttributesLabelsInner>**](NewPulseDataAttributesLabelsInner.md) | | [optional] | |**refs** | [**List<NewPulseDataAttributesRefsInner>**](NewPulseDataAttributesRefsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | |**createdAt** | **String** | Date of creation | | diff --git a/docs/PulseList.md b/docs/PulseList.md index 44dd43f9..fd5eb389 100644 --- a/docs/PulseList.md +++ b/docs/PulseList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<PulseResponseData>**](PulseResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/PulseTriggerParams.md b/docs/PulseTriggerParams.md index d179f479..55c00551 100644 --- a/docs/PulseTriggerParams.md +++ b/docs/PulseTriggerParams.md @@ -54,6 +54,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -69,6 +70,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | @@ -84,6 +86,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/RetrospectiveConfiguration.md b/docs/RetrospectiveConfiguration.md index 7381452f..46773d66 100644 --- a/docs/RetrospectiveConfiguration.md +++ b/docs/RetrospectiveConfiguration.md @@ -8,9 +8,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**kind** | [**KindEnum**](#KindEnum) | The kind of the configuration. | [optional] | -|**severityIds** | **List<String>** | The Severity ID's to attach to the retrospective configuration | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the retrospective configuration | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the retrospective configuration | [optional] | +|**severityIds** | **List<String>** | The Severity IDs to attach to the retrospective configuration | [optional] | +|**groupIds** | **List<String>** | The Team IDs to attach to the retrospective configuration | [optional] | +|**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the retrospective configuration | [optional] | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | diff --git a/docs/RetrospectiveProcessGroupList.md b/docs/RetrospectiveProcessGroupList.md index 55a96542..e7daf364 100644 --- a/docs/RetrospectiveProcessGroupList.md +++ b/docs/RetrospectiveProcessGroupList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<RetrospectiveProcessGroupResponseData>**](RetrospectiveProcessGroupResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/RetrospectiveProcessGroupStepList.md b/docs/RetrospectiveProcessGroupStepList.md index a81f58b3..6566d824 100644 --- a/docs/RetrospectiveProcessGroupStepList.md +++ b/docs/RetrospectiveProcessGroupStepList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<RetrospectiveProcessGroupStepResponseData>**](RetrospectiveProcessGroupStepResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/RetrospectiveProcessList.md b/docs/RetrospectiveProcessList.md index 1b8392b9..041028c2 100644 --- a/docs/RetrospectiveProcessList.md +++ b/docs/RetrospectiveProcessList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<RetrospectiveProcessListDataInner>**](RetrospectiveProcessListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/RetrospectiveStepList.md b/docs/RetrospectiveStepList.md index ad2fcf7b..550a8ed6 100644 --- a/docs/RetrospectiveStepList.md +++ b/docs/RetrospectiveStepList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<RetrospectiveStepResponseData>**](RetrospectiveStepResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/RetrospectiveTemplatesApi.md b/docs/RetrospectiveTemplatesApi.md index 45659773..ec5ac3bd 100644 --- a/docs/RetrospectiveTemplatesApi.md +++ b/docs/RetrospectiveTemplatesApi.md @@ -76,7 +76,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | post_mortem_template created | - | +| **201** | post_mortem_template created with TipTap blocks | - | | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RetrospectiveTemplatesApi apiInstance = new RetrospectiveTemplatesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { PostMortemTemplateResponse result = apiInstance.deletePostmortemTemplate(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RetrospectiveTemplatesApi apiInstance = new RetrospectiveTemplatesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { PostMortemTemplateResponse result = apiInstance.getPostmortemTemplate(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -315,7 +315,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RetrospectiveTemplatesApi apiInstance = new RetrospectiveTemplatesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdatePostMortemTemplate updatePostMortemTemplate = new UpdatePostMortemTemplate(); // UpdatePostMortemTemplate | try { PostMortemTemplateResponse result = apiInstance.updatePostmortemTemplate(id, updatePostMortemTemplate); @@ -335,7 +335,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updatePostMortemTemplate** | [**UpdatePostMortemTemplate**](UpdatePostMortemTemplate.md)| | | ### Return type @@ -354,6 +354,6 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Retrospective Template updated | - | +| **200** | Retrospective Template updated with sanitized content | - | | **404** | resource not found | - | diff --git a/docs/Role.md b/docs/Role.md index 44d06c64..d8413178 100644 --- a/docs/Role.md +++ b/docs/Role.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | | -|**slug** | **String** | The role slug. | | +|**slug** | **String** | The role slug. | [optional] | |**incidentPermissionSetId** | **String** | Associated incident permissions set. | [optional] | |**isDeletable** | **Boolean** | Whether the role can be deleted. | [optional] | |**isEditable** | **Boolean** | Whether the role can be edited. | [optional] | @@ -38,6 +38,13 @@ |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [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] | +|**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | +|**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | +|**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | +|**communicationPermissions** | [**List<CommunicationPermissionsEnum>**](#List<CommunicationPermissionsEnum>) | | [optional] | |**createdAt** | **String** | | | |**updatedAt** | **String** | | | @@ -326,3 +333,81 @@ +## Enum: List<CatalogsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SubStatusesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<EdgeConnectorPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SlasPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<PagingPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<IncidentCommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | +| SEND | "send" | + + + +## Enum: List<CommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + diff --git a/docs/RoleList.md b/docs/RoleList.md index df102690..81ae58c2 100644 --- a/docs/RoleList.md +++ b/docs/RoleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<RoleResponseData>**](RoleResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/RolesApi.md b/docs/RolesApi.md index 9bcdd0de..f865d60f 100644 --- a/docs/RolesApi.md +++ b/docs/RolesApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RolesApi apiInstance = new RolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { RoleResponse result = apiInstance.deleteRole(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RolesApi apiInstance = new RolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { RoleResponse result = apiInstance.getRole(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -331,7 +331,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); RolesApi apiInstance = new RolesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateRole updateRole = new UpdateRole(); // UpdateRole | try { RoleResponse result = apiInstance.updateRole(id, updateRole); @@ -351,7 +351,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateRole** | [**UpdateRole**](UpdateRole.md)| | | ### Return type diff --git a/docs/RotateApiKey.md b/docs/RotateApiKey.md new file mode 100644 index 00000000..5b547d69 --- /dev/null +++ b/docs/RotateApiKey.md @@ -0,0 +1,13 @@ + + +# RotateApiKey + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**RotateApiKeyData**](RotateApiKeyData.md) | | | + + + diff --git a/docs/RotateApiKeyData.md b/docs/RotateApiKeyData.md new file mode 100644 index 00000000..815f5808 --- /dev/null +++ b/docs/RotateApiKeyData.md @@ -0,0 +1,22 @@ + + +# RotateApiKeyData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**RotateApiKeyDataAttributes**](RotateApiKeyDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| API_KEYS | "api_keys" | + + + diff --git a/docs/RotateApiKeyDataAttributes.md b/docs/RotateApiKeyDataAttributes.md new file mode 100644 index 00000000..8f5787f2 --- /dev/null +++ b/docs/RotateApiKeyDataAttributes.md @@ -0,0 +1,14 @@ + + +# RotateApiKeyDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**expiresAt** | **OffsetDateTime** | The new expiration date after rotation (ISO 8601) | [optional] | +|**gracePeriodMinutes** | **Integer** | How many minutes to keep the old token valid. Only applies when the grace period feature is enabled for your organization. Defaults to 30. | [optional] | + + + diff --git a/docs/Schedule.md b/docs/Schedule.md index 0f4be9b3..b407e553 100644 --- a/docs/Schedule.md +++ b/docs/Schedule.md @@ -11,8 +11,11 @@ |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | |**slackUserGroup** | [**ScheduleSlackUserGroup**](ScheduleSlackUserGroup.md) | | [optional] | +|**slackChannel** | [**ScheduleSlackChannel**](ScheduleSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | -|**ownerUserId** | **Integer** | ID of user assigned as owner of the schedule | [optional] | +|**ownerUserId** | **Integer** | ID of user assigned as owner of the schedule | | +|**shiftStartNotificationsEnabled** | **Boolean** | Whether shift-start notifications are enabled | [optional] | +|**shiftUpdateNotificationsEnabled** | **Boolean** | Whether shift-update notifications are enabled | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/ScheduleList.md b/docs/ScheduleList.md index 4aad9c7b..b4b029f5 100644 --- a/docs/ScheduleList.md +++ b/docs/ScheduleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<ScheduleListDataInner>**](ScheduleListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ScheduleRotation.md b/docs/ScheduleRotation.md index a5f7c3ed..92788832 100644 --- a/docs/ScheduleRotation.md +++ b/docs/ScheduleRotation.md @@ -17,6 +17,8 @@ |**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | |**timeZone** | **String** | A valid IANA time zone name. | [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/ScheduleRotationActiveDayList.md b/docs/ScheduleRotationActiveDayList.md index 8215a0d0..dd687c54 100644 --- a/docs/ScheduleRotationActiveDayList.md +++ b/docs/ScheduleRotationActiveDayList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<ScheduleRotationActiveDayListDataInner>**](ScheduleRotationActiveDayListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ScheduleRotationList.md b/docs/ScheduleRotationList.md index e4bc2813..0d64ae1c 100644 --- a/docs/ScheduleRotationList.md +++ b/docs/ScheduleRotationList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<ScheduleRotationResponseData>**](ScheduleRotationResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ScheduleRotationUserList.md b/docs/ScheduleRotationUserList.md index 822ae27f..02226d0c 100644 --- a/docs/ScheduleRotationUserList.md +++ b/docs/ScheduleRotationUserList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<ScheduleRotationUserListDataInner>**](ScheduleRotationUserListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ScheduleSlackChannel.md b/docs/ScheduleSlackChannel.md new file mode 100644 index 00000000..b7661c89 --- /dev/null +++ b/docs/ScheduleSlackChannel.md @@ -0,0 +1,15 @@ + + +# ScheduleSlackChannel + +Synced slack channel of the schedule + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | [optional] | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/ScheduleSlackUserGroup.md b/docs/ScheduleSlackUserGroup.md index 925a801d..7c0ad0e2 100644 --- a/docs/ScheduleSlackUserGroup.md +++ b/docs/ScheduleSlackUserGroup.md @@ -8,8 +8,8 @@ Synced slack group of the schedule | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**id** | **String** | Slack channel ID | [optional] | -|**name** | **String** | Slack channel name | [optional] | +|**id** | **String** | Slack user group ID | [optional] | +|**name** | **String** | Slack user group name | [optional] | diff --git a/docs/SecretList.md b/docs/SecretList.md index 66f232e1..e5bf2703 100644 --- a/docs/SecretList.md +++ b/docs/SecretList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<SecretResponseData>**](SecretResponseData.md) | | | |**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | diff --git a/docs/SendMicrosoftTeamsChatMessageTaskParams.md b/docs/SendMicrosoftTeamsChatMessageTaskParams.md new file mode 100644 index 00000000..4060fcf6 --- /dev/null +++ b/docs/SendMicrosoftTeamsChatMessageTaskParams.md @@ -0,0 +1,23 @@ + + +# SendMicrosoftTeamsChatMessageTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**chats** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | +|**text** | **String** | The message text | | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| SEND_MICROSOFT_TEAMS_CHAT_MESSAGE | "send_microsoft_teams_chat_message" | + + + diff --git a/docs/Service.md b/docs/Service.md index dcb219e1..4ca330b3 100644 --- a/docs/Service.md +++ b/docs/Service.md @@ -24,15 +24,22 @@ |**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] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with 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 | | diff --git a/docs/ServiceAlertBroadcastChannel.md b/docs/ServiceAlertBroadcastChannel.md new file mode 100644 index 00000000..d2b191f2 --- /dev/null +++ b/docs/ServiceAlertBroadcastChannel.md @@ -0,0 +1,15 @@ + + +# ServiceAlertBroadcastChannel + +Slack channel to broadcast alerts to + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | [optional] | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/ServiceIncidentBroadcastChannel.md b/docs/ServiceIncidentBroadcastChannel.md new file mode 100644 index 00000000..acc70c81 --- /dev/null +++ b/docs/ServiceIncidentBroadcastChannel.md @@ -0,0 +1,15 @@ + + +# ServiceIncidentBroadcastChannel + +Slack channel to broadcast incidents to + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Slack channel ID | [optional] | +|**name** | **String** | Slack channel name | [optional] | + + + diff --git a/docs/ServiceList.md b/docs/ServiceList.md index 6f740888..cdc9ada4 100644 --- a/docs/ServiceList.md +++ b/docs/ServiceList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<ServiceResponseData>**](ServiceResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/ServicesApi.md b/docs/ServicesApi.md index 8c7ea8eb..7355784a 100644 --- a/docs/ServicesApi.md +++ b/docs/ServicesApi.md @@ -5,10 +5,12 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**createService**](ServicesApi.md#createService) | **POST** /v1/services | Creates a service | +| [**createServiceCatalogProperty**](ServicesApi.md#createServiceCatalogProperty) | **POST** /v1/services/properties | Creates a Catalog Property | | [**deleteService**](ServicesApi.md#deleteService) | **DELETE** /v1/services/{id} | Delete a service | | [**getService**](ServicesApi.md#getService) | **GET** /v1/services/{id} | Retrieves a service | | [**getServiceIncidentsChart**](ServicesApi.md#getServiceIncidentsChart) | **GET** /v1/services/{id}/incidents_chart | Get service incidents chart | | [**getServiceUptimeChart**](ServicesApi.md#getServiceUptimeChart) | **GET** /v1/services/{id}/uptime_chart | Get service uptime chart | +| [**listServiceCatalogProperties**](ServicesApi.md#listServiceCatalogProperties) | **GET** /v1/services/properties | List Catalog Properties | | [**listServices**](ServicesApi.md#listServices) | **GET** /v1/services | List services | | [**updateService**](ServicesApi.md#updateService) | **PUT** /v1/services/{id} | Update a service | @@ -82,6 +84,75 @@ public class Example { | **422** | invalid request | - | | **401** | responds with unauthorized for invalid token | - | + +# **createServiceCatalogProperty** +> CatalogPropertyResponse createServiceCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.ServicesApi; + +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"); + + ServicesApi apiInstance = new ServicesApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createServiceCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ServicesApi#createServiceCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **deleteService** > ServiceResponse deleteService(id) @@ -110,7 +181,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ServicesApi apiInstance = new ServicesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { ServiceResponse result = apiInstance.deleteService(id); System.out.println(result); @@ -129,7 +200,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -178,7 +249,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ServicesApi apiInstance = new ServicesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { ServiceResponse result = apiInstance.getService(id); System.out.println(result); @@ -197,7 +268,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -215,7 +286,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | service found | - | +| **200** | service found by slug | - | | **404** | resource not found | - | @@ -246,7 +317,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ServicesApi apiInstance = new ServicesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String period = "period_example"; // String | try { Object result = apiInstance.getServiceIncidentsChart(id, period); @@ -266,7 +337,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **period** | **String**| | | ### Return type @@ -316,7 +387,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ServicesApi apiInstance = new ServicesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | String period = "period_example"; // String | try { Object result = apiInstance.getServiceUptimeChart(id, period); @@ -336,7 +407,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **period** | **String**| | [optional] | ### Return type @@ -358,9 +429,96 @@ public class Example { | **200** | success | - | | **404** | resource not found | - | + +# **listServiceCatalogProperties** +> CatalogPropertyList listServiceCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List Service Catalog Properties + +### 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.ServicesApi; + +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"); + + ServicesApi apiInstance = new ServicesApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listServiceCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling ServicesApi#listServiceCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **listServices** -> ServiceList listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) +> ServiceList listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) List services @@ -396,13 +554,15 @@ public class Example { String filterCortexId = "filterCortexId_example"; // String | String filterOpslevelId = "filterOpslevelId_example"; // String | String filterExternalId = "filterExternalId_example"; // String | + Boolean filterAlertBroadcastEnabled = true; // Boolean | + Boolean filterIncidentBroadcastEnabled = true; // Boolean | String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | String sort = "sort_example"; // String | try { - ServiceList result = apiInstance.listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + ServiceList result = apiInstance.listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ServicesApi#listServices"); @@ -429,6 +589,8 @@ public class Example { | **filterCortexId** | **String**| | [optional] | | **filterOpslevelId** | **String**| | [optional] | | **filterExternalId** | **String**| | [optional] | +| **filterAlertBroadcastEnabled** | **Boolean**| | [optional] | +| **filterIncidentBroadcastEnabled** | **Boolean**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | @@ -481,7 +643,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ServicesApi apiInstance = new ServicesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateService updateService = new UpdateService(); // UpdateService | try { ServiceResponse result = apiInstance.updateService(id, updateService); @@ -501,7 +663,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateService** | [**UpdateService**](UpdateService.md)| | | ### Return type diff --git a/docs/SeveritiesApi.md b/docs/SeveritiesApi.md index 90c2a981..b9f9b51c 100644 --- a/docs/SeveritiesApi.md +++ b/docs/SeveritiesApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SeveritiesApi apiInstance = new SeveritiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { SeverityResponse result = apiInstance.deleteSeverity(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SeveritiesApi apiInstance = new SeveritiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { SeverityResponse result = apiInstance.getSeverity(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -335,7 +335,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SeveritiesApi apiInstance = new SeveritiesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateSeverity updateSeverity = new UpdateSeverity(); // UpdateSeverity | try { SeverityResponse result = apiInstance.updateSeverity(id, updateSeverity); @@ -355,7 +355,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateSeverity** | [**UpdateSeverity**](UpdateSeverity.md)| | | ### Return type diff --git a/docs/SeverityList.md b/docs/SeverityList.md index 6d8895c6..8b222e5e 100644 --- a/docs/SeverityList.md +++ b/docs/SeverityList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<SeverityResponseData>**](SeverityResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/Shift.md b/docs/Shift.md index 11e88f5d..64101c05 100644 --- a/docs/Shift.md +++ b/docs/Shift.md @@ -12,8 +12,8 @@ |**startsAt** | **String** | Start datetime of shift | | |**endsAt** | **String** | End datetime of shift | | |**isOverride** | **Boolean** | Denotes shift is an override shift | | -|**shiftOverride** | [**ShiftOverrideResponse**](ShiftOverrideResponse.md) | Override metadata | [optional] | -|**user** | [**UserResponse**](UserResponse.md) | User metadata | [optional] | +|**isShadow** | **Boolean** | Denotes shift is a shadow shift | | +|**userId** | **Integer** | ID of user on shift | [optional] | diff --git a/docs/ShiftList.md b/docs/ShiftList.md index 7da89339..8347a73a 100644 --- a/docs/ShiftList.md +++ b/docs/ShiftList.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**data** | [**List<ShiftListDataInner>**](ShiftListDataInner.md) | | | +|**meta** | [**Meta**](Meta.md) | | [optional] | diff --git a/docs/ShiftListDataInner.md b/docs/ShiftListDataInner.md index 8305cc22..12e121a8 100644 --- a/docs/ShiftListDataInner.md +++ b/docs/ShiftListDataInner.md @@ -10,6 +10,7 @@ |**id** | **String** | Unique ID of the shift | | |**type** | [**TypeEnum**](#TypeEnum) | | | |**attributes** | [**Shift**](Shift.md) | | | +|**relationships** | [**ShiftRelationships**](ShiftRelationships.md) | | [optional] | diff --git a/docs/ShiftRelationships.md b/docs/ShiftRelationships.md new file mode 100644 index 00000000..a79ae2ef --- /dev/null +++ b/docs/ShiftRelationships.md @@ -0,0 +1,15 @@ + + +# ShiftRelationships + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**shiftOverride** | [**ShiftRelationshipsShiftOverride**](ShiftRelationshipsShiftOverride.md) | | [optional] | +|**user** | [**ShiftRelationshipsUser**](ShiftRelationshipsUser.md) | | [optional] | +|**assignee** | [**ShiftRelationshipsAssignee**](ShiftRelationshipsAssignee.md) | | [optional] | + + + diff --git a/docs/ShiftRelationshipsAssignee.md b/docs/ShiftRelationshipsAssignee.md new file mode 100644 index 00000000..3797f365 --- /dev/null +++ b/docs/ShiftRelationshipsAssignee.md @@ -0,0 +1,14 @@ + + +# ShiftRelationshipsAssignee + +Assignee can be either a User or Schedule + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ShiftRelationshipsAssigneeData**](ShiftRelationshipsAssigneeData.md) | | [optional] | + + + diff --git a/docs/ShiftRelationshipsAssigneeData.md b/docs/ShiftRelationshipsAssigneeData.md new file mode 100644 index 00000000..4ace9289 --- /dev/null +++ b/docs/ShiftRelationshipsAssigneeData.md @@ -0,0 +1,14 @@ + + +# ShiftRelationshipsAssigneeData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**type** | **String** | | [optional] | + + + diff --git a/docs/ShiftRelationshipsShiftOverride.md b/docs/ShiftRelationshipsShiftOverride.md new file mode 100644 index 00000000..6b45ad2a --- /dev/null +++ b/docs/ShiftRelationshipsShiftOverride.md @@ -0,0 +1,13 @@ + + +# ShiftRelationshipsShiftOverride + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ShiftRelationshipsShiftOverrideData**](ShiftRelationshipsShiftOverrideData.md) | | [optional] | + + + diff --git a/docs/ShiftRelationshipsShiftOverrideData.md b/docs/ShiftRelationshipsShiftOverrideData.md new file mode 100644 index 00000000..2b0f27b0 --- /dev/null +++ b/docs/ShiftRelationshipsShiftOverrideData.md @@ -0,0 +1,22 @@ + + +# ShiftRelationshipsShiftOverrideData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SHIFT_OVERRIDES | "shift_overrides" | + + + diff --git a/docs/ShiftRelationshipsUser.md b/docs/ShiftRelationshipsUser.md new file mode 100644 index 00000000..96947a4e --- /dev/null +++ b/docs/ShiftRelationshipsUser.md @@ -0,0 +1,13 @@ + + +# ShiftRelationshipsUser + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**ShiftRelationshipsUserData**](ShiftRelationshipsUserData.md) | | [optional] | + + + diff --git a/docs/ShiftRelationshipsUserData.md b/docs/ShiftRelationshipsUserData.md new file mode 100644 index 00000000..3fc9497b --- /dev/null +++ b/docs/ShiftRelationshipsUserData.md @@ -0,0 +1,22 @@ + + +# ShiftRelationshipsUserData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USERS | "users" | + + + diff --git a/docs/ShiftsApi.md b/docs/ShiftsApi.md index 5a301099..9ccd734a 100644 --- a/docs/ShiftsApi.md +++ b/docs/ShiftsApi.md @@ -82,7 +82,7 @@ public class Example { # **listShifts** -> ShiftList listShifts(include, to, from, userIds, scheduleIds) +> ShiftList listShifts(include, from, to, userIds, scheduleIds, pageNumber, pageSize) List shifts @@ -108,13 +108,15 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); ShiftsApi apiInstance = new ShiftsApi(defaultClient); - String include = "shift_override"; // String | comma separated if needed. eg: shift_override,user - String to = "to_example"; // String | Start range for shifts - String from = "from_example"; // String | End range for shifts + 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) List userIds = Arrays.asList(); // List | List scheduleIds = Arrays.asList(); // List | + Integer pageNumber = 56; // Integer | Page number (defaults to 1) + Integer pageSize = 56; // Integer | Number of shifts per page (defaults to 50, max 1000) try { - ShiftList result = apiInstance.listShifts(include, to, from, userIds, scheduleIds); + ShiftList result = apiInstance.listShifts(include, from, to, userIds, scheduleIds, pageNumber, pageSize); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ShiftsApi#listShifts"); @@ -131,11 +133,13 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **include** | **String**| comma separated if needed. eg: shift_override,user | [optional] [enum: shift_override, user] | -| **to** | **String**| Start range for shifts | [optional] | -| **from** | **String**| End range for shifts | [optional] | +| **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] | | **userIds** | [**List<Integer>**](Integer.md)| | [optional] | | **scheduleIds** | [**List<String>**](String.md)| | [optional] | +| **pageNumber** | **Integer**| Page number (defaults to 1) | [optional] | +| **pageSize** | **Integer**| Number of shifts per page (defaults to 50, max 1000) | [optional] | ### Return type diff --git a/docs/Sla.md b/docs/Sla.md new file mode 100644 index 00000000..6091ea77 --- /dev/null +++ b/docs/Sla.md @@ -0,0 +1,49 @@ + + +# Sla + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**slug** | **String** | The slug of the SLA | [optional] | +|**name** | **String** | The name of the SLA | | +|**description** | **String** | A description of the SLA | [optional] | +|**position** | **Integer** | Position of the SLA for ordering | [optional] | +|**entityType** | [**EntityTypeEnum**](#EntityTypeEnum) | The entity type this SLA applies to | [optional] | +|**conditionMatchType** | [**ConditionMatchTypeEnum**](#ConditionMatchTypeEnum) | Whether all or any conditions must match | | +|**managerRoleId** | **UUID** | The ID of the manager incident role. Exactly one of `manager_role_id` or `manager_user_id` must be provided. | [optional] | +|**managerUserId** | **Integer** | The ID of the manager user. Exactly one of `manager_role_id` or `manager_user_id` must be provided. | [optional] | +|**assignmentDeadlineDays** | **Integer** | Number of days for the assignment deadline | | +|**assignmentDeadlineParentStatus** | **String** | The incident parent status that triggers the assignment deadline | | +|**assignmentDeadlineSubStatusId** | **UUID** | Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**assignmentSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the assignment deadline | [optional] | +|**completionDeadlineDays** | **Integer** | Number of days for the completion deadline | | +|**completionDeadlineParentStatus** | **String** | The incident parent status that triggers the completion deadline | | +|**completionDeadlineSubStatusId** | **UUID** | Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**completionSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the completion deadline | [optional] | +|**conditions** | [**List<SlaConditionsInner>**](SlaConditionsInner.md) | Conditions that determine which incidents this SLA applies to | [optional] | +|**notificationConfigurations** | [**List<SlaNotificationConfigurationsInner>**](SlaNotificationConfigurationsInner.md) | Notification timing configurations | [optional] | +|**createdAt** | **String** | Date of creation | | +|**updatedAt** | **String** | Date of last update | | + + + +## Enum: EntityTypeEnum + +| Name | Value | +|---- | -----| +| FOLLOW_UP | "follow_up" | + + + +## Enum: ConditionMatchTypeEnum + +| Name | Value | +|---- | -----| +| ALL | "ALL" | +| ANY | "ANY" | + + + diff --git a/docs/SlaConditionsInner.md b/docs/SlaConditionsInner.md new file mode 100644 index 00000000..a5d0b5bc --- /dev/null +++ b/docs/SlaConditionsInner.md @@ -0,0 +1,28 @@ + + +# SlaConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the condition | [optional] | +|**position** | **Integer** | The position of the condition | [optional] | +|**conditionableType** | [**ConditionableTypeEnum**](#ConditionableTypeEnum) | The type of condition | [optional] | +|**property** | **String** | The property to evaluate (for built-in field conditions) | [optional] | +|**operator** | **String** | The comparison operator | [optional] | +|**values** | **List<String>** | The values to compare against | [optional] | +|**formFieldId** | **UUID** | The ID of the form field (for custom field conditions) | [optional] | + + + +## Enum: ConditionableTypeEnum + +| Name | Value | +|---- | -----| +| SLAS_BUILT_IN_FIELD_CONDITION | "SLAs::BuiltInFieldCondition" | +| SLAS_CUSTOM_FIELD_CONDITION | "SLAs::CustomFieldCondition" | + + + diff --git a/docs/SlaList.md b/docs/SlaList.md new file mode 100644 index 00000000..79c37c5b --- /dev/null +++ b/docs/SlaList.md @@ -0,0 +1,15 @@ + + +# SlaList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<SlaResponseData>**](SlaResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/SlaNotificationConfigurationsInner.md b/docs/SlaNotificationConfigurationsInner.md new file mode 100644 index 00000000..bef53213 --- /dev/null +++ b/docs/SlaNotificationConfigurationsInner.md @@ -0,0 +1,27 @@ + + +# SlaNotificationConfigurationsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **UUID** | Unique ID of the notification configuration | [optional] | +|**offsetType** | [**OffsetTypeEnum**](#OffsetTypeEnum) | When to send the notification relative to the deadline | [optional] | +|**offsetDays** | **Integer** | Number of days offset from the deadline | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + +## Enum: OffsetTypeEnum + +| Name | Value | +|---- | -----| +| BEFORE_DUE | "before_due" | +| WHEN_DUE | "when_due" | +| AFTER_DUE | "after_due" | + + + diff --git a/docs/SlaResponse.md b/docs/SlaResponse.md new file mode 100644 index 00000000..995317e5 --- /dev/null +++ b/docs/SlaResponse.md @@ -0,0 +1,13 @@ + + +# SlaResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**SlaResponseData**](SlaResponseData.md) | | | + + + diff --git a/docs/SlaResponseData.md b/docs/SlaResponseData.md new file mode 100644 index 00000000..c1c394b7 --- /dev/null +++ b/docs/SlaResponseData.md @@ -0,0 +1,23 @@ + + +# SlaResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the SLA | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**Sla**](Sla.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SLAS | "slas" | + + + diff --git a/docs/SlasApi.md b/docs/SlasApi.md new file mode 100644 index 00000000..f99a879e --- /dev/null +++ b/docs/SlasApi.md @@ -0,0 +1,373 @@ +# SlasApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createSLA**](SlasApi.md#createSLA) | **POST** /v1/slas | Creates an SLA | +| [**deleteSLA**](SlasApi.md#deleteSLA) | **DELETE** /v1/slas/{id} | Delete an SLA | +| [**getSLA**](SlasApi.md#getSLA) | **GET** /v1/slas/{id} | Retrieves an SLA | +| [**listSLAs**](SlasApi.md#listSLAs) | **GET** /v1/slas | List SLAs | +| [**updateSLA**](SlasApi.md#updateSLA) | **PUT** /v1/slas/{id} | Update an SLA | + + + +# **createSLA** +> SlaResponse createSLA(newSla) + +Creates an SLA + +Creates a new SLA 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.SlasApi; + +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"); + + SlasApi apiInstance = new SlasApi(defaultClient); + NewSla newSla = new NewSla(); // NewSla | + try { + SlaResponse result = apiInstance.createSLA(newSla); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SlasApi#createSLA"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newSla** | [**NewSla**](NewSla.md)| | | + +### Return type + +[**SlaResponse**](SlaResponse.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** | SLA created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | + + +# **deleteSLA** +> SlaResponse deleteSLA(id) + +Delete an SLA + +Delete a specific SLA 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.SlasApi; + +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"); + + SlasApi apiInstance = new SlasApi(defaultClient); + String id = "id_example"; // String | + try { + SlaResponse result = apiInstance.deleteSLA(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SlasApi#deleteSLA"); + 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 + +[**SlaResponse**](SlaResponse.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** | SLA deleted | - | +| **404** | resource not found for another team | - | + + +# **getSLA** +> SlaResponse getSLA(id) + +Retrieves an SLA + +Retrieves a specific SLA 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.SlasApi; + +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"); + + SlasApi apiInstance = new SlasApi(defaultClient); + String id = "id_example"; // String | + try { + SlaResponse result = apiInstance.getSLA(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SlasApi#getSLA"); + 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 + +[**SlaResponse**](SlaResponse.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** | SLA found | - | +| **404** | resource not found for another team | - | + + +# **listSLAs** +> SlaList listSLAs(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) + +List SLAs + +List SLAs + +### 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.SlasApi; + +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"); + + SlasApi apiInstance = new SlasApi(defaultClient); + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSearch = "filterSearch_example"; // String | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + String sort = "sort_example"; // String | + try { + SlaList result = apiInstance.listSLAs(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SlasApi#listSLAs"); + 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] | +| **filterSearch** | **String**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | +| **sort** | **String**| | [optional] | + +### Return type + +[**SlaList**](SlaList.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 | - | + + +# **updateSLA** +> SlaResponse updateSLA(id, updateSla) + +Update an SLA + +Update a specific SLA 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.SlasApi; + +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"); + + SlasApi apiInstance = new SlasApi(defaultClient); + String id = "id_example"; // String | + UpdateSla updateSla = new UpdateSla(); // UpdateSla | + try { + SlaResponse result = apiInstance.updateSLA(id, updateSla); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SlasApi#updateSLA"); + 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**| | | +| **updateSla** | [**UpdateSla**](UpdateSla.md)| | | + +### Return type + +[**SlaResponse**](SlaResponse.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** | SLA updated | - | +| **404** | resource not found for another team | - | + diff --git a/docs/SnoozeAlert.md b/docs/SnoozeAlert.md new file mode 100644 index 00000000..b74c8b15 --- /dev/null +++ b/docs/SnoozeAlert.md @@ -0,0 +1,13 @@ + + +# SnoozeAlert + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**SnoozeAlertData**](SnoozeAlertData.md) | | | + + + diff --git a/docs/SnoozeAlertData.md b/docs/SnoozeAlertData.md new file mode 100644 index 00000000..3a25c477 --- /dev/null +++ b/docs/SnoozeAlertData.md @@ -0,0 +1,22 @@ + + +# SnoozeAlertData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**SnoozeAlertDataAttributes**](SnoozeAlertDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERTS | "alerts" | + + + diff --git a/docs/SnoozeAlertDataAttributes.md b/docs/SnoozeAlertDataAttributes.md new file mode 100644 index 00000000..fceeb5cb --- /dev/null +++ b/docs/SnoozeAlertDataAttributes.md @@ -0,0 +1,13 @@ + + +# SnoozeAlertDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**delayMinutes** | **Integer** | Number of minutes to snooze the alert for | | + + + diff --git a/docs/Status.md b/docs/Status.md new file mode 100644 index 00000000..69f23ab6 --- /dev/null +++ b/docs/Status.md @@ -0,0 +1,19 @@ + + +# Status + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | | +|**slug** | **String** | | [optional] | +|**description** | **String** | | [optional] | +|**color** | **String** | | | +|**enabled** | **Boolean** | | | +|**createdAt** | **String** | | | +|**updatedAt** | **String** | | | + + + diff --git a/docs/StatusList.md b/docs/StatusList.md new file mode 100644 index 00000000..0e2740d3 --- /dev/null +++ b/docs/StatusList.md @@ -0,0 +1,15 @@ + + +# StatusList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<StatusResponseData>**](StatusResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/StatusPage.md b/docs/StatusPage.md index 367841ae..8c30999d 100644 --- a/docs/StatusPage.md +++ b/docs/StatusPage.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**title** | **String** | The title of the status page | | +|**slug** | **String** | The slug of the status page | [optional] | |**publicTitle** | **String** | The public title of the status page | [optional] | |**description** | **String** | The description of the status page | [optional] | |**publicDescription** | **String** | The public description of the status page | [optional] | @@ -18,8 +19,15 @@ |**showUptimeLastDays** | [**ShowUptimeLastDaysEnum**](#ShowUptimeLastDaysEnum) | Show uptime over x days | [optional] | |**successMessage** | **String** | Message showing when all components are operational | [optional] | |**failureMessage** | **String** | Message showing when at least one component is not operational | [optional] | -|**authenticationEnabled** | **Boolean** | Enable authentication | [optional] | +|**authenticationMethod** | [**AuthenticationMethodEnum**](#AuthenticationMethodEnum) | Authentication method | [optional] | +|**authenticationEnabled** | **Boolean** | Enable authentication (deprecated - use authentication_method instead) | [optional] | |**authenticationPassword** | **String** | Authentication password | [optional] | +|**samlIdpSsoServiceUrl** | **String** | SAML IdP SSO service URL | [optional] | +|**samlIdpSloServiceUrl** | **String** | SAML IdP SLO service URL | [optional] | +|**samlIdpCert** | **String** | SAML IdP certificate | [optional] | +|**samlIdpCertFingerprint** | **String** | SAML IdP certificate fingerprint | [optional] | +|**samlNameIdentifierFormat** | [**SamlNameIdentifierFormatEnum**](#SamlNameIdentifierFormatEnum) | SAML name identifier format | [optional] | +|**sectionOrder** | [**List<SectionOrderEnum>**](#List<SectionOrderEnum>) | Order of sections on the status page | [optional] | |**websiteUrl** | **String** | Website URL | [optional] | |**websitePrivacyUrl** | **String** | Website Privacy URL | [optional] | |**websiteSupportUrl** | **String** | Website Support URL | [optional] | @@ -29,6 +37,7 @@ |**serviceIds** | **List<String>** | Services attached to the status page | [optional] | |**functionalityIds** | **List<String>** | Functionalities attached to the status page | [optional] | |**externalDomainNames** | **List<String>** | External domain names attached to the status page | [optional] | +|**cnameRecords** | **Map<String, String>** | CNAME records mapping external domain names to their DNS target values. These are populated asynchronously after setting external_domain_names. | [optional] [readonly] | |**enabled** | **Boolean** | Enabled / Disable the status page | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | @@ -42,8 +51,37 @@ | NUMBER_30 | 30 | | NUMBER_60 | 60 | | NUMBER_90 | 90 | -| NUMBER_180 | 180 | -| NUMBER_360 | 360 | + + + +## Enum: AuthenticationMethodEnum + +| Name | Value | +|---- | -----| +| NONE | "none" | +| PASSWORD | "password" | +| SAML | "saml" | + + + +## Enum: SamlNameIdentifierFormatEnum + +| Name | Value | +|---- | -----| +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" | + + + +## Enum: List<SectionOrderEnum> + +| Name | Value | +|---- | -----| +| MAINTENANCE | "maintenance" | +| SYSTEM_STATUS | "system_status" | +| INCIDENTS | "incidents" | diff --git a/docs/StatusPageList.md b/docs/StatusPageList.md index a2f1755e..b65423ea 100644 --- a/docs/StatusPageList.md +++ b/docs/StatusPageList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<StatusPageResponseData>**](StatusPageResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/StatusPageTemplate.md b/docs/StatusPageTemplate.md index 5f548a86..ac4cd96d 100644 --- a/docs/StatusPageTemplate.md +++ b/docs/StatusPageTemplate.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**statusPageId** | **String** | | | |**title** | **String** | Title of the template | | +|**updateTitle** | **String** | Title that will be used for the status page update | [optional] | |**body** | **String** | Description of the event the template will populate | | |**updateStatus** | **String** | Status of the event the template will populate | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the status page template | [optional] | diff --git a/docs/StatusPageTemplateList.md b/docs/StatusPageTemplateList.md index 015079c5..80e52bff 100644 --- a/docs/StatusPageTemplateList.md +++ b/docs/StatusPageTemplateList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<StatusPageTemplateListDataInner>**](StatusPageTemplateListDataInner.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/StatusPagesApi.md b/docs/StatusPagesApi.md index 6ff0b8c3..5fedc2c0 100644 --- a/docs/StatusPagesApi.md +++ b/docs/StatusPagesApi.md @@ -76,8 +76,8 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | status_page created | - | -| **422** | invalid request | - | +| **201** | status page with SAML created | - | +| **422** | invalid SAML configuration | - | | **401** | responds with unauthorized for invalid token | - | @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { StatusPageResponse result = apiInstance.deleteStatusPage(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { StatusPageResponse result = apiInstance.getStatusPage(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -331,7 +331,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); StatusPagesApi apiInstance = new StatusPagesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateStatusPage updateStatusPage = new UpdateStatusPage(); // UpdateStatusPage | try { StatusPageResponse result = apiInstance.updateStatusPage(id, updateStatusPage); @@ -351,7 +351,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateStatusPage** | [**UpdateStatusPage**](UpdateStatusPage.md)| | | ### Return type @@ -370,6 +370,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | status_page updated | - | +| **200** | external_domain_names persisted | - | +| **422** | invalid section_order | - | | **404** | resource not found | - | diff --git a/docs/StatusResponse.md b/docs/StatusResponse.md new file mode 100644 index 00000000..b9b9a516 --- /dev/null +++ b/docs/StatusResponse.md @@ -0,0 +1,13 @@ + + +# StatusResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**StatusResponseData**](StatusResponseData.md) | | | + + + diff --git a/docs/StatusResponseData.md b/docs/StatusResponseData.md new file mode 100644 index 00000000..a93d96df --- /dev/null +++ b/docs/StatusResponseData.md @@ -0,0 +1,23 @@ + + +# StatusResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the status | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**Status**](Status.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| STATUSES | "statuses" | + + + diff --git a/docs/StatusesApi.md b/docs/StatusesApi.md new file mode 100644 index 00000000..27b92da5 --- /dev/null +++ b/docs/StatusesApi.md @@ -0,0 +1,164 @@ +# StatusesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**getStatus**](StatusesApi.md#getStatus) | **GET** /v1/statuses/{id} | Retrieves a Status | +| [**listStatuses**](StatusesApi.md#listStatuses) | **GET** /v1/statuses | List Statuses | + + + +# **getStatus** +> StatusResponse getStatus(id) + +Retrieves a Status + +Retrieves a specific Status 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.StatusesApi; + +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"); + + StatusesApi apiInstance = new StatusesApi(defaultClient); + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + try { + StatusResponse result = apiInstance.getStatus(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusesApi#getStatus"); + 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** | [**GetAlertFieldIdParameter**](.md)| | | + +### Return type + +[**StatusResponse**](StatusResponse.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 found by slug | - | +| **404** | resource not found | - | + + +# **listStatuses** +> StatusList listStatuses(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Statuses + +List Statuses + +### 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.StatusesApi; + +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"); + + StatusesApi apiInstance = new StatusesApi(defaultClient); + String include = "include_example"; // String | + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + Boolean filterEnabled = true; // Boolean | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + StatusList result = apiInstance.listStatuses(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling StatusesApi#listStatuses"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| | [optional] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterEnabled** | **Boolean**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**StatusList**](StatusList.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 | - | +| **401** | responds with unauthorized for invalid token | - | + diff --git a/docs/SubStatus.md b/docs/SubStatus.md index cb4f7bde..2971608b 100644 --- a/docs/SubStatus.md +++ b/docs/SubStatus.md @@ -26,8 +26,10 @@ | RESOLVED | "resolved" | | CLOSED | "closed" | | CANCELLED | "cancelled" | +| PLANNING | "planning" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | +| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/SubStatusList.md b/docs/SubStatusList.md index 00c6d9d8..3d24ea15 100644 --- a/docs/SubStatusList.md +++ b/docs/SubStatusList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<SubStatusResponseData>**](SubStatusResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/SubStatusesApi.md b/docs/SubStatusesApi.md index eeff7713..51ea09d7 100644 --- a/docs/SubStatusesApi.md +++ b/docs/SubStatusesApi.md @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SubStatusesApi apiInstance = new SubStatusesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { SubStatusResponse result = apiInstance.deleteSubStatus(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,7 +176,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SubStatusesApi apiInstance = new SubStatusesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { SubStatusResponse result = apiInstance.getSubStatus(id); System.out.println(result); @@ -195,7 +195,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -213,7 +213,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | sub_status found | - | +| **200** | sub_status found by slug | - | | **404** | resource not found | - | @@ -329,7 +329,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); SubStatusesApi apiInstance = new SubStatusesApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateSubStatus updateSubStatus = new UpdateSubStatus(); // UpdateSubStatus | try { SubStatusResponse result = apiInstance.updateSubStatus(id, updateSubStatus); @@ -349,7 +349,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateSubStatus** | [**UpdateSubStatus**](UpdateSubStatus.md)| | | ### Return type diff --git a/docs/Team.md b/docs/Team.md index 1a74c5b0..f7c15e1d 100644 --- a/docs/Team.md +++ b/docs/Team.md @@ -29,6 +29,12 @@ |**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] | +|**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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | |**createdAt** | **String** | Date of creation | | |**updatedAt** | **String** | Date of last update | | diff --git a/docs/TeamList.md b/docs/TeamList.md index 034b95be..a429281f 100644 --- a/docs/TeamList.md +++ b/docs/TeamList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<TeamResponseData>**](TeamResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/TeamsApi.md b/docs/TeamsApi.md index 008669f0..2c3e1db8 100644 --- a/docs/TeamsApi.md +++ b/docs/TeamsApi.md @@ -4,14 +4,85 @@ All URIs are relative to *https://api.rootly.com* | Method | HTTP request | Description | |------------- | ------------- | -------------| +| [**createGroupCatalogProperty**](TeamsApi.md#createGroupCatalogProperty) | **POST** /v1/teams/properties | Creates a Catalog Property | | [**createTeam**](TeamsApi.md#createTeam) | **POST** /v1/teams | Creates a team | | [**deleteTeam**](TeamsApi.md#deleteTeam) | **DELETE** /v1/teams/{id} | Delete a team | | [**getTeam**](TeamsApi.md#getTeam) | **GET** /v1/teams/{id} | Retrieves a team | | [**getTeamIncidentsChart**](TeamsApi.md#getTeamIncidentsChart) | **GET** /v1/teams/{id}/incidents_chart | Get team incidents chart | +| [**listGroupCatalogProperties**](TeamsApi.md#listGroupCatalogProperties) | **GET** /v1/teams/properties | List Catalog Properties | | [**listTeams**](TeamsApi.md#listTeams) | **GET** /v1/teams | List teams | | [**updateTeam**](TeamsApi.md#updateTeam) | **PUT** /v1/teams/{id} | Update a team | + +# **createGroupCatalogProperty** +> CatalogPropertyResponse createGroupCatalogProperty(newCatalogProperty) + +Creates a Catalog Property + +Creates a new Catalog Property 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.TeamsApi; + +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"); + + TeamsApi apiInstance = new TeamsApi(defaultClient); + NewCatalogProperty newCatalogProperty = new NewCatalogProperty(); // NewCatalogProperty | + try { + CatalogPropertyResponse result = apiInstance.createGroupCatalogProperty(newCatalogProperty); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TeamsApi#createGroupCatalogProperty"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **newCatalogProperty** | [**NewCatalogProperty**](NewCatalogProperty.md)| | | + +### Return type + +[**CatalogPropertyResponse**](CatalogPropertyResponse.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** | catalog_property created ignores wrong catalog_type attribute | - | +| **422** | exceeds max fields per catalog | - | +| **401** | responds with unauthorized for invalid token | - | + # **createTeam** > TeamResponse createTeam(newTeam) @@ -109,7 +180,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); TeamsApi apiInstance = new TeamsApi(defaultClient); - String id = "id_example"; // String | + GetTeamIdParameter id = new GetTeamIdParameter(); // GetTeamIdParameter | try { TeamResponse result = apiInstance.deleteTeam(id); System.out.println(result); @@ -128,7 +199,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetTeamIdParameter**](.md)| | | ### Return type @@ -151,7 +222,7 @@ public class Example { # **getTeam** -> TeamResponse getTeam(id) +> TeamResponse getTeam(id, include) Retrieves a team @@ -177,9 +248,10 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); TeamsApi apiInstance = new TeamsApi(defaultClient); - String id = "id_example"; // String | + GetTeamIdParameter id = new GetTeamIdParameter(); // GetTeamIdParameter | + String include = "users"; // String | comma separated if needed. eg: users try { - TeamResponse result = apiInstance.getTeam(id); + TeamResponse result = apiInstance.getTeam(id, include); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling TeamsApi#getTeam"); @@ -196,7 +268,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetTeamIdParameter**](.md)| | | +| **include** | **String**| comma separated if needed. eg: users | [optional] [enum: users, schedules, escalation_policies] | ### Return type @@ -214,7 +287,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | team found | - | +| **200** | team found by slug | - | | **404** | resource not found | - | @@ -287,9 +360,96 @@ public class Example { | **200** | success | - | | **404** | resource not found | - | + +# **listGroupCatalogProperties** +> CatalogPropertyList listGroupCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte) + +List Catalog Properties + +List Group Catalog Properties + +### 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.TeamsApi; + +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"); + + TeamsApi apiInstance = new TeamsApi(defaultClient); + String include = "catalog"; // String | comma separated if needed. eg: catalog + String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at + Integer pageNumber = 56; // Integer | + Integer pageSize = 56; // Integer | + String filterSlug = "filterSlug_example"; // String | + String filterName = "filterName_example"; // String | + String filterKind = "filterKind_example"; // String | + String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | + String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | + String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | + String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | + try { + CatalogPropertyList result = apiInstance.listGroupCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling TeamsApi#listGroupCatalogProperties"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **include** | **String**| comma separated if needed. eg: catalog | [optional] [enum: catalog] | +| **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | +| **pageNumber** | **Integer**| | [optional] | +| **pageSize** | **Integer**| | [optional] | +| **filterSlug** | **String**| | [optional] | +| **filterName** | **String**| | [optional] | +| **filterKind** | **String**| | [optional] | +| **filterCreatedAtGt** | **String**| | [optional] | +| **filterCreatedAtGte** | **String**| | [optional] | +| **filterCreatedAtLt** | **String**| | [optional] | +| **filterCreatedAtLte** | **String**| | [optional] | + +### Return type + +[**CatalogPropertyList**](CatalogPropertyList.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 | - | + # **listTeams** -> TeamList listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) +> TeamList listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort) List teams @@ -315,7 +475,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); TeamsApi apiInstance = new TeamsApi(defaultClient); - String include = "include_example"; // String | + String include = "users"; // String | comma separated if needed. eg: users Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | String filterSearch = "filterSearch_example"; // String | @@ -326,13 +486,15 @@ public class Example { String filterOpslevelId = "filterOpslevelId_example"; // String | String filterExternalId = "filterExternalId_example"; // String | String filterColor = "filterColor_example"; // String | + Boolean filterAlertBroadcastEnabled = true; // Boolean | + Boolean filterIncidentBroadcastEnabled = true; // Boolean | String filterCreatedAtGt = "filterCreatedAtGt_example"; // String | String filterCreatedAtGte = "filterCreatedAtGte_example"; // String | String filterCreatedAtLt = "filterCreatedAtLt_example"; // String | String filterCreatedAtLte = "filterCreatedAtLte_example"; // String | String sort = "sort_example"; // String | try { - TeamList result = apiInstance.listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + TeamList result = apiInstance.listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling TeamsApi#listTeams"); @@ -349,7 +511,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **include** | **String**| | [optional] | +| **include** | **String**| comma separated if needed. eg: users | [optional] [enum: users, schedules, escalation_policies] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | | **filterSearch** | **String**| | [optional] | @@ -360,6 +522,8 @@ public class Example { | **filterOpslevelId** | **String**| | [optional] | | **filterExternalId** | **String**| | [optional] | | **filterColor** | **String**| | [optional] | +| **filterAlertBroadcastEnabled** | **Boolean**| | [optional] | +| **filterIncidentBroadcastEnabled** | **Boolean**| | [optional] | | **filterCreatedAtGt** | **String**| | [optional] | | **filterCreatedAtGte** | **String**| | [optional] | | **filterCreatedAtLt** | **String**| | [optional] | @@ -412,7 +576,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); TeamsApi apiInstance = new TeamsApi(defaultClient); - String id = "id_example"; // String | + GetTeamIdParameter id = new GetTeamIdParameter(); // GetTeamIdParameter | UpdateTeam updateTeam = new UpdateTeam(); // UpdateTeam | try { TeamResponse result = apiInstance.updateTeam(id, updateTeam); @@ -432,7 +596,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetTeamIdParameter**](.md)| | | | **updateTeam** | [**UpdateTeam**](UpdateTeam.md)| | | ### Return type diff --git a/docs/TiptapBlockSchema.md b/docs/TiptapBlockSchema.md new file mode 100644 index 00000000..3a965ca9 --- /dev/null +++ b/docs/TiptapBlockSchema.md @@ -0,0 +1,15 @@ + + +# TiptapBlockSchema + +TipTap block component schema for post mortem templates + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**followupComponent** | [**TiptapBlockSchemaFollowupComponent**](TiptapBlockSchemaFollowupComponent.md) | | [optional] | +|**timelineComponent** | [**TiptapBlockSchemaTimelineComponent**](TiptapBlockSchemaTimelineComponent.md) | | [optional] | + + + diff --git a/docs/TiptapBlockSchemaFollowupComponent.md b/docs/TiptapBlockSchemaFollowupComponent.md new file mode 100644 index 00000000..ff98b680 --- /dev/null +++ b/docs/TiptapBlockSchemaFollowupComponent.md @@ -0,0 +1,25 @@ + + +# TiptapBlockSchemaFollowupComponent + +Followup component block + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**html** | **String** | HTML representation: <div data-sort=\"due_date\" data-followup-component=\"true\" class=\"followups-node-placeholder\"></div> | | +|**dataSort** | [**DataSortEnum**](#DataSortEnum) | Sort order for followups. Valid values: due_date, status, priority | [optional] | + + + +## Enum: DataSortEnum + +| Name | Value | +|---- | -----| +| DUE_DATE | "due_date" | +| STATUS | "status" | +| PRIORITY | "priority" | + + + diff --git a/docs/TiptapBlockSchemaTimelineComponent.md b/docs/TiptapBlockSchemaTimelineComponent.md new file mode 100644 index 00000000..70b88343 --- /dev/null +++ b/docs/TiptapBlockSchemaTimelineComponent.md @@ -0,0 +1,14 @@ + + +# TiptapBlockSchemaTimelineComponent + +Timeline component block + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**html** | **String** | HTML representation: <div data-timeline-component=\"true\" class=\"timeline-node-placeholder\"></div> | | + + + diff --git a/docs/UpdateAlertDataAttributes.md b/docs/UpdateAlertDataAttributes.md index 14ec1fa6..a1e3e77f 100644 --- a/docs/UpdateAlertDataAttributes.md +++ b/docs/UpdateAlertDataAttributes.md @@ -11,9 +11,9 @@ |**source** | [**SourceEnum**](#SourceEnum) | The source of the alert | [optional] | |**summary** | **String** | The summary of the alert | [optional] | |**description** | **String** | The description of the alert | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the alert | [optional] | -|**groupIds** | **List<String>** | The Group ID's to attach to the alert | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the alert | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the alert | [optional] | +|**groupIds** | **List<String>** | The Group IDs to attach to the alert | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the alert | [optional] | |**startedAt** | **OffsetDateTime** | Alert start datetime | [optional] | |**endedAt** | **OffsetDateTime** | Alert end datetime | [optional] | |**externalId** | **String** | External ID | [optional] | @@ -21,6 +21,8 @@ |**alertUrgencyId** | **String** | The ID of the alert urgency | [optional] | |**labels** | [**List<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | +|**deduplicationKey** | **String** | Alerts sharing the same deduplication key are treated as a single alert. | [optional] | +|**alertFieldValuesAttributes** | [**List<NewAlertDataAttributesAlertFieldValuesAttributesInner>**](NewAlertDataAttributesAlertFieldValuesAttributesInner.md) | Custom alert field values to create with the alert | [optional] | @@ -40,16 +42,19 @@ | ROOTLY | "rootly" | | MANUAL | "manual" | | API | "api" | +| HEARTBEAT | "heartbeat" | | WEB | "web" | | SLACK | "slack" | | EMAIL | "email" | | WORKFLOW | "workflow" | | LIVE_CALL_ROUTING | "live_call_routing" | +| MOBILE | "mobile" | | PAGERDUTY | "pagerduty" | | OPSGENIE | "opsgenie" | | VICTOROPS | "victorops" | | PAGERTREE | "pagertree" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | NOBL9 | "nobl9" | | ZENDESK | "zendesk" | | ASANA | "asana" | @@ -65,6 +70,7 @@ | GOOGLE_CLOUD | "google_cloud" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | AZURE | "azure" | | SPLUNK | "splunk" | | CHRONOSPHERE | "chronosphere" | diff --git a/docs/UpdateAlertEvent.md b/docs/UpdateAlertEvent.md index 51e18c5e..cac93188 100644 --- a/docs/UpdateAlertEvent.md +++ b/docs/UpdateAlertEvent.md @@ -2,6 +2,7 @@ # UpdateAlertEvent +Update an alert event. Note: Only alert events with kind='note' can be updated. You cannot change the kind field. ## Properties diff --git a/docs/UpdateAlertField.md b/docs/UpdateAlertField.md new file mode 100644 index 00000000..28bdf927 --- /dev/null +++ b/docs/UpdateAlertField.md @@ -0,0 +1,13 @@ + + +# UpdateAlertField + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateAlertFieldData**](UpdateAlertFieldData.md) | | | + + + diff --git a/docs/UpdateAlertFieldData.md b/docs/UpdateAlertFieldData.md new file mode 100644 index 00000000..f37f99e8 --- /dev/null +++ b/docs/UpdateAlertFieldData.md @@ -0,0 +1,22 @@ + + +# UpdateAlertFieldData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateAlertFieldDataAttributes**](UpdateAlertFieldDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_FIELDS | "alert_fields" | + + + diff --git a/docs/UpdateAlertFieldDataAttributes.md b/docs/UpdateAlertFieldDataAttributes.md new file mode 100644 index 00000000..be450b76 --- /dev/null +++ b/docs/UpdateAlertFieldDataAttributes.md @@ -0,0 +1,13 @@ + + +# UpdateAlertFieldDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert field | [optional] | + + + diff --git a/docs/UpdateAlertGroupDataAttributes.md b/docs/UpdateAlertGroupDataAttributes.md index 3ccfa9f5..2ae6fc31 100644 --- a/docs/UpdateAlertGroupDataAttributes.md +++ b/docs/UpdateAlertGroupDataAttributes.md @@ -11,10 +11,11 @@ |**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] | |**targets** | [**List<NewAlertGroupDataAttributesTargetsInner>**](NewAlertGroupDataAttributesTargetsInner.md) | | [optional] | -|**attributes** | [**List<NewAlertGroupDataAttributesAttributesInner>**](NewAlertGroupDataAttributesAttributesInner.md) | | [optional] | -|**groupByAlertTitle** | [**GroupByAlertTitleEnum**](#GroupByAlertTitleEnum) | Whether the alerts should be grouped by titles. | [optional] | -|**groupByAlertUrgency** | [**GroupByAlertUrgencyEnum**](#GroupByAlertUrgencyEnum) | Whether the alerts should be grouped by urgencies. | [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] | +|**groupByAlertUrgency** | [**GroupByAlertUrgencyEnum**](#GroupByAlertUrgencyEnum) | [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. | [optional] | |**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | Group alerts when ANY or ALL of the fields are matching. | [optional] | +|**conditions** | [**List<NewAlertGroupDataAttributesConditionsInner>**](NewAlertGroupDataAttributesConditionsInner.md) | | [optional] | diff --git a/docs/UpdateAlertRoute.md b/docs/UpdateAlertRoute.md new file mode 100644 index 00000000..cdd8bb6f --- /dev/null +++ b/docs/UpdateAlertRoute.md @@ -0,0 +1,13 @@ + + +# UpdateAlertRoute + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateAlertRouteData**](UpdateAlertRouteData.md) | | | + + + diff --git a/docs/UpdateAlertRouteData.md b/docs/UpdateAlertRouteData.md new file mode 100644 index 00000000..78333ac1 --- /dev/null +++ b/docs/UpdateAlertRouteData.md @@ -0,0 +1,22 @@ + + +# UpdateAlertRouteData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateAlertRouteDataAttributes**](UpdateAlertRouteDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ALERT_ROUTES | "alert_routes" | + + + diff --git a/docs/UpdateAlertRouteDataAttributes.md b/docs/UpdateAlertRouteDataAttributes.md new file mode 100644 index 00000000..a2275c5f --- /dev/null +++ b/docs/UpdateAlertRouteDataAttributes.md @@ -0,0 +1,17 @@ + + +# UpdateAlertRouteDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the alert route | [optional] | +|**enabled** | **Boolean** | Whether the alert route is enabled | [optional] | +|**alertsSourceIds** | **List<UUID>** | | [optional] | +|**owningTeamIds** | **List<UUID>** | | [optional] | +|**rules** | [**List<NewAlertRouteDataAttributesRulesInner>**](NewAlertRouteDataAttributesRulesInner.md) | | [optional] | + + + diff --git a/docs/UpdateAlertRoutingRuleDataAttributes.md b/docs/UpdateAlertRoutingRuleDataAttributes.md index 91f699b6..b68851e5 100644 --- a/docs/UpdateAlertRoutingRuleDataAttributes.md +++ b/docs/UpdateAlertRoutingRuleDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the alert routing rule | [optional] | |**enabled** | **Boolean** | Whether the alert routing rule is enabled | [optional] | |**alertsSourceId** | **UUID** | The ID of the alerts source | [optional] | +|**position** | **Integer** | The position of the alert routing rule for ordering evaluation | [optional] | |**owningTeamIds** | **List<UUID>** | The IDs of the teams that own the alert routing rule | [optional] | |**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | The type of condition for the alert routing rule | [optional] | |**conditions** | [**List<UpdateAlertRoutingRuleDataAttributesConditionsInner>**](UpdateAlertRoutingRuleDataAttributesConditionsInner.md) | | [optional] | diff --git a/docs/UpdateAlertRoutingRuleDataAttributesDestination.md b/docs/UpdateAlertRoutingRuleDataAttributesDestination.md index 82d9d846..6798c56b 100644 --- a/docs/UpdateAlertRoutingRuleDataAttributesDestination.md +++ b/docs/UpdateAlertRoutingRuleDataAttributesDestination.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target | [optional] | +|**targetType** | [**TargetTypeEnum**](#TargetTypeEnum) | The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. | [optional] | |**targetId** | **UUID** | The ID of the target | [optional] | @@ -16,8 +16,9 @@ | Name | Value | |---- | -----| -| GROUP | "Group" | | SERVICE | "Service" | +| GROUP | "Group" | +| FUNCTIONALITY | "Functionality" | | ESCALATION_POLICY | "EscalationPolicy" | diff --git a/docs/UpdateAlertsSourceDataAttributes.md b/docs/UpdateAlertsSourceDataAttributes.md index 6c4dd628..4c597a6c 100644 --- a/docs/UpdateAlertsSourceDataAttributes.md +++ b/docs/UpdateAlertsSourceDataAttributes.md @@ -10,11 +10,16 @@ |**name** | **String** | The name of the alert source | [optional] | |**sourceType** | [**SourceTypeEnum**](#SourceTypeEnum) | The alert source type | [optional] | |**alertUrgencyId** | **String** | ID for the default alert urgency assigned to this alert source | [optional] | +|**deduplicateAlertsByKey** | **Boolean** | Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. | [optional] | +|**deduplicationKeyKind** | [**DeduplicationKeyKindEnum**](#DeduplicationKeyKindEnum) | Kind of deduplication key. | [optional] | +|**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] | |**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] | @@ -26,12 +31,14 @@ | APP_DYNAMICS | "app_dynamics" | | CATCHPOINT | "catchpoint" | | DATADOG | "datadog" | +| DYNATRACE | "dynatrace" | | ALERTMANAGER | "alertmanager" | | GOOGLE_CLOUD | "google_cloud" | | GRAFANA | "grafana" | | SENTRY | "sentry" | | GENERIC_WEBHOOK | "generic_webhook" | | CLOUD_WATCH | "cloud_watch" | +| AWS_SNS | "aws_sns" | | CHECKLY | "checkly" | | AZURE | "azure" | | NEW_RELIC | "new_relic" | @@ -46,3 +53,11 @@ +## Enum: DeduplicationKeyKindEnum + +| Name | Value | +|---- | -----| +| PAYLOAD | "payload" | + + + diff --git a/docs/UpdateApiKey.md b/docs/UpdateApiKey.md new file mode 100644 index 00000000..7a2ca98b --- /dev/null +++ b/docs/UpdateApiKey.md @@ -0,0 +1,13 @@ + + +# UpdateApiKey + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateApiKeyData**](UpdateApiKeyData.md) | | | + + + diff --git a/docs/UpdateApiKeyData.md b/docs/UpdateApiKeyData.md new file mode 100644 index 00000000..87d5eaad --- /dev/null +++ b/docs/UpdateApiKeyData.md @@ -0,0 +1,22 @@ + + +# UpdateApiKeyData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateApiKeyDataAttributes**](UpdateApiKeyDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| API_KEYS | "api_keys" | + + + diff --git a/docs/UpdateApiKeyDataAttributes.md b/docs/UpdateApiKeyDataAttributes.md new file mode 100644 index 00000000..63318369 --- /dev/null +++ b/docs/UpdateApiKeyDataAttributes.md @@ -0,0 +1,15 @@ + + +# UpdateApiKeyDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the API key | [optional] | +|**description** | **String** | A description of the API key | [optional] | +|**expiresAt** | **OffsetDateTime** | The expiration date of the API key (ISO 8601) | [optional] | + + + diff --git a/docs/UpdateCatalogChecklistTemplate.md b/docs/UpdateCatalogChecklistTemplate.md new file mode 100644 index 00000000..1afbc35c --- /dev/null +++ b/docs/UpdateCatalogChecklistTemplate.md @@ -0,0 +1,13 @@ + + +# UpdateCatalogChecklistTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCatalogChecklistTemplateData**](UpdateCatalogChecklistTemplateData.md) | | | + + + diff --git a/docs/UpdateCatalogChecklistTemplateData.md b/docs/UpdateCatalogChecklistTemplateData.md new file mode 100644 index 00000000..9aec1852 --- /dev/null +++ b/docs/UpdateCatalogChecklistTemplateData.md @@ -0,0 +1,22 @@ + + +# UpdateCatalogChecklistTemplateData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCatalogChecklistTemplateDataAttributes**](UpdateCatalogChecklistTemplateDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_CHECKLIST_TEMPLATES | "catalog_checklist_templates" | + + + diff --git a/docs/UpdateCatalogChecklistTemplateDataAttributes.md b/docs/UpdateCatalogChecklistTemplateDataAttributes.md new file mode 100644 index 00000000..fbde1735 --- /dev/null +++ b/docs/UpdateCatalogChecklistTemplateDataAttributes.md @@ -0,0 +1,16 @@ + + +# UpdateCatalogChecklistTemplateDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the checklist template | [optional] | +|**description** | **String** | The description of the checklist template | [optional] | +|**fields** | [**List<NewCatalogChecklistTemplateDataAttributesFieldsInner>**](NewCatalogChecklistTemplateDataAttributesFieldsInner.md) | Template fields. Position is determined by array order. Replaces all existing fields. | [optional] | +|**owners** | [**List<NewCatalogChecklistTemplateDataAttributesOwnersInner>**](NewCatalogChecklistTemplateDataAttributesOwnersInner.md) | Template owners. Replaces all existing owners. | [optional] | + + + diff --git a/docs/UpdateCatalogEntityDataAttributes.md b/docs/UpdateCatalogEntityDataAttributes.md index d34d73ba..c032ddae 100644 --- a/docs/UpdateCatalogEntityDataAttributes.md +++ b/docs/UpdateCatalogEntityDataAttributes.md @@ -10,6 +10,8 @@ |**name** | **String** | | [optional] | |**description** | **String** | | [optional] | |**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**backstageId** | **String** | The Backstage entity ID this catalog entity is linked to. | [optional] | +|**properties** | [**List<NewCatalogEntityDataAttributesPropertiesInner>**](NewCatalogEntityDataAttributesPropertiesInner.md) | Array of property values for this catalog entity | [optional] | diff --git a/docs/UpdateCatalogEntityProperty.md b/docs/UpdateCatalogEntityProperty.md index c9600f07..66197cd3 100644 --- a/docs/UpdateCatalogEntityProperty.md +++ b/docs/UpdateCatalogEntityProperty.md @@ -2,6 +2,7 @@ # UpdateCatalogEntityProperty +**Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. ## Properties diff --git a/docs/UpdateCatalogEntityPropertyDataAttributes.md b/docs/UpdateCatalogEntityPropertyDataAttributes.md index a781160b..efc6261a 100644 --- a/docs/UpdateCatalogEntityPropertyDataAttributes.md +++ b/docs/UpdateCatalogEntityPropertyDataAttributes.md @@ -18,6 +18,7 @@ |---- | -----| | TEXT | "text" | | CATALOG_ENTITY | "catalog_entity" | +| SLACK | "slack" | diff --git a/docs/UpdateCatalogFieldData.md b/docs/UpdateCatalogFieldData.md index b2717732..a6e50ab7 100644 --- a/docs/UpdateCatalogFieldData.md +++ b/docs/UpdateCatalogFieldData.md @@ -16,7 +16,7 @@ | Name | Value | |---- | -----| -| CATALOG_FIELDS | "catalog_fields" | +| CATALOG_PROPERTIES | "catalog_properties" | diff --git a/docs/UpdateCatalogFieldDataAttributes.md b/docs/UpdateCatalogFieldDataAttributes.md index 2b13f08a..47048df5 100644 --- a/docs/UpdateCatalogFieldDataAttributes.md +++ b/docs/UpdateCatalogFieldDataAttributes.md @@ -8,10 +8,11 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | | [optional] | -|**slug** | **String** | | [optional] | |**kind** | [**KindEnum**](#KindEnum) | | [optional] | |**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | |**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**required** | **Boolean** | Whether the field is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the field belongs to. | [optional] | @@ -21,6 +22,29 @@ |---- | -----| | TEXT | "text" | | REFERENCE | "reference" | +| BOOLEAN | "boolean" | +| REFERENCE2 | "reference" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ENVIRONMENT | "environment" | +| GROUP | "group" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | +| USER | "user" | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | diff --git a/docs/UpdateCatalogProperty.md b/docs/UpdateCatalogProperty.md new file mode 100644 index 00000000..9d08e98b --- /dev/null +++ b/docs/UpdateCatalogProperty.md @@ -0,0 +1,13 @@ + + +# UpdateCatalogProperty + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCatalogPropertyData**](UpdateCatalogPropertyData.md) | | | + + + diff --git a/docs/UpdateCatalogPropertyData.md b/docs/UpdateCatalogPropertyData.md new file mode 100644 index 00000000..55927c6c --- /dev/null +++ b/docs/UpdateCatalogPropertyData.md @@ -0,0 +1,22 @@ + + +# UpdateCatalogPropertyData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCatalogPropertyDataAttributes**](UpdateCatalogPropertyDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| CATALOG_PROPERTIES | "catalog_properties" | + + + diff --git a/docs/UpdateCatalogPropertyDataAttributes.md b/docs/UpdateCatalogPropertyDataAttributes.md new file mode 100644 index 00000000..7428435f --- /dev/null +++ b/docs/UpdateCatalogPropertyDataAttributes.md @@ -0,0 +1,50 @@ + + +# UpdateCatalogPropertyDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | | [optional] | +|**kindCatalogId** | **String** | Restricts values to items of specified catalog. | [optional] | +|**position** | **Integer** | Default position of the item when displayed in a list. | [optional] | +|**required** | **Boolean** | Whether the property is required. | [optional] | +|**catalogType** | [**CatalogTypeEnum**](#CatalogTypeEnum) | The type of catalog the property belongs to. | [optional] | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| TEXT | "text" | +| REFERENCE | "reference" | +| BOOLEAN | "boolean" | +| REFERENCE2 | "reference" | +| SERVICE | "service" | +| FUNCTIONALITY | "functionality" | +| ENVIRONMENT | "environment" | +| GROUP | "group" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | +| USER | "user" | + + + +## Enum: CatalogTypeEnum + +| Name | Value | +|---- | -----| +| CATALOG | "catalog" | +| CAUSE | "cause" | +| ENVIRONMENT | "environment" | +| FUNCTIONALITY | "functionality" | +| INCIDENT_TYPE | "incident_type" | +| SERVICE | "service" | +| TEAM | "team" | + + + diff --git a/docs/UpdateCauseDataAttributes.md b/docs/UpdateCauseDataAttributes.md index 14177b48..84a26465 100644 --- a/docs/UpdateCauseDataAttributes.md +++ b/docs/UpdateCauseDataAttributes.md @@ -10,6 +10,7 @@ |**name** | **String** | The name of the cause | [optional] | |**description** | **String** | The description of the cause | [optional] | |**position** | **Integer** | Position of the cause | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this cause. | [optional] | diff --git a/docs/UpdateCommunicationsGroup.md b/docs/UpdateCommunicationsGroup.md new file mode 100644 index 00000000..01fcdc5d --- /dev/null +++ b/docs/UpdateCommunicationsGroup.md @@ -0,0 +1,13 @@ + + +# UpdateCommunicationsGroup + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCommunicationsGroupData**](UpdateCommunicationsGroupData.md) | | | + + + diff --git a/docs/UpdateCommunicationsGroupData.md b/docs/UpdateCommunicationsGroupData.md new file mode 100644 index 00000000..5a9af9de --- /dev/null +++ b/docs/UpdateCommunicationsGroupData.md @@ -0,0 +1,22 @@ + + +# UpdateCommunicationsGroupData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCommunicationsGroupDataAttributes**](UpdateCommunicationsGroupDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_GROUPS | "communications_groups" | + + + diff --git a/docs/UpdateCommunicationsGroupDataAttributes.md b/docs/UpdateCommunicationsGroupDataAttributes.md new file mode 100644 index 00000000..9edb7a05 --- /dev/null +++ b/docs/UpdateCommunicationsGroupDataAttributes.md @@ -0,0 +1,32 @@ + + +# UpdateCommunicationsGroupDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications group | [optional] | +|**description** | **String** | The description of the communications group | [optional] | +|**communicationTypeId** | **String** | The communication type ID | [optional] | +|**isPrivate** | **Boolean** | Whether the group is private | [optional] | +|**conditionType** | [**ConditionTypeEnum**](#ConditionTypeEnum) | Condition type | [optional] | +|**smsChannel** | **Boolean** | SMS channel enabled | [optional] | +|**emailChannel** | **Boolean** | Email channel enabled | [optional] | +|**memberIds** | **List<Integer>** | Array of member user IDs | [optional] | +|**slackChannelIds** | **List<String>** | Array of Slack channel IDs | [optional] | +|**communicationGroupConditions** | [**List<UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner>**](UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md) | Group conditions attributes | [optional] | +|**communicationExternalGroupMembers** | [**List<UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner>**](UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md) | External group members attributes | [optional] | + + + +## Enum: ConditionTypeEnum + +| Name | Value | +|---- | -----| +| ANY | "any" | +| ALL | "all" | + + + diff --git a/docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md b/docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md new file mode 100644 index 00000000..8d1e6cea --- /dev/null +++ b/docs/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.md @@ -0,0 +1,16 @@ + + +# UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the external group member | [optional] | +|**name** | **String** | Name of the external member | [optional] | +|**email** | **String** | Email of the external member | [optional] | +|**phoneNumber** | **String** | Phone number of the external member | [optional] | + + + diff --git a/docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md b/docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md new file mode 100644 index 00000000..ae0bb91d --- /dev/null +++ b/docs/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.md @@ -0,0 +1,31 @@ + + +# UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the condition | [optional] | +|**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/UpdateCommunicationsStage.md b/docs/UpdateCommunicationsStage.md new file mode 100644 index 00000000..b1def285 --- /dev/null +++ b/docs/UpdateCommunicationsStage.md @@ -0,0 +1,13 @@ + + +# UpdateCommunicationsStage + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCommunicationsStageData**](UpdateCommunicationsStageData.md) | | | + + + diff --git a/docs/UpdateCommunicationsStageData.md b/docs/UpdateCommunicationsStageData.md new file mode 100644 index 00000000..098e8f68 --- /dev/null +++ b/docs/UpdateCommunicationsStageData.md @@ -0,0 +1,22 @@ + + +# UpdateCommunicationsStageData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCommunicationsStageDataAttributes**](UpdateCommunicationsStageDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_STAGES | "communications_stages" | + + + diff --git a/docs/UpdateCommunicationsStageDataAttributes.md b/docs/UpdateCommunicationsStageDataAttributes.md new file mode 100644 index 00000000..c2ccc0b1 --- /dev/null +++ b/docs/UpdateCommunicationsStageDataAttributes.md @@ -0,0 +1,15 @@ + + +# UpdateCommunicationsStageDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications stage | [optional] | +|**description** | **String** | The description of the communications stage | [optional] | +|**position** | **Integer** | Position of the communications stage | [optional] | + + + diff --git a/docs/UpdateCommunicationsTemplate.md b/docs/UpdateCommunicationsTemplate.md new file mode 100644 index 00000000..85a0598e --- /dev/null +++ b/docs/UpdateCommunicationsTemplate.md @@ -0,0 +1,13 @@ + + +# UpdateCommunicationsTemplate + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCommunicationsTemplateData**](UpdateCommunicationsTemplateData.md) | | | + + + diff --git a/docs/UpdateCommunicationsTemplateData.md b/docs/UpdateCommunicationsTemplateData.md new file mode 100644 index 00000000..19e595ad --- /dev/null +++ b/docs/UpdateCommunicationsTemplateData.md @@ -0,0 +1,22 @@ + + +# UpdateCommunicationsTemplateData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCommunicationsTemplateDataAttributes**](UpdateCommunicationsTemplateDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TEMPLATES | "communications_templates" | + + + diff --git a/docs/UpdateCommunicationsTemplateDataAttributes.md b/docs/UpdateCommunicationsTemplateDataAttributes.md new file mode 100644 index 00000000..84f28e91 --- /dev/null +++ b/docs/UpdateCommunicationsTemplateDataAttributes.md @@ -0,0 +1,17 @@ + + +# UpdateCommunicationsTemplateDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications template | [optional] | +|**description** | **String** | The description of the communications template | [optional] | +|**communicationTypeId** | **String** | The communication type ID | [optional] | +|**position** | **Integer** | Position of the communications template | [optional] | +|**communicationTemplateStagesAttributes** | [**List<UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner>**](UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md) | Template stages attributes | [optional] | + + + diff --git a/docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md b/docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md new file mode 100644 index 00000000..ec1551bf --- /dev/null +++ b/docs/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.md @@ -0,0 +1,17 @@ + + +# UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | ID of the communication template stage | [optional] | +|**smsContent** | **String** | SMS content for the stage | [optional] | +|**emailSubject** | **String** | Email subject for the stage | [optional] | +|**emailBody** | **String** | Email body for the stage | [optional] | +|**slackContent** | **String** | Slack content for the stage | [optional] | + + + diff --git a/docs/UpdateCommunicationsType.md b/docs/UpdateCommunicationsType.md new file mode 100644 index 00000000..50f70055 --- /dev/null +++ b/docs/UpdateCommunicationsType.md @@ -0,0 +1,13 @@ + + +# UpdateCommunicationsType + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateCommunicationsTypeData**](UpdateCommunicationsTypeData.md) | | | + + + diff --git a/docs/UpdateCommunicationsTypeData.md b/docs/UpdateCommunicationsTypeData.md new file mode 100644 index 00000000..fbed8ce2 --- /dev/null +++ b/docs/UpdateCommunicationsTypeData.md @@ -0,0 +1,22 @@ + + +# UpdateCommunicationsTypeData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateCommunicationsTypeDataAttributes**](UpdateCommunicationsTypeDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| COMMUNICATIONS_TYPES | "communications_types" | + + + diff --git a/docs/UpdateCommunicationsTypeDataAttributes.md b/docs/UpdateCommunicationsTypeDataAttributes.md new file mode 100644 index 00000000..342ea77c --- /dev/null +++ b/docs/UpdateCommunicationsTypeDataAttributes.md @@ -0,0 +1,16 @@ + + +# UpdateCommunicationsTypeDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the communications type | [optional] | +|**description** | **String** | The description of the communications type | [optional] | +|**color** | **String** | The color of the communications type | [optional] | +|**position** | **Integer** | Position of the communications type | [optional] | + + + diff --git a/docs/UpdateConfluencePageTaskParams.md b/docs/UpdateConfluencePageTaskParams.md new file mode 100644 index 00000000..923c2956 --- /dev/null +++ b/docs/UpdateConfluencePageTaskParams.md @@ -0,0 +1,27 @@ + + +# UpdateConfluencePageTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**integration** | [**CreateConfluencePageTaskParamsIntegration**](CreateConfluencePageTaskParamsIntegration.md) | | [optional] | +|**fileId** | **String** | The Confluence page ID | | +|**title** | **String** | The Confluence page title | [optional] | +|**content** | **String** | The Confluence page content | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating page, if desired | [optional] | +|**template** | [**UpdateConfluencePageTaskParamsTemplate**](UpdateConfluencePageTaskParamsTemplate.md) | | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_CONFLUENCE_PAGE | "update_confluence_page" | + + + diff --git a/docs/UpdateConfluencePageTaskParamsTemplate.md b/docs/UpdateConfluencePageTaskParamsTemplate.md new file mode 100644 index 00000000..05bec9a5 --- /dev/null +++ b/docs/UpdateConfluencePageTaskParamsTemplate.md @@ -0,0 +1,15 @@ + + +# UpdateConfluencePageTaskParamsTemplate + +The Confluence template to use + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/UpdateCustomFieldDataAttributes.md b/docs/UpdateCustomFieldDataAttributes.md index 1e1f4be3..6549a089 100644 --- a/docs/UpdateCustomFieldDataAttributes.md +++ b/docs/UpdateCustomFieldDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**label** | **String** | The name of the custom_field | [optional] | -|**slug** | **String** | The slug of the custom_field | [optional] | |**description** | **String** | The description of the custom_field | [optional] | |**shown** | [**List<ShownEnum>**](#List<ShownEnum>) | | [optional] | |**required** | [**List<RequiredEnum>**](#List<RequiredEnum>) | | [optional] | diff --git a/docs/UpdateCustomFormDataAttributes.md b/docs/UpdateCustomFormDataAttributes.md index e6b53c5b..5b6e6df5 100644 --- a/docs/UpdateCustomFormDataAttributes.md +++ b/docs/UpdateCustomFormDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the custom form. | [optional] | -|**slug** | **String** | The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. | [optional] | |**description** | **String** | | [optional] | |**enabled** | **Boolean** | | [optional] | |**command** | **String** | The Slack command used to trigger this form. | [optional] | diff --git a/docs/UpdateDatadogNotebookTaskParams.md b/docs/UpdateDatadogNotebookTaskParams.md new file mode 100644 index 00000000..aaa9dfa8 --- /dev/null +++ b/docs/UpdateDatadogNotebookTaskParams.md @@ -0,0 +1,39 @@ + + +# UpdateDatadogNotebookTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**fileId** | **String** | The Datadog notebook ID | | +|**title** | **String** | The Datadog notebook title | [optional] | +|**content** | **String** | The Datadog notebook content | [optional] | +|**kind** | [**KindEnum**](#KindEnum) | The notebook type | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating notebook, if desired | [optional] | +|**template** | [**UpdateDatadogNotebookTaskParamsTemplate**](UpdateDatadogNotebookTaskParamsTemplate.md) | | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_DATADOG_NOTEBOOK | "update_datadog_notebook" | + + + +## Enum: KindEnum + +| Name | Value | +|---- | -----| +| POSTMORTEM | "postmortem" | +| RUNBOOK | "runbook" | +| INVESTIGATION | "investigation" | +| DOCUMENTATION | "documentation" | +| REPORT | "report" | + + + diff --git a/docs/UpdateDatadogNotebookTaskParamsTemplate.md b/docs/UpdateDatadogNotebookTaskParamsTemplate.md new file mode 100644 index 00000000..696d8fd9 --- /dev/null +++ b/docs/UpdateDatadogNotebookTaskParamsTemplate.md @@ -0,0 +1,15 @@ + + +# UpdateDatadogNotebookTaskParamsTemplate + +The Datadog notebook template to use + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/UpdateDropboxPaperPageTaskParams.md b/docs/UpdateDropboxPaperPageTaskParams.md new file mode 100644 index 00000000..47fae1fa --- /dev/null +++ b/docs/UpdateDropboxPaperPageTaskParams.md @@ -0,0 +1,25 @@ + + +# UpdateDropboxPaperPageTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**fileId** | **String** | The Dropbox Paper document ID | | +|**title** | **String** | The Dropbox Paper document title | [optional] | +|**content** | **String** | The Dropbox Paper document content | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating document, if desired | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_DROPBOX_PAPER_PAGE | "update_dropbox_paper_page" | + + + diff --git a/docs/UpdateEdgeConnector.md b/docs/UpdateEdgeConnector.md new file mode 100644 index 00000000..e0df5bc5 --- /dev/null +++ b/docs/UpdateEdgeConnector.md @@ -0,0 +1,13 @@ + + +# UpdateEdgeConnector + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**edgeConnector** | [**UpdateEdgeConnectorRequestDataAttributes**](UpdateEdgeConnectorRequestDataAttributes.md) | | | + + + diff --git a/docs/UpdateEdgeConnectorAction.md b/docs/UpdateEdgeConnectorAction.md new file mode 100644 index 00000000..2ce3853d --- /dev/null +++ b/docs/UpdateEdgeConnectorAction.md @@ -0,0 +1,13 @@ + + +# UpdateEdgeConnectorAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**action** | [**UpdateEdgeConnectorActionRequestAction**](UpdateEdgeConnectorActionRequestAction.md) | | | + + + diff --git a/docs/UpdateEdgeConnectorActionRequest.md b/docs/UpdateEdgeConnectorActionRequest.md new file mode 100644 index 00000000..592db923 --- /dev/null +++ b/docs/UpdateEdgeConnectorActionRequest.md @@ -0,0 +1,13 @@ + + +# UpdateEdgeConnectorActionRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**action** | [**UpdateEdgeConnectorActionRequestAction**](UpdateEdgeConnectorActionRequestAction.md) | | [optional] | + + + diff --git a/docs/UpdateEdgeConnectorActionRequestAction.md b/docs/UpdateEdgeConnectorActionRequestAction.md new file mode 100644 index 00000000..3eab1774 --- /dev/null +++ b/docs/UpdateEdgeConnectorActionRequestAction.md @@ -0,0 +1,24 @@ + + +# UpdateEdgeConnectorActionRequestAction + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**actionType** | [**ActionTypeEnum**](#ActionTypeEnum) | | [optional] | +|**metadata** | **Object** | | [optional] | + + + +## Enum: ActionTypeEnum + +| Name | Value | +|---- | -----| +| SCRIPT | "script" | +| HTTP | "http" | + + + diff --git a/docs/UpdateEdgeConnectorRequest.md b/docs/UpdateEdgeConnectorRequest.md new file mode 100644 index 00000000..0c598e04 --- /dev/null +++ b/docs/UpdateEdgeConnectorRequest.md @@ -0,0 +1,13 @@ + + +# UpdateEdgeConnectorRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateEdgeConnectorRequestData**](UpdateEdgeConnectorRequestData.md) | | [optional] | + + + diff --git a/docs/UpdateEdgeConnectorRequestData.md b/docs/UpdateEdgeConnectorRequestData.md new file mode 100644 index 00000000..3954738f --- /dev/null +++ b/docs/UpdateEdgeConnectorRequestData.md @@ -0,0 +1,23 @@ + + +# UpdateEdgeConnectorRequestData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | [optional] | +|**id** | **String** | | [optional] | +|**attributes** | [**UpdateEdgeConnectorRequestDataAttributes**](UpdateEdgeConnectorRequestDataAttributes.md) | | [optional] | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| EDGE_CONNECTORS | "edge_connectors" | + + + diff --git a/docs/UpdateEdgeConnectorRequestDataAttributes.md b/docs/UpdateEdgeConnectorRequestDataAttributes.md new file mode 100644 index 00000000..23a8749c --- /dev/null +++ b/docs/UpdateEdgeConnectorRequestDataAttributes.md @@ -0,0 +1,25 @@ + + +# UpdateEdgeConnectorRequestDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | | [optional] | +|**description** | **String** | | [optional] | +|**status** | [**StatusEnum**](#StatusEnum) | | [optional] | +|**subscriptions** | **List<String>** | | [optional] | + + + +## Enum: StatusEnum + +| Name | Value | +|---- | -----| +| ACTIVE | "active" | +| PAUSED | "paused" | + + + diff --git a/docs/UpdateEnvironmentDataAttributes.md b/docs/UpdateEnvironmentDataAttributes.md index a36acdd8..68fb113d 100644 --- a/docs/UpdateEnvironmentDataAttributes.md +++ b/docs/UpdateEnvironmentDataAttributes.md @@ -14,6 +14,7 @@ |**notifyEmails** | **List<String>** | Emails to attach to 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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this environment. | [optional] | diff --git a/docs/UpdateEscalationPolicyLevelDataAttributes.md b/docs/UpdateEscalationPolicyLevelDataAttributes.md index 5fda5398..30bf4813 100644 --- a/docs/UpdateEscalationPolicyLevelDataAttributes.md +++ b/docs/UpdateEscalationPolicyLevelDataAttributes.md @@ -7,7 +7,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**delay** | **Integer** | Delay before notification targets will be alerted. | [optional] | +|**delay** | **Integer** | Delay before notifying targets in the next Escalation Level. | [optional] | |**position** | **Integer** | Position of the escalation policy level | [optional] | |**escalationPolicyPathId** | **String** | The ID of the dynamic escalation policy path the level will belong to. If nothing is specified it will add the level to your default path. | [optional] | |**pagingStrategyConfigurationStrategy** | [**PagingStrategyConfigurationStrategyEnum**](#PagingStrategyConfigurationStrategyEnum) | | [optional] | diff --git a/docs/UpdateEscalationPolicyPathDataAttributes.md b/docs/UpdateEscalationPolicyPathDataAttributes.md index c1083c00..e3b04a34 100644 --- a/docs/UpdateEscalationPolicyPathDataAttributes.md +++ b/docs/UpdateEscalationPolicyPathDataAttributes.md @@ -9,6 +9,9 @@ |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the escalation path | [optional] | |**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | Position of the escalation policy level | [optional] | +|**pathType** | [**PathTypeEnum**](#PathTypeEnum) | The type of escalation path. Cannot be changed after creation. | [optional] | +|**afterDeferralBehavior** | [**AfterDeferralBehaviorEnum**](#AfterDeferralBehaviorEnum) | What happens after a deferral path finishes. | [optional] | +|**afterDeferralPathId** | **String** | The escalation path to execute after this deferral path when after_deferral_behavior is execute_path. | [optional] | |**_default** | **Boolean** | Whether this escalation path is the default path | [optional] | |**matchMode** | [**MatchModeEnum**](#MatchModeEnum) | How path rules are matched. | [optional] | |**position** | **Integer** | The position of this path in the paths for this EP. | [optional] | @@ -16,6 +19,8 @@ |**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] | |**rules** | [**List<UpdateEscalationPolicyPathDataAttributesRulesInner>**](UpdateEscalationPolicyPathDataAttributesRulesInner.md) | Escalation path conditions | [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] | @@ -28,6 +33,24 @@ +## Enum: PathTypeEnum + +| Name | Value | +|---- | -----| +| ESCALATION | "escalation" | +| DEFERRAL | "deferral" | + + + +## Enum: AfterDeferralBehaviorEnum + +| Name | Value | +|---- | -----| +| RE_EVALUATE | "re_evaluate" | +| EXECUTE_PATH | "execute_path" | + + + ## Enum: MatchModeEnum | Name | Value | @@ -37,3 +60,314 @@ +## Enum: TimeRestrictionTimeZoneEnum + +| 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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | + + + diff --git a/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md b/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md index 4d770409..0b88f708 100644 --- a/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md +++ b/docs/UpdateEscalationPolicyPathDataAttributesRulesInner.md @@ -11,8 +11,14 @@ |**urgencyIds** | **List<String>** | Alert urgency ids for which this escalation path should be used | | |**withinWorkingHour** | **Boolean** | Whether the escalation path should be used within working hours | | |**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 | | +|**operator** | [**OperatorEnum**](#OperatorEnum) | How the alert field value should be matched | | +|**value** | **String** | Value with which JSON path value should be matched | [optional] | +|**values** | **List<String>** | Values to match against | [optional] | +|**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 | | @@ -20,7 +26,7 @@ | Name | Value | |---- | -----| -| JSON_PATH | "json_path" | +| DEFERRAL_WINDOW | "deferral_window" | @@ -30,8 +36,329 @@ |---- | -----| | 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" | + + + +## 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" | +| AMERICA_MEXICO_CITY2 | "America/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" | +| AMERICA_LIMA2 | "America/Lima" | +| 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" | +| EDINBURGH | "Edinburgh" | +| EUROPE_LONDON | "Europe/London" | +| LISBON | "Lisbon" | +| EUROPE_LISBON | "Europe/Lisbon" | +| LONDON | "London" | +| EUROPE_LONDON2 | "Europe/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" | +| CASABLANCA | "Casablanca" | +| AFRICA_CASABLANCA | "Africa/Casablanca" | +| 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" | +| EUROPE_ZURICH2 | "Europe/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_KIEV | "Europe/Kiev" | +| 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" | +| EUROPE_MOSCOW2 | "Europe/Moscow" | +| 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" | +| ASIA_MUSCAT2 | "Asia/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" | +| ASIA_ALMATY2 | "Asia/Almaty" | +| EKATERINBURG | "Ekaterinburg" | +| ASIA_YEKATERINBURG | "Asia/Yekaterinburg" | +| ISLAMABAD | "Islamabad" | +| ASIA_KARACHI | "Asia/Karachi" | +| KARACHI | "Karachi" | +| ASIA_KARACHI2 | "Asia/Karachi" | +| TASHKENT | "Tashkent" | +| ASIA_TASHKENT | "Asia/Tashkent" | +| CHENNAI | "Chennai" | +| ASIA_KOLKATA | "Asia/Kolkata" | +| KOLKATA | "Kolkata" | +| ASIA_KOLKATA2 | "Asia/Kolkata" | +| MUMBAI | "Mumbai" | +| ASIA_KOLKATA3 | "Asia/Kolkata" | +| NEW_DELHI | "New Delhi" | +| ASIA_KOLKATA4 | "Asia/Kolkata" | +| 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_RANGOON | "Asia/Rangoon" | +| BANGKOK | "Bangkok" | +| ASIA_BANGKOK | "Asia/Bangkok" | +| HANOI | "Hanoi" | +| ASIA_BANGKOK2 | "Asia/Bangkok" | +| 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" | +| ASIA_TOKYO2 | "Asia/Tokyo" | +| SEOUL | "Seoul" | +| ASIA_SEOUL | "Asia/Seoul" | +| TOKYO | "Tokyo" | +| ASIA_TOKYO3 | "Asia/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" | +| PACIFIC_AUCKLAND2 | "Pacific/Auckland" | +| 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" | diff --git a/docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md b/docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md new file mode 100644 index 00000000..2bbfec6a --- /dev/null +++ b/docs/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.md @@ -0,0 +1,44 @@ + + +# UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + + +## 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/UpdateFormFieldDataAttributes.md b/docs/UpdateFormFieldDataAttributes.md index 7506766f..7379567f 100644 --- a/docs/UpdateFormFieldDataAttributes.md +++ b/docs/UpdateFormFieldDataAttributes.md @@ -18,6 +18,7 @@ |**showOnIncidentDetails** | **Boolean** | Whether the form field is shown on the incident details panel | [optional] | |**enabled** | **Boolean** | Whether the form field is enabled | [optional] | |**defaultValues** | **List<String>** | | [optional] | +|**autoSetByCatalogPropertyId** | **String** | Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. | [optional] | @@ -53,6 +54,7 @@ | MITIGATED_AT | "mitigated_at" | | RESOLVED_AT | "resolved_at" | | CLOSED_AT | "closed_at" | +| CUSTOM_SUB_STATUS | "custom_sub_status" | | MANUAL_STARTING_DATETIME_FIELD | "manual_starting_datetime_field" | @@ -84,6 +86,9 @@ | FUNCTIONALITY | "functionality" | | USER | "user" | | CATALOG_ENTITY | "catalog_entity" | +| ENVIRONMENT | "environment" | +| CAUSE | "cause" | +| INCIDENT_TYPE | "incident_type" | diff --git a/docs/UpdateFormFieldOptionDataAttributes.md b/docs/UpdateFormFieldOptionDataAttributes.md index 5103f77b..90171fd1 100644 --- a/docs/UpdateFormFieldOptionDataAttributes.md +++ b/docs/UpdateFormFieldOptionDataAttributes.md @@ -7,10 +7,10 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**value** | **String** | The value of the form_field_option | [optional] | -|**color** | **String** | The hex color of the form_field_option | [optional] | +|**value** | **String** | The value of the form field option | [optional] | +|**color** | **String** | The hex color of the form field option | [optional] | |**_default** | **Boolean** | | [optional] | -|**position** | **Integer** | The position of the form_field_option | [optional] | +|**position** | **Integer** | The position of the form field option | [optional] | diff --git a/docs/UpdateFormFieldPlacementConditionDataAttributes.md b/docs/UpdateFormFieldPlacementConditionDataAttributes.md index e650c734..5c4c13de 100644 --- a/docs/UpdateFormFieldPlacementConditionDataAttributes.md +++ b/docs/UpdateFormFieldPlacementConditionDataAttributes.md @@ -29,6 +29,7 @@ | Name | Value | |---- | -----| | EQUAL | "equal" | +| NOT_EQUAL | "not_equal" | | IS_SET | "is_set" | | IS_NOT_SET | "is_not_set" | diff --git a/docs/UpdateFormFieldPlacementDataAttributes.md b/docs/UpdateFormFieldPlacementDataAttributes.md index 2ec7eb8a..9a325749 100644 --- a/docs/UpdateFormFieldPlacementDataAttributes.md +++ b/docs/UpdateFormFieldPlacementDataAttributes.md @@ -13,6 +13,7 @@ |**required** | **Boolean** | Whether the field is unconditionally required on this form. | [optional] | |**requiredOperator** | [**RequiredOperatorEnum**](#RequiredOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=required | [optional] | |**placementOperator** | [**PlacementOperatorEnum**](#PlacementOperatorEnum) | Logical operator when evaluating multiple form_field_placement_conditions with conditioned=placement | [optional] | +|**nonEditable** | **Boolean** | Whether the field is read-only and cannot be edited by users. | [optional] | diff --git a/docs/UpdateFunctionalityDataAttributes.md b/docs/UpdateFunctionalityDataAttributes.md index b8c99956..70e9de40 100644 --- a/docs/UpdateFunctionalityDataAttributes.md +++ b/docs/UpdateFunctionalityDataAttributes.md @@ -22,10 +22,12 @@ |**serviceNowCiSysId** | **String** | The Service Now CI sys id associated to this functionality | [optional] | |**environmentIds** | **List<String>** | Environments associated with this functionality | [optional] | |**serviceIds** | **List<String>** | Services associated with this functionality | [optional] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this functionality | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with this functionality | [optional] | +|**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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this functionality. | [optional] | diff --git a/docs/UpdateGithubIssueTaskParams.md b/docs/UpdateGithubIssueTaskParams.md index 5ade195d..900f03a4 100644 --- a/docs/UpdateGithubIssueTaskParams.md +++ b/docs/UpdateGithubIssueTaskParams.md @@ -9,8 +9,12 @@ |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | |**issueId** | **String** | The issue id | | +|**repository** | [**UpdateGithubIssueTaskParamsRepository**](UpdateGithubIssueTaskParamsRepository.md) | | [optional] | |**title** | **String** | The issue title | [optional] | |**body** | **String** | The issue body | [optional] | +|**labels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | The issue labels | [optional] | +|**labelsMode** | [**LabelsModeEnum**](#LabelsModeEnum) | How to apply labels. 'replace' (default) overwrites all existing labels. 'append' adds to existing labels without removing them. | [optional] | +|**issueType** | [**CreateGithubIssueTaskParamsIssueType**](CreateGithubIssueTaskParamsIssueType.md) | | [optional] | |**completion** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | @@ -23,3 +27,12 @@ +## Enum: LabelsModeEnum + +| Name | Value | +|---- | -----| +| REPLACE | "replace" | +| APPEND | "append" | + + + diff --git a/docs/UpdateGithubIssueTaskParamsRepository.md b/docs/UpdateGithubIssueTaskParamsRepository.md new file mode 100644 index 00000000..b1f4b81e --- /dev/null +++ b/docs/UpdateGithubIssueTaskParamsRepository.md @@ -0,0 +1,15 @@ + + +# UpdateGithubIssueTaskParamsRepository + +The repository (used for loading labels and issue types) + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/UpdateHeartbeatDataAttributes.md b/docs/UpdateHeartbeatDataAttributes.md index 535d7647..34fd2e5f 100644 --- a/docs/UpdateHeartbeatDataAttributes.md +++ b/docs/UpdateHeartbeatDataAttributes.md @@ -10,11 +10,12 @@ |**name** | **String** | The name of the heartbeat | [optional] | |**description** | **String** | The description of the heartbeat | [optional] | |**alertSummary** | **String** | Summary of alerts triggered when heartbeat expires. | [optional] | +|**alertDescription** | **String** | Description of alerts triggered when heartbeat expires. | [optional] | |**alertUrgencyId** | **String** | Urgency of alerts triggered when heartbeat expires. | [optional] | |**interval** | **Integer** | | [optional] | |**intervalUnit** | [**IntervalUnitEnum**](#IntervalUnitEnum) | | [optional] | |**notificationTargetId** | **String** | | [optional] | -|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | | [optional] | +|**notificationTargetType** | [**NotificationTargetTypeEnum**](#NotificationTargetTypeEnum) | The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. | [optional] | |**enabled** | **Boolean** | Whether to trigger alerts when heartbeat is expired. | [optional] | @@ -23,9 +24,9 @@ | Name | Value | |---- | -----| -| SECONDS | "seconds" | | MINUTES | "minutes" | | HOURS | "hours" | +| DAYS | "days" | @@ -37,6 +38,7 @@ | GROUP | "Group" | | SERVICE | "Service" | | ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/UpdateIncidentActionItemDataAttributes.md b/docs/UpdateIncidentActionItemDataAttributes.md index 7581ae1e..12974fed 100644 --- a/docs/UpdateIncidentActionItemDataAttributes.md +++ b/docs/UpdateIncidentActionItemDataAttributes.md @@ -16,6 +16,7 @@ |**status** | [**StatusEnum**](#StatusEnum) | The status of the action item | [optional] | |**dueDate** | **String** | The due date of the action item | [optional] | |**jiraIssueId** | **String** | The Jira issue ID. | [optional] | +|**jiraIssueKey** | **String** | The Jira issue key. | [optional] | |**jiraIssueUrl** | **String** | The Jira issue URL. | [optional] | diff --git a/docs/UpdateIncidentDataAttributes.md b/docs/UpdateIncidentDataAttributes.md index 8905fe3b..6d37b384 100644 --- a/docs/UpdateIncidentDataAttributes.md +++ b/docs/UpdateIncidentDataAttributes.md @@ -15,16 +15,25 @@ |**status** | [**StatusEnum**](#StatusEnum) | The status of the incident | [optional] | |**_private** | **Boolean** | Convert the incident as private. Once an incident is updated as private it cannot be undone | [optional] | |**severityId** | **String** | The Severity ID to attach to the incident | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the incident | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the incident | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the incident | [optional] | -|**functionalityIds** | **List<String>** | The Functionality ID's to attach to the incident | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the incident | [optional] | -|**causeIds** | **List<String>** | The Cause ID's to attach to the incident | [optional] | +|**publicTitle** | **String** | The public title of the incident | [optional] | +|**alertIds** | **List<String>** | The Alert IDs to attach to the incident | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the incident | [optional] | +|**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the incident | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the incident | [optional] | +|**functionalityIds** | **List<String>** | The Functionality IDs to attach to the incident | [optional] | +|**mutedServiceIds** | **List<String>** | The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. | [optional] | +|**groupIds** | **List<String>** | The Team IDs to attach to the incident | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident | [optional] | |**labels** | **Object** | Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"} | [optional] | |**slackChannelId** | **String** | Slack channel id | [optional] | |**slackChannelName** | **String** | Slack channel name | [optional] | |**slackChannelUrl** | **String** | Slack channel url | [optional] | +|**slackChannelArchived** | **Boolean** | Whether the Slack channel is archived | [optional] | +|**googleDriveParentId** | **String** | Google Drive parent folder ID | [optional] | +|**googleDriveUrl** | **String** | Google Drive URL | [optional] | +|**jiraIssueKey** | **String** | Jira issue key | [optional] | +|**jiraIssueId** | **String** | Jira issue ID | [optional] | +|**jiraIssueUrl** | **String** | Jira 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] | @@ -33,7 +42,11 @@ |**acknowledgedAt** | **String** | Date of acknowledgment | [optional] | |**mitigatedAt** | **String** | Date of mitigation | [optional] | |**resolvedAt** | **String** | Date of resolution | [optional] | +|**closedAt** | **String** | Date of closure | [optional] | |**cancelledAt** | **String** | Date of cancellation | [optional] | +|**mitigationMessage** | **String** | How was the incident mitigated? | [optional] | +|**resolutionMessage** | **String** | How was the incident resolved? | [optional] | +|**cancellationMessage** | **String** | Why was the incident cancelled? | [optional] | @@ -49,6 +62,7 @@ | NORMAL_SUB | "normal_sub" | | BACKFILLED | "backfilled" | | SCHEDULED | "scheduled" | +| SCHEDULED_SUB | "scheduled_sub" | diff --git a/docs/UpdateIncidentFormFieldSelectionDataAttributes.md b/docs/UpdateIncidentFormFieldSelectionDataAttributes.md index 376bb6fd..52b1bebf 100644 --- a/docs/UpdateIncidentFormFieldSelectionDataAttributes.md +++ b/docs/UpdateIncidentFormFieldSelectionDataAttributes.md @@ -14,6 +14,9 @@ |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedFunctionalityIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | diff --git a/docs/UpdateIncidentPermissionSetDataAttributes.md b/docs/UpdateIncidentPermissionSetDataAttributes.md index 5a473251..0927f2f4 100644 --- a/docs/UpdateIncidentPermissionSetDataAttributes.md +++ b/docs/UpdateIncidentPermissionSetDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The incident permission set name. | [optional] | -|**slug** | **String** | The incident permission set slug. | [optional] | |**description** | **String** | The incident permission set description. | [optional] | |**privateIncidentPermissions** | [**List<PrivateIncidentPermissionsEnum>**](#List<PrivateIncidentPermissionsEnum>) | | [optional] | |**publicIncidentPermissions** | [**List<PublicIncidentPermissionsEnum>**](#List<PublicIncidentPermissionsEnum>) | | [optional] | diff --git a/docs/UpdateIncidentPostMortemDataAttributes.md b/docs/UpdateIncidentPostMortemDataAttributes.md index 3bb1e2f4..ea90372c 100644 --- a/docs/UpdateIncidentPostMortemDataAttributes.md +++ b/docs/UpdateIncidentPostMortemDataAttributes.md @@ -22,7 +22,7 @@ |**showGroupsImpacted** | **Boolean** | Show groups impacted of the incident retrospective | [optional] | |**showAlertsAttached** | **Boolean** | Show alerts attached to the incident | [optional] | |**showActionItems** | **Boolean** | Show action items (follow-ups) in the incident retrospective | [optional] | -|**causeIds** | **List<String>** | The Cause ID's to attach to the incident retrospective | [optional] | +|**causeIds** | **List<String>** | The Cause IDs to attach to the incident retrospective | [optional] | diff --git a/docs/UpdateIncidentStatusPageEventDataAttributes.md b/docs/UpdateIncidentStatusPageEventDataAttributes.md index a4b6da2a..e1f4ab2c 100644 --- a/docs/UpdateIncidentStatusPageEventDataAttributes.md +++ b/docs/UpdateIncidentStatusPageEventDataAttributes.md @@ -25,7 +25,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/UpdateIncidentTaskParams.md b/docs/UpdateIncidentTaskParams.md index 3c57a909..38d55cec 100644 --- a/docs/UpdateIncidentTaskParams.md +++ b/docs/UpdateIncidentTaskParams.md @@ -15,17 +15,17 @@ |**status** | **String** | | [optional] | |**severityId** | **String** | | [optional] | |**incidentTypeIds** | **List<String>** | | [optional] | -|**serviceIds** | **List<String>** | | [optional] | -|**functionalityIds** | **List<String>** | | [optional] | +|**serviceIds** | **List<String>** | Array of service UUIDs | [optional] | +|**functionalityIds** | **List<String>** | Array of functionality UUIDs | [optional] | |**environmentIds** | **List<String>** | | [optional] | -|**groupIds** | **List<String>** | | [optional] | +|**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**startedAt** | **String** | | [optional] | |**detectedAt** | **String** | | [optional] | |**acknowledgedAt** | **String** | | [optional] | |**mitigatedAt** | **String** | | [optional] | |**resolvedAt** | **String** | | [optional] | |**_private** | **Boolean** | | [optional] | -|**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON | [optional] | +|**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON. Use 'services', 'functionalities', or 'groups' keys with arrays of names/slugs for name/slug lookup | [optional] | diff --git a/docs/UpdateIncidentTypeDataAttributes.md b/docs/UpdateIncidentTypeDataAttributes.md index 6306317c..158358b5 100644 --- a/docs/UpdateIncidentTypeDataAttributes.md +++ b/docs/UpdateIncidentTypeDataAttributes.md @@ -14,6 +14,7 @@ |**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] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this incident type. | [optional] | diff --git a/docs/UpdateJiraIssueTaskParams.md b/docs/UpdateJiraIssueTaskParams.md index 64642061..bf699f00 100644 --- a/docs/UpdateJiraIssueTaskParams.md +++ b/docs/UpdateJiraIssueTaskParams.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**integration** | [**CreateJiraIssueTaskParamsIntegration**](CreateJiraIssueTaskParamsIntegration.md) | | [optional] | |**issueId** | **String** | The issue id | | |**title** | **String** | The issue title | [optional] | |**description** | **String** | The issue description | [optional] | diff --git a/docs/UpdateLinearIssueTaskParams.md b/docs/UpdateLinearIssueTaskParams.md index d780c8e9..1d465968 100644 --- a/docs/UpdateLinearIssueTaskParams.md +++ b/docs/UpdateLinearIssueTaskParams.md @@ -11,7 +11,7 @@ |**issueId** | **String** | The issue id | | |**title** | **String** | The issue title | [optional] | |**description** | **String** | The issue description | [optional] | -|**state** | [**CreateLinearIssueTaskParamsState**](CreateLinearIssueTaskParamsState.md) | | [optional] | +|**state** | [**UpdateLinearIssueTaskParamsState**](UpdateLinearIssueTaskParamsState.md) | | [optional] | |**project** | [**CreateLinearIssueTaskParamsProject**](CreateLinearIssueTaskParamsProject.md) | | [optional] | |**labels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**priority** | [**CreateJiraIssueTaskParamsPriority**](CreateJiraIssueTaskParamsPriority.md) | | [optional] | diff --git a/docs/UpdateLinearIssueTaskParamsState.md b/docs/UpdateLinearIssueTaskParamsState.md new file mode 100644 index 00000000..e8d3aa06 --- /dev/null +++ b/docs/UpdateLinearIssueTaskParamsState.md @@ -0,0 +1,15 @@ + + +# UpdateLinearIssueTaskParamsState + +The state id and display name + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | | [optional] | +|**name** | **String** | | [optional] | + + + diff --git a/docs/UpdateLiveCallRouterDataAttributes.md b/docs/UpdateLiveCallRouterDataAttributes.md index df204461..ace792c2 100644 --- a/docs/UpdateLiveCallRouterDataAttributes.md +++ b/docs/UpdateLiveCallRouterDataAttributes.md @@ -14,12 +14,15 @@ |**phoneType** | [**PhoneTypeEnum**](#PhoneTypeEnum) | The phone type of the live_call_router | [optional] | |**voicemailGreeting** | **String** | The voicemail greeting of the live_call_router | [optional] | |**callerGreeting** | **String** | The caller greeting message of the live_call_router | [optional] | -|**waitingMusicUrl** | **String** | The waiting music URL of the live_call_router | [optional] | +|**waitingMusicUrl** | [**WaitingMusicUrlEnum**](#WaitingMusicUrlEnum) | The waiting music URL of the live_call_router | [optional] | |**sentToVoicemailDelay** | **Integer** | The delay (seconds) after which the caller in redirected to voicemail | [optional] | |**shouldRedirectToVoicemailOnNoAnswer** | **Boolean** | This prompts the caller to choose voicemail or connect live | [optional] | |**escalationLevelDelayInSeconds** | **Integer** | This overrides the delay (seconds) in escalation levels | [optional] | |**shouldAutoResolveAlertOnCallEnd** | **Boolean** | This overrides the delay (seconds) in escalation levels | [optional] | |**alertUrgencyId** | **String** | This is used in escalation paths to determine who to page | [optional] | +|**callingTreeEnabled** | **Boolean** | Whether the live call router is configured as a phone tree, requiring callers to press a key before being connected | [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] | @@ -37,11 +40,14 @@ | Name | Value | |---- | -----| -| US | "US" | -| GB | "GB" | -| NZ | "NZ" | -| CA | "CA" | | AU | "AU" | +| CA | "CA" | +| DE | "DE" | +| NL | "NL" | +| NZ | "NZ" | +| SE | "SE" | +| GB | "GB" | +| US | "US" | @@ -51,6 +57,21 @@ |---- | -----| | LOCAL | "local" | | TOLL_FREE | "toll_free" | +| MOBILE | "mobile" | + + + +## Enum: WaitingMusicUrlEnum + +| Name | Value | +|---- | -----| +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3 | "https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3 | "https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3 | "https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3 | "https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3 | "https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3" | +| HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3 | "https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3" | diff --git a/docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md b/docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md index 42cde610..5e059682 100644 --- a/docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md +++ b/docs/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**id** | **String** | The ID of notification target | | -|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target | | +|**type** | [**TypeEnum**](#TypeEnum) | The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. | | @@ -19,6 +19,7 @@ | SERVICE | "Service" | | GROUP | "Group" | | ESCALATION_POLICY | "EscalationPolicy" | +| FUNCTIONALITY | "Functionality" | diff --git a/docs/UpdateNotionPageTaskParams.md b/docs/UpdateNotionPageTaskParams.md index a30a8b06..9713b823 100644 --- a/docs/UpdateNotionPageTaskParams.md +++ b/docs/UpdateNotionPageTaskParams.md @@ -11,6 +11,7 @@ |**fileId** | **String** | The Notion page ID | | |**title** | **String** | The Notion page title | [optional] | |**postMortemTemplateId** | **String** | Retrospective template to use when creating page task, if desired | [optional] | +|**content** | **String** | Custom page content with liquid templating support. When provided, only this content will be rendered (no default sections) | [optional] | |**showTimelineAsTable** | **Boolean** | | [optional] | |**showActionItemsAsTable** | **Boolean** | | [optional] | diff --git a/docs/UpdateOnCallPayReport.md b/docs/UpdateOnCallPayReport.md new file mode 100644 index 00000000..168929cf --- /dev/null +++ b/docs/UpdateOnCallPayReport.md @@ -0,0 +1,13 @@ + + +# UpdateOnCallPayReport + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateOnCallPayReportData**](UpdateOnCallPayReportData.md) | | | + + + diff --git a/docs/UpdateOnCallPayReportData.md b/docs/UpdateOnCallPayReportData.md new file mode 100644 index 00000000..f1580b97 --- /dev/null +++ b/docs/UpdateOnCallPayReportData.md @@ -0,0 +1,22 @@ + + +# UpdateOnCallPayReportData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateOnCallPayReportDataAttributes**](UpdateOnCallPayReportDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| ON_CALL_PAY_REPORTS | "on_call_pay_reports" | + + + diff --git a/docs/UpdateOnCallPayReportDataAttributes.md b/docs/UpdateOnCallPayReportDataAttributes.md new file mode 100644 index 00000000..fa107179 --- /dev/null +++ b/docs/UpdateOnCallPayReportDataAttributes.md @@ -0,0 +1,15 @@ + + +# UpdateOnCallPayReportDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**startDate** | **LocalDate** | The start date for the report period. | [optional] | +|**endDate** | **LocalDate** | The end date for the report period. | [optional] | +|**scheduleIds** | **List<String>** | List of schedule UUIDs to scope the report. | [optional] | + + + diff --git a/docs/UpdateOnCallRoleDataAttributes.md b/docs/UpdateOnCallRoleDataAttributes.md index e2838a05..ba7f0551 100644 --- a/docs/UpdateOnCallRoleDataAttributes.md +++ b/docs/UpdateOnCallRoleDataAttributes.md @@ -8,10 +8,14 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | [optional] | -|**slug** | **String** | The role slug. | [optional] | |**systemRole** | [**List<SystemRoleEnum>**](#List<SystemRoleEnum>) | The kind of role (user and custom type roles are only editable) | [optional] | |**alertSourcesPermissions** | [**List<AlertSourcesPermissionsEnum>**](#List<AlertSourcesPermissionsEnum>) | | [optional] | |**alertUrgencyPermissions** | [**List<AlertUrgencyPermissionsEnum>**](#List<AlertUrgencyPermissionsEnum>) | | [optional] | +|**alertFieldsPermissions** | [**List<AlertFieldsPermissionsEnum>**](#List<AlertFieldsPermissionsEnum>) | | [optional] | +|**alertGroupsPermissions** | [**List<AlertGroupsPermissionsEnum>**](#List<AlertGroupsPermissionsEnum>) | | [optional] | +|**alertRoutingRulesPermissions** | [**List<AlertRoutingRulesPermissionsEnum>**](#List<AlertRoutingRulesPermissionsEnum>) | | [optional] | +|**onCallReadinessReportPermissions** | [**List<OnCallReadinessReportPermissionsEnum>**](#List<OnCallReadinessReportPermissionsEnum>) | | [optional] | +|**onCallRolesPermissions** | [**List<OnCallRolesPermissionsEnum>**](#List<OnCallRolesPermissionsEnum>) | | [optional] | |**alertsPermissions** | [**List<AlertsPermissionsEnum>**](#List<AlertsPermissionsEnum>) | | [optional] | |**apiKeysPermissions** | [**List<ApiKeysPermissionsEnum>**](#List<ApiKeysPermissionsEnum>) | | [optional] | |**auditsPermissions** | [**List<AuditsPermissionsEnum>**](#List<AuditsPermissionsEnum>) | | [optional] | @@ -37,6 +41,7 @@ | ADMIN | "admin" | | USER | "user" | | CUSTOM | "custom" | +| OBSERVER | "observer" | | NO_ACCESS | "no_access" | @@ -46,6 +51,7 @@ | Name | Value | |---- | -----| | CREATE | "create" | +| READ | "read" | | UPDATE | "update" | | DELETE | "delete" | @@ -62,6 +68,58 @@ +## Enum: List<AlertFieldsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertGroupsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<AlertRoutingRulesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<OnCallReadinessReportPermissionsEnum> + +| Name | Value | +|---- | -----| +| READ | "read" | + + + +## Enum: List<OnCallRolesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + ## Enum: List<AlertsPermissionsEnum> | Name | Value | @@ -69,6 +127,7 @@ | CREATE | "create" | | UPDATE | "update" | | READ | "read" | +| DELETE | "delete" | diff --git a/docs/UpdateOpsgenieIncidentTaskParams.md b/docs/UpdateOpsgenieIncidentTaskParams.md index 6a4e7a6b..f46a8c4b 100644 --- a/docs/UpdateOpsgenieIncidentTaskParams.md +++ b/docs/UpdateOpsgenieIncidentTaskParams.md @@ -45,6 +45,7 @@ | P4 | "P4" | | P5 | "P5" | | AUTO | "auto" | +| EMPTY | "" | diff --git a/docs/UpdatePlaybookDataAttributes.md b/docs/UpdatePlaybookDataAttributes.md index c9587a64..02b058a8 100644 --- a/docs/UpdatePlaybookDataAttributes.md +++ b/docs/UpdatePlaybookDataAttributes.md @@ -10,12 +10,12 @@ |**title** | **String** | The title of the playbook | [optional] | |**summary** | **String** | The summary of the playbook | [optional] | |**externalUrl** | **String** | The external url of the playbook | [optional] | -|**severityIds** | **List<String>** | The Severity ID's to attach to the incident | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the incident | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the incident | [optional] | -|**functionalityIds** | **List<String>** | The Functionality ID's to attach to the incident | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the incident | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the incident | [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] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the incident | [optional] | +|**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] | diff --git a/docs/UpdatePostMortemTemplateDataAttributes.md b/docs/UpdatePostMortemTemplateDataAttributes.md index 20c2ef16..cf249e4b 100644 --- a/docs/UpdatePostMortemTemplateDataAttributes.md +++ b/docs/UpdatePostMortemTemplateDataAttributes.md @@ -9,7 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the postmortem template | [optional] | |**_default** | **Boolean** | Default selected template when editing a postmortem | [optional] | -|**content** | **String** | The postmortem template. Liquid syntax is supported | [optional] | +|**content** | **String** | The postmortem template. Supports TipTap blocks (followup and timeline components), Liquid syntax, and HTML. Will be sanitized and applied to both content and content_html fields. | [optional] | |**format** | [**FormatEnum**](#FormatEnum) | The format of the input | [optional] | diff --git a/docs/UpdatePulseDataAttributes.md b/docs/UpdatePulseDataAttributes.md index d635f7e9..9b2ed9ec 100644 --- a/docs/UpdatePulseDataAttributes.md +++ b/docs/UpdatePulseDataAttributes.md @@ -9,12 +9,12 @@ |------------ | ------------- | ------------- | -------------| |**source** | **String** | The source of the pulse (eg: k8s) | [optional] | |**summary** | **String** | The summary of the pulse | [optional] | -|**serviceIds** | **List<String>** | The Service ID's to attach to the pulse | [optional] | -|**environmentIds** | **List<String>** | The Environment ID's to attach to the pulse | [optional] | +|**serviceIds** | **List<String>** | The Service IDs to attach to the pulse | [optional] | +|**environmentIds** | **List<String>** | The Environment IDs to attach to the pulse | [optional] | |**startedAt** | **OffsetDateTime** | Pulse start datetime | [optional] | |**endedAt** | **OffsetDateTime** | Pulse end datetime | [optional] | |**externalUrl** | **String** | The external url of the pulse | [optional] | -|**labels** | [**List<NewAlertDataAttributesLabelsInner>**](NewAlertDataAttributesLabelsInner.md) | | [optional] | +|**labels** | [**List<NewPulseDataAttributesLabelsInner>**](NewPulseDataAttributesLabelsInner.md) | | [optional] | |**refs** | [**List<NewPulseDataAttributesRefsInner>**](NewPulseDataAttributesRefsInner.md) | | [optional] | |**data** | **Object** | Additional data | [optional] | diff --git a/docs/UpdateQuipPageTaskParams.md b/docs/UpdateQuipPageTaskParams.md new file mode 100644 index 00000000..0b581559 --- /dev/null +++ b/docs/UpdateQuipPageTaskParams.md @@ -0,0 +1,26 @@ + + +# UpdateQuipPageTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**fileId** | **String** | The Quip page ID | | +|**title** | **String** | The Quip page title | [optional] | +|**content** | **String** | The Quip page content | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating page, if desired | [optional] | +|**templateId** | **String** | The Quip file ID to use as a template | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_QUIP_PAGE | "update_quip_page" | + + + diff --git a/docs/UpdateRetrospectiveConfigurationDataAttributes.md b/docs/UpdateRetrospectiveConfigurationDataAttributes.md index 75642a03..ceb1723f 100644 --- a/docs/UpdateRetrospectiveConfigurationDataAttributes.md +++ b/docs/UpdateRetrospectiveConfigurationDataAttributes.md @@ -7,9 +7,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| -|**severityIds** | **List<String>** | The Severity ID's to attach to the retrospective configuration | [optional] | -|**groupIds** | **List<String>** | The Team ID's to attach to the retrospective configuration | [optional] | -|**incidentTypeIds** | **List<String>** | The Incident Type ID's to attach to the retrospective configuration | [optional] | +|**severityIds** | **List<String>** | The Severity IDs to attach to the retrospective configuration | [optional] | +|**groupIds** | **List<String>** | The Team IDs to attach to the retrospective configuration | [optional] | +|**incidentTypeIds** | **List<String>** | The Incident Type IDs to attach to the retrospective configuration | [optional] | diff --git a/docs/UpdateRoleDataAttributes.md b/docs/UpdateRoleDataAttributes.md index 402cda98..06005181 100644 --- a/docs/UpdateRoleDataAttributes.md +++ b/docs/UpdateRoleDataAttributes.md @@ -8,8 +8,9 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The role name. | [optional] | -|**slug** | **String** | The role slug. | [optional] | |**incidentPermissionSetId** | **String** | Associated incident permissions set. | [optional] | +|**isDeletable** | **Boolean** | Whether the role can be deleted. | [optional] | +|**isEditable** | **Boolean** | Whether the role can be edited. | [optional] | |**apiKeysPermissions** | [**List<ApiKeysPermissionsEnum>**](#List<ApiKeysPermissionsEnum>) | | [optional] | |**auditsPermissions** | [**List<AuditsPermissionsEnum>**](#List<AuditsPermissionsEnum>) | | [optional] | |**billingPermissions** | [**List<BillingPermissionsEnum>**](#List<BillingPermissionsEnum>) | | [optional] | @@ -34,6 +35,13 @@ |**statusPagesPermissions** | [**List<StatusPagesPermissionsEnum>**](#List<StatusPagesPermissionsEnum>) | | [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] | +|**slasPermissions** | [**List<SlasPermissionsEnum>**](#List<SlasPermissionsEnum>) | | [optional] | +|**pagingPermissions** | [**List<PagingPermissionsEnum>**](#List<PagingPermissionsEnum>) | | [optional] | +|**incidentCommunicationPermissions** | [**List<IncidentCommunicationPermissionsEnum>**](#List<IncidentCommunicationPermissionsEnum>) | | [optional] | +|**communicationPermissions** | [**List<CommunicationPermissionsEnum>**](#List<CommunicationPermissionsEnum>) | | [optional] | @@ -301,3 +309,81 @@ +## Enum: List<CatalogsPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SubStatusesPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<EdgeConnectorPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<SlasPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<PagingPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + +## Enum: List<IncidentCommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | +| SEND | "send" | + + + +## Enum: List<CommunicationPermissionsEnum> + +| Name | Value | +|---- | -----| +| CREATE | "create" | +| READ | "read" | +| UPDATE | "update" | +| DELETE | "delete" | + + + diff --git a/docs/UpdateScheduleDataAttributes.md b/docs/UpdateScheduleDataAttributes.md index 5ab0e5e5..6f05c2db 100644 --- a/docs/UpdateScheduleDataAttributes.md +++ b/docs/UpdateScheduleDataAttributes.md @@ -11,8 +11,11 @@ |**description** | **String** | The description of the schedule | [optional] | |**allTimeCoverage** | **Boolean** | 24/7 coverage of the schedule | [optional] | |**slackUserGroup** | [**NewScheduleDataAttributesSlackUserGroup**](NewScheduleDataAttributesSlackUserGroup.md) | | [optional] | +|**slackChannel** | [**NewScheduleDataAttributesSlackChannel**](NewScheduleDataAttributesSlackChannel.md) | | [optional] | |**ownerGroupIds** | **List<String>** | Owning teams. | [optional] | |**ownerUserId** | **Integer** | ID of the owner of the schedule | [optional] | +|**shiftStartNotificationsEnabled** | **Boolean** | Whether shift-start notifications are enabled | [optional] | +|**shiftUpdateNotificationsEnabled** | **Boolean** | Whether shift-update notifications are enabled | [optional] | diff --git a/docs/UpdateScheduleRotationDataAttributes.md b/docs/UpdateScheduleRotationDataAttributes.md index f9aadaf7..b45b86a3 100644 --- a/docs/UpdateScheduleRotationDataAttributes.md +++ b/docs/UpdateScheduleRotationDataAttributes.md @@ -16,6 +16,9 @@ |**activeTimeAttributes** | [**List<NewScheduleRotationDataAttributesActiveTimeAttributesInner>**](NewScheduleRotationDataAttributesActiveTimeAttributesInner.md) | Schedule rotation's active times | [optional] | |**timeZone** | **String** | A valid IANA time zone name. | [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] | +|**scheduleRotationMembers** | [**List<NewScheduleRotationDataAttributesScheduleRotationMembersInner>**](NewScheduleRotationDataAttributesScheduleRotationMembersInner.md) | You can only update schedule rotation members if your account has schedule nesting feature enabled | [optional] | diff --git a/docs/UpdateServiceDataAttributes.md b/docs/UpdateServiceDataAttributes.md index 87a1eaa9..b3f35eb9 100644 --- a/docs/UpdateServiceDataAttributes.md +++ b/docs/UpdateServiceDataAttributes.md @@ -25,12 +25,19 @@ |**gitlabRepositoryBranch** | **String** | The GitLab repository branch associated to this service. eg: main | [optional] | |**environmentIds** | **List<String>** | Environments associated with this service | [optional] | |**serviceIds** | **List<String>** | Services dependent on this service | [optional] | -|**ownersGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | -|**ownersUserIds** | **List<Integer>** | Owner Users associated with this service | [optional] | +|**ownerGroupIds** | **List<String>** | Owner Teams associated with this service | [optional] | +|**ownerUserIds** | **List<Integer>** | Owner Users associated with this service | [optional] | |**alertsEmailEnabled** | **Boolean** | Enable alerts through email | [optional] | |**alertUrgencyId** | **String** | The alert urgency id of the service | [optional] | +|**escalationPolicyId** | **String** | The escalation policy id of the service | [optional] | +|**kubernetesDeploymentName** | **String** | The Kubernetes deployment name associated to this service. eg: namespace/deployment-name | [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** | [**NewServiceDataAttributesAlertBroadcastChannel**](NewServiceDataAttributesAlertBroadcastChannel.md) | | [optional] | +|**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | +|**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this service. | [optional] | diff --git a/docs/UpdateSharepointPageTaskParams.md b/docs/UpdateSharepointPageTaskParams.md new file mode 100644 index 00000000..11c4d6bb --- /dev/null +++ b/docs/UpdateSharepointPageTaskParams.md @@ -0,0 +1,25 @@ + + +# UpdateSharepointPageTaskParams + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**taskType** | [**TaskTypeEnum**](#TaskTypeEnum) | | [optional] | +|**fileId** | **String** | The SharePoint file ID | | +|**title** | **String** | The SharePoint document title | [optional] | +|**content** | **String** | The SharePoint document content | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating document, if desired | [optional] | + + + +## Enum: TaskTypeEnum + +| Name | Value | +|---- | -----| +| UPDATE_SHAREPOINT_PAGE | "update_sharepoint_page" | + + + diff --git a/docs/UpdateSla.md b/docs/UpdateSla.md new file mode 100644 index 00000000..a6568546 --- /dev/null +++ b/docs/UpdateSla.md @@ -0,0 +1,13 @@ + + +# UpdateSla + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateSlaData**](UpdateSlaData.md) | | | + + + diff --git a/docs/UpdateSlaData.md b/docs/UpdateSlaData.md new file mode 100644 index 00000000..4c00f861 --- /dev/null +++ b/docs/UpdateSlaData.md @@ -0,0 +1,22 @@ + + +# UpdateSlaData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateSlaDataAttributes**](UpdateSlaDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| SLAS | "slas" | + + + diff --git a/docs/UpdateSlaDataAttributes.md b/docs/UpdateSlaDataAttributes.md new file mode 100644 index 00000000..d9131a26 --- /dev/null +++ b/docs/UpdateSlaDataAttributes.md @@ -0,0 +1,97 @@ + + +# UpdateSlaDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the SLA | [optional] | +|**description** | **String** | A description of the SLA | [optional] | +|**position** | **Integer** | Position of the SLA for ordering | [optional] | +|**conditionMatchType** | [**ConditionMatchTypeEnum**](#ConditionMatchTypeEnum) | Whether all or any conditions must match | [optional] | +|**managerRoleId** | **UUID** | The ID of the incident role responsible for this SLA. Exactly one of `manager_role_id` or `manager_user_id` must be provided. | [optional] | +|**managerUserId** | **Integer** | The ID of the user responsible for this SLA. Exactly one of `manager_role_id` or `manager_user_id` must be provided. | [optional] | +|**assignmentDeadlineDays** | [**AssignmentDeadlineDaysEnum**](#AssignmentDeadlineDaysEnum) | Number of days for the assignment deadline | [optional] | +|**assignmentDeadlineParentStatus** | [**AssignmentDeadlineParentStatusEnum**](#AssignmentDeadlineParentStatusEnum) | The incident parent status that triggers the assignment deadline | [optional] | +|**assignmentDeadlineSubStatusId** | **UUID** | Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**assignmentSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the assignment deadline | [optional] | +|**completionDeadlineDays** | [**CompletionDeadlineDaysEnum**](#CompletionDeadlineDaysEnum) | Number of days for the completion deadline | [optional] | +|**completionDeadlineParentStatus** | [**CompletionDeadlineParentStatusEnum**](#CompletionDeadlineParentStatusEnum) | The incident parent status that triggers the completion deadline | [optional] | +|**completionDeadlineSubStatusId** | **UUID** | Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. | [optional] | +|**completionSkipWeekends** | **Boolean** | Whether to skip weekends when calculating the completion deadline | [optional] | +|**conditions** | [**List<NewSlaDataAttributesConditionsInner>**](NewSlaDataAttributesConditionsInner.md) | Conditions that determine which incidents this SLA applies to. Replaces all existing conditions. | [optional] | +|**notificationConfigurations** | [**List<NewSlaDataAttributesNotificationConfigurationsInner>**](NewSlaDataAttributesNotificationConfigurationsInner.md) | Notification timing configurations. Replaces all existing configurations. | [optional] | + + + +## Enum: ConditionMatchTypeEnum + +| Name | Value | +|---- | -----| +| ALL | "ALL" | +| ANY | "ANY" | + + + +## Enum: AssignmentDeadlineDaysEnum + +| Name | Value | +|---- | -----| +| NUMBER_1 | 1 | +| NUMBER_2 | 2 | +| NUMBER_3 | 3 | +| NUMBER_4 | 4 | +| NUMBER_5 | 5 | +| NUMBER_6 | 6 | +| NUMBER_7 | 7 | +| NUMBER_14 | 14 | +| NUMBER_21 | 21 | +| NUMBER_30 | 30 | + + + +## Enum: AssignmentDeadlineParentStatusEnum + +| Name | Value | +|---- | -----| +| IN_TRIAGE | "in_triage" | +| STARTED | "started" | +| MITIGATED | "mitigated" | +| RESOLVED | "resolved" | +| CLOSED | "closed" | +| CANCELLED | "cancelled" | + + + +## Enum: CompletionDeadlineDaysEnum + +| Name | Value | +|---- | -----| +| NUMBER_1 | 1 | +| NUMBER_2 | 2 | +| NUMBER_3 | 3 | +| NUMBER_4 | 4 | +| NUMBER_5 | 5 | +| NUMBER_6 | 6 | +| NUMBER_7 | 7 | +| NUMBER_14 | 14 | +| NUMBER_21 | 21 | +| NUMBER_30 | 30 | + + + +## Enum: CompletionDeadlineParentStatusEnum + +| Name | Value | +|---- | -----| +| IN_TRIAGE | "in_triage" | +| STARTED | "started" | +| MITIGATED | "mitigated" | +| RESOLVED | "resolved" | +| CLOSED | "closed" | +| CANCELLED | "cancelled" | + + + diff --git a/docs/UpdateStatusPageDataAttributes.md b/docs/UpdateStatusPageDataAttributes.md index 7abd0faf..1d1baa84 100644 --- a/docs/UpdateStatusPageDataAttributes.md +++ b/docs/UpdateStatusPageDataAttributes.md @@ -18,8 +18,15 @@ |**showUptimeLastDays** | [**ShowUptimeLastDaysEnum**](#ShowUptimeLastDaysEnum) | Show uptime over x days | [optional] | |**successMessage** | **String** | Message showing when all components are operational | [optional] | |**failureMessage** | **String** | Message showing when at least one component is not operational | [optional] | -|**authenticationEnabled** | **Boolean** | Enable authentication | [optional] | +|**authenticationMethod** | [**AuthenticationMethodEnum**](#AuthenticationMethodEnum) | Authentication method | [optional] | +|**authenticationEnabled** | **Boolean** | Enable authentication (deprecated - use authentication_method instead) | [optional] | |**authenticationPassword** | **String** | Authentication password | [optional] | +|**samlIdpSsoServiceUrl** | **String** | SAML IdP SSO service URL | [optional] | +|**samlIdpSloServiceUrl** | **String** | SAML IdP SLO service URL | [optional] | +|**samlIdpCert** | **String** | SAML IdP certificate | [optional] | +|**samlNameIdentifierFormat** | [**SamlNameIdentifierFormatEnum**](#SamlNameIdentifierFormatEnum) | SAML name identifier format | [optional] | +|**sectionOrder** | [**List<SectionOrderEnum>**](#List<SectionOrderEnum>) | Order of sections on the status page | [optional] | +|**externalDomainNames** | **List<String>** | External domain names attached to the status page | [optional] | |**websiteUrl** | **String** | Website URL | [optional] | |**websitePrivacyUrl** | **String** | Website Privacy URL | [optional] | |**websiteSupportUrl** | **String** | Website Support URL | [optional] | @@ -39,8 +46,37 @@ | NUMBER_30 | 30 | | NUMBER_60 | 60 | | NUMBER_90 | 90 | -| NUMBER_180 | 180 | -| NUMBER_360 | 360 | + + + +## Enum: AuthenticationMethodEnum + +| Name | Value | +|---- | -----| +| NONE | "none" | +| PASSWORD | "password" | +| SAML | "saml" | + + + +## Enum: SamlNameIdentifierFormatEnum + +| Name | Value | +|---- | -----| +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS | "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" | +| URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT | "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" | +| URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED | "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" | + + + +## Enum: List<SectionOrderEnum> + +| Name | Value | +|---- | -----| +| MAINTENANCE | "maintenance" | +| SYSTEM_STATUS | "system_status" | +| INCIDENTS | "incidents" | diff --git a/docs/UpdateStatusPageTemplateDataAttributes.md b/docs/UpdateStatusPageTemplateDataAttributes.md index f4ed0a36..739aa9bc 100644 --- a/docs/UpdateStatusPageTemplateDataAttributes.md +++ b/docs/UpdateStatusPageTemplateDataAttributes.md @@ -8,6 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**title** | **String** | Title of the template | | +|**updateTitle** | **String** | Title that will be used for the status page update | [optional] | |**body** | **String** | Description of the event the template will populate | | |**updateStatus** | [**UpdateStatusEnum**](#UpdateStatusEnum) | Status of the event the template will populate | [optional] | |**kind** | [**KindEnum**](#KindEnum) | The kind of the status page template | [optional] | @@ -27,7 +28,6 @@ | RESOLVED | "resolved" | | SCHEDULED | "scheduled" | | IN_PROGRESS | "in_progress" | -| VERIFYING | "verifying" | | COMPLETED | "completed" | diff --git a/docs/UpdateSubStatusDataAttributes.md b/docs/UpdateSubStatusDataAttributes.md index 0c04e1de..2c046066 100644 --- a/docs/UpdateSubStatusDataAttributes.md +++ b/docs/UpdateSubStatusDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | | [optional] | -|**slug** | **String** | | [optional] | |**description** | **String** | | [optional] | |**position** | **Integer** | | [optional] | diff --git a/docs/UpdateTeamDataAttributes.md b/docs/UpdateTeamDataAttributes.md index 24936b42..4c03aaa8 100644 --- a/docs/UpdateTeamDataAttributes.md +++ b/docs/UpdateTeamDataAttributes.md @@ -27,6 +27,12 @@ |**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] | +|**alertBroadcastEnabled** | **Boolean** | Enable alerts to be broadcasted to a specific channel | [optional] | +|**alertBroadcastChannel** | [**NewServiceDataAttributesAlertBroadcastChannel**](NewServiceDataAttributesAlertBroadcastChannel.md) | | [optional] | +|**incidentBroadcastEnabled** | **Boolean** | Enable incidents to be broadcasted to a specific channel | [optional] | +|**incidentBroadcastChannel** | [**NewServiceDataAttributesIncidentBroadcastChannel**](NewServiceDataAttributesIncidentBroadcastChannel.md) | | [optional] | +|**autoAddMembersWhenAttached** | **Boolean** | Auto add members to incident channel when team is attached | [optional] | +|**properties** | [**List<NewCauseDataAttributesPropertiesInner>**](NewCauseDataAttributesPropertiesInner.md) | Array of property values for this team. | [optional] | diff --git a/docs/UpdateUserEmailAddress.md b/docs/UpdateUserEmailAddress.md new file mode 100644 index 00000000..550c4b79 --- /dev/null +++ b/docs/UpdateUserEmailAddress.md @@ -0,0 +1,13 @@ + + +# UpdateUserEmailAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateUserEmailAddressData**](UpdateUserEmailAddressData.md) | | | + + + diff --git a/docs/UpdateUserEmailAddressData.md b/docs/UpdateUserEmailAddressData.md new file mode 100644 index 00000000..99465c32 --- /dev/null +++ b/docs/UpdateUserEmailAddressData.md @@ -0,0 +1,22 @@ + + +# UpdateUserEmailAddressData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateUserEmailAddressDataAttributes**](UpdateUserEmailAddressDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_EMAIL_ADDRESSES | "user_email_addresses" | + + + diff --git a/docs/UpdateUserEmailAddressDataAttributes.md b/docs/UpdateUserEmailAddressDataAttributes.md new file mode 100644 index 00000000..9ae45cc8 --- /dev/null +++ b/docs/UpdateUserEmailAddressDataAttributes.md @@ -0,0 +1,13 @@ + + +# UpdateUserEmailAddressDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**email** | **String** | Email address | [optional] | + + + diff --git a/docs/UpdateUserNotificationRuleDataAttributes.md b/docs/UpdateUserNotificationRuleDataAttributes.md index e8adbd0c..e1a538ea 100644 --- a/docs/UpdateUserNotificationRuleDataAttributes.md +++ b/docs/UpdateUserNotificationRuleDataAttributes.md @@ -26,6 +26,7 @@ | CALL | "call" | | DEVICE | "device" | | NON_CRITICAL_DEVICE | "non_critical_device" | +| SLACK | "slack" | diff --git a/docs/UpdateUserPhoneNumber.md b/docs/UpdateUserPhoneNumber.md new file mode 100644 index 00000000..736f38c7 --- /dev/null +++ b/docs/UpdateUserPhoneNumber.md @@ -0,0 +1,13 @@ + + +# UpdateUserPhoneNumber + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UpdateUserPhoneNumberData**](UpdateUserPhoneNumberData.md) | | | + + + diff --git a/docs/UpdateUserPhoneNumberData.md b/docs/UpdateUserPhoneNumberData.md new file mode 100644 index 00000000..bf789a3b --- /dev/null +++ b/docs/UpdateUserPhoneNumberData.md @@ -0,0 +1,22 @@ + + +# UpdateUserPhoneNumberData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UpdateUserPhoneNumberDataAttributes**](UpdateUserPhoneNumberDataAttributes.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_PHONE_NUMBERS | "user_phone_numbers" | + + + diff --git a/docs/UpdateUserPhoneNumberDataAttributes.md b/docs/UpdateUserPhoneNumberDataAttributes.md new file mode 100644 index 00000000..509ce0a1 --- /dev/null +++ b/docs/UpdateUserPhoneNumberDataAttributes.md @@ -0,0 +1,13 @@ + + +# UpdateUserPhoneNumberDataAttributes + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**phone** | **String** | Phone number in international format | [optional] | + + + diff --git a/docs/UpdateWebhooksEndpointDataAttributes.md b/docs/UpdateWebhooksEndpointDataAttributes.md index 43f9ac65..eb87a87e 100644 --- a/docs/UpdateWebhooksEndpointDataAttributes.md +++ b/docs/UpdateWebhooksEndpointDataAttributes.md @@ -46,6 +46,7 @@ | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | | GENIUS_WORKFLOW_RUN_FAILED | "genius_workflow_run.failed" | | GENIUS_WORKFLOW_RUN_CANCELED | "genius_workflow_run.canceled" | +| AUDIT_LOG_CREATED | "audit_log.created" | diff --git a/docs/UpdateWorkflowCustomFieldSelectionDataAttributes.md b/docs/UpdateWorkflowCustomFieldSelectionDataAttributes.md index ffe308a6..29079ce6 100644 --- a/docs/UpdateWorkflowCustomFieldSelectionDataAttributes.md +++ b/docs/UpdateWorkflowCustomFieldSelectionDataAttributes.md @@ -18,6 +18,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/UpdateWorkflowDataAttributes.md b/docs/UpdateWorkflowDataAttributes.md index d17170d0..cb064623 100644 --- a/docs/UpdateWorkflowDataAttributes.md +++ b/docs/UpdateWorkflowDataAttributes.md @@ -8,7 +8,6 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The title of the workflow | [optional] | -|**slug** | **String** | The slug of the workflow | [optional] | |**description** | **String** | The description of the workflow | [optional] | |**command** | **String** | Workflow command | [optional] | |**commandFeedbackEnabled** | **Boolean** | This will notify you back when the workflow is starting | [optional] | diff --git a/docs/UpdateWorkflowFormFieldConditionDataAttributes.md b/docs/UpdateWorkflowFormFieldConditionDataAttributes.md index 70c872f1..002ed19e 100644 --- a/docs/UpdateWorkflowFormFieldConditionDataAttributes.md +++ b/docs/UpdateWorkflowFormFieldConditionDataAttributes.md @@ -15,6 +15,9 @@ |**selectedOptionIds** | **List<String>** | | [optional] | |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | [optional] | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | @@ -23,6 +26,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/UpdateWorkflowTaskDataAttributesTaskParams.md b/docs/UpdateWorkflowTaskDataAttributesTaskParams.md index 49d98e9d..5e54599b 100644 --- a/docs/UpdateWorkflowTaskDataAttributesTaskParams.md +++ b/docs/UpdateWorkflowTaskDataAttributesTaskParams.md @@ -21,11 +21,11 @@ |**postToIncidentTimeline** | **Boolean** | | [optional] | |**customFieldsMapping** | **String** | Custom field mappings. Can contain liquid markup and need to be valid JSON | [optional] | |**postToSlackChannels** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | -|**groupIds** | **List<String>** | | [optional] | +|**groupIds** | **List<String>** | Array of group/team UUIDs | [optional] | |**playbookId** | **String** | The playbook id if tab is of an incident playbook | [optional] | |**channel** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**title** | **String** | The task title | | -|**link** | **String** | The tab link. Required if not a playbook tab | [optional] | +|**link** | **String** | The tab link | | |**emoji** | **String** | The bookmark emoji | [optional] | |**groupId** | **String** | The team id | | |**event** | **String** | Incident event description | | @@ -68,17 +68,19 @@ |**integration** | [**CreateJiraIssueTaskParamsIntegration**](CreateJiraIssueTaskParamsIntegration.md) | | [optional] | |**space** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**ancestor** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | -|**template** | [**CreateIncidentPostmortemTaskParamsTemplate**](CreateIncidentPostmortemTaskParamsTemplate.md) | | [optional] | -|**postMortemTemplateId** | **String** | Retrospective template to use when creating page task, if desired | [optional] | +|**template** | [**UpdateDatadogNotebookTaskParamsTemplate**](UpdateDatadogNotebookTaskParamsTemplate.md) | | [optional] | +|**postMortemTemplateId** | **String** | Retrospective template to use when updating notebook, if desired | [optional] | |**markPostMortemAsPublished** | **Boolean** | | [optional] | |**subtitle** | **String** | The Coda page subtitle | [optional] | |**folderId** | **String** | The Coda folder id | [optional] | +|**doc** | [**CreateCodaPageTaskParamsDoc**](CreateCodaPageTaskParamsDoc.md) | | [optional] | |**namespace** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**parentFolder** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | |**body** | **String** | The issue body | | -|**repository** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | -|**issueType** | [**IssueTypeEnum**](#IssueTypeEnum) | The issue type | | +|**repository** | [**UpdateGithubIssueTaskParamsRepository**](UpdateGithubIssueTaskParamsRepository.md) | | | |**labels** | **List<String>** | | [optional] | +|**issueType** | [**IssueTypeEnum**](#IssueTypeEnum) | The issue type | | +|**parentIssueNumber** | **String** | The parent issue number for sub-issue linking | [optional] | |**calendar** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**attendees** | **List<String>** | Emails of attendees | [optional] | |**timeZone** | **String** | A valid IANA time zone name. | [optional] | @@ -86,13 +88,14 @@ |**timeOfMeeting** | **String** | Time of meeting in format HH:MM | | |**meetingDuration** | **String** | Meeting duration in format like '1 hour', '30 minutes' | | |**excludeWeekends** | **Boolean** | | [optional] | +|**enableOnlineMeeting** | **Boolean** | Enable Microsoft Teams online meeting | [optional] | |**calendarId** | **String** | | [optional] | |**sendUpdates** | **Boolean** | Send an email to the attendees notifying them of the event | [optional] | |**canGuestsModifyEvent** | **Boolean** | | [optional] | |**canGuestsSeeOtherGuests** | **Boolean** | | [optional] | |**canGuestsInviteOthers** | **Boolean** | | [optional] | |**conferenceSolutionKey** | [**ConferenceSolutionKeyEnum**](#ConferenceSolutionKeyEnum) | [DEPRECATED] Sets the video conference type attached to the meeting | [optional] | -|**fileId** | **String** | The Notion page ID | | +|**fileId** | **String** | The Datadog notebook ID | | |**templateId** | **String** | The Quip file ID to use as a template | [optional] | |**docId** | **String** | The Coda doc id | [optional] | |**pageId** | **String** | The Coda page id | | @@ -107,13 +110,14 @@ |**value** | **String** | | | |**parentFolderId** | **String** | The parent folder id | [optional] | |**recordMeeting** | **Boolean** | Rootly AI will record the meeting and automatically generate a transcript and summary from your meeting | [optional] | +|**recordingMode** | [**RecordingModeEnum**](#RecordingModeEnum) | The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) | [optional] | |**subject** | **String** | The ticket subject | | |**conferenceCallInfo** | [**ConferenceCallInfoEnum**](#ConferenceCallInfoEnum) | | [optional] | |**passwordRequired** | **Boolean** | | [optional] | |**severityId** | **String** | | [optional] | |**incidentTypeIds** | **List<String>** | | [optional] | -|**serviceIds** | **List<String>** | | [optional] | -|**functionalityIds** | **List<String>** | | [optional] | +|**serviceIds** | **List<String>** | Array of service UUIDs | [optional] | +|**functionalityIds** | **List<String>** | Array of functionality UUIDs | [optional] | |**environmentIds** | **List<String>** | | [optional] | |**_private** | **Boolean** | | [optional] | |**incidentId** | **String** | The incident id | | @@ -122,14 +126,19 @@ |**updatePayload** | **String** | Update payload. Can contain liquid markup and need to be valid JSON | [optional] | |**parentIssueId** | **String** | The parent issue | | |**subtaskIssueType** | [**CreateJiraIssueTaskParamsIssueType**](CreateJiraIssueTaskParamsIssueType.md) | | | -|**state** | [**CreateLinearIssueTaskParamsState**](CreateLinearIssueTaskParamsState.md) | | | +|**state** | [**UpdateLinearIssueTaskParamsState**](UpdateLinearIssueTaskParamsState.md) | | | |**project** | [**CreateLinearIssueTaskParamsProject**](CreateLinearIssueTaskParamsProject.md) | | [optional] | |**issueId** | **String** | The issue id | | +|**topic** | **String** | | | +|**chatType** | [**ChatTypeEnum**](#ChatTypeEnum) | Type of chat to create | [optional] | +|**members** | [**List<CreateMicrosoftTeamsChatTaskParamsMembersInner>**](CreateMicrosoftTeamsChatTaskParamsMembersInner.md) | Array of members to include in the chat | | +|**chat** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**emails** | **String** | Comma separated list of emails to invite | | |**parentPage** | [**CreateNotionPageTaskParamsParentPage**](CreateNotionPageTaskParamsParentPage.md) | | | |**showTimelineAsTable** | **Boolean** | | [optional] | |**showActionItemsAsTable** | **Boolean** | | [optional] | |**text** | **String** | The message text | | +|**chats** | [**List<AddActionItemTaskParamsPostToSlackChannelsInner>**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**attachments** | **String** | Support liquid markup. Needs to be a valid JSON string after liquid is parsed | | |**archivation** | [**CreateTrelloCardTaskParamsArchivation**](CreateTrelloCardTaskParamsArchivation.md) | | | |**group** | [**Object**](Object.md) | The group id and display name | [optional] | @@ -137,7 +146,6 @@ |**parentStoryId** | **String** | The parent story | | |**board** | [**CreateTrelloCardTaskParamsBoard**](CreateTrelloCardTaskParamsBoard.md) | | | |**_list** | [**CreateTrelloCardTaskParamsList**](CreateTrelloCardTaskParamsList.md) | | | -|**topic** | **String** | | | |**password** | **String** | The meeting password | [optional] | |**comment** | **String** | The ticket comment | [optional] | |**tags** | **String** | The ticket tags | [optional] | @@ -173,7 +181,8 @@ |**details** | **String** | Details payload. Can contain liquid markup and need to be valid JSON | [optional] | |**alertId** | **String** | Opsgenie Alert ID | | |**opsgenieIncidentId** | **String** | The Opsgenie incident ID, this can also be a Rootly incident variable ex. {{ incident.opsgenie_incident_id }} | | -|**alertUrgencyId** | **String** | Alert urgency ID | [optional] | +|**functionalityTarget** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | [optional] | +|**alertUrgencyId** | **String** | Alert urgency ID | | |**escalationNote** | **String** | | [optional] | |**escalationPolicies** | [**List<Object>**](Object.md) | | [optional] | |**createNewIncidentOnConflict** | **Boolean** | Rootly only supports linking to a single PagerDuty incident. If this feature is disabled Rootly will add responders from any additional pages to the existing PagerDuty incident that is linked to the Rootly incident. If enabled, Rootly will create a new PagerDuty incident that is not linked to any Rootly incidents | [optional] | @@ -214,6 +223,7 @@ |**tableName** | **String** | The table name | | |**recordId** | **String** | The record id | | |**taskId** | **String** | The task id | | +|**labelsMode** | [**LabelsModeEnum**](#LabelsModeEnum) | How to apply labels. 'replace' (default) overwrites all existing labels. 'append' adds to existing labels without removing them. | [optional] | |**startedAt** | **String** | | [optional] | |**detectedAt** | **String** | | [optional] | |**acknowledgedAt** | **String** | | [optional] | @@ -230,8 +240,14 @@ |**workflow** | [**AddActionItemTaskParamsPostToSlackChannelsInner**](AddActionItemTaskParamsPostToSlackChannelsInner.md) | | | |**checkWorkflowConditions** | **Boolean** | | [optional] | |**blocks** | **String** | Support liquid markup. Needs to be a valid JSON string after liquid is parsed | | -|**model** | [**GeniusCreateWatsonxChatCompletionTaskParamsModel**](GeniusCreateWatsonxChatCompletionTaskParamsModel.md) | | | -|**prompt** | **String** | The prompt to send to WatsonX | | +|**model** | [**CreateAnthropicChatCompletionTaskParamsModel**](CreateAnthropicChatCompletionTaskParamsModel.md) | | | +|**systemPrompt** | **String** | The system prompt to send to Anthropic (optional) | [optional] | +|**prompt** | **String** | The prompt to send to Anthropic | | +|**temperature** | **BigDecimal** | Sampling temperature (0.0-1.5). Higher values make output more random. | [optional] | +|**maxTokens** | **Integer** | Maximum number of tokens to generate | [optional] | +|**topP** | **BigDecimal** | Nucleus sampling parameter (0.0-1.0) | [optional] | +|**reasoningEffort** | [**ReasoningEffortEnum**](#ReasoningEffortEnum) | Constrains effort on reasoning for GPT-5 and o-series models | [optional] | +|**reasoningSummary** | [**ReasoningSummaryEnum**](#ReasoningSummaryEnum) | Summary of the reasoning performed by the model for GPT-5 and o-series models | [optional] | |**projectId** | **String** | | | @@ -240,7 +256,7 @@ | Name | Value | |---- | -----| -| GENIUS_CREATE_WATSONX_CHAT_COMPLETION_TASK | "genius_create_watsonx_chat_completion_task" | +| CREATE_ANTHROPIC_CHAT_COMPLETION_TASK | "create_anthropic_chat_completion_task" | @@ -344,6 +360,17 @@ +## Enum: RecordingModeEnum + +| Name | Value | +|---- | -----| +| SPEAKER_VIEW | "speaker_view" | +| GALLERY_VIEW | "gallery_view" | +| GALLERY_VIEW_V2 | "gallery_view_v2" | +| AUDIO_ONLY | "audio_only" | + + + ## Enum: ConferenceCallInfoEnum | Name | Value | @@ -355,6 +382,15 @@ +## Enum: ChatTypeEnum + +| Name | Value | +|---- | -----| +| GROUP | "group" | +| ONE_ON_ONE | "oneOnOne" | + + + ## Enum: AutoRecordingEnum | Name | Value | @@ -445,3 +481,33 @@ +## Enum: LabelsModeEnum + +| Name | Value | +|---- | -----| +| REPLACE | "replace" | +| APPEND | "append" | + + + +## Enum: ReasoningEffortEnum + +| Name | Value | +|---- | -----| +| MINIMAL | "minimal" | +| LOW | "low" | +| MEDIUM | "medium" | +| HIGH | "high" | + + + +## Enum: ReasoningSummaryEnum + +| Name | Value | +|---- | -----| +| AUTO | "auto" | +| CONCISE | "concise" | +| DETAILED | "detailed" | + + + diff --git a/docs/UserEmailAddress.md b/docs/UserEmailAddress.md new file mode 100644 index 00000000..09301624 --- /dev/null +++ b/docs/UserEmailAddress.md @@ -0,0 +1,17 @@ + + +# UserEmailAddress + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**userId** | **Integer** | | [optional] | +|**email** | **String** | Email address | [optional] | +|**primary** | **Boolean** | Whether this is the primary email address | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/UserEmailAddressList.md b/docs/UserEmailAddressList.md new file mode 100644 index 00000000..59ca97ba --- /dev/null +++ b/docs/UserEmailAddressList.md @@ -0,0 +1,15 @@ + + +# UserEmailAddressList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<UserEmailAddressResponseData>**](UserEmailAddressResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/UserEmailAddressResponse.md b/docs/UserEmailAddressResponse.md new file mode 100644 index 00000000..02c2b150 --- /dev/null +++ b/docs/UserEmailAddressResponse.md @@ -0,0 +1,13 @@ + + +# UserEmailAddressResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UserEmailAddressResponseData**](UserEmailAddressResponseData.md) | | | + + + diff --git a/docs/UserEmailAddressResponseData.md b/docs/UserEmailAddressResponseData.md new file mode 100644 index 00000000..58d7a6d4 --- /dev/null +++ b/docs/UserEmailAddressResponseData.md @@ -0,0 +1,23 @@ + + +# UserEmailAddressResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the email address | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UserEmailAddress**](UserEmailAddress.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_EMAIL_ADDRESSES | "user_email_addresses" | + + + diff --git a/docs/UserEmailAddressesApi.md b/docs/UserEmailAddressesApi.md new file mode 100644 index 00000000..cf6148bf --- /dev/null +++ b/docs/UserEmailAddressesApi.md @@ -0,0 +1,506 @@ +# UserEmailAddressesApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**createUserEmailAddress**](UserEmailAddressesApi.md#createUserEmailAddress) | **POST** /v1/users/{user_id}/email_addresses | Creates a user email address | +| [**deleteUserEmailAddress**](UserEmailAddressesApi.md#deleteUserEmailAddress) | **DELETE** /v1/email_addresses/{id} | Delete user email address | +| [**getUserEmailAddresses**](UserEmailAddressesApi.md#getUserEmailAddresses) | **GET** /v1/users/{user_id}/email_addresses | Retrieves user email addresses | +| [**resendUserEmailAddressVerification**](UserEmailAddressesApi.md#resendUserEmailAddressVerification) | **POST** /v1/email_addresses/{id}/resend_verification | Resends verification email | +| [**showUserEmailAddress**](UserEmailAddressesApi.md#showUserEmailAddress) | **GET** /v1/email_addresses/{id} | Show user email address | +| [**updateUserEmailAddress**](UserEmailAddressesApi.md#updateUserEmailAddress) | **PUT** /v1/email_addresses/{id} | Update user email address | +| [**verifyUserEmailAddress**](UserEmailAddressesApi.md#verifyUserEmailAddress) | **POST** /v1/email_addresses/{id}/verify | Verifies an email address with token | + + + +# **createUserEmailAddress** +> UserEmailAddressResponse createUserEmailAddress(userId, newUserEmailAddress) + +Creates a user email address + +Creates a new user email address 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String userId = "userId_example"; // String | + NewUserEmailAddress newUserEmailAddress = new NewUserEmailAddress(); // NewUserEmailAddress | + try { + UserEmailAddressResponse result = apiInstance.createUserEmailAddress(userId, newUserEmailAddress); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#createUserEmailAddress"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **userId** | **String**| | | +| **newUserEmailAddress** | [**NewUserEmailAddress**](NewUserEmailAddress.md)| | | + +### Return type + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | user_email_address created | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | responds with not found when accessing other user's resources | - | +| **422** | invalid request | - | + + +# **deleteUserEmailAddress** +> UserEmailAddressResponse deleteUserEmailAddress(id) + +Delete user email address + +Deletes a user email address + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String id = "id_example"; // String | + try { + UserEmailAddressResponse result = apiInstance.deleteUserEmailAddress(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#deleteUserEmailAddress"); + 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 + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | user_email_address deleted | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | responds with not found when accessing other user's resources | - | + + +# **getUserEmailAddresses** +> UserEmailAddressList getUserEmailAddresses(userId) + +Retrieves user email addresses + +Retrieves all email addresses for the specified user + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String userId = "userId_example"; // String | + try { + UserEmailAddressList result = apiInstance.getUserEmailAddresses(userId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#getUserEmailAddresses"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **userId** | **String**| | | + +### Return type + +[**UserEmailAddressList**](UserEmailAddressList.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** | user_email_addresses found | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | responds with not found when accessing other user's resources | - | + + +# **resendUserEmailAddressVerification** +> UserEmailAddressResponse resendUserEmailAddressVerification(id) + +Resends verification email + +Resends verification email for an email address + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String id = "id_example"; // String | + try { + UserEmailAddressResponse result = apiInstance.resendUserEmailAddressVerification(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#resendUserEmailAddressVerification"); + 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 + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | verification email sent successfully | - | +| **422** | email address already verified | - | +| **404** | email address not found | - | + + +# **showUserEmailAddress** +> UserEmailAddressResponse showUserEmailAddress(id) + +Show user email address + +Retrieves a specific user email address + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String id = "id_example"; // String | + try { + UserEmailAddressResponse result = apiInstance.showUserEmailAddress(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#showUserEmailAddress"); + 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 + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | user_email_address found | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | responds with not found when accessing other user's resources | - | + + +# **updateUserEmailAddress** +> UserEmailAddressResponse updateUserEmailAddress(id, updateUserEmailAddress) + +Update user email address + +Updates a user email address + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String id = "id_example"; // String | + UpdateUserEmailAddress updateUserEmailAddress = new UpdateUserEmailAddress(); // UpdateUserEmailAddress | + try { + UserEmailAddressResponse result = apiInstance.updateUserEmailAddress(id, updateUserEmailAddress); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#updateUserEmailAddress"); + 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**| | | +| **updateUserEmailAddress** | [**UpdateUserEmailAddress**](UpdateUserEmailAddress.md)| | | + +### Return type + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | user_email_address updated | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | responds with not found when accessing other user's resources | - | +| **422** | invalid request | - | + + +# **verifyUserEmailAddress** +> UserEmailAddressResponse verifyUserEmailAddress(id, token) + +Verifies an email address with token + +Verifies an email address using a verification token + +### 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.UserEmailAddressesApi; + +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"); + + UserEmailAddressesApi apiInstance = new UserEmailAddressesApi(defaultClient); + String id = "id_example"; // String | + String token = "token_example"; // String | + try { + UserEmailAddressResponse result = apiInstance.verifyUserEmailAddress(id, token); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserEmailAddressesApi#verifyUserEmailAddress"); + 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**| | | +| **token** | **String**| | | + +### Return type + +[**UserEmailAddressResponse**](UserEmailAddressResponse.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** | email address verified successfully | - | +| **422** | invalid or expired token | - | +| **404** | email address not found | - | + diff --git a/docs/UserFlatResponse.md b/docs/UserFlatResponse.md new file mode 100644 index 00000000..76ac745c --- /dev/null +++ b/docs/UserFlatResponse.md @@ -0,0 +1,22 @@ + + +# UserFlatResponse + +Flat user object as returned by serializer + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **Integer** | User ID | | +|**email** | **String** | User email | | +|**firstName** | **String** | User first name | [optional] | +|**lastName** | **String** | User last name | [optional] | +|**fullName** | **String** | User full name | [optional] | +|**fullNameWithTeam** | **String** | User full name with team | [optional] | +|**timeZone** | **String** | User time zone | [optional] | +|**createdAt** | **String** | User creation timestamp | | +|**updatedAt** | **String** | User last update timestamp | | + + + diff --git a/docs/UserList.md b/docs/UserList.md index 4ef8e237..f43f7826 100644 --- a/docs/UserList.md +++ b/docs/UserList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<UserResponseData>**](UserResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/UserNotificationRule.md b/docs/UserNotificationRule.md index 249d253e..04219246 100644 --- a/docs/UserNotificationRule.md +++ b/docs/UserNotificationRule.md @@ -15,6 +15,7 @@ |**userSmsNumberId** | **String** | User sms number to which notification to be sent | [optional] | |**userDeviceId** | **String** | User device to which notification to be sent | [optional] | |**enabledContactTypes** | [**List<EnabledContactTypesEnum>**](#List<EnabledContactTypesEnum>) | Contact types for which notification needs to be enabled | [optional] | +|**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | Type of notification rule (audible or quiet). Audible notifications use sound/vibration to alert users, while quiet notifications are silent. | [optional] | |**createdAt** | **String** | Date of creation | [optional] | |**updatedAt** | **String** | Date of last update | [optional] | @@ -29,6 +30,16 @@ | CALL | "call" | | DEVICE | "device" | | NON_CRITICAL_DEVICE | "non_critical_device" | +| SLACK | "slack" | + + + +## Enum: NotificationTypeEnum + +| Name | Value | +|---- | -----| +| AUDIBLE | "audible" | +| QUIET | "quiet" | diff --git a/docs/UserNotificationRuleList.md b/docs/UserNotificationRuleList.md index 3fc6eae6..18a6db87 100644 --- a/docs/UserNotificationRuleList.md +++ b/docs/UserNotificationRuleList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<UserNotificationRuleResponseData>**](UserNotificationRuleResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/UserPhoneNumber.md b/docs/UserPhoneNumber.md new file mode 100644 index 00000000..de35e52f --- /dev/null +++ b/docs/UserPhoneNumber.md @@ -0,0 +1,19 @@ + + +# UserPhoneNumber + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**userId** | **Integer** | | [optional] | +|**phone** | **String** | Phone number in international format | [optional] | +|**primary** | **Boolean** | Whether this is the primary phone number | [optional] | +|**verifiedAt** | **OffsetDateTime** | Date when phone number was verified | [optional] | +|**verificationAttemptsToday** | **Integer** | Number of verification attempts made today | [optional] | +|**createdAt** | **String** | Date of creation | [optional] | +|**updatedAt** | **String** | Date of last update | [optional] | + + + diff --git a/docs/UserPhoneNumberList.md b/docs/UserPhoneNumberList.md new file mode 100644 index 00000000..7d328adb --- /dev/null +++ b/docs/UserPhoneNumberList.md @@ -0,0 +1,15 @@ + + +# UserPhoneNumberList + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**List<UserPhoneNumberResponseData>**](UserPhoneNumberResponseData.md) | | | +|**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | + + + diff --git a/docs/UserPhoneNumberResponse.md b/docs/UserPhoneNumberResponse.md new file mode 100644 index 00000000..770b3b66 --- /dev/null +++ b/docs/UserPhoneNumberResponse.md @@ -0,0 +1,13 @@ + + +# UserPhoneNumberResponse + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**data** | [**UserPhoneNumberResponseData**](UserPhoneNumberResponseData.md) | | | + + + diff --git a/docs/UserPhoneNumberResponseData.md b/docs/UserPhoneNumberResponseData.md new file mode 100644 index 00000000..e1c39c9f --- /dev/null +++ b/docs/UserPhoneNumberResponseData.md @@ -0,0 +1,23 @@ + + +# UserPhoneNumberResponseData + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**id** | **String** | Unique ID of the phone number | | +|**type** | [**TypeEnum**](#TypeEnum) | | | +|**attributes** | [**UserPhoneNumber**](UserPhoneNumber.md) | | | + + + +## Enum: TypeEnum + +| Name | Value | +|---- | -----| +| USER_PHONE_NUMBERS | "user_phone_numbers" | + + + diff --git a/docs/UserPhoneNumbersApi.md b/docs/UserPhoneNumbersApi.md new file mode 100644 index 00000000..727aa946 --- /dev/null +++ b/docs/UserPhoneNumbersApi.md @@ -0,0 +1,365 @@ +# UserPhoneNumbersApi + +All URIs are relative to *https://api.rootly.com* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**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 | +| [**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 | + + + +# **createUserPhoneNumber** +> UserPhoneNumberResponse createUserPhoneNumber(userId, newUserPhoneNumber) + +Creates a user phone number + +Creates a new user phone number 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.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 userId = "userId_example"; // String | + NewUserPhoneNumber newUserPhoneNumber = new NewUserPhoneNumber(); // NewUserPhoneNumber | + try { + UserPhoneNumberResponse result = apiInstance.createUserPhoneNumber(userId, newUserPhoneNumber); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#createUserPhoneNumber"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **userId** | **String**| | | +| **newUserPhoneNumber** | [**NewUserPhoneNumber**](NewUserPhoneNumber.md)| | | + +### Return type + +[**UserPhoneNumberResponse**](UserPhoneNumberResponse.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** | user_phone_number created | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | resource not found | - | + + +# **deleteUserPhoneNumber** +> UserPhoneNumberResponse deleteUserPhoneNumber(id) + +Delete user phone number + +Deletes a user phone number + +### 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 { + UserPhoneNumberResponse result = apiInstance.deleteUserPhoneNumber(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#deleteUserPhoneNumber"); + 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 + +[**UserPhoneNumberResponse**](UserPhoneNumberResponse.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** | user_phone_number deleted | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | resource not found | - | +| **422** | cannot delete phone number used by notification rule | - | + + +# **getUserPhoneNumbers** +> UserPhoneNumberList getUserPhoneNumbers(userId) + +Retrieves user phone numbers + +Retrieves all phone numbers for the specified user + +### 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 userId = "userId_example"; // String | + try { + UserPhoneNumberList result = apiInstance.getUserPhoneNumbers(userId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#getUserPhoneNumbers"); + 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 | +|------------- | ------------- | ------------- | -------------| +| **userId** | **String**| | | + +### Return type + +[**UserPhoneNumberList**](UserPhoneNumberList.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** | user_phone_numbers found | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | resource not found | - | + + +# **showUserPhoneNumber** +> UserPhoneNumberResponse showUserPhoneNumber(id) + +Show user phone number + +Retrieves a specific user phone number + +### 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 { + UserPhoneNumberResponse result = apiInstance.showUserPhoneNumber(id); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#showUserPhoneNumber"); + 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 + +[**UserPhoneNumberResponse**](UserPhoneNumberResponse.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** | user_phone_number found | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | resource not found | - | + + +# **updateUserPhoneNumber** +> UserPhoneNumberResponse updateUserPhoneNumber(id, updateUserPhoneNumber) + +Update user phone number + +Updates a user phone number + +### 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 | + UpdateUserPhoneNumber updateUserPhoneNumber = new UpdateUserPhoneNumber(); // UpdateUserPhoneNumber | + try { + UserPhoneNumberResponse result = apiInstance.updateUserPhoneNumber(id, updateUserPhoneNumber); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling UserPhoneNumbersApi#updateUserPhoneNumber"); + 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**| | | +| **updateUserPhoneNumber** | [**UpdateUserPhoneNumber**](UpdateUserPhoneNumber.md)| | | + +### Return type + +[**UserPhoneNumberResponse**](UserPhoneNumberResponse.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** | user_phone_number updated and verification status reset | - | +| **422** | invalid request | - | +| **401** | responds with unauthorized for invalid token | - | +| **404** | resource not found | - | + diff --git a/docs/UsersApi.md b/docs/UsersApi.md index dc4e0d7c..d5efde9c 100644 --- a/docs/UsersApi.md +++ b/docs/UsersApi.md @@ -192,7 +192,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **id** | **String**| | | -| **include** | **String**| comma separated if needed. eg: email_addresses,phone_numbers | [optional] [enum: email_addresses, phone_numbers, devices, role, on_call_role] | +| **include** | **String**| comma separated if needed. eg: email_addresses,phone_numbers | [optional] [enum: email_addresses, phone_numbers, devices, role, on_call_role, teams, schedules, notification_rules] | ### Return type @@ -210,7 +210,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | user found | - | +| **200** | schedules include only returns schedules from the current team | - | | **404** | resource not found | - | @@ -278,7 +278,7 @@ public class Example { | **filterCreatedAtLt** | **String**| | [optional] | | **filterCreatedAtLte** | **String**| | [optional] | | **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at] | -| **include** | **String**| comma separated if needed. eg: email_addresses,phone_numbers | [optional] [enum: email_addresses, phone_numbers, devices, role, on_call_role] | +| **include** | **String**| comma separated if needed. eg: email_addresses,phone_numbers | [optional] [enum: email_addresses, phone_numbers, devices, role, on_call_role, teams, schedules, notification_rules] | ### Return type diff --git a/docs/VerifyPhoneNumberRequest.md b/docs/VerifyPhoneNumberRequest.md new file mode 100644 index 00000000..f2d194bf --- /dev/null +++ b/docs/VerifyPhoneNumberRequest.md @@ -0,0 +1,13 @@ + + +# VerifyPhoneNumberRequest + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**code** | **String** | 6-digit verification code | | + + + diff --git a/docs/WebhooksDeliveryList.md b/docs/WebhooksDeliveryList.md index ace1b1e6..357d22b6 100644 --- a/docs/WebhooksDeliveryList.md +++ b/docs/WebhooksDeliveryList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WebhooksDeliveryResponseData>**](WebhooksDeliveryResponseData.md) | | | |**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | diff --git a/docs/WebhooksEndpoint.md b/docs/WebhooksEndpoint.md index 8ff4bb0b..a14b620e 100644 --- a/docs/WebhooksEndpoint.md +++ b/docs/WebhooksEndpoint.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**name** | **String** | The name of the endpoint | | -|**slug** | **String** | The slug of the endpoint | | +|**slug** | **String** | The slug of the endpoint | [optional] | |**url** | **String** | The URL of the endpoint. | | |**eventTypes** | [**List<EventTypesEnum>**](#List<EventTypesEnum>) | | | |**secret** | **String** | The webhook signing secret used to verify webhook requests. | | @@ -51,6 +51,7 @@ | GENIUS_WORKFLOW_RUN_COMPLETED | "genius_workflow_run.completed" | | GENIUS_WORKFLOW_RUN_FAILED | "genius_workflow_run.failed" | | GENIUS_WORKFLOW_RUN_CANCELED | "genius_workflow_run.canceled" | +| AUDIT_LOG_CREATED | "audit_log.created" | diff --git a/docs/WebhooksEndpointList.md b/docs/WebhooksEndpointList.md index b4961295..28822b11 100644 --- a/docs/WebhooksEndpointList.md +++ b/docs/WebhooksEndpointList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WebhooksEndpointResponseData>**](WebhooksEndpointResponseData.md) | | | |**links** | [**Links**](Links.md) | | [optional] | +|**meta** | [**Meta**](Meta.md) | | [optional] | diff --git a/docs/WebhooksEndpointsApi.md b/docs/WebhooksEndpointsApi.md index 4cb1cb0e..735859a7 100644 --- a/docs/WebhooksEndpointsApi.md +++ b/docs/WebhooksEndpointsApi.md @@ -146,7 +146,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | webhooks_endpoint deleted | - | -| **404** | resource not found | - | +| **404** | hidden endpoint not accessible | - | # **getWebhooksEndpoint** @@ -214,7 +214,7 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | webhooks_endpoint found | - | -| **404** | resource not found | - | +| **404** | hidden endpoint not accessible | - | # **listWebhooksEndpoints** @@ -289,7 +289,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | success | - | +| **200** | excludes hidden endpoints from listing | - | # **updateWebhooksEndpoint** @@ -359,5 +359,5 @@ public class Example { | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | webhooks_endpoint updated | - | -| **404** | resource not found | - | +| **404** | hidden endpoint not accessible | - | diff --git a/docs/WorkflowCustomFieldSelection.md b/docs/WorkflowCustomFieldSelection.md index 3a9725b4..794ba958 100644 --- a/docs/WorkflowCustomFieldSelection.md +++ b/docs/WorkflowCustomFieldSelection.md @@ -20,6 +20,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/WorkflowCustomFieldSelectionList.md b/docs/WorkflowCustomFieldSelectionList.md index 03504e83..f9931ea8 100644 --- a/docs/WorkflowCustomFieldSelectionList.md +++ b/docs/WorkflowCustomFieldSelectionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowCustomFieldSelectionResponseData>**](WorkflowCustomFieldSelectionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowFormFieldCondition.md b/docs/WorkflowFormFieldCondition.md index 6560019b..d74d1874 100644 --- a/docs/WorkflowFormFieldCondition.md +++ b/docs/WorkflowFormFieldCondition.md @@ -17,6 +17,9 @@ |**selectedOptionIds** | **List<String>** | | | |**selectedServiceIds** | **List<String>** | | [optional] | |**selectedUserIds** | **List<Integer>** | | | +|**selectedCauseIds** | **List<String>** | | [optional] | +|**selectedEnvironmentIds** | **List<String>** | | [optional] | +|**selectedIncidentTypeIds** | **List<String>** | | [optional] | @@ -25,6 +28,7 @@ | Name | Value | |---- | -----| | IS | "IS" | +| IS_NOT | "IS NOT" | | ANY | "ANY" | | CONTAINS | "CONTAINS" | | CONTAINS_ALL | "CONTAINS_ALL" | diff --git a/docs/WorkflowFormFieldConditionList.md b/docs/WorkflowFormFieldConditionList.md index 586a5102..236fa120 100644 --- a/docs/WorkflowFormFieldConditionList.md +++ b/docs/WorkflowFormFieldConditionList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowFormFieldConditionResponseData>**](WorkflowFormFieldConditionResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowFormFieldConditionsApi.md b/docs/WorkflowFormFieldConditionsApi.md index 30b03552..691fd95e 100644 --- a/docs/WorkflowFormFieldConditionsApi.md +++ b/docs/WorkflowFormFieldConditionsApi.md @@ -78,7 +78,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | workflow_form_field_condition created | - | +| **201** | workflow_form_field_condition created with environment ids for non-environment form field | - | | **401** | responds with unauthorized for invalid token | - | @@ -214,7 +214,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | workflow_form_field_condition found | - | +| **200** | includes native field ids | - | | **404** | resource not found | - | diff --git a/docs/WorkflowGroupList.md b/docs/WorkflowGroupList.md index b7ac4aaa..74906550 100644 --- a/docs/WorkflowGroupList.md +++ b/docs/WorkflowGroupList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowGroupResponseData>**](WorkflowGroupResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowList.md b/docs/WorkflowList.md index e377ccbf..025cdbbb 100644 --- a/docs/WorkflowList.md +++ b/docs/WorkflowList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowResponseData>**](WorkflowResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowRunsApi.md b/docs/WorkflowRunsApi.md index 518c4108..0bfd0aeb 100644 --- a/docs/WorkflowRunsApi.md +++ b/docs/WorkflowRunsApi.md @@ -158,5 +158,5 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | success | - | +| **200** | success with date filters using gte with timezone | - | diff --git a/docs/WorkflowRunsList.md b/docs/WorkflowRunsList.md index 1cd4dd46..d29743fc 100644 --- a/docs/WorkflowRunsList.md +++ b/docs/WorkflowRunsList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowRunResponseData>**](WorkflowRunResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowTaskList.md b/docs/WorkflowTaskList.md index 2aa99678..61005503 100644 --- a/docs/WorkflowTaskList.md +++ b/docs/WorkflowTaskList.md @@ -9,6 +9,7 @@ |------------ | ------------- | ------------- | -------------| |**data** | [**List<WorkflowTaskResponseData>**](WorkflowTaskResponseData.md) | | | |**links** | [**Links**](Links.md) | | | +|**meta** | [**Meta**](Meta.md) | | | diff --git a/docs/WorkflowsApi.md b/docs/WorkflowsApi.md index b9b38f7c..2020fab0 100644 --- a/docs/WorkflowsApi.md +++ b/docs/WorkflowsApi.md @@ -76,7 +76,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **201** | admins can set 'locked' while creating a workflow | - | +| **201** | ignores alert field conditions in create request | - | | **401** | responds with unauthorized for invalid token | - | | **403** | non-admins can't set 'locked' while creating a workflow | - | @@ -108,7 +108,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); WorkflowsApi apiInstance = new WorkflowsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | try { WorkflowResponse result = apiInstance.deleteWorkflow(id); System.out.println(result); @@ -127,7 +127,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | ### Return type @@ -176,8 +176,8 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); WorkflowsApi apiInstance = new WorkflowsApi(defaultClient); - String id = "id_example"; // String | - String include = "form_field_conditions"; // String | comma separated if needed. eg: form_field_conditions,genius_tasks + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | + String include = "form_field_conditions"; // String | comma separated if needed. eg: form_field_conditions,alert_field_conditions try { WorkflowResponse result = apiInstance.getWorkflow(id, include); System.out.println(result); @@ -196,8 +196,8 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | -| **include** | **String**| comma separated if needed. eg: form_field_conditions,genius_tasks | [optional] [enum: form_field_conditions, genius_tasks, genius_workflow_runs] | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | +| **include** | **String**| comma separated if needed. eg: form_field_conditions,alert_field_conditions | [optional] [enum: form_field_conditions, alert_field_conditions, genius_tasks, genius_workflow_runs] | ### Return type @@ -215,7 +215,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | workflow found | - | +| **200** | does not serialize alert field conditions | - | | **404** | resource not found | - | @@ -246,7 +246,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); WorkflowsApi apiInstance = new WorkflowsApi(defaultClient); - String include = "form_field_conditions"; // String | comma separated if needed. eg: form_field_conditions,genius_tasks + String include = "form_field_conditions"; // String | comma separated if needed. eg: form_field_conditions,alert_field_conditions String sort = "created_at"; // String | comma separated if needed. eg: created_at,updated_at Integer pageNumber = 56; // Integer | Integer pageSize = 56; // Integer | @@ -275,7 +275,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **include** | **String**| comma separated if needed. eg: form_field_conditions,genius_tasks | [optional] [enum: form_field_conditions, genius_tasks, genius_workflow_runs] | +| **include** | **String**| comma separated if needed. eg: form_field_conditions,alert_field_conditions | [optional] [enum: form_field_conditions, alert_field_conditions, genius_tasks, genius_workflow_runs] | | **sort** | **String**| comma separated if needed. eg: created_at,updated_at | [optional] [enum: created_at, -created_at, updated_at, -updated_at, position, -position] | | **pageNumber** | **Integer**| | [optional] | | **pageSize** | **Integer**| | [optional] | @@ -333,7 +333,7 @@ public class Example { bearer_auth.setBearerToken("BEARER TOKEN"); WorkflowsApi apiInstance = new WorkflowsApi(defaultClient); - String id = "id_example"; // String | + GetAlertFieldIdParameter id = new GetAlertFieldIdParameter(); // GetAlertFieldIdParameter | UpdateWorkflow updateWorkflow = new UpdateWorkflow(); // UpdateWorkflow | try { WorkflowResponse result = apiInstance.updateWorkflow(id, updateWorkflow); @@ -353,7 +353,7 @@ public class Example { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **id** | **String**| | | +| **id** | [**GetAlertFieldIdParameter**](.md)| | | | **updateWorkflow** | [**UpdateWorkflow**](UpdateWorkflow.md)| | | ### Return type @@ -372,7 +372,7 @@ public class Example { ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | admin can update 'locked' attribute | - | +| **200** | preserves repeat_condition_* fields when omitted from PATCH payload | - | | **404** | non-admin can't update locked workflow | - | | **403** | non-admin can't update 'locked' attribute | - | diff --git a/src/main/java/com/rootly/client/ApiCallback.java b/src/main/java/com/rootly/client/ApiCallback.java index 3fcfd15d..af9286e3 100644 --- a/src/main/java/com/rootly/client/ApiCallback.java +++ b/src/main/java/com/rootly/client/ApiCallback.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/ApiClient.java b/src/main/java/com/rootly/client/ApiClient.java index 11d0f83b..9163c64b 100644 --- a/src/main/java/com/rootly/client/ApiClient.java +++ b/src/main/java/com/rootly/client/ApiClient.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/ApiException.java b/src/main/java/com/rootly/client/ApiException.java index 7a3f78f3..ff0cce3b 100644 --- a/src/main/java/com/rootly/client/ApiException.java +++ b/src/main/java/com/rootly/client/ApiException.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,7 +21,7 @@ *

ApiException class.

*/ @SuppressWarnings("serial") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ApiResponse.java b/src/main/java/com/rootly/client/ApiResponse.java index 4b83741b..4452c684 100644 --- a/src/main/java/com/rootly/client/ApiResponse.java +++ b/src/main/java/com/rootly/client/ApiResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/Configuration.java b/src/main/java/com/rootly/client/Configuration.java index 57fcabf1..29b6ec6c 100644 --- a/src/main/java/com/rootly/client/Configuration.java +++ b/src/main/java/com/rootly/client/Configuration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/GzipRequestInterceptor.java b/src/main/java/com/rootly/client/GzipRequestInterceptor.java index 656f5904..4d318f31 100644 --- a/src/main/java/com/rootly/client/GzipRequestInterceptor.java +++ b/src/main/java/com/rootly/client/GzipRequestInterceptor.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/JSON.java b/src/main/java/com/rootly/client/JSON.java index 6ef1aa08..914b77d7 100644 --- a/src/main/java/com/rootly/client/JSON.java +++ b/src/main/java/com/rootly/client/JSON.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -100,6 +100,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddActionItemTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddActionItemTaskParamsAssignedToUser.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddMicrosoftTeamsChatTabTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddMicrosoftTeamsTabTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddRoleTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AddRoleTaskParamsAssignedToUser.CustomTypeAdapterFactory()); @@ -114,20 +115,39 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEventList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEventResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertEventResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertField.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertFieldList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertFieldListDataInner.CustomTypeAdapterFactory()); + 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.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.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.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.AlertRoutingRule.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleCondition.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleConditionGroup.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleConditionGroupsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleConditionGroupsInnerConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleDestination.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertRoutingRuleList.CustomTypeAdapterFactory()); 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.AlertTriggerParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertTriggerParamsAlertPayloadConditionsConditionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertUrgency.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertUrgencyList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertUrgencyResponse.CustomTypeAdapterFactory()); @@ -136,6 +156,13 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AlertsSourceList.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.ApiKey.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyWithTokenResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyWithTokenResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ApiKeyWithTokenResponseDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ArchiveMicrosoftTeamsChannelsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ArchiveSlackChannelsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AssignRoleToUser.CustomTypeAdapterFactory()); @@ -156,12 +183,29 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AutoAssignRolePagerdutyTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AutoAssignRoleRootlyTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.AutoAssignRoleVictorOpsTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.BuiltinField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CallPeopleTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CancelIncident.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CancelIncidentData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CancelIncidentDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Catalog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplateFieldsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplateList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplateOwnersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplateResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogChecklistTemplateResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntity.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklist.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistFieldsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistFieldsInnerData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistFieldsInnerDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistOwnersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistOwnersInnerData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistChecklistOwnersInnerDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityChecklistResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityProperty.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogEntityPropertyList.CustomTypeAdapterFactory()); @@ -174,6 +218,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogFieldResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogFieldResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogProperty.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogPropertyList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogPropertyResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogPropertyResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CatalogResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Cause.CustomTypeAdapterFactory()); @@ -181,22 +229,58 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CauseResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CauseResponseData.CustomTypeAdapterFactory()); 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.CommunicationsGroupResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsGroupsResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsStage.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsStageResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsStageResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsStagesResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateCommunicationType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplateResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTemplatesResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTypeResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTypeResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CommunicationsTypesResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateAirtableTableRecordTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateAnthropicChatCompletionTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateAnthropicChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateAsanaSubtaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateAsanaTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateClickupTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateCodaPageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateCodaPageTaskParamsDoc.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateCodaPageTaskParamsTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateConfluencePageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateConfluencePageTaskParamsIntegration.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateDatadogNotebookTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateDropboxPaperPageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorActionRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorActionRequestAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorActionRequestActionMetadata.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorActionRequestActionMetadataParametersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorRequestData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateEdgeConnectorRequestDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGithubIssueTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGithubIssueTaskParamsIssueType.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGitlabIssueTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoToMeetingTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleCalendarEventTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleDocsPageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleDocsPermissionsTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateGoogleMeetingTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateIncidentPostmortemTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateIncidentPostmortemTaskParamsTemplate.CustomTypeAdapterFactory()); @@ -207,6 +291,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateJiraIssueTaskParamsPriority.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateJiraIssueTaskParamsStatus.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateJiraSubtaskTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateJsmopsAlertTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateLinearIssueCommentTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateLinearIssueTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateLinearIssueTaskParamsProject.CustomTypeAdapterFactory()); @@ -214,10 +299,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateLinearIssueTaskParamsTeam.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateLinearSubtaskIssueTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMicrosoftTeamsChannelTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMicrosoftTeamsChatTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMicrosoftTeamsChatTaskParamsMembersInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMicrosoftTeamsMeetingTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMistralChatCompletionTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMistralChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateMotionTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateNotionPageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateNotionPageTaskParamsParentPage.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateOpenaiChatCompletionTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateOpenaiChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateOpsgenieAlertTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateOutlookEventTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreatePagerdutyStatusUpdateTaskParams.CustomTypeAdapterFactory()); @@ -229,10 +320,13 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateShortcutStoryTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateShortcutTaskTaskParams.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()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateTrelloCardTaskParamsArchivation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateTrelloCardTaskParamsBoard.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateTrelloCardTaskParamsList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateWatsonxChatCompletionTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateWatsonxChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateWebexMeetingTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateZendeskJiraLinkTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.CreateZendeskTicketTaskParams.CustomTypeAdapterFactory()); @@ -257,15 +351,28 @@ 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.DeleteAlertRoute200Response.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeleteAlertRoute200ResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DeleteAlertRoute200ResponseDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DuplicateIncident.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DuplicateIncidentData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.DuplicateIncidentDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnector.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorActionData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorActionDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorActionDataAttributesParametersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EdgeConnectorDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Environment.CustomTypeAdapterFactory()); 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.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.EscalationPolicyLevel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyLevelList.CustomTypeAdapterFactory()); @@ -278,8 +385,6 @@ 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.EscalationPolicyPathRulesInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.EscalationPolicyPathRulesInnerAnyOf.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()); @@ -314,15 +419,13 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.FunctionalityList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.FunctionalityResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.FunctionalityResponseData.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParams.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParams.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParamsModel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetAlertFieldIdParameter.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetAlertsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetGithubCommitsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetGitlabCommitsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetPulsesTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetPulsesTaskParamsParentMessageThreadTask.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.GetTeamIdParameter.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Heartbeat.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.HeartbeatList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.HeartbeatResponse.CustomTypeAdapterFactory()); @@ -402,6 +505,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IncidentTypeList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IncidentTypeResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IncidentTypeResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.IncidentZoomMeetingGlobalDialInNumbersInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.InviteToMicrosoftTeamsChannelTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.InviteToSlackChannelOpsgenieTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.InviteToSlackChannelPagerdutyTaskParams.CustomTypeAdapterFactory()); @@ -416,56 +520,101 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.LiveCallRouterList.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()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MeetingRecordingList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MeetingRecordingListDataInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Meta.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MitigateIncident.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MitigateIncidentData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.MitigateIncidentDataAttributes.CustomTypeAdapterFactory()); 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.NewAlertDataAttributesAlertFieldValuesAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesLabelsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertDataAttributesLabelsInnerValue.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertEventData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertEventDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertField.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertFieldData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertFieldDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroupData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertGroupDataAttributes.CustomTypeAdapterFactory()); 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.NewAlertRoute.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributesRulesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRouteDataAttributesRulesInnerDestinationsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoutingRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoutingRuleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoutingRuleDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoutingRuleDataAttributesConditionsInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertRoutingRuleDataAttributesDestination.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertUrgency.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertUrgencyData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertUrgencyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSource.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewApiKey.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewApiKeyData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewApiKeyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAuthorization.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAuthorizationData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewAuthorizationDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogChecklistTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogChecklistTemplateData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogChecklistTemplateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesFieldsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesOwnersInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntity.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityDataAttributesPropertiesInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityProperty.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityPropertyData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogEntityPropertyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogFieldDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogProperty.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogPropertyData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCatalogPropertyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCause.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCauseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCauseDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCauseDataAttributesPropertiesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsGroup.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsGroupData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsGroupDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsStage.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsStageData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsStageDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTemplateData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTemplateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTypeData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCommunicationsTypeDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCustomField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCustomFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewCustomFieldDataAttributes.CustomTypeAdapterFactory()); @@ -487,8 +636,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesParamsLegend.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewDashboardPanelDataAttributesPosition.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEdgeConnector.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEdgeConnectorAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEdgeConnectorActionAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEdgeConnectorActionActionMetadata.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEdgeConnectorEdgeConnector.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEnvironment.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEnvironmentData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEnvironmentDataAttributes.CustomTypeAdapterFactory()); @@ -506,9 +662,14 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri 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.NewEscalationPolicyPathDataAttributesRulesInner.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.CustomTypeAdapterFactory()); - gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.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.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewFormField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewFormFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewFormFieldDataAttributes.CustomTypeAdapterFactory()); @@ -589,6 +750,10 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewLiveCallRouterData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewLiveCallRouterDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewLiveCallRouterDataAttributesPagingTargetsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallPayReport.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallPayReportData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallPayReportDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallRole.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallRoleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewOnCallRoleDataAttributes.CustomTypeAdapterFactory()); @@ -610,6 +775,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri 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()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPulseDataAttributesLabelsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewPulseDataAttributesRefsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewRetrospectiveProcess.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewRetrospectiveProcessData.CustomTypeAdapterFactory()); @@ -633,6 +799,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.NewScheduleDataAttributesSlackChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotation.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationActiveDay.CustomTypeAdapterFactory()); @@ -642,6 +809,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationMembersInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.CustomTypeAdapterFactory()); @@ -656,9 +824,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewService.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewServiceData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewServiceDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSeverity.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSeverityData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSeverityDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSla.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSlaData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSlaDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSlaDataAttributesConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewSlaDataAttributesNotificationConfigurationsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPage.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewStatusPageDataAttributes.CustomTypeAdapterFactory()); @@ -671,9 +846,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewTeam.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewTeamData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewTeamDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserEmailAddress.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserEmailAddressData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserEmailAddressDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserNotificationRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserNotificationRuleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserNotificationRuleDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserPhoneNumber.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserPhoneNumberData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewUserPhoneNumberDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWebhooksEndpoint.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWebhooksEndpointData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.NewWebhooksEndpointDataAttributes.CustomTypeAdapterFactory()); @@ -703,6 +884,10 @@ 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.OnCallPayReport.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReportList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReportResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallPayReportResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallRole.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallRoleList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OnCallRoleRelationship.CustomTypeAdapterFactory()); @@ -718,10 +903,19 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShiftList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShiftResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.OverrideShiftResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PageJsmopsOnCallRespondersTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PageOpsgenieOnCallRespondersTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PagePagerdutyOnCallRespondersTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PageRootlyOnCallRespondersTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PageVictorOpsOnCallRespondersTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRoute.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteDataAttributesRulesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PatchAlertRouteDataAttributesRulesInnerDestinationsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PhoneVerificationResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Playbook.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PlaybookList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.PlaybookResponse.CustomTypeAdapterFactory()); @@ -785,6 +979,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RoleRelationshipData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RoleResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RoleResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RotateApiKey.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.RotateApiKeyData.CustomTypeAdapterFactory()); + 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.ScheduleList.CustomTypeAdapterFactory()); @@ -804,6 +1001,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationUserList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationUserListDataInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleRotationUserResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleSlackChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ScheduleSlackUserGroup.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Secret.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SecretList.CustomTypeAdapterFactory()); @@ -812,12 +1010,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendDashboardReportTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendEmailTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendMicrosoftTeamsBlocksTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendMicrosoftTeamsChatMessageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendMicrosoftTeamsMessageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendSlackBlocksTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendSlackMessageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendSmsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SendWhatsappMessageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Service.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ServiceAlertBroadcastChannel.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ServiceIncidentBroadcastChannel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ServiceList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ServiceResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ServiceResponseData.CustomTypeAdapterFactory()); @@ -831,11 +1032,29 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftOverride.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftOverrideResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftOverrideResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationships.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsAssignee.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsAssigneeData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsShiftOverride.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsShiftOverrideData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsUser.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.ShiftRelationshipsUserData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SimpleTriggerParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Sla.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SlaConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SlaList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SlaNotificationConfigurationsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SlaResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SlaResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnapshotDatadogGraphTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnapshotGrafanaDashboardTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnapshotLookerLookTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnapshotNewRelicGraphTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnoozeAlert.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnoozeAlertData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SnoozeAlertDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.Status.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPage.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageResponse.CustomTypeAdapterFactory()); @@ -845,6 +1064,8 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplateListDataInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplateResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusPageTemplateResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.StatusResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SubStatus.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SubStatusList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.SubStatusResponse.CustomTypeAdapterFactory()); @@ -853,6 +1074,9 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TeamList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TeamResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TeamResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TiptapBlockSchema.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TiptapBlockSchemaFollowupComponent.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TiptapBlockSchemaTimelineComponent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TriggerWorkflowTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.TweetTwitterMessageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UnassignRoleFromUser.CustomTypeAdapterFactory()); @@ -866,9 +1090,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertEvent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertEventData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertEventDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertField.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertFieldData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertFieldDataAttributes.CustomTypeAdapterFactory()); 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.UpdateAlertRoute.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRouteData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRouteDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRoutingRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRoutingRuleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAlertRoutingRuleDataAttributes.CustomTypeAdapterFactory()); @@ -880,12 +1110,18 @@ 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.UpdateApiKey.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateApiKeyData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateApiKeyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAsanaTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAttachedAlertsTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAuthorization.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAuthorizationData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateAuthorizationDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalog.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogChecklistTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogChecklistTemplateData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogChecklistTemplateDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogEntity.CustomTypeAdapterFactory()); @@ -897,11 +1133,31 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogFieldDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogProperty.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogPropertyData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCatalogPropertyDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCause.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCauseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCauseDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateClickupTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCodaPageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsGroup.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsGroupData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsGroupDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsStage.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsStageData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsStageDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTemplateData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTemplateDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsType.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTypeData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCommunicationsTypeDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateConfluencePageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateConfluencePageTaskParamsTemplate.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCustomField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCustomFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateCustomFieldDataAttributes.CustomTypeAdapterFactory()); @@ -917,6 +1173,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDashboardPanel.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDashboardPanelData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDashboardPanelDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDatadogNotebookTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateDropboxPaperPageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnector.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorActionRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorActionRequestAction.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorRequest.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorRequestData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEdgeConnectorRequestDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEnvironment.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEnvironmentData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEnvironmentDataAttributes.CustomTypeAdapterFactory()); @@ -931,6 +1197,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEscalationPolicyPathData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEscalationPolicyPathDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateFormField.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateFormFieldData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateFormFieldDataAttributes.CustomTypeAdapterFactory()); @@ -956,6 +1223,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateFunctionalityData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateFunctionalityDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateGithubIssueTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateGithubIssueTaskParamsRepository.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateGitlabIssueTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateGoogleCalendarEventTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateGoogleDocsPageTaskParams.CustomTypeAdapterFactory()); @@ -1022,12 +1290,16 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateIncidentTypeDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateJiraIssueTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLinearIssueTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLinearIssueTaskParamsState.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLiveCallRouter.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLiveCallRouterData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLiveCallRouterDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateMotionTaskTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateNotionPageTaskParams.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallPayReport.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallPayReportData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallPayReportDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallRole.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallRoleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateOnCallRoleDataAttributes.CustomTypeAdapterFactory()); @@ -1053,6 +1325,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri 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()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateQuipPageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateRetrospectiveConfiguration.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateRetrospectiveConfigurationData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateRetrospectiveConfigurationDataAttributes.CustomTypeAdapterFactory()); @@ -1093,8 +1366,12 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSeverity.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSeverityData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSeverityDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateSharepointPageTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateShortcutStoryTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateShortcutTaskTaskParams.CustomTypeAdapterFactory()); + 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.UpdateSlackChannelTopicTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPage.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateStatusPageData.CustomTypeAdapterFactory()); @@ -1113,9 +1390,15 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUser.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserEmailAddress.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserEmailAddressData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserEmailAddressDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserNotificationRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserNotificationRuleData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserNotificationRuleDataAttributes.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserPhoneNumber.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserPhoneNumberData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateUserPhoneNumberDataAttributes.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateVictorOpsIncidentTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateWebhooksEndpoint.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateWebhooksEndpointData.CustomTypeAdapterFactory()); @@ -1138,14 +1421,24 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateWorkflowTaskDataAttributesTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UpdateZendeskTicketTaskParams.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.User.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserEmailAddress.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserEmailAddressList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserEmailAddressResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserEmailAddressResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserFlatResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserNotificationRule.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserNotificationRuleList.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserNotificationRuleResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserNotificationRuleResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserPhoneNumber.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserPhoneNumberList.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserPhoneNumberResponse.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserPhoneNumberResponseData.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserRelationships.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserResponse.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.UserResponseData.CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory(new com.rootly.client.model.VerifyPhoneNumberRequest.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()); diff --git a/src/main/java/com/rootly/client/Pair.java b/src/main/java/com/rootly/client/Pair.java index 1a78fece..b91019af 100644 --- a/src/main/java/com/rootly/client/Pair.java +++ b/src/main/java/com/rootly/client/Pair.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -13,7 +13,7 @@ package com.rootly.client; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ProgressRequestBody.java b/src/main/java/com/rootly/client/ProgressRequestBody.java index 097a31a7..9a2d3e98 100644 --- a/src/main/java/com/rootly/client/ProgressRequestBody.java +++ b/src/main/java/com/rootly/client/ProgressRequestBody.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/ProgressResponseBody.java b/src/main/java/com/rootly/client/ProgressResponseBody.java index e8dd5cae..1688c921 100644 --- a/src/main/java/com/rootly/client/ProgressResponseBody.java +++ b/src/main/java/com/rootly/client/ProgressResponseBody.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/ServerConfiguration.java b/src/main/java/com/rootly/client/ServerConfiguration.java index faace7e5..6ecf0e50 100644 --- a/src/main/java/com/rootly/client/ServerConfiguration.java +++ b/src/main/java/com/rootly/client/ServerConfiguration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,7 +18,7 @@ /** * Representing a Server configuration. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 78ac2878..d5a21669 100644 --- a/src/main/java/com/rootly/client/ServerVariable.java +++ b/src/main/java/com/rootly/client/ServerVariable.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,7 +18,7 @@ /** * Representing a Server Variable for server URL template substitution. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5baa198c..70e99281 100644 --- a/src/main/java/com/rootly/client/StringUtil.java +++ b/src/main/java/com/rootly/client/StringUtil.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -16,7 +16,7 @@ import java.util.Collection; import java.util.Iterator; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/AlertEventsApi.java b/src/main/java/com/rootly/client/api/AlertEventsApi.java index dade958c..cb96adab 100644 --- a/src/main/java/com/rootly/client/api/AlertEventsApi.java +++ b/src/main/java/com/rootly/client/api/AlertEventsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -284,7 +284,7 @@ private okhttp3.Call deleteAlertEventValidateBeforeCall(@javax.annotation.Nonnul /** * Delete alert event - * Deletes a specific alert event + * Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -301,7 +301,7 @@ public void deleteAlertEvent(@javax.annotation.Nonnull String id) throws ApiExce /** * Delete alert event - * Deletes a specific alert event + * Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @return ApiResponse<Void> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -320,7 +320,7 @@ public ApiResponse deleteAlertEventWithHttpInfo(@javax.annotation.Nonnull /** * Delete alert event (asynchronously) - * Deletes a specific alert event + * Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -711,7 +711,7 @@ private okhttp3.Call updateAlertEventValidateBeforeCall(@javax.annotation.Nonnul /** * Update alert event - * Updates a specific alert event + * Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @param updateAlertEvent (optional) * @return AlertEventResponse @@ -731,7 +731,7 @@ public AlertEventResponse updateAlertEvent(@javax.annotation.Nonnull String id, /** * Update alert event - * Updates a specific alert event + * Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @param updateAlertEvent (optional) * @return ApiResponse<AlertEventResponse> @@ -752,7 +752,7 @@ public ApiResponse updateAlertEventWithHttpInfo(@javax.annot /** * Update alert event (asynchronously) - * Updates a specific alert event + * Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated. System-generated events are immutable to maintain audit trail integrity. * @param id (required) * @param updateAlertEvent (optional) * @param _callback The callback to be executed when the API call finishes diff --git a/src/main/java/com/rootly/client/api/AlertFieldsApi.java b/src/main/java/com/rootly/client/api/AlertFieldsApi.java new file mode 100644 index 00000000..a011cd13 --- /dev/null +++ b/src/main/java/com/rootly/client/api/AlertFieldsApi.java @@ -0,0 +1,827 @@ +/* + * 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.AlertFieldList; +import com.rootly.client.model.AlertFieldResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewAlertField; +import com.rootly.client.model.UpdateAlertField; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AlertFieldsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public AlertFieldsApi() { + this(Configuration.getDefaultApiClient()); + } + + public AlertFieldsApi(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 createAlertField + * @param newAlertField (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 alert field created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createAlertFieldCall(@javax.annotation.Nonnull NewAlertField newAlertField, 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 = newAlertField; + + // create path and map variables + String localVarPath = "/v1/alert_fields"; + + 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 createAlertFieldValidateBeforeCall(@javax.annotation.Nonnull NewAlertField newAlertField, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newAlertField' is set + if (newAlertField == null) { + throw new ApiException("Missing the required parameter 'newAlertField' when calling createAlertField(Async)"); + } + + return createAlertFieldCall(newAlertField, _callback); + + } + + /** + * Creates an alert field + * Creates a new alert field from provided data + * @param newAlertField (required) + * @return AlertFieldResponse + * @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 alert field created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public AlertFieldResponse createAlertField(@javax.annotation.Nonnull NewAlertField newAlertField) throws ApiException { + ApiResponse localVarResp = createAlertFieldWithHttpInfo(newAlertField); + return localVarResp.getData(); + } + + /** + * Creates an alert field + * Creates a new alert field from provided data + * @param newAlertField (required) + * @return ApiResponse<AlertFieldResponse> + * @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 alert field created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createAlertFieldWithHttpInfo(@javax.annotation.Nonnull NewAlertField newAlertField) throws ApiException { + okhttp3.Call localVarCall = createAlertFieldValidateBeforeCall(newAlertField, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates an alert field (asynchronously) + * Creates a new alert field from provided data + * @param newAlertField (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 alert field created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createAlertFieldAsync(@javax.annotation.Nonnull NewAlertField newAlertField, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createAlertFieldValidateBeforeCall(newAlertField, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteAlertField + * @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 custom alert field deleted successfully -
422 cannot delete alert field referenced by escalation path field rules -
404 resource not found -
+ */ + public okhttp3.Call deleteAlertFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/alert_fields/{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 deleteAlertFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteAlertField(Async)"); + } + + return deleteAlertFieldCall(id, _callback); + + } + + /** + * Delete an alert field + * Delete a specific alert field by id + * @param id (required) + * @return AlertFieldResponse + * @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 custom alert field deleted successfully -
422 cannot delete alert field referenced by escalation path field rules -
404 resource not found -
+ */ + public AlertFieldResponse deleteAlertField(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = deleteAlertFieldWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete an alert field + * Delete a specific alert field by id + * @param id (required) + * @return ApiResponse<AlertFieldResponse> + * @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 custom alert field deleted successfully -
422 cannot delete alert field referenced by escalation path field rules -
404 resource not found -
+ */ + public ApiResponse deleteAlertFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = deleteAlertFieldValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete an alert field (asynchronously) + * Delete a specific alert field 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 custom alert field deleted successfully -
422 cannot delete alert field referenced by escalation path field rules -
404 resource not found -
+ */ + public okhttp3.Call deleteAlertFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteAlertFieldValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getAlertField + * @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 alert_field found by slug -
404 resource not found -
+ */ + public okhttp3.Call getAlertFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/alert_fields/{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 getAlertFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getAlertField(Async)"); + } + + return getAlertFieldCall(id, _callback); + + } + + /** + * Retrieves an alert field + * Retrieves a specific alert field by id + * @param id (required) + * @return AlertFieldResponse + * @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_field found by slug -
404 resource not found -
+ */ + public AlertFieldResponse getAlertField(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = getAlertFieldWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves an alert field + * Retrieves a specific alert field by id + * @param id (required) + * @return ApiResponse<AlertFieldResponse> + * @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_field found by slug -
404 resource not found -
+ */ + public ApiResponse getAlertFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = getAlertFieldValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves an alert field (asynchronously) + * Retrieves a specific alert field 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 alert_field found by slug -
404 resource not found -
+ */ + public okhttp3.Call getAlertFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getAlertFieldValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listAlertFields + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 listAlertFieldsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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_fields"; + + 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)); + } + + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listAlertFieldsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listAlertFieldsCall(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * List alert fields + * List alert fields + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return AlertFieldList + * @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 AlertFieldList listAlertFields(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listAlertFieldsWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * List alert fields + * List alert fields + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<AlertFieldList> + * @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 listAlertFieldsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listAlertFieldsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List alert fields (asynchronously) + * List alert fields + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 listAlertFieldsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listAlertFieldsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateAlertField + * @param id (required) + * @param updateAlertField (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 field updated -
404 resource not found -
+ */ + public okhttp3.Call updateAlertFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertField updateAlertField, 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 = updateAlertField; + + // create path and map variables + String localVarPath = "/v1/alert_fields/{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 updateAlertFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertField updateAlertField, 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 updateAlertField(Async)"); + } + + // verify the required parameter 'updateAlertField' is set + if (updateAlertField == null) { + throw new ApiException("Missing the required parameter 'updateAlertField' when calling updateAlertField(Async)"); + } + + return updateAlertFieldCall(id, updateAlertField, _callback); + + } + + /** + * Update an alert field + * Update a specific alert field by id + * @param id (required) + * @param updateAlertField (required) + * @return AlertFieldResponse + * @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 field updated -
404 resource not found -
+ */ + public AlertFieldResponse updateAlertField(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertField updateAlertField) throws ApiException { + ApiResponse localVarResp = updateAlertFieldWithHttpInfo(id, updateAlertField); + return localVarResp.getData(); + } + + /** + * Update an alert field + * Update a specific alert field by id + * @param id (required) + * @param updateAlertField (required) + * @return ApiResponse<AlertFieldResponse> + * @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 field updated -
404 resource not found -
+ */ + public ApiResponse updateAlertFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertField updateAlertField) throws ApiException { + okhttp3.Call localVarCall = updateAlertFieldValidateBeforeCall(id, updateAlertField, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update an alert field (asynchronously) + * Update a specific alert field by id + * @param id (required) + * @param updateAlertField (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 field updated -
404 resource not found -
+ */ + public okhttp3.Call updateAlertFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertField updateAlertField, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateAlertFieldValidateBeforeCall(id, updateAlertField, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/AlertGroupsApi.java b/src/main/java/com/rootly/client/api/AlertGroupsApi.java index 78438851..86eed1c3 100644 --- a/src/main/java/com/rootly/client/api/AlertGroupsApi.java +++ b/src/main/java/com/rootly/client/api/AlertGroupsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.AlertGroupList; import com.rootly.client.model.AlertGroupResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewAlertGroup; import com.rootly.client.model.UpdateAlertGroup; @@ -86,7 +87,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 alert group created -
201 alert group created with conditions -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -149,7 +150,7 @@ private okhttp3.Call createAlertGroupValidateBeforeCall(@javax.annotation.Nonnul /** * Creates an alert group - * Creates a new alert group + * Creates a new alert group. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param newAlertGroup (required) * @return AlertGroupResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -157,7 +158,7 @@ private okhttp3.Call createAlertGroupValidateBeforeCall(@javax.annotation.Nonnul - +
Response Details
Status Code Description Response Headers
201 alert group created -
201 alert group created with conditions -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -169,7 +170,7 @@ public AlertGroupResponse createAlertGroup(@javax.annotation.Nonnull NewAlertGro /** * Creates an alert group - * Creates a new alert group + * Creates a new alert group. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param newAlertGroup (required) * @return ApiResponse<AlertGroupResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -177,7 +178,7 @@ public AlertGroupResponse createAlertGroup(@javax.annotation.Nonnull NewAlertGro - +
Response Details
Status Code Description Response Headers
201 alert group created -
201 alert group created with conditions -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -190,7 +191,7 @@ public ApiResponse createAlertGroupWithHttpInfo(@javax.annot /** * Creates an alert group (asynchronously) - * Creates a new alert group + * Creates a new alert group. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param newAlertGroup (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -199,7 +200,7 @@ public ApiResponse createAlertGroupWithHttpInfo(@javax.annot - +
Response Details
Status Code Description Response Headers
201 alert group created -
201 alert group created with conditions -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -225,7 +226,7 @@ public okhttp3.Call createAlertGroupAsync(@javax.annotation.Nonnull NewAlertGrou 404 resource not found - */ - public okhttp3.Call deleteAlertGroupCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertGroupCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteAlertGroupCall(@javax.annotation.Nonnull String id, fi } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteAlertGroupValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteAlertGroupValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteAlertGroup(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteAlertGroupValidateBeforeCall(@javax.annotation.Nonnul 404 resource not found - */ - public AlertGroupResponse deleteAlertGroup(@javax.annotation.Nonnull String id) throws ApiException { + public AlertGroupResponse deleteAlertGroup(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteAlertGroupWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public AlertGroupResponse deleteAlertGroup(@javax.annotation.Nonnull String id) 404 resource not found - */ - public ApiResponse deleteAlertGroupWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteAlertGroupWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteAlertGroupValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteAlertGroupWithHttpInfo(@javax.annot 404 resource not found - */ - public okhttp3.Call deleteAlertGroupAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertGroupAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteAlertGroupValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteAlertGroupAsync(@javax.annotation.Nonnull String id, f - +
Response Details
Status Code Description Response Headers
200 alert group found -
200 alert_group found by slug -
404 resource not found -
*/ - public okhttp3.Call getAlertGroupCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertGroupCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getAlertGroupCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call getAlertGroupValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getAlertGroupValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getAlertGroup(Async)"); @@ -422,11 +423,11 @@ private okhttp3.Call getAlertGroupValidateBeforeCall(@javax.annotation.Nonnull S - +
Response Details
Status Code Description Response Headers
200 alert group found -
200 alert_group found by slug -
404 resource not found -
*/ - public AlertGroupResponse getAlertGroup(@javax.annotation.Nonnull String id) throws ApiException { + public AlertGroupResponse getAlertGroup(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getAlertGroupWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +442,11 @@ public AlertGroupResponse getAlertGroup(@javax.annotation.Nonnull String id) thr - +
Response Details
Status Code Description Response Headers
200 alert group found -
200 alert_group found by slug -
404 resource not found -
*/ - public ApiResponse getAlertGroupWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getAlertGroupWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getAlertGroupValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +463,11 @@ public ApiResponse getAlertGroupWithHttpInfo(@javax.annotati - +
Response Details
Status Code Description Response Headers
200 alert group found -
200 alert_group found by slug -
404 resource not found -
*/ - public okhttp3.Call getAlertGroupAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertGroupAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getAlertGroupValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -609,11 +610,11 @@ public okhttp3.Call listAlertGroupsAsync(@javax.annotation.Nullable String inclu - +
Response Details
Status Code Description Response Headers
200 alert group updated -
200 alert group updated with conditions -
404 resource not found -
*/ - public okhttp3.Call updateAlertGroupCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertGroupCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -660,7 +661,7 @@ public okhttp3.Call updateAlertGroupCall(@javax.annotation.Nonnull String id, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call updateAlertGroupValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateAlertGroupValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, 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 updateAlertGroup(Async)"); @@ -677,7 +678,7 @@ private okhttp3.Call updateAlertGroupValidateBeforeCall(@javax.annotation.Nonnul /** * Update an alert group - * Update a specific alert group by id + * Update a specific alert group by id. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param id (required) * @param updateAlertGroup (required) * @return AlertGroupResponse @@ -686,18 +687,18 @@ private okhttp3.Call updateAlertGroupValidateBeforeCall(@javax.annotation.Nonnul - +
Response Details
Status Code Description Response Headers
200 alert group updated -
200 alert group updated with conditions -
404 resource not found -
*/ - public AlertGroupResponse updateAlertGroup(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup) throws ApiException { + public AlertGroupResponse updateAlertGroup(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup) throws ApiException { ApiResponse localVarResp = updateAlertGroupWithHttpInfo(id, updateAlertGroup); return localVarResp.getData(); } /** * Update an alert group - * Update a specific alert group by id + * Update a specific alert group by id. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param id (required) * @param updateAlertGroup (required) * @return ApiResponse<AlertGroupResponse> @@ -706,11 +707,11 @@ public AlertGroupResponse updateAlertGroup(@javax.annotation.Nonnull String id, - +
Response Details
Status Code Description Response Headers
200 alert group updated -
200 alert group updated with conditions -
404 resource not found -
*/ - public ApiResponse updateAlertGroupWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup) throws ApiException { + public ApiResponse updateAlertGroupWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup) throws ApiException { okhttp3.Call localVarCall = updateAlertGroupValidateBeforeCall(id, updateAlertGroup, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -718,7 +719,7 @@ public ApiResponse updateAlertGroupWithHttpInfo(@javax.annot /** * Update an alert group (asynchronously) - * Update a specific alert group by id + * Update a specific alert group by id. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * @param id (required) * @param updateAlertGroup (required) * @param _callback The callback to be executed when the API call finishes @@ -728,11 +729,11 @@ public ApiResponse updateAlertGroupWithHttpInfo(@javax.annot - +
Response Details
Status Code Description Response Headers
200 alert group updated -
200 alert group updated with conditions -
404 resource not found -
*/ - public okhttp3.Call updateAlertGroupAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertGroupAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertGroup updateAlertGroup, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateAlertGroupValidateBeforeCall(id, updateAlertGroup, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/AlertRoutesApi.java b/src/main/java/com/rootly/client/api/AlertRoutesApi.java new file mode 100644 index 00000000..20a4bb20 --- /dev/null +++ b/src/main/java/com/rootly/client/api/AlertRoutesApi.java @@ -0,0 +1,945 @@ +/* + * 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.AlertRouteList; +import com.rootly.client.model.AlertRouteResponse; +import com.rootly.client.model.DeleteAlertRoute200Response; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewAlertRoute; +import com.rootly.client.model.PatchAlertRoute; +import com.rootly.client.model.UpdateAlertRoute; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AlertRoutesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public AlertRoutesApi() { + this(Configuration.getDefaultApiClient()); + } + + public AlertRoutesApi(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 createAlertRoute + * @param newAlertRoute (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 unknown attribute filtered out gracefully -
422 create: raises error when multiple fallback rules are present -
401 unauthorized -
+ */ + public okhttp3.Call createAlertRouteCall(@javax.annotation.Nonnull NewAlertRoute newAlertRoute, 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 = newAlertRoute; + + // create path and map variables + String localVarPath = "/v1/alert_routes"; + + 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 createAlertRouteValidateBeforeCall(@javax.annotation.Nonnull NewAlertRoute newAlertRoute, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newAlertRoute' is set + if (newAlertRoute == null) { + throw new ApiException("Missing the required parameter 'newAlertRoute' when calling createAlertRoute(Async)"); + } + + return createAlertRouteCall(newAlertRoute, _callback); + + } + + /** + * 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. + * @param newAlertRoute (required) + * @return AlertRouteResponse + * @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 unknown attribute filtered out gracefully -
422 create: raises error when multiple fallback rules are present -
401 unauthorized -
+ */ + public AlertRouteResponse createAlertRoute(@javax.annotation.Nonnull NewAlertRoute newAlertRoute) throws ApiException { + ApiResponse localVarResp = createAlertRouteWithHttpInfo(newAlertRoute); + return localVarResp.getData(); + } + + /** + * 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. + * @param newAlertRoute (required) + * @return ApiResponse<AlertRouteResponse> + * @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 unknown attribute filtered out gracefully -
422 create: raises error when multiple fallback rules are present -
401 unauthorized -
+ */ + public ApiResponse createAlertRouteWithHttpInfo(@javax.annotation.Nonnull NewAlertRoute newAlertRoute) throws ApiException { + okhttp3.Call localVarCall = createAlertRouteValidateBeforeCall(newAlertRoute, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * 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. + * @param newAlertRoute (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 unknown attribute filtered out gracefully -
422 create: raises error when multiple fallback rules are present -
401 unauthorized -
+ */ + public okhttp3.Call createAlertRouteAsync(@javax.annotation.Nonnull NewAlertRoute newAlertRoute, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createAlertRouteValidateBeforeCall(newAlertRoute, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteAlertRoute + * @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 alert route deleted -
404 cross-team access denied -
422 destroy failed -
401 unauthorized -
+ */ + public okhttp3.Call deleteAlertRouteCall(@javax.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/alert_routes/{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 deleteAlertRouteValidateBeforeCall(@javax.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 deleteAlertRoute(Async)"); + } + + return deleteAlertRouteCall(id, _callback); + + } + + /** + * Delete an alert route + * 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.** + * @param id (required) + * @return DeleteAlertRoute200Response + * @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 route deleted -
404 cross-team access denied -
422 destroy failed -
401 unauthorized -
+ */ + public DeleteAlertRoute200Response deleteAlertRoute(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteAlertRouteWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete an alert route + * 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.** + * @param id (required) + * @return ApiResponse<DeleteAlertRoute200Response> + * @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 route deleted -
404 cross-team access denied -
422 destroy failed -
401 unauthorized -
+ */ + public ApiResponse deleteAlertRouteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteAlertRouteValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete an alert route (asynchronously) + * 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.** + * @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 alert route deleted -
404 cross-team access denied -
422 destroy failed -
401 unauthorized -
+ */ + public okhttp3.Call deleteAlertRouteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteAlertRouteValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getAlertRoute + * @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 alert route found -
404 cross-team access denied -
401 unauthorized -
+ */ + public okhttp3.Call getAlertRouteCall(@javax.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/alert_routes/{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 getAlertRouteValidateBeforeCall(@javax.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 getAlertRoute(Async)"); + } + + return getAlertRouteCall(id, _callback); + + } + + /** + * Get an alert route + * 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` + * @param id (required) + * @return AlertRouteResponse + * @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 route found -
404 cross-team access denied -
401 unauthorized -
+ */ + public AlertRouteResponse getAlertRoute(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getAlertRouteWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Get an alert route + * 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` + * @param id (required) + * @return ApiResponse<AlertRouteResponse> + * @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 route found -
404 cross-team access denied -
401 unauthorized -
+ */ + public ApiResponse getAlertRouteWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getAlertRouteValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Get an alert route (asynchronously) + * 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` + * @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 alert route found -
404 cross-team access denied -
401 unauthorized -
+ */ + public okhttp3.Call getAlertRouteAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getAlertRouteValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listAlertRoutes + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param sort (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 alert routes filtered by search -
401 unauthorized -
+ */ + public okhttp3.Call listAlertRoutesCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, 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_routes"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listAlertRoutesValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listAlertRoutesCall(pageNumber, pageSize, filterSearch, filterName, sort, _callback); + + } + + /** + * List alert routes + * 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.** + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param sort (optional) + * @return AlertRouteList + * @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 routes filtered by search -
401 unauthorized -
+ */ + public AlertRouteList listAlertRoutes(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listAlertRoutesWithHttpInfo(pageNumber, pageSize, filterSearch, filterName, sort); + return localVarResp.getData(); + } + + /** + * List alert routes + * 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.** + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param sort (optional) + * @return ApiResponse<AlertRouteList> + * @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 routes filtered by search -
401 unauthorized -
+ */ + public ApiResponse listAlertRoutesWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listAlertRoutesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List alert routes (asynchronously) + * 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.** + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param sort (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 alert routes filtered by search -
401 unauthorized -
+ */ + public okhttp3.Call listAlertRoutesAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listAlertRoutesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for patchAlertRoute + * @param id (required) + * @param patchAlertRoute (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 delete existing rule by id with _destroy -
422 invalid request -
401 unauthorized -
404 cross-team access denied -
+ */ + public okhttp3.Call patchAlertRouteCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PatchAlertRoute patchAlertRoute, 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 = patchAlertRoute; + + // create path and map variables + String localVarPath = "/v1/alert_routes/{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 patchAlertRouteValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PatchAlertRoute patchAlertRoute, 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 patchAlertRoute(Async)"); + } + + // verify the required parameter 'patchAlertRoute' is set + if (patchAlertRoute == null) { + throw new ApiException("Missing the required parameter 'patchAlertRoute' when calling patchAlertRoute(Async)"); + } + + return patchAlertRouteCall(id, patchAlertRoute, _callback); + + } + + /** + * Update an alert route + * 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.** + * @param id (required) + * @param patchAlertRoute (required) + * @return AlertRouteResponse + * @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 delete existing rule by id with _destroy -
422 invalid request -
401 unauthorized -
404 cross-team access denied -
+ */ + public AlertRouteResponse patchAlertRoute(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PatchAlertRoute patchAlertRoute) throws ApiException { + ApiResponse localVarResp = patchAlertRouteWithHttpInfo(id, patchAlertRoute); + return localVarResp.getData(); + } + + /** + * Update an alert route + * 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.** + * @param id (required) + * @param patchAlertRoute (required) + * @return ApiResponse<AlertRouteResponse> + * @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 delete existing rule by id with _destroy -
422 invalid request -
401 unauthorized -
404 cross-team access denied -
+ */ + public ApiResponse patchAlertRouteWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PatchAlertRoute patchAlertRoute) throws ApiException { + okhttp3.Call localVarCall = patchAlertRouteValidateBeforeCall(id, patchAlertRoute, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update an alert route (asynchronously) + * 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.** + * @param id (required) + * @param patchAlertRoute (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 delete existing rule by id with _destroy -
422 invalid request -
401 unauthorized -
404 cross-team access denied -
+ */ + public okhttp3.Call patchAlertRouteAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull PatchAlertRoute patchAlertRoute, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = patchAlertRouteValidateBeforeCall(id, patchAlertRoute, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateAlertRoute + * @param id (required) + * @param updateAlertRoute (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 update: handles mixed position types correctly -
422 update: raises error when multiple fallback rules are present -
404 cross-team access denied -
+ */ + public okhttp3.Call updateAlertRouteCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoute updateAlertRoute, 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 = updateAlertRoute; + + // create path and map variables + String localVarPath = "/v1/alert_routes/{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 updateAlertRouteValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoute updateAlertRoute, 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 updateAlertRoute(Async)"); + } + + // verify the required parameter 'updateAlertRoute' is set + if (updateAlertRoute == null) { + throw new ApiException("Missing the required parameter 'updateAlertRoute' when calling updateAlertRoute(Async)"); + } + + return updateAlertRouteCall(id, updateAlertRoute, _callback); + + } + + /** + * 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. + * @param id (required) + * @param updateAlertRoute (required) + * @return AlertRouteResponse + * @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 update: handles mixed position types correctly -
422 update: raises error when multiple fallback rules are present -
404 cross-team access denied -
+ */ + public AlertRouteResponse updateAlertRoute(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoute updateAlertRoute) throws ApiException { + ApiResponse localVarResp = updateAlertRouteWithHttpInfo(id, updateAlertRoute); + return localVarResp.getData(); + } + + /** + * 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. + * @param id (required) + * @param updateAlertRoute (required) + * @return ApiResponse<AlertRouteResponse> + * @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 update: handles mixed position types correctly -
422 update: raises error when multiple fallback rules are present -
404 cross-team access denied -
+ */ + public ApiResponse updateAlertRouteWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoute updateAlertRoute) throws ApiException { + okhttp3.Call localVarCall = updateAlertRouteValidateBeforeCall(id, updateAlertRoute, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * 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. + * @param id (required) + * @param updateAlertRoute (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 update: handles mixed position types correctly -
422 update: raises error when multiple fallback rules are present -
404 cross-team access denied -
+ */ + public okhttp3.Call updateAlertRouteAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoute updateAlertRoute, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateAlertRouteValidateBeforeCall(id, updateAlertRoute, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java b/src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java index 7d43c6d1..d2826d9f 100644 --- a/src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java +++ b/src/main/java/com/rootly/client/api/AlertRoutingRulesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.AlertRoutingRuleList; import com.rootly.client.model.AlertRoutingRuleResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewAlertRoutingRule; import com.rootly.client.model.UpdateAlertRoutingRule; @@ -149,7 +150,7 @@ private okhttp3.Call createAlertRoutingRuleValidateBeforeCall(@javax.annotation. /** * Creates an alert routing rule - * Creates a new alert routing rule from provided data + * Creates a new alert routing rule from provided data. **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.** * @param newAlertRoutingRule (required) * @return AlertRoutingRuleResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -169,7 +170,7 @@ public AlertRoutingRuleResponse createAlertRoutingRule(@javax.annotation.Nonnull /** * Creates an alert routing rule - * Creates a new alert routing rule from provided data + * Creates a new alert routing rule from provided data. **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.** * @param newAlertRoutingRule (required) * @return ApiResponse<AlertRoutingRuleResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -190,7 +191,7 @@ public ApiResponse createAlertRoutingRuleWithHttpInfo( /** * Creates an alert routing rule (asynchronously) - * Creates a new alert routing rule from provided data + * Creates a new alert routing rule from provided data. **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.** * @param newAlertRoutingRule (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -225,7 +226,7 @@ public okhttp3.Call createAlertRoutingRuleAsync(@javax.annotation.Nonnull NewAle 404 resource not found - */ - public okhttp3.Call deleteAlertRoutingRuleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertRoutingRuleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteAlertRoutingRuleCall(@javax.annotation.Nonnull String } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteAlertRoutingRule(Async)"); @@ -283,7 +284,7 @@ private okhttp3.Call deleteAlertRoutingRuleValidateBeforeCall(@javax.annotation. /** * Delete an alert routing rule - * Delete a specific alert routing rule by id + * Delete a specific alert routing rule by id. **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.** * @param id (required) * @return AlertRoutingRuleResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -295,14 +296,14 @@ private okhttp3.Call deleteAlertRoutingRuleValidateBeforeCall(@javax.annotation. 404 resource not found - */ - public AlertRoutingRuleResponse deleteAlertRoutingRule(@javax.annotation.Nonnull String id) throws ApiException { + public AlertRoutingRuleResponse deleteAlertRoutingRule(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteAlertRoutingRuleWithHttpInfo(id); return localVarResp.getData(); } /** * Delete an alert routing rule - * Delete a specific alert routing rule by id + * Delete a specific alert routing rule by id. **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.** * @param id (required) * @return ApiResponse<AlertRoutingRuleResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -314,7 +315,7 @@ public AlertRoutingRuleResponse deleteAlertRoutingRule(@javax.annotation.Nonnull 404 resource not found - */ - public ApiResponse deleteAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteAlertRoutingRuleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -322,7 +323,7 @@ public ApiResponse deleteAlertRoutingRuleWithHttpInfo( /** * Delete an alert routing rule (asynchronously) - * Delete a specific alert routing rule by id + * Delete a specific alert routing rule by id. **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.** * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -335,7 +336,7 @@ public ApiResponse deleteAlertRoutingRuleWithHttpInfo( 404 resource not found - */ - public okhttp3.Call deleteAlertRoutingRuleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertRoutingRuleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteAlertRoutingRuleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteAlertRoutingRuleAsync(@javax.annotation.Nonnull String - +
Response Details
Status Code Description Response Headers
200 alert routing rule found -
200 alert_routing_rule found by slug -
404 resource not found -
*/ - public okhttp3.Call getAlertRoutingRuleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertRoutingRuleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getAlertRoutingRuleCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call getAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getAlertRoutingRule(Async)"); @@ -414,7 +415,7 @@ private okhttp3.Call getAlertRoutingRuleValidateBeforeCall(@javax.annotation.Non /** * Retrieves an alert routing rule - * Retrieves a specific alert routing rule by id + * Retrieves a specific alert routing rule by id. **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.** * @param id (required) * @return AlertRoutingRuleResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -422,18 +423,18 @@ private okhttp3.Call getAlertRoutingRuleValidateBeforeCall(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 alert routing rule found -
200 alert_routing_rule found by slug -
404 resource not found -
*/ - public AlertRoutingRuleResponse getAlertRoutingRule(@javax.annotation.Nonnull String id) throws ApiException { + public AlertRoutingRuleResponse getAlertRoutingRule(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getAlertRoutingRuleWithHttpInfo(id); return localVarResp.getData(); } /** * Retrieves an alert routing rule - * Retrieves a specific alert routing rule by id + * Retrieves a specific alert routing rule by id. **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.** * @param id (required) * @return ApiResponse<AlertRoutingRuleResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -441,11 +442,11 @@ public AlertRoutingRuleResponse getAlertRoutingRule(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 alert routing rule found -
200 alert_routing_rule found by slug -
404 resource not found -
*/ - public ApiResponse getAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getAlertRoutingRuleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -453,7 +454,7 @@ public ApiResponse getAlertRoutingRuleWithHttpInfo(@ja /** * Retrieves an alert routing rule (asynchronously) - * Retrieves a specific alert routing rule by id + * Retrieves a specific alert routing rule by id. **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.** * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -462,11 +463,11 @@ public ApiResponse getAlertRoutingRuleWithHttpInfo(@ja - +
Response Details
Status Code Description Response Headers
200 alert routing rule found -
200 alert_routing_rule found by slug -
404 resource not found -
*/ - public okhttp3.Call getAlertRoutingRuleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertRoutingRuleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getAlertRoutingRuleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -587,7 +588,7 @@ private okhttp3.Call listAlertRoutingRulesValidateBeforeCall(@javax.annotation.N /** * List alert routing rules - * List alert routing rules + * 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.** * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -614,7 +615,7 @@ public AlertRoutingRuleList listAlertRoutingRules(@javax.annotation.Nullable Str /** * List alert routing rules - * List alert routing rules + * 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.** * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -642,7 +643,7 @@ public ApiResponse listAlertRoutingRulesWithHttpInfo(@java /** * List alert routing rules (asynchronously) - * List alert routing rules + * 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.** * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -685,7 +686,7 @@ public okhttp3.Call listAlertRoutingRulesAsync(@javax.annotation.Nullable String 404 resource not found - */ - public okhttp3.Call updateAlertRoutingRuleCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertRoutingRuleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -732,7 +733,7 @@ public okhttp3.Call updateAlertRoutingRuleCall(@javax.annotation.Nonnull String } @SuppressWarnings("rawtypes") - private okhttp3.Call updateAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateAlertRoutingRuleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, 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 updateAlertRoutingRule(Async)"); @@ -749,7 +750,7 @@ private okhttp3.Call updateAlertRoutingRuleValidateBeforeCall(@javax.annotation. /** * Update an alert routing rule - * Update a specific alert routing rule by id + * Update a specific alert routing rule by id. **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.** * @param id (required) * @param updateAlertRoutingRule (required) * @return AlertRoutingRuleResponse @@ -762,14 +763,14 @@ private okhttp3.Call updateAlertRoutingRuleValidateBeforeCall(@javax.annotation. 404 resource not found - */ - public AlertRoutingRuleResponse updateAlertRoutingRule(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule) throws ApiException { + public AlertRoutingRuleResponse updateAlertRoutingRule(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule) throws ApiException { ApiResponse localVarResp = updateAlertRoutingRuleWithHttpInfo(id, updateAlertRoutingRule); return localVarResp.getData(); } /** * Update an alert routing rule - * Update a specific alert routing rule by id + * Update a specific alert routing rule by id. **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.** * @param id (required) * @param updateAlertRoutingRule (required) * @return ApiResponse<AlertRoutingRuleResponse> @@ -782,7 +783,7 @@ public AlertRoutingRuleResponse updateAlertRoutingRule(@javax.annotation.Nonnull 404 resource not found - */ - public ApiResponse updateAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule) throws ApiException { + public ApiResponse updateAlertRoutingRuleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule) throws ApiException { okhttp3.Call localVarCall = updateAlertRoutingRuleValidateBeforeCall(id, updateAlertRoutingRule, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -790,7 +791,7 @@ public ApiResponse updateAlertRoutingRuleWithHttpInfo( /** * Update an alert routing rule (asynchronously) - * Update a specific alert routing rule by id + * Update a specific alert routing rule by id. **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.** * @param id (required) * @param updateAlertRoutingRule (required) * @param _callback The callback to be executed when the API call finishes @@ -804,7 +805,7 @@ public ApiResponse updateAlertRoutingRuleWithHttpInfo( 404 resource not found - */ - public okhttp3.Call updateAlertRoutingRuleAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertRoutingRuleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateAlertRoutingRule updateAlertRoutingRule, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateAlertRoutingRuleValidateBeforeCall(id, updateAlertRoutingRule, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/AlertSourcesApi.java b/src/main/java/com/rootly/client/api/AlertSourcesApi.java index b039eedf..3d68a344 100644 --- a/src/main/java/com/rootly/client/api/AlertSourcesApi.java +++ b/src/main/java/com/rootly/client/api/AlertSourcesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -77,7 +77,7 @@ public void setCustomBaseUrl(String customBaseUrl) { } /** - * Build call for createAlertSource + * Build call for createAlertsSource * @param newAlertsSource (required) * @param _callback Callback for upload/download progress * @return Call to execute @@ -91,7 +91,7 @@ public void setCustomBaseUrl(String customBaseUrl) { 401 responds with unauthorized for invalid token - */ - public okhttp3.Call createAlertSourceCall(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { + public okhttp3.Call createAlertsSourceCall(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -137,13 +137,13 @@ public okhttp3.Call createAlertSourceCall(@javax.annotation.Nonnull NewAlertsSou } @SuppressWarnings("rawtypes") - private okhttp3.Call createAlertSourceValidateBeforeCall(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { + private okhttp3.Call createAlertsSourceValidateBeforeCall(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { // verify the required parameter 'newAlertsSource' is set if (newAlertsSource == null) { - throw new ApiException("Missing the required parameter 'newAlertsSource' when calling createAlertSource(Async)"); + throw new ApiException("Missing the required parameter 'newAlertsSource' when calling createAlertsSource(Async)"); } - return createAlertSourceCall(newAlertsSource, _callback); + return createAlertsSourceCall(newAlertsSource, _callback); } @@ -162,8 +162,8 @@ private okhttp3.Call createAlertSourceValidateBeforeCall(@javax.annotation.Nonnu 401 responds with unauthorized for invalid token - */ - public AlertsSourceResponse createAlertSource(@javax.annotation.Nonnull NewAlertsSource newAlertsSource) throws ApiException { - ApiResponse localVarResp = createAlertSourceWithHttpInfo(newAlertsSource); + public AlertsSourceResponse createAlertsSource(@javax.annotation.Nonnull NewAlertsSource newAlertsSource) throws ApiException { + ApiResponse localVarResp = createAlertsSourceWithHttpInfo(newAlertsSource); return localVarResp.getData(); } @@ -182,8 +182,8 @@ public AlertsSourceResponse createAlertSource(@javax.annotation.Nonnull NewAlert 401 responds with unauthorized for invalid token - */ - public ApiResponse createAlertSourceWithHttpInfo(@javax.annotation.Nonnull NewAlertsSource newAlertsSource) throws ApiException { - okhttp3.Call localVarCall = createAlertSourceValidateBeforeCall(newAlertsSource, null); + public ApiResponse createAlertsSourceWithHttpInfo(@javax.annotation.Nonnull NewAlertsSource newAlertsSource) throws ApiException { + okhttp3.Call localVarCall = createAlertsSourceValidateBeforeCall(newAlertsSource, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -204,15 +204,15 @@ public ApiResponse createAlertSourceWithHttpInfo(@javax.an 401 responds with unauthorized for invalid token - */ - public okhttp3.Call createAlertSourceAsync(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { + public okhttp3.Call createAlertsSourceAsync(@javax.annotation.Nonnull NewAlertsSource newAlertsSource, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = createAlertSourceValidateBeforeCall(newAlertsSource, _callback); + okhttp3.Call localVarCall = createAlertsSourceValidateBeforeCall(newAlertsSource, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for deleteAlertSource + * Build call for deleteAlertsSource * @param id (required) * @param _callback Callback for upload/download progress * @return Call to execute @@ -225,7 +225,7 @@ public okhttp3.Call createAlertSourceAsync(@javax.annotation.Nonnull NewAlertsSo 404 resource not found - */ - public okhttp3.Call deleteAlertSourceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertsSourceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,13 +271,13 @@ public okhttp3.Call deleteAlertSourceCall(@javax.annotation.Nonnull String id, f } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteAlertSourceValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteAlertsSourceValidateBeforeCall(@javax.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 deleteAlertSource(Async)"); + throw new ApiException("Missing the required parameter 'id' when calling deleteAlertsSource(Async)"); } - return deleteAlertSourceCall(id, _callback); + return deleteAlertsSourceCall(id, _callback); } @@ -295,8 +295,8 @@ private okhttp3.Call deleteAlertSourceValidateBeforeCall(@javax.annotation.Nonnu 404 resource not found - */ - public AlertsSourceResponse deleteAlertSource(@javax.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = deleteAlertSourceWithHttpInfo(id); + public AlertsSourceResponse deleteAlertsSource(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteAlertsSourceWithHttpInfo(id); return localVarResp.getData(); } @@ -314,8 +314,8 @@ public AlertsSourceResponse deleteAlertSource(@javax.annotation.Nonnull String i 404 resource not found - */ - public ApiResponse deleteAlertSourceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = deleteAlertSourceValidateBeforeCall(id, null); + public ApiResponse deleteAlertsSourceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteAlertsSourceValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -335,15 +335,15 @@ public ApiResponse deleteAlertSourceWithHttpInfo(@javax.an 404 resource not found - */ - public okhttp3.Call deleteAlertSourceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteAlertsSourceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = deleteAlertSourceValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = deleteAlertsSourceValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for getAlertSource + * Build call for getAlertsSource * @param id (required) * @param _callback Callback for upload/download progress * @return Call to execute @@ -356,7 +356,7 @@ public okhttp3.Call deleteAlertSourceAsync(@javax.annotation.Nonnull String id, 404 resource not found - */ - public okhttp3.Call getAlertSourceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertsSourceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,13 +402,13 @@ public okhttp3.Call getAlertSourceCall(@javax.annotation.Nonnull String id, fina } @SuppressWarnings("rawtypes") - private okhttp3.Call getAlertSourceValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getAlertsSourceValidateBeforeCall(@javax.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 getAlertSource(Async)"); + throw new ApiException("Missing the required parameter 'id' when calling getAlertsSource(Async)"); } - return getAlertSourceCall(id, _callback); + return getAlertsSourceCall(id, _callback); } @@ -426,8 +426,8 @@ private okhttp3.Call getAlertSourceValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public AlertsSourceResponse getAlertSource(@javax.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = getAlertSourceWithHttpInfo(id); + public AlertsSourceResponse getAlertsSource(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getAlertsSourceWithHttpInfo(id); return localVarResp.getData(); } @@ -445,8 +445,8 @@ public AlertsSourceResponse getAlertSource(@javax.annotation.Nonnull String id) 404 resource not found - */ - public ApiResponse getAlertSourceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = getAlertSourceValidateBeforeCall(id, null); + public ApiResponse getAlertsSourceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getAlertsSourceValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -466,21 +466,22 @@ public ApiResponse getAlertSourceWithHttpInfo(@javax.annot 404 resource not found - */ - public okhttp3.Call getAlertSourceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertsSourceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = getAlertSourceValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = getAlertsSourceValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for listAlertSources + * Build call for listAlertsSources * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) * @param filterStatuses (optional) * @param filterSourceTypes (optional) + * @param filterName (optional) * @param sort (optional) * @param _callback Callback for upload/download progress * @return Call to execute @@ -492,7 +493,7 @@ public okhttp3.Call getAlertSourceAsync(@javax.annotation.Nonnull String id, fin 200 success - */ - public okhttp3.Call listAlertSourcesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listAlertsSourcesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -541,6 +542,10 @@ public okhttp3.Call listAlertSourcesCall(@javax.annotation.Nullable String inclu localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[source_types]", filterSourceTypes)); } + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + if (sort != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); } @@ -565,8 +570,8 @@ public okhttp3.Call listAlertSourcesCall(@javax.annotation.Nullable String inclu } @SuppressWarnings("rawtypes") - private okhttp3.Call listAlertSourcesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - return listAlertSourcesCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort, _callback); + private okhttp3.Call listAlertsSourcesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listAlertsSourcesCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort, _callback); } @@ -579,6 +584,7 @@ private okhttp3.Call listAlertSourcesValidateBeforeCall(@javax.annotation.Nullab * @param filterSearch (optional) * @param filterStatuses (optional) * @param filterSourceTypes (optional) + * @param filterName (optional) * @param sort (optional) * @return AlertsSourceList * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -589,8 +595,8 @@ private okhttp3.Call listAlertSourcesValidateBeforeCall(@javax.annotation.Nullab 200 success - */ - public AlertsSourceList listAlertSources(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String sort) throws ApiException { - ApiResponse localVarResp = listAlertSourcesWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort); + public AlertsSourceList listAlertsSources(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listAlertsSourcesWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort); return localVarResp.getData(); } @@ -603,6 +609,7 @@ public AlertsSourceList listAlertSources(@javax.annotation.Nullable String inclu * @param filterSearch (optional) * @param filterStatuses (optional) * @param filterSourceTypes (optional) + * @param filterName (optional) * @param sort (optional) * @return ApiResponse<AlertsSourceList> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -613,8 +620,8 @@ public AlertsSourceList listAlertSources(@javax.annotation.Nullable String inclu 200 success - */ - public ApiResponse listAlertSourcesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String sort) throws ApiException { - okhttp3.Call localVarCall = listAlertSourcesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort, null); + public ApiResponse listAlertsSourcesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listAlertsSourcesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -628,6 +635,7 @@ public ApiResponse listAlertSourcesWithHttpInfo(@javax.annotat * @param filterSearch (optional) * @param filterStatuses (optional) * @param filterSourceTypes (optional) + * @param filterName (optional) * @param sort (optional) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -639,15 +647,15 @@ public ApiResponse listAlertSourcesWithHttpInfo(@javax.annotat 200 success - */ - public okhttp3.Call listAlertSourcesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listAlertsSourcesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatuses, @javax.annotation.Nullable String filterSourceTypes, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listAlertSourcesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort, _callback); + okhttp3.Call localVarCall = listAlertsSourcesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for updateAlertSource + * Build call for updateAlertsSource * @param id (required) * @param updateAlertsSource (required) * @param _callback Callback for upload/download progress @@ -661,7 +669,7 @@ public okhttp3.Call listAlertSourcesAsync(@javax.annotation.Nullable String incl 404 resource not found - */ - public okhttp3.Call updateAlertSourceCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertsSourceCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -708,18 +716,18 @@ public okhttp3.Call updateAlertSourceCall(@javax.annotation.Nonnull String id, @ } @SuppressWarnings("rawtypes") - private okhttp3.Call updateAlertSourceValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateAlertsSourceValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, 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 updateAlertSource(Async)"); + throw new ApiException("Missing the required parameter 'id' when calling updateAlertsSource(Async)"); } // verify the required parameter 'updateAlertsSource' is set if (updateAlertsSource == null) { - throw new ApiException("Missing the required parameter 'updateAlertsSource' when calling updateAlertSource(Async)"); + throw new ApiException("Missing the required parameter 'updateAlertsSource' when calling updateAlertsSource(Async)"); } - return updateAlertSourceCall(id, updateAlertsSource, _callback); + return updateAlertsSourceCall(id, updateAlertsSource, _callback); } @@ -738,8 +746,8 @@ private okhttp3.Call updateAlertSourceValidateBeforeCall(@javax.annotation.Nonnu 404 resource not found - */ - public AlertsSourceResponse updateAlertSource(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { - ApiResponse localVarResp = updateAlertSourceWithHttpInfo(id, updateAlertsSource); + public AlertsSourceResponse updateAlertsSource(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { + ApiResponse localVarResp = updateAlertsSourceWithHttpInfo(id, updateAlertsSource); return localVarResp.getData(); } @@ -758,8 +766,8 @@ public AlertsSourceResponse updateAlertSource(@javax.annotation.Nonnull String i 404 resource not found - */ - public ApiResponse updateAlertSourceWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { - okhttp3.Call localVarCall = updateAlertSourceValidateBeforeCall(id, updateAlertsSource, null); + public ApiResponse updateAlertsSourceWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource) throws ApiException { + okhttp3.Call localVarCall = updateAlertsSourceValidateBeforeCall(id, updateAlertsSource, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -780,9 +788,9 @@ public ApiResponse updateAlertSourceWithHttpInfo(@javax.an 404 resource not found - */ - public okhttp3.Call updateAlertSourceAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateAlertsSourceAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateAlertsSource updateAlertsSource, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = updateAlertSourceValidateBeforeCall(id, updateAlertsSource, _callback); + okhttp3.Call localVarCall = updateAlertsSourceValidateBeforeCall(id, updateAlertsSource, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/rootly/client/api/AlertUrgenciesApi.java b/src/main/java/com/rootly/client/api/AlertUrgenciesApi.java index dd1b0888..6b6ecf45 100644 --- a/src/main/java/com/rootly/client/api/AlertUrgenciesApi.java +++ b/src/main/java/com/rootly/client/api/AlertUrgenciesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/AlertsApi.java b/src/main/java/com/rootly/client/api/AlertsApi.java index cf682295..792641a6 100644 --- a/src/main/java/com/rootly/client/api/AlertsApi.java +++ b/src/main/java/com/rootly/client/api/AlertsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -31,8 +31,10 @@ import com.rootly.client.model.AlertResponse; import com.rootly.client.model.AttachAlert; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.EscalateAlert; import com.rootly.client.model.NewAlert; import com.rootly.client.model.ResolveAlert; +import com.rootly.client.model.SnoozeAlert; import com.rootly.client.model.UpdateAlert; import java.lang.reflect.Type; @@ -90,6 +92,7 @@ public void setCustomBaseUrl(String customBaseUrl) { Status Code Description Response Headers 200 alert acknowledged - 404 resource not found - + 400 cannot acknowledge open alert - */ public okhttp3.Call acknowledgeAlertCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -160,6 +163,7 @@ private okhttp3.Call acknowledgeAlertValidateBeforeCall(@javax.annotation.Nonnul Status Code Description Response Headers 200 alert acknowledged - 404 resource not found - + 400 cannot acknowledge open alert - */ public AlertResponse acknowledgeAlert(@javax.annotation.Nonnull String id) throws ApiException { @@ -179,6 +183,7 @@ public AlertResponse acknowledgeAlert(@javax.annotation.Nonnull String id) throw Status Code Description Response Headers 200 alert acknowledged - 404 resource not found - + 400 cannot acknowledge open alert - */ public ApiResponse acknowledgeAlertWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -200,6 +205,7 @@ public ApiResponse acknowledgeAlertWithHttpInfo(@javax.annotation Status Code Description Response Headers 200 alert acknowledged - 404 resource not found - + 400 cannot acknowledge open alert - */ public okhttp3.Call acknowledgeAlertAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -486,8 +492,9 @@ public okhttp3.Call createAlertAsync(@javax.annotation.Nonnull NewAlert newAlert return localVarCall; } /** - * Build call for getAlert + * Build call for escalateAlert * @param id (required) + * @param escalateAlert (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -495,11 +502,13 @@ public okhttp3.Call createAlertAsync(@javax.annotation.Nonnull NewAlert newAlert - - + + + +
Response Details
Status Code Description Response Headers
200 alert found -
404 resource not found -
200 escalates to different EP defaults to level 1 -
422 escalation_policy_level exceeds max -
404 cannot escalate grouped member alert -
400 malformed escalation_policy_id -
*/ - public okhttp3.Call getAlertCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call escalateAlertCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable EscalateAlert escalateAlert, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -513,10 +522,10 @@ public okhttp3.Call getAlertCall(@javax.annotation.Nonnull String id, final ApiC basePath = null; } - Object localVarPostBody = null; + Object localVarPostBody = escalateAlert; // create path and map variables - String localVarPath = "/v1/alerts/{id}" + String localVarPath = "/v1/alerts/{id}/escalate" .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); List localVarQueryParams = new ArrayList(); @@ -534,6 +543,7 @@ public okhttp3.Call getAlertCall(@javax.annotation.Nonnull String id, final ApiC } final String[] localVarContentTypes = { + "application/vnd.api+json" }; final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); if (localVarContentType != null) { @@ -541,63 +551,70 @@ public okhttp3.Call getAlertCall(@javax.annotation.Nonnull String id, final ApiC } String[] localVarAuthNames = new String[] { "bearer_auth" }; - return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings("rawtypes") - private okhttp3.Call getAlertValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call escalateAlertValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable EscalateAlert escalateAlert, 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 getAlert(Async)"); + throw new ApiException("Missing the required parameter 'id' when calling escalateAlert(Async)"); } - return getAlertCall(id, _callback); + return escalateAlertCall(id, escalateAlert, _callback); } /** - * Retrieves an alert - * Retrieves a specific alert by id + * Escalates an alert + * Escalates a specific alert to the next or specified level in its escalation policy * @param id (required) + * @param escalateAlert (optional) * @return AlertResponse * @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 found -
404 resource not found -
200 escalates to different EP defaults to level 1 -
422 escalation_policy_level exceeds max -
404 cannot escalate grouped member alert -
400 malformed escalation_policy_id -
*/ - public AlertResponse getAlert(@javax.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = getAlertWithHttpInfo(id); + public AlertResponse escalateAlert(@javax.annotation.Nonnull String id, @javax.annotation.Nullable EscalateAlert escalateAlert) throws ApiException { + ApiResponse localVarResp = escalateAlertWithHttpInfo(id, escalateAlert); return localVarResp.getData(); } /** - * Retrieves an alert - * Retrieves a specific alert by id + * Escalates an alert + * Escalates a specific alert to the next or specified level in its escalation policy * @param id (required) + * @param escalateAlert (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 - - + + + +
Response Details
Status Code Description Response Headers
200 alert found -
404 resource not found -
200 escalates to different EP defaults to level 1 -
422 escalation_policy_level exceeds max -
404 cannot escalate grouped member alert -
400 malformed escalation_policy_id -
*/ - public ApiResponse getAlertWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = getAlertValidateBeforeCall(id, null); + public ApiResponse escalateAlertWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable EscalateAlert escalateAlert) throws ApiException { + okhttp3.Call localVarCall = escalateAlertValidateBeforeCall(id, escalateAlert, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * Retrieves an alert (asynchronously) - * Retrieves a specific alert by id + * Escalates an alert (asynchronously) + * Escalates a specific alert to the next or specified level in its escalation policy * @param id (required) + * @param escalateAlert (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 @@ -605,23 +622,23 @@ public ApiResponse getAlertWithHttpInfo(@javax.annotation.Nonnull - - + + + +
Response Details
Status Code Description Response Headers
200 alert found -
404 resource not found -
200 escalates to different EP defaults to level 1 -
422 escalation_policy_level exceeds max -
404 cannot escalate grouped member alert -
400 malformed escalation_policy_id -
*/ - public okhttp3.Call getAlertAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call escalateAlertAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable EscalateAlert escalateAlert, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = getAlertValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = escalateAlertValidateBeforeCall(id, escalateAlert, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for listAlerts - * @param include (optional) - * @param filterStatus (optional) - * @param pageNumber (optional) - * @param pageSize (optional) + * Build call for getAlert + * @param id (required) + * @param include comma separated if needed. eg: environments,services,groups (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -629,10 +646,11 @@ public okhttp3.Call getAlertAsync(@javax.annotation.Nonnull String id, final Api - + +
Response Details
Status Code Description Response Headers
200 filter by status -
200 alert found with group_member_alerts included -
404 resource not found -
*/ - public okhttp3.Call listAlertsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -649,7 +667,8 @@ public okhttp3.Call listAlertsCall(@javax.annotation.Nullable String include, @j Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/alerts"; + String localVarPath = "/v1/alerts/{id}" + .replace("{" + "id" + "}", localVarApiClient.escapeString(id.toString())); List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -661,18 +680,6 @@ public okhttp3.Call listAlertsCall(@javax.annotation.Nullable String include, @j localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); } - if (filterStatus != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status]", filterStatus)); - } - - 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" }; @@ -693,61 +700,62 @@ public okhttp3.Call listAlertsCall(@javax.annotation.Nullable String include, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call listAlertsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { - return listAlertsCall(include, filterStatus, pageNumber, pageSize, _callback); + private okhttp3.Call getAlertValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, 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 getAlert(Async)"); + } + + return getAlertCall(id, include, _callback); } /** - * List alerts - * List alerts - * @param include (optional) - * @param filterStatus (optional) - * @param pageNumber (optional) - * @param pageSize (optional) - * @return AlertList + * Retrieves an alert + * Retrieves a specific alert by id + * @param id (required) + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @return AlertResponse * @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 filter by status -
200 alert found with group_member_alerts included -
404 resource not found -
*/ - public AlertList listAlerts(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - ApiResponse localVarResp = listAlertsWithHttpInfo(include, filterStatus, pageNumber, pageSize); + public AlertResponse getAlert(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = getAlertWithHttpInfo(id, include); return localVarResp.getData(); } /** - * List alerts - * List alerts - * @param include (optional) - * @param filterStatus (optional) - * @param pageNumber (optional) - * @param pageSize (optional) - * @return ApiResponse<AlertList> + * Retrieves an alert + * Retrieves a specific alert by id + * @param id (required) + * @param include comma separated if needed. eg: environments,services,groups (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 - + +
Response Details
Status Code Description Response Headers
200 filter by status -
200 alert found with group_member_alerts included -
404 resource not found -
*/ - public ApiResponse listAlertsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - okhttp3.Call localVarCall = listAlertsValidateBeforeCall(include, filterStatus, pageNumber, pageSize, null); - Type localVarReturnType = new TypeToken(){}.getType(); + public ApiResponse getAlertWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = getAlertValidateBeforeCall(id, include, null); + Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * List alerts (asynchronously) - * List alerts - * @param include (optional) - * @param filterStatus (optional) - * @param pageNumber (optional) - * @param pageSize (optional) + * Retrieves an alert (asynchronously) + * Retrieves a specific alert by id + * @param id (required) + * @param include comma separated if needed. eg: environments,services,groups (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 @@ -755,20 +763,21 @@ public ApiResponse listAlertsWithHttpInfo(@javax.annotation.Nullable - + +
Response Details
Status Code Description Response Headers
200 filter by status -
200 alert found with group_member_alerts included -
404 resource not found -
*/ - public okhttp3.Call listAlertsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getAlertAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listAlertsValidateBeforeCall(include, filterStatus, pageNumber, pageSize, _callback); - Type localVarReturnType = new TypeToken(){}.getType(); + okhttp3.Call localVarCall = getAlertValidateBeforeCall(id, include, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } /** - * Build call for listIncidentAlerts - * @param incidentId (required) - * @param include (optional) + * Build call for listAlerts + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @param filterStatus (optional) * @param filterSource (optional) * @param filterServices (optional) * @param filterEnvironments (optional) @@ -786,6 +795,11 @@ public okhttp3.Call listAlertsAsync(@javax.annotation.Nullable String include, @ * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) * @param filterCreatedAtLte (optional) + * @param filterUpdatedAtGt (optional) + * @param filterUpdatedAtGte (optional) + * @param filterUpdatedAtLt (optional) + * @param filterUpdatedAtLte (optional) + * @param pageAfter The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param _callback Callback for upload/download progress @@ -795,10 +809,10 @@ public okhttp3.Call listAlertsAsync(@javax.annotation.Nullable String include, @ - +
Response Details
Status Code Description Response Headers
200 success -
200 returns grouping attributes -
*/ - public okhttp3.Call listIncidentAlertsCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listAlertsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String pageAfter, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -815,8 +829,7 @@ public okhttp3.Call listIncidentAlertsCall(@javax.annotation.Nonnull String inci Object localVarPostBody = null; // create path and map variables - String localVarPath = "/v1/incidents/{incident_id}/alerts" - .replace("{" + "incident_id" + "}", localVarApiClient.escapeString(incidentId.toString())); + String localVarPath = "/v1/alerts"; List localVarQueryParams = new ArrayList(); List localVarCollectionQueryParams = new ArrayList(); @@ -828,6 +841,10 @@ public okhttp3.Call listIncidentAlertsCall(@javax.annotation.Nonnull String inci localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); } + if (filterStatus != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status]", filterStatus)); + } + if (filterSource != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[source]", filterSource)); } @@ -896,6 +913,26 @@ public okhttp3.Call listIncidentAlertsCall(@javax.annotation.Nonnull String inci localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][lte]", filterCreatedAtLte)); } + if (filterUpdatedAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[updated_at][gt]", filterUpdatedAtGt)); + } + + if (filterUpdatedAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[updated_at][gte]", filterUpdatedAtGte)); + } + + if (filterUpdatedAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[updated_at][lt]", filterUpdatedAtLt)); + } + + if (filterUpdatedAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[updated_at][lte]", filterUpdatedAtLte)); + } + + if (pageAfter != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[after]", pageAfter)); + } + if (pageNumber != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); } @@ -924,21 +961,16 @@ public okhttp3.Call listIncidentAlertsCall(@javax.annotation.Nonnull String inci } @SuppressWarnings("rawtypes") - private okhttp3.Call listIncidentAlertsValidateBeforeCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { - // verify the required parameter 'incidentId' is set - if (incidentId == null) { - throw new ApiException("Missing the required parameter 'incidentId' when calling listIncidentAlerts(Async)"); - } - - return listIncidentAlertsCall(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); + private okhttp3.Call listAlertsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String pageAfter, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + return listAlertsCall(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize, _callback); } /** - * List Incident alerts - * List incident alerts - * @param incidentId (required) - * @param include (optional) + * List alerts + * List alerts + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @param filterStatus (optional) * @param filterSource (optional) * @param filterServices (optional) * @param filterEnvironments (optional) @@ -956,6 +988,11 @@ private okhttp3.Call listIncidentAlertsValidateBeforeCall(@javax.annotation.Nonn * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) * @param filterCreatedAtLte (optional) + * @param filterUpdatedAtGt (optional) + * @param filterUpdatedAtGte (optional) + * @param filterUpdatedAtLt (optional) + * @param filterUpdatedAtLte (optional) + * @param pageAfter The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. (optional) * @param pageNumber (optional) * @param pageSize (optional) * @return AlertList @@ -964,19 +1001,19 @@ private okhttp3.Call listIncidentAlertsValidateBeforeCall(@javax.annotation.Nonn - +
Response Details
Status Code Description Response Headers
200 success -
200 returns grouping attributes -
*/ - public AlertList listIncidentAlerts(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - ApiResponse localVarResp = listIncidentAlertsWithHttpInfo(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + public AlertList listAlerts(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String pageAfter, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listAlertsWithHttpInfo(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize); return localVarResp.getData(); } /** - * List Incident alerts - * List incident alerts - * @param incidentId (required) - * @param include (optional) + * List alerts + * List alerts + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @param filterStatus (optional) * @param filterSource (optional) * @param filterServices (optional) * @param filterEnvironments (optional) @@ -994,6 +1031,11 @@ public AlertList listIncidentAlerts(@javax.annotation.Nonnull String incidentId, * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) * @param filterCreatedAtLte (optional) + * @param filterUpdatedAtGt (optional) + * @param filterUpdatedAtGte (optional) + * @param filterUpdatedAtLt (optional) + * @param filterUpdatedAtLte (optional) + * @param pageAfter The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. (optional) * @param pageNumber (optional) * @param pageSize (optional) * @return ApiResponse<AlertList> @@ -1002,20 +1044,20 @@ public AlertList listIncidentAlerts(@javax.annotation.Nonnull String incidentId, - +
Response Details
Status Code Description Response Headers
200 success -
200 returns grouping attributes -
*/ - public ApiResponse listIncidentAlertsWithHttpInfo(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - okhttp3.Call localVarCall = listIncidentAlertsValidateBeforeCall(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, null); + public ApiResponse listAlertsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String pageAfter, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listAlertsValidateBeforeCall(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } /** - * List Incident alerts (asynchronously) - * List incident alerts - * @param incidentId (required) - * @param include (optional) + * List alerts (asynchronously) + * List alerts + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @param filterStatus (optional) * @param filterSource (optional) * @param filterServices (optional) * @param filterEnvironments (optional) @@ -1033,21 +1075,161 @@ public ApiResponse listIncidentAlertsWithHttpInfo(@javax.annotation.N * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) * @param filterCreatedAtLte (optional) + * @param filterUpdatedAtGt (optional) + * @param filterUpdatedAtGte (optional) + * @param filterUpdatedAtLt (optional) + * @param filterUpdatedAtLte (optional) + * @param pageAfter The cursor to fetch results using cursor pagination. A cursor is provided in meta.next_cursor in the response. (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 returns grouping attributes -
+ */ + public okhttp3.Call listAlertsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String pageAfter, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listAlertsValidateBeforeCall(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listIncidentAlerts + * @param incidentId (required) + * @param include comma separated if needed. eg: environments,services,groups (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 listIncidentAlertsCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, 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/incidents/{incident_id}/alerts" + .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(); + + if (include != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); + } + + 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 listIncidentAlertsValidateBeforeCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'incidentId' is set + if (incidentId == null) { + throw new ApiException("Missing the required parameter 'incidentId' when calling listIncidentAlerts(Async)"); + } + + return listIncidentAlertsCall(incidentId, include, _callback); + + } + + /** + * List Incident alerts + * List incident alerts + * @param incidentId (required) + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @return AlertList + * @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 AlertList listIncidentAlerts(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = listIncidentAlertsWithHttpInfo(incidentId, include); + return localVarResp.getData(); + } + + /** + * List Incident alerts + * List incident alerts + * @param incidentId (required) + * @param include comma separated if needed. eg: environments,services,groups (optional) + * @return ApiResponse<AlertList> + * @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 listIncidentAlertsWithHttpInfo(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = listIncidentAlertsValidateBeforeCall(incidentId, include, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Incident alerts (asynchronously) + * List incident alerts + * @param incidentId (required) + * @param include comma separated if needed. eg: environments,services,groups (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 listIncidentAlertsAsync(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSource, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterGroups, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterEndedAtGt, @javax.annotation.Nullable String filterEndedAtGte, @javax.annotation.Nullable String filterEndedAtLt, @javax.annotation.Nullable String filterEndedAtLte, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentAlertsAsync(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listIncidentAlertsValidateBeforeCall(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); + okhttp3.Call localVarCall = listIncidentAlertsValidateBeforeCall(incidentId, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1063,7 +1245,7 @@ public okhttp3.Call listIncidentAlertsAsync(@javax.annotation.Nonnull String inc - +
Response Details
Status Code Description Response Headers
200 resolve acknowledged -
200 resolves open alert -
404 resource not found -
*/ @@ -1135,7 +1317,7 @@ private okhttp3.Call resolveAlertValidateBeforeCall(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 resolve acknowledged -
200 resolves open alert -
404 resource not found -
*/ @@ -1155,7 +1337,7 @@ public AlertResponse resolveAlert(@javax.annotation.Nonnull String id, @javax.an - +
Response Details
Status Code Description Response Headers
200 resolve acknowledged -
200 resolves open alert -
404 resource not found -
*/ @@ -1177,7 +1359,7 @@ public ApiResponse resolveAlertWithHttpInfo(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 resolve acknowledged -
200 resolves open alert -
404 resource not found -
*/ @@ -1188,6 +1370,155 @@ public okhttp3.Call resolveAlertAsync(@javax.annotation.Nonnull String id, @java localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for snoozeAlert + * @param id (required) + * @param snoozeAlert (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 snoozed -
404 resource not found -
400 invalid delay_minutes -
422 snooze service failure -
+ */ + public okhttp3.Call snoozeAlertCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SnoozeAlert snoozeAlert, 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 = snoozeAlert; + + // create path and map variables + String localVarPath = "/v1/alerts/{id}/snooze" + .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 snoozeAlertValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SnoozeAlert snoozeAlert, 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 snoozeAlert(Async)"); + } + + // verify the required parameter 'snoozeAlert' is set + if (snoozeAlert == null) { + throw new ApiException("Missing the required parameter 'snoozeAlert' when calling snoozeAlert(Async)"); + } + + return snoozeAlertCall(id, snoozeAlert, _callback); + + } + + /** + * Snoozes an alert + * Snoozes a specific alert by id, extending the acknowledgment timeout + * @param id (required) + * @param snoozeAlert (required) + * @return AlertResponse + * @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 snoozed -
404 resource not found -
400 invalid delay_minutes -
422 snooze service failure -
+ */ + public AlertResponse snoozeAlert(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SnoozeAlert snoozeAlert) throws ApiException { + ApiResponse localVarResp = snoozeAlertWithHttpInfo(id, snoozeAlert); + return localVarResp.getData(); + } + + /** + * Snoozes an alert + * Snoozes a specific alert by id, extending the acknowledgment timeout + * @param id (required) + * @param snoozeAlert (required) + * @return ApiResponse<AlertResponse> + * @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 snoozed -
404 resource not found -
400 invalid delay_minutes -
422 snooze service failure -
+ */ + public ApiResponse snoozeAlertWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SnoozeAlert snoozeAlert) throws ApiException { + okhttp3.Call localVarCall = snoozeAlertValidateBeforeCall(id, snoozeAlert, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Snoozes an alert (asynchronously) + * Snoozes a specific alert by id, extending the acknowledgment timeout + * @param id (required) + * @param snoozeAlert (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 snoozed -
404 resource not found -
400 invalid delay_minutes -
422 snooze service failure -
+ */ + public okhttp3.Call snoozeAlertAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull SnoozeAlert snoozeAlert, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = snoozeAlertValidateBeforeCall(id, snoozeAlert, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for updateAlert * @param id (required) @@ -1199,7 +1530,7 @@ public okhttp3.Call resolveAlertAsync(@javax.annotation.Nonnull String id, @java - +
Response Details
Status Code Description Response Headers
200 alert updated -
200 updates one field value and preserves others -
422 invalid request -
*/ @@ -1271,7 +1602,7 @@ private okhttp3.Call updateAlertValidateBeforeCall(@javax.annotation.Nonnull Str - +
Response Details
Status Code Description Response Headers
200 alert updated -
200 updates one field value and preserves others -
422 invalid request -
*/ @@ -1291,7 +1622,7 @@ public AlertResponse updateAlert(@javax.annotation.Nonnull String id, @javax.ann - +
Response Details
Status Code Description Response Headers
200 alert updated -
200 updates one field value and preserves others -
422 invalid request -
*/ @@ -1313,7 +1644,7 @@ public ApiResponse updateAlertWithHttpInfo(@javax.annotation.Nonn - +
Response Details
Status Code Description Response Headers
200 alert updated -
200 updates one field value and preserves others -
422 invalid request -
*/ diff --git a/src/main/java/com/rootly/client/api/ApiKeysApi.java b/src/main/java/com/rootly/client/api/ApiKeysApi.java new file mode 100644 index 00000000..784b2bd8 --- /dev/null +++ b/src/main/java/com/rootly/client/api/ApiKeysApi.java @@ -0,0 +1,1077 @@ +/* + * 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.ApiKeyList; +import com.rootly.client.model.ApiKeyResponse; +import com.rootly.client.model.ApiKeyWithTokenResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewApiKey; +import com.rootly.client.model.RotateApiKey; +import java.util.UUID; +import com.rootly.client.model.UpdateApiKey; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ApiKeysApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public ApiKeysApi() { + this(Configuration.getDefaultApiClient()); + } + + public ApiKeysApi(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 createApiKey + * @param newApiKey (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 API key created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createApiKeyCall(@javax.annotation.Nonnull NewApiKey newApiKey, 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 = newApiKey; + + // create path and map variables + String localVarPath = "/v1/api_keys"; + + 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 createApiKeyValidateBeforeCall(@javax.annotation.Nonnull NewApiKey newApiKey, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newApiKey' is set + if (newApiKey == null) { + throw new ApiException("Missing the required parameter 'newApiKey' when calling createApiKey(Async)"); + } + + return createApiKeyCall(newApiKey, _callback); + + } + + /** + * Creates an API key + * Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. **Kinds and required fields:** - `personal` — created for the authenticated user. No additional fields required. - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + * @param newApiKey (required) + * @return ApiKeyWithTokenResponse + * @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 API key created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiKeyWithTokenResponse createApiKey(@javax.annotation.Nonnull NewApiKey newApiKey) throws ApiException { + ApiResponse localVarResp = createApiKeyWithHttpInfo(newApiKey); + return localVarResp.getData(); + } + + /** + * Creates an API key + * Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. **Kinds and required fields:** - `personal` — created for the authenticated user. No additional fields required. - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + * @param newApiKey (required) + * @return ApiResponse<ApiKeyWithTokenResponse> + * @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 API key created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createApiKeyWithHttpInfo(@javax.annotation.Nonnull NewApiKey newApiKey) throws ApiException { + okhttp3.Call localVarCall = createApiKeyValidateBeforeCall(newApiKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates an API key (asynchronously) + * Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. **Kinds and required fields:** - `personal` — created for the authenticated user. No additional fields required. - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + * @param newApiKey (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 API key created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createApiKeyAsync(@javax.annotation.Nonnull NewApiKey newApiKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createApiKeyValidateBeforeCall(newApiKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteApiKey + * @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 API key revoked -
404 API key not found -
+ */ + public okhttp3.Call deleteApiKeyCall(@javax.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/api_keys/{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 deleteApiKeyValidateBeforeCall(@javax.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 deleteApiKey(Async)"); + } + + return deleteApiKeyCall(id, _callback); + + } + + /** + * Revoke an API key + * Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + * @param id (required) + * @return ApiKeyResponse + * @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 API key revoked -
404 API key not found -
+ */ + public ApiKeyResponse deleteApiKey(@javax.annotation.Nonnull UUID id) throws ApiException { + ApiResponse localVarResp = deleteApiKeyWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Revoke an API key + * Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + * @param id (required) + * @return ApiResponse<ApiKeyResponse> + * @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 API key revoked -
404 API key not found -
+ */ + public ApiResponse deleteApiKeyWithHttpInfo(@javax.annotation.Nonnull UUID id) throws ApiException { + okhttp3.Call localVarCall = deleteApiKeyValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Revoke an API key (asynchronously) + * Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + * @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 API key revoked -
404 API key not found -
+ */ + public okhttp3.Call deleteApiKeyAsync(@javax.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteApiKeyValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getApiKey + * @param id (required) + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (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 API key found -
404 API key not found -
+ */ + public okhttp3.Call getApiKeyCall(@javax.annotation.Nonnull UUID id, @javax.annotation.Nullable String include, 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/api_keys/{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(); + + if (include != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); + } + + 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 getApiKeyValidateBeforeCall(@javax.annotation.Nonnull UUID id, @javax.annotation.Nullable String include, 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 getApiKey(Async)"); + } + + return getApiKeyCall(id, include, _callback); + + } + + /** + * Retrieves an API key + * Retrieves a specific API key by its UUID. Returns key metadata including name, kind, expiration, last usage timestamp, and the grace period status — the secret token is never included. + * @param id (required) + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @return ApiKeyResponse + * @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 API key found -
404 API key not found -
+ */ + public ApiKeyResponse getApiKey(@javax.annotation.Nonnull UUID id, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = getApiKeyWithHttpInfo(id, include); + return localVarResp.getData(); + } + + /** + * Retrieves an API key + * Retrieves a specific API key by its UUID. Returns key metadata including name, kind, expiration, last usage timestamp, and the grace period status — the secret token is never included. + * @param id (required) + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @return ApiResponse<ApiKeyResponse> + * @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 API key found -
404 API key not found -
+ */ + public ApiResponse getApiKeyWithHttpInfo(@javax.annotation.Nonnull UUID id, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = getApiKeyValidateBeforeCall(id, include, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves an API key (asynchronously) + * Retrieves a specific API key by its UUID. Returns key metadata including name, kind, expiration, last usage timestamp, and the grace period status — the secret token is never included. + * @param id (required) + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (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 API key found -
404 API key not found -
+ */ + public okhttp3.Call getApiKeyAsync(@javax.annotation.Nonnull UUID id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getApiKeyValidateBeforeCall(id, include, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listApiKeys + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterKind Filter by API key kind: personal, team, organization (optional) + * @param filterSearch Search by name (case-insensitive partial match) (optional) + * @param filterName Filter by exact name (optional) + * @param filterUserId Filter by the user ID that owns the key (optional) + * @param filterGroupIds Filter team keys by group IDs (comma-separated) (optional) + * @param filterRoleId Filter by role ID (optional) + * @param filterActive When true, return only non-expired keys (optional) + * @param filterExpired When true, return only expired keys (optional) + * @param filterCreatedAtGt Created after (ISO 8601) (optional) + * @param filterCreatedAtGte Created at or after (ISO 8601) (optional) + * @param filterCreatedAtLt Created before (ISO 8601) (optional) + * @param filterCreatedAtLte Created at or before (ISO 8601) (optional) + * @param filterExpiresAtGt Expires after (ISO 8601) (optional) + * @param filterExpiresAtGte Expires at or after (ISO 8601) (optional) + * @param filterExpiresAtLt Expires before (ISO 8601). Useful for finding keys approaching expiration. (optional) + * @param filterExpiresAtLte Expires at or before (ISO 8601) (optional) + * @param filterLastUsedAtGt Last used after (ISO 8601) (optional) + * @param filterLastUsedAtGte Last used at or after (ISO 8601) (optional) + * @param filterLastUsedAtLt Last used before (ISO 8601) (optional) + * @param filterLastUsedAtLte Last used at or before (ISO 8601) (optional) + * @param sort Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) (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 -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listApiKeysCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterUserId, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterRoleId, @javax.annotation.Nullable Boolean filterActive, @javax.annotation.Nullable Boolean filterExpired, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterExpiresAtGt, @javax.annotation.Nullable String filterExpiresAtGte, @javax.annotation.Nullable String filterExpiresAtLt, @javax.annotation.Nullable String filterExpiresAtLte, @javax.annotation.Nullable String filterLastUsedAtGt, @javax.annotation.Nullable String filterLastUsedAtGte, @javax.annotation.Nullable String filterLastUsedAtLt, @javax.annotation.Nullable String filterLastUsedAtLte, @javax.annotation.Nullable String sort, 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/api_keys"; + + 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)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterUserId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[user_id]", filterUserId)); + } + + if (filterGroupIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[group_ids]", filterGroupIds)); + } + + if (filterRoleId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[role_id]", filterRoleId)); + } + + if (filterActive != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[active]", filterActive)); + } + + if (filterExpired != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[expired]", filterExpired)); + } + + 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 (filterExpiresAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[expires_at][gt]", filterExpiresAtGt)); + } + + if (filterExpiresAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[expires_at][gte]", filterExpiresAtGte)); + } + + if (filterExpiresAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[expires_at][lt]", filterExpiresAtLt)); + } + + if (filterExpiresAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[expires_at][lte]", filterExpiresAtLte)); + } + + if (filterLastUsedAtGt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[last_used_at][gt]", filterLastUsedAtGt)); + } + + if (filterLastUsedAtGte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[last_used_at][gte]", filterLastUsedAtGte)); + } + + if (filterLastUsedAtLt != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[last_used_at][lt]", filterLastUsedAtLt)); + } + + if (filterLastUsedAtLte != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[last_used_at][lte]", filterLastUsedAtLte)); + } + + if (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listApiKeysValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterUserId, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterRoleId, @javax.annotation.Nullable Boolean filterActive, @javax.annotation.Nullable Boolean filterExpired, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterExpiresAtGt, @javax.annotation.Nullable String filterExpiresAtGte, @javax.annotation.Nullable String filterExpiresAtLt, @javax.annotation.Nullable String filterExpiresAtLte, @javax.annotation.Nullable String filterLastUsedAtGt, @javax.annotation.Nullable String filterLastUsedAtGte, @javax.annotation.Nullable String filterLastUsedAtLt, @javax.annotation.Nullable String filterLastUsedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listApiKeysCall(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort, _callback); + + } + + /** + * List API keys + * List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. **API key kinds:** - `personal` — tied to a specific user, inherits that user's permissions. - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. - `organization` — organization-wide, creates a service account with a configurable role and on-call role. **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterKind Filter by API key kind: personal, team, organization (optional) + * @param filterSearch Search by name (case-insensitive partial match) (optional) + * @param filterName Filter by exact name (optional) + * @param filterUserId Filter by the user ID that owns the key (optional) + * @param filterGroupIds Filter team keys by group IDs (comma-separated) (optional) + * @param filterRoleId Filter by role ID (optional) + * @param filterActive When true, return only non-expired keys (optional) + * @param filterExpired When true, return only expired keys (optional) + * @param filterCreatedAtGt Created after (ISO 8601) (optional) + * @param filterCreatedAtGte Created at or after (ISO 8601) (optional) + * @param filterCreatedAtLt Created before (ISO 8601) (optional) + * @param filterCreatedAtLte Created at or before (ISO 8601) (optional) + * @param filterExpiresAtGt Expires after (ISO 8601) (optional) + * @param filterExpiresAtGte Expires at or after (ISO 8601) (optional) + * @param filterExpiresAtLt Expires before (ISO 8601). Useful for finding keys approaching expiration. (optional) + * @param filterExpiresAtLte Expires at or before (ISO 8601) (optional) + * @param filterLastUsedAtGt Last used after (ISO 8601) (optional) + * @param filterLastUsedAtGte Last used at or after (ISO 8601) (optional) + * @param filterLastUsedAtLt Last used before (ISO 8601) (optional) + * @param filterLastUsedAtLte Last used at or before (ISO 8601) (optional) + * @param sort Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) (optional) + * @return ApiKeyList + * @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 -
401 responds with unauthorized for invalid token -
+ */ + public ApiKeyList listApiKeys(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterUserId, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterRoleId, @javax.annotation.Nullable Boolean filterActive, @javax.annotation.Nullable Boolean filterExpired, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterExpiresAtGt, @javax.annotation.Nullable String filterExpiresAtGte, @javax.annotation.Nullable String filterExpiresAtLt, @javax.annotation.Nullable String filterExpiresAtLte, @javax.annotation.Nullable String filterLastUsedAtGt, @javax.annotation.Nullable String filterLastUsedAtGte, @javax.annotation.Nullable String filterLastUsedAtLt, @javax.annotation.Nullable String filterLastUsedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listApiKeysWithHttpInfo(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort); + return localVarResp.getData(); + } + + /** + * List API keys + * List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. **API key kinds:** - `personal` — tied to a specific user, inherits that user's permissions. - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. - `organization` — organization-wide, creates a service account with a configurable role and on-call role. **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterKind Filter by API key kind: personal, team, organization (optional) + * @param filterSearch Search by name (case-insensitive partial match) (optional) + * @param filterName Filter by exact name (optional) + * @param filterUserId Filter by the user ID that owns the key (optional) + * @param filterGroupIds Filter team keys by group IDs (comma-separated) (optional) + * @param filterRoleId Filter by role ID (optional) + * @param filterActive When true, return only non-expired keys (optional) + * @param filterExpired When true, return only expired keys (optional) + * @param filterCreatedAtGt Created after (ISO 8601) (optional) + * @param filterCreatedAtGte Created at or after (ISO 8601) (optional) + * @param filterCreatedAtLt Created before (ISO 8601) (optional) + * @param filterCreatedAtLte Created at or before (ISO 8601) (optional) + * @param filterExpiresAtGt Expires after (ISO 8601) (optional) + * @param filterExpiresAtGte Expires at or after (ISO 8601) (optional) + * @param filterExpiresAtLt Expires before (ISO 8601). Useful for finding keys approaching expiration. (optional) + * @param filterExpiresAtLte Expires at or before (ISO 8601) (optional) + * @param filterLastUsedAtGt Last used after (ISO 8601) (optional) + * @param filterLastUsedAtGte Last used at or after (ISO 8601) (optional) + * @param filterLastUsedAtLt Last used before (ISO 8601) (optional) + * @param filterLastUsedAtLte Last used at or before (ISO 8601) (optional) + * @param sort Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) (optional) + * @return ApiResponse<ApiKeyList> + * @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 -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse listApiKeysWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterUserId, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterRoleId, @javax.annotation.Nullable Boolean filterActive, @javax.annotation.Nullable Boolean filterExpired, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterExpiresAtGt, @javax.annotation.Nullable String filterExpiresAtGte, @javax.annotation.Nullable String filterExpiresAtLt, @javax.annotation.Nullable String filterExpiresAtLte, @javax.annotation.Nullable String filterLastUsedAtGt, @javax.annotation.Nullable String filterLastUsedAtGte, @javax.annotation.Nullable String filterLastUsedAtLt, @javax.annotation.Nullable String filterLastUsedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listApiKeysValidateBeforeCall(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List API keys (asynchronously) + * List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. **API key kinds:** - `personal` — tied to a specific user, inherits that user's permissions. - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. - `organization` — organization-wide, creates a service account with a configurable role and on-call role. **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + * @param include Comma-separated list of relationships to include (role, on_call_role, created_by, groups) (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterKind Filter by API key kind: personal, team, organization (optional) + * @param filterSearch Search by name (case-insensitive partial match) (optional) + * @param filterName Filter by exact name (optional) + * @param filterUserId Filter by the user ID that owns the key (optional) + * @param filterGroupIds Filter team keys by group IDs (comma-separated) (optional) + * @param filterRoleId Filter by role ID (optional) + * @param filterActive When true, return only non-expired keys (optional) + * @param filterExpired When true, return only expired keys (optional) + * @param filterCreatedAtGt Created after (ISO 8601) (optional) + * @param filterCreatedAtGte Created at or after (ISO 8601) (optional) + * @param filterCreatedAtLt Created before (ISO 8601) (optional) + * @param filterCreatedAtLte Created at or before (ISO 8601) (optional) + * @param filterExpiresAtGt Expires after (ISO 8601) (optional) + * @param filterExpiresAtGte Expires at or after (ISO 8601) (optional) + * @param filterExpiresAtLt Expires before (ISO 8601). Useful for finding keys approaching expiration. (optional) + * @param filterExpiresAtLte Expires at or before (ISO 8601) (optional) + * @param filterLastUsedAtGt Last used after (ISO 8601) (optional) + * @param filterLastUsedAtGte Last used at or after (ISO 8601) (optional) + * @param filterLastUsedAtLt Last used before (ISO 8601) (optional) + * @param filterLastUsedAtLte Last used at or before (ISO 8601) (optional) + * @param sort Sort by field. Prefix with - for descending (e.g., -created_at, expires_at) (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 -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listApiKeysAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterUserId, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterRoleId, @javax.annotation.Nullable Boolean filterActive, @javax.annotation.Nullable Boolean filterExpired, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterExpiresAtGt, @javax.annotation.Nullable String filterExpiresAtGte, @javax.annotation.Nullable String filterExpiresAtLt, @javax.annotation.Nullable String filterExpiresAtLte, @javax.annotation.Nullable String filterLastUsedAtGt, @javax.annotation.Nullable String filterLastUsedAtGte, @javax.annotation.Nullable String filterLastUsedAtLt, @javax.annotation.Nullable String filterLastUsedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listApiKeysValidateBeforeCall(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for rotateApiKey + * @param id (required) + * @param rotateApiKey (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 API key rotated -
404 API key not found -
+ */ + public okhttp3.Call rotateApiKeyCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable RotateApiKey rotateApiKey, 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 = rotateApiKey; + + // create path and map variables + String localVarPath = "/v1/api_keys/{id}/rotate" + .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 rotateApiKeyValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable RotateApiKey rotateApiKey, 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 rotateApiKey(Async)"); + } + + return rotateApiKeyCall(id, rotateApiKey, _callback); + + } + + /** + * Rotate an API key + * Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. **Typical rotation workflow:** 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). 2. Deploy the new token to your systems. 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). 4. After the grace period, the old token is automatically invalidated. + * @param id (required) + * @param rotateApiKey (optional) + * @return ApiKeyWithTokenResponse + * @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 API key rotated -
404 API key not found -
+ */ + public ApiKeyWithTokenResponse rotateApiKey(@javax.annotation.Nonnull String id, @javax.annotation.Nullable RotateApiKey rotateApiKey) throws ApiException { + ApiResponse localVarResp = rotateApiKeyWithHttpInfo(id, rotateApiKey); + return localVarResp.getData(); + } + + /** + * Rotate an API key + * Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. **Typical rotation workflow:** 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). 2. Deploy the new token to your systems. 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). 4. After the grace period, the old token is automatically invalidated. + * @param id (required) + * @param rotateApiKey (optional) + * @return ApiResponse<ApiKeyWithTokenResponse> + * @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 API key rotated -
404 API key not found -
+ */ + public ApiResponse rotateApiKeyWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable RotateApiKey rotateApiKey) throws ApiException { + okhttp3.Call localVarCall = rotateApiKeyValidateBeforeCall(id, rotateApiKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Rotate an API key (asynchronously) + * Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. **Typical rotation workflow:** 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). 2. Deploy the new token to your systems. 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). 4. After the grace period, the old token is automatically invalidated. + * @param id (required) + * @param rotateApiKey (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 API key rotated -
404 API key not found -
+ */ + public okhttp3.Call rotateApiKeyAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable RotateApiKey rotateApiKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = rotateApiKeyValidateBeforeCall(id, rotateApiKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateApiKey + * @param id (required) + * @param updateApiKey (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 API key updated -
404 API key not found -
+ */ + public okhttp3.Call updateApiKeyCall(@javax.annotation.Nonnull UUID id, @javax.annotation.Nonnull UpdateApiKey updateApiKey, 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 = updateApiKey; + + // create path and map variables + String localVarPath = "/v1/api_keys/{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 updateApiKeyValidateBeforeCall(@javax.annotation.Nonnull UUID id, @javax.annotation.Nonnull UpdateApiKey updateApiKey, 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 updateApiKey(Async)"); + } + + // verify the required parameter 'updateApiKey' is set + if (updateApiKey == null) { + throw new ApiException("Missing the required parameter 'updateApiKey' when calling updateApiKey(Async)"); + } + + return updateApiKeyCall(id, updateApiKey, _callback); + + } + + /** + * Update an API key + * Update an API key's mutable attributes: `name`, `description`, and `expires_at`. The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. The new `expires_at` must be in the future and within 5 years. + * @param id (required) + * @param updateApiKey (required) + * @return ApiKeyResponse + * @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 API key updated -
404 API key not found -
+ */ + public ApiKeyResponse updateApiKey(@javax.annotation.Nonnull UUID id, @javax.annotation.Nonnull UpdateApiKey updateApiKey) throws ApiException { + ApiResponse localVarResp = updateApiKeyWithHttpInfo(id, updateApiKey); + return localVarResp.getData(); + } + + /** + * Update an API key + * Update an API key's mutable attributes: `name`, `description`, and `expires_at`. The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. The new `expires_at` must be in the future and within 5 years. + * @param id (required) + * @param updateApiKey (required) + * @return ApiResponse<ApiKeyResponse> + * @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 API key updated -
404 API key not found -
+ */ + public ApiResponse updateApiKeyWithHttpInfo(@javax.annotation.Nonnull UUID id, @javax.annotation.Nonnull UpdateApiKey updateApiKey) throws ApiException { + okhttp3.Call localVarCall = updateApiKeyValidateBeforeCall(id, updateApiKey, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update an API key (asynchronously) + * Update an API key's mutable attributes: `name`, `description`, and `expires_at`. The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. The new `expires_at` must be in the future and within 5 years. + * @param id (required) + * @param updateApiKey (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 API key updated -
404 API key not found -
+ */ + public okhttp3.Call updateApiKeyAsync(@javax.annotation.Nonnull UUID id, @javax.annotation.Nonnull UpdateApiKey updateApiKey, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateApiKeyValidateBeforeCall(id, updateApiKey, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/AuditsApi.java b/src/main/java/com/rootly/client/api/AuditsApi.java index 2aebb48c..30223fe2 100644 --- a/src/main/java/com/rootly/client/api/AuditsApi.java +++ b/src/main/java/com/rootly/client/api/AuditsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/AuthorizationsApi.java b/src/main/java/com/rootly/client/api/AuthorizationsApi.java index e7b92d87..406db5cd 100644 --- a/src/main/java/com/rootly/client/api/AuthorizationsApi.java +++ b/src/main/java/com/rootly/client/api/AuthorizationsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/CatalogChecklistTemplatesApi.java b/src/main/java/com/rootly/client/api/CatalogChecklistTemplatesApi.java new file mode 100644 index 00000000..11833c75 --- /dev/null +++ b/src/main/java/com/rootly/client/api/CatalogChecklistTemplatesApi.java @@ -0,0 +1,958 @@ +/* + * 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.CatalogChecklistTemplateList; +import com.rootly.client.model.CatalogChecklistTemplateResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogChecklistTemplate; +import com.rootly.client.model.UpdateCatalogChecklistTemplate; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CatalogChecklistTemplatesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CatalogChecklistTemplatesApi() { + this(Configuration.getDefaultApiClient()); + } + + public CatalogChecklistTemplatesApi(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 createCatalogChecklistTemplate + * @param newCatalogChecklistTemplate (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 ignores user-provided field_key for custom fields -
422 returns 422 when scope_type is missing for Catalog scope_id -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createCatalogChecklistTemplateCall(@javax.annotation.Nonnull NewCatalogChecklistTemplate newCatalogChecklistTemplate, 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 = newCatalogChecklistTemplate; + + // create path and map variables + String localVarPath = "/v1/catalog_checklist_templates"; + + 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 createCatalogChecklistTemplateValidateBeforeCall(@javax.annotation.Nonnull NewCatalogChecklistTemplate newCatalogChecklistTemplate, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogChecklistTemplate' is set + if (newCatalogChecklistTemplate == null) { + throw new ApiException("Missing the required parameter 'newCatalogChecklistTemplate' when calling createCatalogChecklistTemplate(Async)"); + } + + return createCatalogChecklistTemplateCall(newCatalogChecklistTemplate, _callback); + + } + + /** + * Creates a catalog checklist template + * Creates a new catalog checklist template + * @param newCatalogChecklistTemplate (required) + * @return CatalogChecklistTemplateResponse + * @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 ignores user-provided field_key for custom fields -
422 returns 422 when scope_type is missing for Catalog scope_id -
401 responds with unauthorized for invalid token -
+ */ + public CatalogChecklistTemplateResponse createCatalogChecklistTemplate(@javax.annotation.Nonnull NewCatalogChecklistTemplate newCatalogChecklistTemplate) throws ApiException { + ApiResponse localVarResp = createCatalogChecklistTemplateWithHttpInfo(newCatalogChecklistTemplate); + return localVarResp.getData(); + } + + /** + * Creates a catalog checklist template + * Creates a new catalog checklist template + * @param newCatalogChecklistTemplate (required) + * @return ApiResponse<CatalogChecklistTemplateResponse> + * @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 ignores user-provided field_key for custom fields -
422 returns 422 when scope_type is missing for Catalog scope_id -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createCatalogChecklistTemplateWithHttpInfo(@javax.annotation.Nonnull NewCatalogChecklistTemplate newCatalogChecklistTemplate) throws ApiException { + okhttp3.Call localVarCall = createCatalogChecklistTemplateValidateBeforeCall(newCatalogChecklistTemplate, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a catalog checklist template (asynchronously) + * Creates a new catalog checklist template + * @param newCatalogChecklistTemplate (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 ignores user-provided field_key for custom fields -
422 returns 422 when scope_type is missing for Catalog scope_id -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createCatalogChecklistTemplateAsync(@javax.annotation.Nonnull NewCatalogChecklistTemplate newCatalogChecklistTemplate, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCatalogChecklistTemplateValidateBeforeCall(newCatalogChecklistTemplate, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteCatalogChecklistTemplate + * @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 catalog checklist template deleted -
404 catalog checklist template not found -
+ */ + public okhttp3.Call deleteCatalogChecklistTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/catalog_checklist_templates/{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 deleteCatalogChecklistTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteCatalogChecklistTemplate(Async)"); + } + + return deleteCatalogChecklistTemplateCall(id, _callback); + + } + + /** + * Delete a catalog checklist template + * Delete a specific catalog checklist template by id + * @param id (required) + * @return CatalogChecklistTemplateResponse + * @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 catalog checklist template deleted -
404 catalog checklist template not found -
+ */ + public CatalogChecklistTemplateResponse deleteCatalogChecklistTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = deleteCatalogChecklistTemplateWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete a catalog checklist template + * Delete a specific catalog checklist template by id + * @param id (required) + * @return ApiResponse<CatalogChecklistTemplateResponse> + * @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 catalog checklist template deleted -
404 catalog checklist template not found -
+ */ + public ApiResponse deleteCatalogChecklistTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = deleteCatalogChecklistTemplateValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete a catalog checklist template (asynchronously) + * Delete a specific catalog checklist template 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 catalog checklist template deleted -
404 catalog checklist template not found -
+ */ + public okhttp3.Call deleteCatalogChecklistTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCatalogChecklistTemplateValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getCatalogChecklistTemplate + * @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 catalog checklist template found by slug -
404 resource not found for another team -
+ */ + public okhttp3.Call getCatalogChecklistTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/catalog_checklist_templates/{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 getCatalogChecklistTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getCatalogChecklistTemplate(Async)"); + } + + return getCatalogChecklistTemplateCall(id, _callback); + + } + + /** + * Retrieves a catalog checklist template + * Retrieves a specific catalog checklist template by id + * @param id (required) + * @return CatalogChecklistTemplateResponse + * @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 catalog checklist template found by slug -
404 resource not found for another team -
+ */ + public CatalogChecklistTemplateResponse getCatalogChecklistTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = getCatalogChecklistTemplateWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves a catalog checklist template + * Retrieves a specific catalog checklist template by id + * @param id (required) + * @return ApiResponse<CatalogChecklistTemplateResponse> + * @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 catalog checklist template found by slug -
404 resource not found for another team -
+ */ + public ApiResponse getCatalogChecklistTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = getCatalogChecklistTemplateValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a catalog checklist template (asynchronously) + * Retrieves a specific catalog checklist template 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 catalog checklist template found by slug -
404 resource not found for another team -
+ */ + public okhttp3.Call getCatalogChecklistTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCatalogChecklistTemplateValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCatalogChecklistTemplates + * @param include comma separated if needed. eg: template_fields,template_owners (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCatalogType (optional) + * @param filterScopeType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 returns empty list for another team -
+ */ + public okhttp3.Call listCatalogChecklistTemplatesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCatalogType, @javax.annotation.Nullable String filterScopeType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/catalog_checklist_templates"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterCatalogType != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[catalog_type]", filterCatalogType)); + } + + if (filterScopeType != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[scope_type]", filterScopeType)); + } + + 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)); + } + + 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 listCatalogChecklistTemplatesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCatalogType, @javax.annotation.Nullable String filterScopeType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listCatalogChecklistTemplatesCall(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List catalog checklist templates + * List catalog checklist templates + * @param include comma separated if needed. eg: template_fields,template_owners (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCatalogType (optional) + * @param filterScopeType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogChecklistTemplateList + * @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 returns empty list for another team -
+ */ + public CatalogChecklistTemplateList listCatalogChecklistTemplates(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCatalogType, @javax.annotation.Nullable String filterScopeType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listCatalogChecklistTemplatesWithHttpInfo(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List catalog checklist templates + * List catalog checklist templates + * @param include comma separated if needed. eg: template_fields,template_owners (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCatalogType (optional) + * @param filterScopeType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogChecklistTemplateList> + * @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 returns empty list for another team -
+ */ + public ApiResponse listCatalogChecklistTemplatesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCatalogType, @javax.annotation.Nullable String filterScopeType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listCatalogChecklistTemplatesValidateBeforeCall(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List catalog checklist templates (asynchronously) + * List catalog checklist templates + * @param include comma separated if needed. eg: template_fields,template_owners (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCatalogType (optional) + * @param filterScopeType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 returns empty list for another team -
+ */ + public okhttp3.Call listCatalogChecklistTemplatesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCatalogType, @javax.annotation.Nullable String filterScopeType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCatalogChecklistTemplatesValidateBeforeCall(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for triggerCatalogChecklistTemplate + * @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
202 audit triggered -
404 resource not found for another team -
+ */ + public okhttp3.Call triggerCatalogChecklistTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/catalog_checklist_templates/{id}/trigger" + .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 triggerCatalogChecklistTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 triggerCatalogChecklistTemplate(Async)"); + } + + return triggerCatalogChecklistTemplateCall(id, _callback); + + } + + /** + * Trigger an audit for a catalog checklist template + * Triggers an audit for all applicable entities of the checklist template + * @param id (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
202 audit triggered -
404 resource not found for another team -
+ */ + public void triggerCatalogChecklistTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + triggerCatalogChecklistTemplateWithHttpInfo(id); + } + + /** + * Trigger an audit for a catalog checklist template + * Triggers an audit for all applicable entities of the checklist template + * @param id (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
202 audit triggered -
404 resource not found for another team -
+ */ + public ApiResponse triggerCatalogChecklistTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = triggerCatalogChecklistTemplateValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Trigger an audit for a catalog checklist template (asynchronously) + * Triggers an audit for all applicable entities of the checklist template + * @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
202 audit triggered -
404 resource not found for another team -
+ */ + public okhttp3.Call triggerCatalogChecklistTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = triggerCatalogChecklistTemplateValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for updateCatalogChecklistTemplate + * @param id (required) + * @param updateCatalogChecklistTemplate (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 ignores user-provided field_key for custom fields on update -
422 rejects duplicate custom fields on update -
+ */ + public okhttp3.Call updateCatalogChecklistTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate, 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 = updateCatalogChecklistTemplate; + + // create path and map variables + String localVarPath = "/v1/catalog_checklist_templates/{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 updateCatalogChecklistTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate, 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 updateCatalogChecklistTemplate(Async)"); + } + + // verify the required parameter 'updateCatalogChecklistTemplate' is set + if (updateCatalogChecklistTemplate == null) { + throw new ApiException("Missing the required parameter 'updateCatalogChecklistTemplate' when calling updateCatalogChecklistTemplate(Async)"); + } + + return updateCatalogChecklistTemplateCall(id, updateCatalogChecklistTemplate, _callback); + + } + + /** + * Update a catalog checklist template + * Update a specific catalog checklist template by id + * @param id (required) + * @param updateCatalogChecklistTemplate (required) + * @return CatalogChecklistTemplateResponse + * @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 ignores user-provided field_key for custom fields on update -
422 rejects duplicate custom fields on update -
+ */ + public CatalogChecklistTemplateResponse updateCatalogChecklistTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate) throws ApiException { + ApiResponse localVarResp = updateCatalogChecklistTemplateWithHttpInfo(id, updateCatalogChecklistTemplate); + return localVarResp.getData(); + } + + /** + * Update a catalog checklist template + * Update a specific catalog checklist template by id + * @param id (required) + * @param updateCatalogChecklistTemplate (required) + * @return ApiResponse<CatalogChecklistTemplateResponse> + * @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 ignores user-provided field_key for custom fields on update -
422 rejects duplicate custom fields on update -
+ */ + public ApiResponse updateCatalogChecklistTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate) throws ApiException { + okhttp3.Call localVarCall = updateCatalogChecklistTemplateValidateBeforeCall(id, updateCatalogChecklistTemplate, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update a catalog checklist template (asynchronously) + * Update a specific catalog checklist template by id + * @param id (required) + * @param updateCatalogChecklistTemplate (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 ignores user-provided field_key for custom fields on update -
422 rejects duplicate custom fields on update -
+ */ + public okhttp3.Call updateCatalogChecklistTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCatalogChecklistTemplateValidateBeforeCall(id, updateCatalogChecklistTemplate, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CatalogEntitiesApi.java b/src/main/java/com/rootly/client/api/CatalogEntitiesApi.java index 709093db..420a7dad 100644 --- a/src/main/java/com/rootly/client/api/CatalogEntitiesApi.java +++ b/src/main/java/com/rootly/client/api/CatalogEntitiesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.CatalogEntityList; import com.rootly.client.model.CatalogEntityResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCatalogEntity; import com.rootly.client.model.UpdateCatalogEntity; @@ -87,8 +88,8 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + +
Response Details
Status Code Description Response Headers
201 catalog_entity created -
422 invalid request -
201 catalog_entity created with fields attribute -
422 rejects entity with invalid catalog_field_id -
401 responds with unauthorized for invalid token -
*/ @@ -165,8 +166,8 @@ private okhttp3.Call createCatalogEntityValidateBeforeCall(@javax.annotation.Non - - + +
Response Details
Status Code Description Response Headers
201 catalog_entity created -
422 invalid request -
201 catalog_entity created with fields attribute -
422 rejects entity with invalid catalog_field_id -
401 responds with unauthorized for invalid token -
*/ @@ -186,8 +187,8 @@ public CatalogEntityResponse createCatalogEntity(@javax.annotation.Nonnull Strin - - + +
Response Details
Status Code Description Response Headers
201 catalog_entity created -
422 invalid request -
201 catalog_entity created with fields attribute -
422 rejects entity with invalid catalog_field_id -
401 responds with unauthorized for invalid token -
*/ @@ -209,8 +210,8 @@ public ApiResponse createCatalogEntityWithHttpInfo(@javax - - + +
Response Details
Status Code Description Response Headers
201 catalog_entity created -
422 invalid request -
201 catalog_entity created with fields attribute -
422 rejects entity with invalid catalog_field_id -
401 responds with unauthorized for invalid token -
*/ @@ -235,7 +236,7 @@ public okhttp3.Call createCatalogEntityAsync(@javax.annotation.Nonnull String ca 404 resource not found - */ - public okhttp3.Call deleteCatalogEntityCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCatalogEntityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -281,7 +282,7 @@ public okhttp3.Call deleteCatalogEntityCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteCatalogEntity(Async)"); @@ -305,7 +306,7 @@ private okhttp3.Call deleteCatalogEntityValidateBeforeCall(@javax.annotation.Non 404 resource not found - */ - public CatalogEntityResponse deleteCatalogEntity(@javax.annotation.Nonnull String id) throws ApiException { + public CatalogEntityResponse deleteCatalogEntity(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteCatalogEntityWithHttpInfo(id); return localVarResp.getData(); } @@ -324,7 +325,7 @@ public CatalogEntityResponse deleteCatalogEntity(@javax.annotation.Nonnull Strin 404 resource not found - */ - public ApiResponse deleteCatalogEntityWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteCatalogEntityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteCatalogEntityValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -345,7 +346,7 @@ public ApiResponse deleteCatalogEntityWithHttpInfo(@javax 404 resource not found - */ - public okhttp3.Call deleteCatalogEntityAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCatalogEntityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteCatalogEntityValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -363,11 +364,11 @@ public okhttp3.Call deleteCatalogEntityAsync(@javax.annotation.Nonnull String id - +
Response Details
Status Code Description Response Headers
200 catalog_entity found -
200 catalog_entity found by slug -
404 resource not found -
*/ - public okhttp3.Call getCatalogEntityCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCatalogEntityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -417,7 +418,7 @@ public okhttp3.Call getCatalogEntityCall(@javax.annotation.Nonnull String id, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call getCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, 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 getCatalogEntity(Async)"); @@ -438,11 +439,11 @@ private okhttp3.Call getCatalogEntityValidateBeforeCall(@javax.annotation.Nonnul - +
Response Details
Status Code Description Response Headers
200 catalog_entity found -
200 catalog_entity found by slug -
404 resource not found -
*/ - public CatalogEntityResponse getCatalogEntity(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public CatalogEntityResponse getCatalogEntity(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getCatalogEntityWithHttpInfo(id, include); return localVarResp.getData(); } @@ -458,11 +459,11 @@ public CatalogEntityResponse getCatalogEntity(@javax.annotation.Nonnull String i - +
Response Details
Status Code Description Response Headers
200 catalog_entity found -
200 catalog_entity found by slug -
404 resource not found -
*/ - public ApiResponse getCatalogEntityWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public ApiResponse getCatalogEntityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getCatalogEntityValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -480,11 +481,11 @@ public ApiResponse getCatalogEntityWithHttpInfo(@javax.an - +
Response Details
Status Code Description Response Headers
200 catalog_entity found -
200 catalog_entity found by slug -
404 resource not found -
*/ - public okhttp3.Call getCatalogEntityAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCatalogEntityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getCatalogEntityValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -498,8 +499,10 @@ public okhttp3.Call getCatalogEntityAsync(@javax.annotation.Nonnull String id, @ * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) + * @param filterBackstageId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -514,7 +517,7 @@ public okhttp3.Call getCatalogEntityAsync(@javax.annotation.Nonnull String id, @ 200 success - */ - public okhttp3.Call listCatalogEntitiesCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listCatalogEntitiesCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -556,6 +559,10 @@ public okhttp3.Call listCatalogEntitiesCall(@javax.annotation.Nonnull String cat localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); } + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + if (filterSlug != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); } @@ -564,6 +571,10 @@ public okhttp3.Call listCatalogEntitiesCall(@javax.annotation.Nonnull String cat localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); } + if (filterBackstageId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[backstage_id]", filterBackstageId)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -600,13 +611,13 @@ public okhttp3.Call listCatalogEntitiesCall(@javax.annotation.Nonnull String cat } @SuppressWarnings("rawtypes") - private okhttp3.Call listCatalogEntitiesValidateBeforeCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + private okhttp3.Call listCatalogEntitiesValidateBeforeCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { // verify the required parameter 'catalogId' is set if (catalogId == null) { throw new ApiException("Missing the required parameter 'catalogId' when calling listCatalogEntities(Async)"); } - return listCatalogEntitiesCall(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + return listCatalogEntitiesCall(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); } @@ -618,8 +629,10 @@ private okhttp3.Call listCatalogEntitiesValidateBeforeCall(@javax.annotation.Non * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) + * @param filterBackstageId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -633,8 +646,8 @@ private okhttp3.Call listCatalogEntitiesValidateBeforeCall(@javax.annotation.Non 200 success - */ - public CatalogEntityList listCatalogEntities(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { - ApiResponse localVarResp = listCatalogEntitiesWithHttpInfo(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + public CatalogEntityList listCatalogEntities(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listCatalogEntitiesWithHttpInfo(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); return localVarResp.getData(); } @@ -646,8 +659,10 @@ public CatalogEntityList listCatalogEntities(@javax.annotation.Nonnull String ca * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) + * @param filterBackstageId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -661,8 +676,8 @@ public CatalogEntityList listCatalogEntities(@javax.annotation.Nonnull String ca 200 success - */ - public ApiResponse listCatalogEntitiesWithHttpInfo(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { - okhttp3.Call localVarCall = listCatalogEntitiesValidateBeforeCall(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + public ApiResponse listCatalogEntitiesWithHttpInfo(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listCatalogEntitiesValidateBeforeCall(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -675,8 +690,10 @@ public ApiResponse listCatalogEntitiesWithHttpInfo(@javax.ann * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) + * @param filterBackstageId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -691,9 +708,9 @@ public ApiResponse listCatalogEntitiesWithHttpInfo(@javax.ann 200 success - */ - public okhttp3.Call listCatalogEntitiesAsync(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listCatalogEntitiesAsync(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listCatalogEntitiesValidateBeforeCall(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + okhttp3.Call localVarCall = listCatalogEntitiesValidateBeforeCall(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -709,11 +726,11 @@ public okhttp3.Call listCatalogEntitiesAsync(@javax.annotation.Nonnull String ca - +
Response Details
Status Code Description Response Headers
200 catalog_entity updated -
200 catalog_entity update replaces existing properties -
404 resource not found -
*/ - public okhttp3.Call updateCatalogEntityCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCatalogEntityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -760,7 +777,7 @@ public okhttp3.Call updateCatalogEntityCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call updateCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateCatalogEntityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, 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 updateCatalogEntity(Async)"); @@ -786,11 +803,11 @@ private okhttp3.Call updateCatalogEntityValidateBeforeCall(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 catalog_entity updated -
200 catalog_entity update replaces existing properties -
404 resource not found -
*/ - public CatalogEntityResponse updateCatalogEntity(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity) throws ApiException { + public CatalogEntityResponse updateCatalogEntity(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity) throws ApiException { ApiResponse localVarResp = updateCatalogEntityWithHttpInfo(id, updateCatalogEntity); return localVarResp.getData(); } @@ -806,11 +823,11 @@ public CatalogEntityResponse updateCatalogEntity(@javax.annotation.Nonnull Strin - +
Response Details
Status Code Description Response Headers
200 catalog_entity updated -
200 catalog_entity update replaces existing properties -
404 resource not found -
*/ - public ApiResponse updateCatalogEntityWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity) throws ApiException { + public ApiResponse updateCatalogEntityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity) throws ApiException { okhttp3.Call localVarCall = updateCatalogEntityValidateBeforeCall(id, updateCatalogEntity, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -828,11 +845,11 @@ public ApiResponse updateCatalogEntityWithHttpInfo(@javax - +
Response Details
Status Code Description Response Headers
200 catalog_entity updated -
200 catalog_entity update replaces existing properties -
404 resource not found -
*/ - public okhttp3.Call updateCatalogEntityAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCatalogEntityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalogEntity updateCatalogEntity, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateCatalogEntityValidateBeforeCall(id, updateCatalogEntity, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/CatalogEntityChecklistsApi.java b/src/main/java/com/rootly/client/api/CatalogEntityChecklistsApi.java new file mode 100644 index 00000000..70c7bf09 --- /dev/null +++ b/src/main/java/com/rootly/client/api/CatalogEntityChecklistsApi.java @@ -0,0 +1,406 @@ +/* + * 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.CatalogEntityChecklistList; +import com.rootly.client.model.CatalogEntityChecklistResponse; +import com.rootly.client.model.ErrorsList; +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 CatalogEntityChecklistsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CatalogEntityChecklistsApi() { + this(Configuration.getDefaultApiClient()); + } + + public CatalogEntityChecklistsApi(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 getCatalogEntityChecklist + * @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 catalog entity checklist found -
404 resource not found for another team -
+ */ + public okhttp3.Call getCatalogEntityChecklistCall(@javax.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/catalog_entity_checklists/{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 getCatalogEntityChecklistValidateBeforeCall(@javax.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 getCatalogEntityChecklist(Async)"); + } + + return getCatalogEntityChecklistCall(id, _callback); + + } + + /** + * Retrieves a catalog entity checklist + * Retrieves a specific catalog entity checklist by id + * @param id (required) + * @return CatalogEntityChecklistResponse + * @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 catalog entity checklist found -
404 resource not found for another team -
+ */ + public CatalogEntityChecklistResponse getCatalogEntityChecklist(@javax.annotation.Nonnull UUID id) throws ApiException { + ApiResponse localVarResp = getCatalogEntityChecklistWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves a catalog entity checklist + * Retrieves a specific catalog entity checklist by id + * @param id (required) + * @return ApiResponse<CatalogEntityChecklistResponse> + * @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 catalog entity checklist found -
404 resource not found for another team -
+ */ + public ApiResponse getCatalogEntityChecklistWithHttpInfo(@javax.annotation.Nonnull UUID id) throws ApiException { + okhttp3.Call localVarCall = getCatalogEntityChecklistValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a catalog entity checklist (asynchronously) + * Retrieves a specific catalog entity checklist 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 catalog entity checklist found -
404 resource not found for another team -
+ */ + public okhttp3.Call getCatalogEntityChecklistAsync(@javax.annotation.Nonnull UUID id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCatalogEntityChecklistValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCatalogEntityChecklists + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCatalogChecklistTemplateId (optional) + * @param filterAuditableType (optional) + * @param filterAuditableId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 returns empty list for another team -
+ */ + public okhttp3.Call listCatalogEntityChecklistsCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCatalogChecklistTemplateId, @javax.annotation.Nullable String filterAuditableType, @javax.annotation.Nullable String filterAuditableId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/catalog_entity_checklists"; + + 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 (filterStatus != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status]", filterStatus)); + } + + if (filterCatalogChecklistTemplateId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[catalog_checklist_template_id]", filterCatalogChecklistTemplateId)); + } + + if (filterAuditableType != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[auditable_type]", filterAuditableType)); + } + + if (filterAuditableId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[auditable_id]", filterAuditableId)); + } + + 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)); + } + + 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 listCatalogEntityChecklistsValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCatalogChecklistTemplateId, @javax.annotation.Nullable String filterAuditableType, @javax.annotation.Nullable String filterAuditableId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listCatalogEntityChecklistsCall(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List catalog entity checklists + * List catalog entity checklists + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCatalogChecklistTemplateId (optional) + * @param filterAuditableType (optional) + * @param filterAuditableId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogEntityChecklistList + * @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 returns empty list for another team -
+ */ + public CatalogEntityChecklistList listCatalogEntityChecklists(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCatalogChecklistTemplateId, @javax.annotation.Nullable String filterAuditableType, @javax.annotation.Nullable String filterAuditableId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listCatalogEntityChecklistsWithHttpInfo(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List catalog entity checklists + * List catalog entity checklists + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCatalogChecklistTemplateId (optional) + * @param filterAuditableType (optional) + * @param filterAuditableId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogEntityChecklistList> + * @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 returns empty list for another team -
+ */ + public ApiResponse listCatalogEntityChecklistsWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCatalogChecklistTemplateId, @javax.annotation.Nullable String filterAuditableType, @javax.annotation.Nullable String filterAuditableId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listCatalogEntityChecklistsValidateBeforeCall(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List catalog entity checklists (asynchronously) + * List catalog entity checklists + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCatalogChecklistTemplateId (optional) + * @param filterAuditableType (optional) + * @param filterAuditableId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 returns empty list for another team -
+ */ + public okhttp3.Call listCatalogEntityChecklistsAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCatalogChecklistTemplateId, @javax.annotation.Nullable String filterAuditableType, @javax.annotation.Nullable String filterAuditableId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCatalogEntityChecklistsValidateBeforeCall(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CatalogEntityPropertiesApi.java b/src/main/java/com/rootly/client/api/CatalogEntityPropertiesApi.java index 642eca1c..8808052f 100644 --- a/src/main/java/com/rootly/client/api/CatalogEntityPropertiesApi.java +++ b/src/main/java/com/rootly/client/api/CatalogEntityPropertiesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -91,7 +91,9 @@ public void setCustomBaseUrl(String customBaseUrl) { 422 invalid request - 401 responds with unauthorized for invalid token - + * @deprecated */ + @Deprecated public okhttp3.Call createCatalogEntityPropertyCall(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nonnull NewCatalogEntityProperty newCatalogEntityProperty, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers @@ -138,6 +140,7 @@ public okhttp3.Call createCatalogEntityPropertyCall(@javax.annotation.Nonnull St return localVarApiClient.buildCall(basePath, localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } + @Deprecated @SuppressWarnings("rawtypes") private okhttp3.Call createCatalogEntityPropertyValidateBeforeCall(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nonnull NewCatalogEntityProperty newCatalogEntityProperty, final ApiCallback _callback) throws ApiException { // verify the required parameter 'catalogEntityId' is set @@ -156,7 +159,7 @@ private okhttp3.Call createCatalogEntityPropertyValidateBeforeCall(@javax.annota /** * Creates a Catalog Entity Property - * Creates a new Catalog Entity Property from provided data + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Creates a new Catalog Entity Property from provided data. * @param catalogEntityId (required) * @param newCatalogEntityProperty (required) * @return CatalogEntityPropertyResponse @@ -169,7 +172,9 @@ private okhttp3.Call createCatalogEntityPropertyValidateBeforeCall(@javax.annota 422 invalid request - 401 responds with unauthorized for invalid token - + * @deprecated */ + @Deprecated public CatalogEntityPropertyResponse createCatalogEntityProperty(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nonnull NewCatalogEntityProperty newCatalogEntityProperty) throws ApiException { ApiResponse localVarResp = createCatalogEntityPropertyWithHttpInfo(catalogEntityId, newCatalogEntityProperty); return localVarResp.getData(); @@ -177,7 +182,7 @@ public CatalogEntityPropertyResponse createCatalogEntityProperty(@javax.annotati /** * Creates a Catalog Entity Property - * Creates a new Catalog Entity Property from provided data + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Creates a new Catalog Entity Property from provided data. * @param catalogEntityId (required) * @param newCatalogEntityProperty (required) * @return ApiResponse<CatalogEntityPropertyResponse> @@ -190,7 +195,9 @@ public CatalogEntityPropertyResponse createCatalogEntityProperty(@javax.annotati 422 invalid request - 401 responds with unauthorized for invalid token - + * @deprecated */ + @Deprecated public ApiResponse createCatalogEntityPropertyWithHttpInfo(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nonnull NewCatalogEntityProperty newCatalogEntityProperty) throws ApiException { okhttp3.Call localVarCall = createCatalogEntityPropertyValidateBeforeCall(catalogEntityId, newCatalogEntityProperty, null); Type localVarReturnType = new TypeToken(){}.getType(); @@ -199,7 +206,7 @@ public ApiResponse createCatalogEntityPropertyWit /** * Creates a Catalog Entity Property (asynchronously) - * Creates a new Catalog Entity Property from provided data + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Creates a new Catalog Entity Property from provided data. * @param catalogEntityId (required) * @param newCatalogEntityProperty (required) * @param _callback The callback to be executed when the API call finishes @@ -213,7 +220,9 @@ public ApiResponse createCatalogEntityPropertyWit 422 invalid request - 401 responds with unauthorized for invalid token - + * @deprecated */ + @Deprecated public okhttp3.Call createCatalogEntityPropertyAsync(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nonnull NewCatalogEntityProperty newCatalogEntityProperty, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = createCatalogEntityPropertyValidateBeforeCall(catalogEntityId, newCatalogEntityProperty, _callback); @@ -234,7 +243,9 @@ public okhttp3.Call createCatalogEntityPropertyAsync(@javax.annotation.Nonnull S 200 catalog_entity_property deleted - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call deleteCatalogEntityPropertyCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers @@ -280,6 +291,7 @@ public okhttp3.Call deleteCatalogEntityPropertyCall(@javax.annotation.Nonnull St return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } + @Deprecated @SuppressWarnings("rawtypes") private okhttp3.Call deleteCatalogEntityPropertyValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set @@ -293,7 +305,7 @@ private okhttp3.Call deleteCatalogEntityPropertyValidateBeforeCall(@javax.annota /** * Delete a Catalog Entity Property - * Delete a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Delete a specific Catalog Entity Property by id. * @param id (required) * @return CatalogEntityPropertyResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -304,7 +316,9 @@ private okhttp3.Call deleteCatalogEntityPropertyValidateBeforeCall(@javax.annota 200 catalog_entity_property deleted - 404 resource not found - + * @deprecated */ + @Deprecated public CatalogEntityPropertyResponse deleteCatalogEntityProperty(@javax.annotation.Nonnull String id) throws ApiException { ApiResponse localVarResp = deleteCatalogEntityPropertyWithHttpInfo(id); return localVarResp.getData(); @@ -312,7 +326,7 @@ public CatalogEntityPropertyResponse deleteCatalogEntityProperty(@javax.annotati /** * Delete a Catalog Entity Property - * Delete a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Delete a specific Catalog Entity Property by id. * @param id (required) * @return ApiResponse<CatalogEntityPropertyResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -323,7 +337,9 @@ public CatalogEntityPropertyResponse deleteCatalogEntityProperty(@javax.annotati 200 catalog_entity_property deleted - 404 resource not found - + * @deprecated */ + @Deprecated public ApiResponse deleteCatalogEntityPropertyWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { okhttp3.Call localVarCall = deleteCatalogEntityPropertyValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); @@ -332,7 +348,7 @@ public ApiResponse deleteCatalogEntityPropertyWit /** * Delete a Catalog Entity Property (asynchronously) - * Delete a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Delete a specific Catalog Entity Property by id. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -344,7 +360,9 @@ public ApiResponse deleteCatalogEntityPropertyWit 200 catalog_entity_property deleted - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call deleteCatalogEntityPropertyAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteCatalogEntityPropertyValidateBeforeCall(id, _callback); @@ -366,7 +384,9 @@ public okhttp3.Call deleteCatalogEntityPropertyAsync(@javax.annotation.Nonnull S 200 catalog_entity_property found - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call getCatalogEntityPropertyCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers @@ -416,6 +436,7 @@ public okhttp3.Call getCatalogEntityPropertyCall(@javax.annotation.Nonnull Strin return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } + @Deprecated @SuppressWarnings("rawtypes") private okhttp3.Call getCatalogEntityPropertyValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set @@ -429,7 +450,7 @@ private okhttp3.Call getCatalogEntityPropertyValidateBeforeCall(@javax.annotatio /** * Retrieves a Catalog Entity Property - * Retrieves a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. Retrieves a specific Catalog Entity Property by id. * @param id (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @return CatalogEntityPropertyResponse @@ -441,7 +462,9 @@ private okhttp3.Call getCatalogEntityPropertyValidateBeforeCall(@javax.annotatio 200 catalog_entity_property found - 404 resource not found - + * @deprecated */ + @Deprecated public CatalogEntityPropertyResponse getCatalogEntityProperty(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getCatalogEntityPropertyWithHttpInfo(id, include); return localVarResp.getData(); @@ -449,7 +472,7 @@ public CatalogEntityPropertyResponse getCatalogEntityProperty(@javax.annotation. /** * Retrieves a Catalog Entity Property - * Retrieves a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. Retrieves a specific Catalog Entity Property by id. * @param id (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @return ApiResponse<CatalogEntityPropertyResponse> @@ -461,7 +484,9 @@ public CatalogEntityPropertyResponse getCatalogEntityProperty(@javax.annotation. 200 catalog_entity_property found - 404 resource not found - + * @deprecated */ + @Deprecated public ApiResponse getCatalogEntityPropertyWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getCatalogEntityPropertyValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); @@ -470,7 +495,7 @@ public ApiResponse getCatalogEntityPropertyWithHt /** * Retrieves a Catalog Entity Property (asynchronously) - * Retrieves a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. Retrieves a specific Catalog Entity Property by id. * @param id (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @param _callback The callback to be executed when the API call finishes @@ -483,7 +508,9 @@ public ApiResponse getCatalogEntityPropertyWithHt 200 catalog_entity_property found - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call getCatalogEntityPropertyAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getCatalogEntityPropertyValidateBeforeCall(id, include, _callback); @@ -513,7 +540,9 @@ public okhttp3.Call getCatalogEntityPropertyAsync(@javax.annotation.Nonnull Stri Status Code Description Response Headers 200 success - + * @deprecated */ + @Deprecated public okhttp3.Call listCatalogEntityPropertiesCall(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCatalogFieldId, @javax.annotation.Nullable String filterKey, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers @@ -599,6 +628,7 @@ public okhttp3.Call listCatalogEntityPropertiesCall(@javax.annotation.Nonnull St return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } + @Deprecated @SuppressWarnings("rawtypes") private okhttp3.Call listCatalogEntityPropertiesValidateBeforeCall(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCatalogFieldId, @javax.annotation.Nullable String filterKey, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { // verify the required parameter 'catalogEntityId' is set @@ -612,7 +642,7 @@ private okhttp3.Call listCatalogEntityPropertiesValidateBeforeCall(@javax.annota /** * List catalog properties - * List Catalog Entity Properties + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. List Catalog Entity Properties. * @param catalogEntityId (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) @@ -632,7 +662,9 @@ private okhttp3.Call listCatalogEntityPropertiesValidateBeforeCall(@javax.annota Status Code Description Response Headers 200 success - + * @deprecated */ + @Deprecated public CatalogEntityPropertyList listCatalogEntityProperties(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCatalogFieldId, @javax.annotation.Nullable String filterKey, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { ApiResponse localVarResp = listCatalogEntityPropertiesWithHttpInfo(catalogEntityId, include, sort, pageNumber, pageSize, filterCatalogFieldId, filterKey, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); return localVarResp.getData(); @@ -640,7 +672,7 @@ public CatalogEntityPropertyList listCatalogEntityProperties(@javax.annotation.N /** * List catalog properties - * List Catalog Entity Properties + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. List Catalog Entity Properties. * @param catalogEntityId (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) @@ -660,7 +692,9 @@ public CatalogEntityPropertyList listCatalogEntityProperties(@javax.annotation.N Status Code Description Response Headers 200 success - + * @deprecated */ + @Deprecated public ApiResponse listCatalogEntityPropertiesWithHttpInfo(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCatalogFieldId, @javax.annotation.Nullable String filterKey, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { okhttp3.Call localVarCall = listCatalogEntityPropertiesValidateBeforeCall(catalogEntityId, include, sort, pageNumber, pageSize, filterCatalogFieldId, filterKey, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); Type localVarReturnType = new TypeToken(){}.getType(); @@ -669,7 +703,7 @@ public ApiResponse listCatalogEntityPropertiesWithHtt /** * List catalog properties (asynchronously) - * List Catalog Entity Properties + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. List Catalog Entity Properties. * @param catalogEntityId (required) * @param include comma separated if needed. eg: catalog_entity,catalog_field (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) @@ -690,7 +724,9 @@ public ApiResponse listCatalogEntityPropertiesWithHtt Status Code Description Response Headers 200 success - + * @deprecated */ + @Deprecated public okhttp3.Call listCatalogEntityPropertiesAsync(@javax.annotation.Nonnull String catalogEntityId, @javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCatalogFieldId, @javax.annotation.Nullable String filterKey, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = listCatalogEntityPropertiesValidateBeforeCall(catalogEntityId, include, sort, pageNumber, pageSize, filterCatalogFieldId, filterKey, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); @@ -712,7 +748,9 @@ public okhttp3.Call listCatalogEntityPropertiesAsync(@javax.annotation.Nonnull S 200 catalog_entity_property updated - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call updateCatalogEntityPropertyCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntityProperty updateCatalogEntityProperty, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers @@ -759,6 +797,7 @@ public okhttp3.Call updateCatalogEntityPropertyCall(@javax.annotation.Nonnull St return localVarApiClient.buildCall(basePath, localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } + @Deprecated @SuppressWarnings("rawtypes") private okhttp3.Call updateCatalogEntityPropertyValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntityProperty updateCatalogEntityProperty, final ApiCallback _callback) throws ApiException { // verify the required parameter 'id' is set @@ -777,7 +816,7 @@ private okhttp3.Call updateCatalogEntityPropertyValidateBeforeCall(@javax.annota /** * Update a Catalog Entity Property - * Update a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Update a specific Catalog Entity Property by id. * @param id (required) * @param updateCatalogEntityProperty (required) * @return CatalogEntityPropertyResponse @@ -789,7 +828,9 @@ private okhttp3.Call updateCatalogEntityPropertyValidateBeforeCall(@javax.annota 200 catalog_entity_property updated - 404 resource not found - + * @deprecated */ + @Deprecated public CatalogEntityPropertyResponse updateCatalogEntityProperty(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntityProperty updateCatalogEntityProperty) throws ApiException { ApiResponse localVarResp = updateCatalogEntityPropertyWithHttpInfo(id, updateCatalogEntityProperty); return localVarResp.getData(); @@ -797,7 +838,7 @@ public CatalogEntityPropertyResponse updateCatalogEntityProperty(@javax.annotati /** * Update a Catalog Entity Property - * Update a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Update a specific Catalog Entity Property by id. * @param id (required) * @param updateCatalogEntityProperty (required) * @return ApiResponse<CatalogEntityPropertyResponse> @@ -809,7 +850,9 @@ public CatalogEntityPropertyResponse updateCatalogEntityProperty(@javax.annotati 200 catalog_entity_property updated - 404 resource not found - + * @deprecated */ + @Deprecated public ApiResponse updateCatalogEntityPropertyWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntityProperty updateCatalogEntityProperty) throws ApiException { okhttp3.Call localVarCall = updateCatalogEntityPropertyValidateBeforeCall(id, updateCatalogEntityProperty, null); Type localVarReturnType = new TypeToken(){}.getType(); @@ -818,7 +861,7 @@ public ApiResponse updateCatalogEntityPropertyWit /** * Update a Catalog Entity Property (asynchronously) - * Update a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Update a specific Catalog Entity Property by id. * @param id (required) * @param updateCatalogEntityProperty (required) * @param _callback The callback to be executed when the API call finishes @@ -831,7 +874,9 @@ public ApiResponse updateCatalogEntityPropertyWit 200 catalog_entity_property updated - 404 resource not found - + * @deprecated */ + @Deprecated public okhttp3.Call updateCatalogEntityPropertyAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogEntityProperty updateCatalogEntityProperty, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateCatalogEntityPropertyValidateBeforeCall(id, updateCatalogEntityProperty, _callback); diff --git a/src/main/java/com/rootly/client/api/CatalogPropertiesApi.java b/src/main/java/com/rootly/client/api/CatalogPropertiesApi.java new file mode 100644 index 00000000..dbaee35b --- /dev/null +++ b/src/main/java/com/rootly/client/api/CatalogPropertiesApi.java @@ -0,0 +1,706 @@ +/* + * 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.NewCatalogField; +import com.rootly.client.model.UpdateCatalogField; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CatalogPropertiesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CatalogPropertiesApi() { + this(Configuration.getDefaultApiClient()); + } + + public CatalogPropertiesApi(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 createCatalogProperty + * @param catalogId (required) + * @param newCatalogField (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 catalog_property created -
+ */ + public okhttp3.Call createCatalogPropertyCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nonnull NewCatalogField newCatalogField, 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 = newCatalogField; + + // create path and map variables + String localVarPath = "/v1/catalogs/{catalog_id}/properties" + .replace("{" + "catalog_id" + "}", localVarApiClient.escapeString(catalogId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + }; + 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 createCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nonnull NewCatalogField newCatalogField, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'catalogId' is set + if (catalogId == null) { + throw new ApiException("Missing the required parameter 'catalogId' when calling createCatalogProperty(Async)"); + } + + // verify the required parameter 'newCatalogField' is set + if (newCatalogField == null) { + throw new ApiException("Missing the required parameter 'newCatalogField' when calling createCatalogProperty(Async)"); + } + + return createCatalogPropertyCall(catalogId, newCatalogField, _callback); + + } + + /** + * Creates a Catalog Property (alias for field) + * Creates a new Catalog Property - returns catalog_properties type + * @param catalogId (required) + * @param newCatalogField (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
201 catalog_property created -
+ */ + public void createCatalogProperty(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nonnull NewCatalogField newCatalogField) throws ApiException { + createCatalogPropertyWithHttpInfo(catalogId, newCatalogField); + } + + /** + * Creates a Catalog Property (alias for field) + * Creates a new Catalog Property - returns catalog_properties type + * @param catalogId (required) + * @param newCatalogField (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
201 catalog_property created -
+ */ + public ApiResponse createCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nonnull NewCatalogField newCatalogField) throws ApiException { + okhttp3.Call localVarCall = createCatalogPropertyValidateBeforeCall(catalogId, newCatalogField, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Creates a Catalog Property (alias for field) (asynchronously) + * Creates a new Catalog Property - returns catalog_properties type + * @param catalogId (required) + * @param newCatalogField (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 catalog_property created -
+ */ + public okhttp3.Call createCatalogPropertyAsync(@javax.annotation.Nonnull String catalogId, @javax.annotation.Nonnull NewCatalogField newCatalogField, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCatalogPropertyValidateBeforeCall(catalogId, newCatalogField, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for deleteCatalogProperty + * @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 catalog_property deleted -
+ */ + public okhttp3.Call deleteCatalogPropertyCall(@javax.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/catalog_properties/{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 = { + }; + 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 deleteCatalogPropertyValidateBeforeCall(@javax.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 deleteCatalogProperty(Async)"); + } + + return deleteCatalogPropertyCall(id, _callback); + + } + + /** + * Delete a catalog_property + * Delete a specific catalog_property by id - returns catalog_properties type + * @param id (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
200 catalog_property deleted -
+ */ + public void deleteCatalogProperty(@javax.annotation.Nonnull String id) throws ApiException { + deleteCatalogPropertyWithHttpInfo(id); + } + + /** + * Delete a catalog_property + * Delete a specific catalog_property by id - returns catalog_properties type + * @param id (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
200 catalog_property deleted -
+ */ + public ApiResponse deleteCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteCatalogPropertyValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete a catalog_property (asynchronously) + * Delete a specific catalog_property by id - returns catalog_properties type + * @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 catalog_property deleted -
+ */ + public okhttp3.Call deleteCatalogPropertyAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCatalogPropertyValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getCatalogProperty + * @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 catalog_property found -
+ */ + public okhttp3.Call getCatalogPropertyCall(@javax.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/catalog_properties/{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 = { + }; + 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 getCatalogPropertyValidateBeforeCall(@javax.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 getCatalogProperty(Async)"); + } + + return getCatalogPropertyCall(id, _callback); + + } + + /** + * Retrieves a Catalog Property (alias for field) + * Retrieves a specific Catalog Property by id - returns catalog_properties type + * @param id (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
200 catalog_property found -
+ */ + public void getCatalogProperty(@javax.annotation.Nonnull String id) throws ApiException { + getCatalogPropertyWithHttpInfo(id); + } + + /** + * Retrieves a Catalog Property (alias for field) + * Retrieves a specific Catalog Property by id - returns catalog_properties type + * @param id (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
200 catalog_property found -
+ */ + public ApiResponse getCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getCatalogPropertyValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Retrieves a Catalog Property (alias for field) (asynchronously) + * Retrieves a specific Catalog Property by id - returns catalog_properties type + * @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 catalog_property found -
+ */ + public okhttp3.Call getCatalogPropertyAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCatalogPropertyValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for listCatalogProperties + * @param catalogId (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 success with catalog_properties type -
+ */ + public okhttp3.Call listCatalogPropertiesCall(@javax.annotation.Nonnull String catalogId, 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/catalogs/{catalog_id}/properties" + .replace("{" + "catalog_id" + "}", localVarApiClient.escapeString(catalogId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + }; + 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 listCatalogPropertiesValidateBeforeCall(@javax.annotation.Nonnull String catalogId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'catalogId' is set + if (catalogId == null) { + throw new ApiException("Missing the required parameter 'catalogId' when calling listCatalogProperties(Async)"); + } + + return listCatalogPropertiesCall(catalogId, _callback); + + } + + /** + * List Catalog Properties (alias for fields) + * List Catalog Properties - returns catalog_properties type + * @param catalogId (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
200 success with catalog_properties type -
+ */ + public void listCatalogProperties(@javax.annotation.Nonnull String catalogId) throws ApiException { + listCatalogPropertiesWithHttpInfo(catalogId); + } + + /** + * List Catalog Properties (alias for fields) + * List Catalog Properties - returns catalog_properties type + * @param catalogId (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
200 success with catalog_properties type -
+ */ + public ApiResponse listCatalogPropertiesWithHttpInfo(@javax.annotation.Nonnull String catalogId) throws ApiException { + okhttp3.Call localVarCall = listCatalogPropertiesValidateBeforeCall(catalogId, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * List Catalog Properties (alias for fields) (asynchronously) + * List Catalog Properties - returns catalog_properties type + * @param catalogId (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 success with catalog_properties type -
+ */ + public okhttp3.Call listCatalogPropertiesAsync(@javax.annotation.Nonnull String catalogId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCatalogPropertiesValidateBeforeCall(catalogId, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for updateCatalogProperty + * @param id (required) + * @param updateCatalogField (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 catalog_property updated -
+ */ + public okhttp3.Call updateCatalogPropertyCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogField updateCatalogField, 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 = updateCatalogField; + + // create path and map variables + String localVarPath = "/v1/catalog_properties/{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 = { + }; + 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 updateCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogField updateCatalogField, 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 updateCatalogProperty(Async)"); + } + + // verify the required parameter 'updateCatalogField' is set + if (updateCatalogField == null) { + throw new ApiException("Missing the required parameter 'updateCatalogField' when calling updateCatalogProperty(Async)"); + } + + return updateCatalogPropertyCall(id, updateCatalogField, _callback); + + } + + /** + * Update a catalog_property (alias for field) + * Update a specific catalog_property by id - returns catalog_properties type + * @param id (required) + * @param updateCatalogField (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
200 catalog_property updated -
+ */ + public void updateCatalogProperty(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogField updateCatalogField) throws ApiException { + updateCatalogPropertyWithHttpInfo(id, updateCatalogField); + } + + /** + * Update a catalog_property (alias for field) + * Update a specific catalog_property by id - returns catalog_properties type + * @param id (required) + * @param updateCatalogField (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
200 catalog_property updated -
+ */ + public ApiResponse updateCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogField updateCatalogField) throws ApiException { + okhttp3.Call localVarCall = updateCatalogPropertyValidateBeforeCall(id, updateCatalogField, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Update a catalog_property (alias for field) (asynchronously) + * Update a specific catalog_property by id - returns catalog_properties type + * @param id (required) + * @param updateCatalogField (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 catalog_property updated -
+ */ + public okhttp3.Call updateCatalogPropertyAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalogField updateCatalogField, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCatalogPropertyValidateBeforeCall(id, updateCatalogField, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CatalogsApi.java b/src/main/java/com/rootly/client/api/CatalogsApi.java index 1f8ef359..388f64da 100644 --- a/src/main/java/com/rootly/client/api/CatalogsApi.java +++ b/src/main/java/com/rootly/client/api/CatalogsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.CatalogList; import com.rootly.client.model.CatalogResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCatalog; import com.rootly.client.model.UpdateCatalog; @@ -225,7 +226,7 @@ public okhttp3.Call createCatalogAsync(@javax.annotation.Nonnull NewCatalog newC 404 resource not found - */ - public okhttp3.Call deleteCatalogCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCatalogCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteCatalogCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteCatalogValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteCatalogValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteCatalog(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteCatalogValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public CatalogResponse deleteCatalog(@javax.annotation.Nonnull String id) throws ApiException { + public CatalogResponse deleteCatalog(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteCatalogWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public CatalogResponse deleteCatalog(@javax.annotation.Nonnull String id) throws 404 resource not found - */ - public ApiResponse deleteCatalogWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteCatalogWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteCatalogValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteCatalogWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call deleteCatalogAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCatalogAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteCatalogValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteCatalogAsync(@javax.annotation.Nonnull String id, fina - +
Response Details
Status Code Description Response Headers
200 catalog found -
200 catalog found by slug -
404 resource not found -
*/ - public okhttp3.Call getCatalogCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCatalogCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getCatalogCall(@javax.annotation.Nonnull String id, final Ap } @SuppressWarnings("rawtypes") - private okhttp3.Call getCatalogValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getCatalogValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getCatalog(Async)"); @@ -422,11 +423,11 @@ private okhttp3.Call getCatalogValidateBeforeCall(@javax.annotation.Nonnull Stri - +
Response Details
Status Code Description Response Headers
200 catalog found -
200 catalog found by slug -
404 resource not found -
*/ - public CatalogResponse getCatalog(@javax.annotation.Nonnull String id) throws ApiException { + public CatalogResponse getCatalog(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getCatalogWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +442,11 @@ public CatalogResponse getCatalog(@javax.annotation.Nonnull String id) throws Ap - +
Response Details
Status Code Description Response Headers
200 catalog found -
200 catalog found by slug -
404 resource not found -
*/ - public ApiResponse getCatalogWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getCatalogWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getCatalogValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +463,11 @@ public ApiResponse getCatalogWithHttpInfo(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 catalog found -
200 catalog found by slug -
404 resource not found -
*/ - public okhttp3.Call getCatalogAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCatalogAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getCatalogValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -479,6 +480,7 @@ public okhttp3.Call getCatalogAsync(@javax.annotation.Nonnull String id, final A * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) * @param filterCreatedAtGt (optional) @@ -495,7 +497,7 @@ public okhttp3.Call getCatalogAsync(@javax.annotation.Nonnull String id, final A 200 success - */ - public okhttp3.Call listCatalogsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listCatalogsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -536,6 +538,10 @@ public okhttp3.Call listCatalogsCall(@javax.annotation.Nullable String include, localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); } + if (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + if (filterSlug != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); } @@ -580,8 +586,8 @@ public okhttp3.Call listCatalogsCall(@javax.annotation.Nullable String include, } @SuppressWarnings("rawtypes") - private okhttp3.Call listCatalogsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { - return listCatalogsCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + private okhttp3.Call listCatalogsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listCatalogsCall(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); } @@ -592,6 +598,7 @@ private okhttp3.Call listCatalogsValidateBeforeCall(@javax.annotation.Nullable S * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) * @param filterCreatedAtGt (optional) @@ -607,8 +614,8 @@ private okhttp3.Call listCatalogsValidateBeforeCall(@javax.annotation.Nullable S 200 success - */ - public CatalogList listCatalogs(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { - ApiResponse localVarResp = listCatalogsWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + public CatalogList listCatalogs(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listCatalogsWithHttpInfo(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); return localVarResp.getData(); } @@ -619,6 +626,7 @@ public CatalogList listCatalogs(@javax.annotation.Nullable String include, @java * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) * @param filterCreatedAtGt (optional) @@ -634,8 +642,8 @@ public CatalogList listCatalogs(@javax.annotation.Nullable String include, @java 200 success - */ - public ApiResponse listCatalogsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { - okhttp3.Call localVarCall = listCatalogsValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + public ApiResponse listCatalogsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listCatalogsValidateBeforeCall(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -647,6 +655,7 @@ public ApiResponse listCatalogsWithHttpInfo(@javax.annotation.Nulla * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) + * @param filterSearch (optional) * @param filterSlug (optional) * @param filterName (optional) * @param filterCreatedAtGt (optional) @@ -663,9 +672,9 @@ public ApiResponse listCatalogsWithHttpInfo(@javax.annotation.Nulla 200 success - */ - public okhttp3.Call listCatalogsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listCatalogsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listCatalogsValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + okhttp3.Call localVarCall = listCatalogsValidateBeforeCall(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -685,7 +694,7 @@ public okhttp3.Call listCatalogsAsync(@javax.annotation.Nullable String include, 404 resource not found - */ - public okhttp3.Call updateCatalogCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCatalogCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -732,7 +741,7 @@ public okhttp3.Call updateCatalogCall(@javax.annotation.Nonnull String id, @java } @SuppressWarnings("rawtypes") - private okhttp3.Call updateCatalogValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateCatalogValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, 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 updateCatalog(Async)"); @@ -762,7 +771,7 @@ private okhttp3.Call updateCatalogValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public CatalogResponse updateCatalog(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalog updateCatalog) throws ApiException { + public CatalogResponse updateCatalog(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalog updateCatalog) throws ApiException { ApiResponse localVarResp = updateCatalogWithHttpInfo(id, updateCatalog); return localVarResp.getData(); } @@ -782,7 +791,7 @@ public CatalogResponse updateCatalog(@javax.annotation.Nonnull String id, @javax 404 resource not found - */ - public ApiResponse updateCatalogWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalog updateCatalog) throws ApiException { + public ApiResponse updateCatalogWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalog updateCatalog) throws ApiException { okhttp3.Call localVarCall = updateCatalogValidateBeforeCall(id, updateCatalog, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -804,7 +813,7 @@ public ApiResponse updateCatalogWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call updateCatalogAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCatalogAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCatalog updateCatalog, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateCatalogValidateBeforeCall(id, updateCatalog, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/CausesApi.java b/src/main/java/com/rootly/client/api/CausesApi.java index 02f3a0b5..3ba4bf06 100644 --- a/src/main/java/com/rootly/client/api/CausesApi.java +++ b/src/main/java/com/rootly/client/api/CausesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,9 +27,13 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.CauseList; import com.rootly.client.model.CauseResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewCause; import com.rootly.client.model.UpdateCause; @@ -211,6 +215,141 @@ public okhttp3.Call createCauseAsync(@javax.annotation.Nonnull NewCause newCause localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for createCauseCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createCauseCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/causes/properties"; + + 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 createCauseCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createCauseCatalogProperty(Async)"); + } + + return createCauseCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createCauseCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createCauseCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createCauseCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createCauseCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createCauseCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCauseCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for deleteCause * @param id (required) @@ -225,7 +364,7 @@ public okhttp3.Call createCauseAsync(@javax.annotation.Nonnull NewCause newCause 404 resource not found - */ - public okhttp3.Call deleteCauseCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCauseCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteCauseCall(@javax.annotation.Nonnull String id, final A } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteCauseValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteCauseValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteCause(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteCauseValidateBeforeCall(@javax.annotation.Nonnull Str 404 resource not found - */ - public CauseResponse deleteCause(@javax.annotation.Nonnull String id) throws ApiException { + public CauseResponse deleteCause(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteCauseWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public CauseResponse deleteCause(@javax.annotation.Nonnull String id) throws Api 404 resource not found - */ - public ApiResponse deleteCauseWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteCauseWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteCauseValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteCauseWithHttpInfo(@javax.annotation.Nonn 404 resource not found - */ - public okhttp3.Call deleteCauseAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCauseAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteCauseValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +491,11 @@ public okhttp3.Call deleteCauseAsync(@javax.annotation.Nonnull String id, final - +
Response Details
Status Code Description Response Headers
200 cause found -
200 cause found by slug -
404 resource not found -
*/ - public okhttp3.Call getCauseCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCauseCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +541,7 @@ public okhttp3.Call getCauseCall(@javax.annotation.Nonnull String id, final ApiC } @SuppressWarnings("rawtypes") - private okhttp3.Call getCauseValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getCauseValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getCause(Async)"); @@ -422,11 +561,11 @@ private okhttp3.Call getCauseValidateBeforeCall(@javax.annotation.Nonnull String - +
Response Details
Status Code Description Response Headers
200 cause found -
200 cause found by slug -
404 resource not found -
*/ - public CauseResponse getCause(@javax.annotation.Nonnull String id) throws ApiException { + public CauseResponse getCause(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getCauseWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +580,11 @@ public CauseResponse getCause(@javax.annotation.Nonnull String id) throws ApiExc - +
Response Details
Status Code Description Response Headers
200 cause found -
200 cause found by slug -
404 resource not found -
*/ - public ApiResponse getCauseWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getCauseWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getCauseValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,17 +601,222 @@ public ApiResponse getCauseWithHttpInfo(@javax.annotation.Nonnull - +
Response Details
Status Code Description Response Headers
200 cause found -
200 cause found by slug -
404 resource not found -
*/ - public okhttp3.Call getCauseAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCauseAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getCauseValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listCauseCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listCauseCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/causes/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listCauseCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listCauseCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List Cause Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listCauseCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listCauseCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List Cause Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listCauseCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listCauseCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List Cause Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listCauseCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCauseCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for listCauses * @param include (optional) @@ -685,7 +1029,7 @@ public okhttp3.Call listCausesAsync(@javax.annotation.Nullable String include, @ 404 resource not found - */ - public okhttp3.Call updateCauseCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCause updateCause, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCauseCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCause updateCause, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -732,7 +1076,7 @@ public okhttp3.Call updateCauseCall(@javax.annotation.Nonnull String id, @javax. } @SuppressWarnings("rawtypes") - private okhttp3.Call updateCauseValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCause updateCause, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateCauseValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCause updateCause, 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 updateCause(Async)"); @@ -762,7 +1106,7 @@ private okhttp3.Call updateCauseValidateBeforeCall(@javax.annotation.Nonnull Str 404 resource not found - */ - public CauseResponse updateCause(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCause updateCause) throws ApiException { + public CauseResponse updateCause(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCause updateCause) throws ApiException { ApiResponse localVarResp = updateCauseWithHttpInfo(id, updateCause); return localVarResp.getData(); } @@ -782,7 +1126,7 @@ public CauseResponse updateCause(@javax.annotation.Nonnull String id, @javax.ann 404 resource not found - */ - public ApiResponse updateCauseWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCause updateCause) throws ApiException { + public ApiResponse updateCauseWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCause updateCause) throws ApiException { okhttp3.Call localVarCall = updateCauseValidateBeforeCall(id, updateCause, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -804,7 +1148,7 @@ public ApiResponse updateCauseWithHttpInfo(@javax.annotation.Nonn 404 resource not found - */ - public okhttp3.Call updateCauseAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCause updateCause, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCauseAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCause updateCause, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateCauseValidateBeforeCall(id, updateCause, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/CommunicationsGroupsApi.java b/src/main/java/com/rootly/client/api/CommunicationsGroupsApi.java new file mode 100644 index 00000000..fafc8bf7 --- /dev/null +++ b/src/main/java/com/rootly/client/api/CommunicationsGroupsApi.java @@ -0,0 +1,830 @@ +/* + * 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.CommunicationsGroupResponse; +import com.rootly.client.model.CommunicationsGroupsResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsGroup; +import com.rootly.client.model.UpdateCommunicationsGroup; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CommunicationsGroupsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CommunicationsGroupsApi() { + this(Configuration.getDefaultApiClient()); + } + + public CommunicationsGroupsApi(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 createCommunicationsGroup + * @param newCommunicationsGroup (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 communications group created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsGroupCall(@javax.annotation.Nonnull NewCommunicationsGroup newCommunicationsGroup, 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 = newCommunicationsGroup; + + // create path and map variables + String localVarPath = "/v1/communications/groups"; + + 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 createCommunicationsGroupValidateBeforeCall(@javax.annotation.Nonnull NewCommunicationsGroup newCommunicationsGroup, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCommunicationsGroup' is set + if (newCommunicationsGroup == null) { + throw new ApiException("Missing the required parameter 'newCommunicationsGroup' when calling createCommunicationsGroup(Async)"); + } + + return createCommunicationsGroupCall(newCommunicationsGroup, _callback); + + } + + /** + * Creates a communications group + * Creates a new communications group from provided data + * @param newCommunicationsGroup (required) + * @return CommunicationsGroupResponse + * @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 communications group created -
422 invalid request -
+ */ + public CommunicationsGroupResponse createCommunicationsGroup(@javax.annotation.Nonnull NewCommunicationsGroup newCommunicationsGroup) throws ApiException { + ApiResponse localVarResp = createCommunicationsGroupWithHttpInfo(newCommunicationsGroup); + return localVarResp.getData(); + } + + /** + * Creates a communications group + * Creates a new communications group from provided data + * @param newCommunicationsGroup (required) + * @return ApiResponse<CommunicationsGroupResponse> + * @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 communications group created -
422 invalid request -
+ */ + public ApiResponse createCommunicationsGroupWithHttpInfo(@javax.annotation.Nonnull NewCommunicationsGroup newCommunicationsGroup) throws ApiException { + okhttp3.Call localVarCall = createCommunicationsGroupValidateBeforeCall(newCommunicationsGroup, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a communications group (asynchronously) + * Creates a new communications group from provided data + * @param newCommunicationsGroup (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 communications group created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsGroupAsync(@javax.annotation.Nonnull NewCommunicationsGroup newCommunicationsGroup, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCommunicationsGroupValidateBeforeCall(newCommunicationsGroup, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteCommunicationsGroup + * @param id Communications Group 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 communications group deleted -
404 communications group not found -
+ */ + public okhttp3.Call deleteCommunicationsGroupCall(@javax.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/communications/groups/{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 deleteCommunicationsGroupValidateBeforeCall(@javax.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 deleteCommunicationsGroup(Async)"); + } + + return deleteCommunicationsGroupCall(id, _callback); + + } + + /** + * Deletes a communications group + * Deletes a communications group + * @param id Communications Group ID (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
200 communications group deleted -
404 communications group not found -
+ */ + public void deleteCommunicationsGroup(@javax.annotation.Nonnull String id) throws ApiException { + deleteCommunicationsGroupWithHttpInfo(id); + } + + /** + * Deletes a communications group + * Deletes a communications group + * @param id Communications Group ID (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
200 communications group deleted -
404 communications group not found -
+ */ + public ApiResponse deleteCommunicationsGroupWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteCommunicationsGroupValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Deletes a communications group (asynchronously) + * Deletes a communications group + * @param id Communications Group 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 communications group deleted -
404 communications group not found -
+ */ + public okhttp3.Call deleteCommunicationsGroupAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCommunicationsGroupValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getCommunicationsGroup + * @param id Communications Group 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 communications group found -
404 communications group not found -
+ */ + public okhttp3.Call getCommunicationsGroupCall(@javax.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/communications/groups/{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 getCommunicationsGroupValidateBeforeCall(@javax.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 getCommunicationsGroup(Async)"); + } + + return getCommunicationsGroupCall(id, _callback); + + } + + /** + * Shows a communications group + * Shows details of a communications group + * @param id Communications Group ID (required) + * @return CommunicationsGroupResponse + * @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 communications group found -
404 communications group not found -
+ */ + public CommunicationsGroupResponse getCommunicationsGroup(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getCommunicationsGroupWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Shows a communications group + * Shows details of a communications group + * @param id Communications Group ID (required) + * @return ApiResponse<CommunicationsGroupResponse> + * @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 communications group found -
404 communications group not found -
+ */ + public ApiResponse getCommunicationsGroupWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getCommunicationsGroupValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Shows a communications group (asynchronously) + * Shows details of a communications group + * @param id Communications Group 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 communications group found -
404 communications group not found -
+ */ + public okhttp3.Call getCommunicationsGroupAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCommunicationsGroupValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCommunicationsGroups + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterIsPrivate (optional) + * @param filterCommunicationTypeId (optional) + * @param filterConditionType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications groups found -
+ */ + public okhttp3.Call listCommunicationsGroupsCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterIsPrivate, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterConditionType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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/communications/groups"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterIsPrivate != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[is_private]", filterIsPrivate)); + } + + if (filterCommunicationTypeId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[communication_type_id]", filterCommunicationTypeId)); + } + + if (filterConditionType != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[condition_type]", filterConditionType)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listCommunicationsGroupsValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterIsPrivate, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterConditionType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listCommunicationsGroupsCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * Lists communications groups + * Lists communications groups + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterIsPrivate (optional) + * @param filterCommunicationTypeId (optional) + * @param filterConditionType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return CommunicationsGroupsResponse + * @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 communications groups found -
+ */ + public CommunicationsGroupsResponse listCommunicationsGroups(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterIsPrivate, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterConditionType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listCommunicationsGroupsWithHttpInfo(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * Lists communications groups + * Lists communications groups + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterIsPrivate (optional) + * @param filterCommunicationTypeId (optional) + * @param filterConditionType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<CommunicationsGroupsResponse> + * @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 communications groups found -
+ */ + public ApiResponse listCommunicationsGroupsWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterIsPrivate, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterConditionType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listCommunicationsGroupsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Lists communications groups (asynchronously) + * Lists communications groups + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterIsPrivate (optional) + * @param filterCommunicationTypeId (optional) + * @param filterConditionType (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications groups found -
+ */ + public okhttp3.Call listCommunicationsGroupsAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterIsPrivate, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterConditionType, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCommunicationsGroupsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateCommunicationsGroup + * @param id Communications Group ID (required) + * @param updateCommunicationsGroup (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 communications group updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsGroupCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsGroup updateCommunicationsGroup, 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 = updateCommunicationsGroup; + + // create path and map variables + String localVarPath = "/v1/communications/groups/{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 updateCommunicationsGroupValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsGroup updateCommunicationsGroup, 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 updateCommunicationsGroup(Async)"); + } + + // verify the required parameter 'updateCommunicationsGroup' is set + if (updateCommunicationsGroup == null) { + throw new ApiException("Missing the required parameter 'updateCommunicationsGroup' when calling updateCommunicationsGroup(Async)"); + } + + return updateCommunicationsGroupCall(id, updateCommunicationsGroup, _callback); + + } + + /** + * Updates a communications group + * Updates a communications group + * @param id Communications Group ID (required) + * @param updateCommunicationsGroup (required) + * @return CommunicationsGroupResponse + * @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 communications group updated -
422 invalid request -
+ */ + public CommunicationsGroupResponse updateCommunicationsGroup(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsGroup updateCommunicationsGroup) throws ApiException { + ApiResponse localVarResp = updateCommunicationsGroupWithHttpInfo(id, updateCommunicationsGroup); + return localVarResp.getData(); + } + + /** + * Updates a communications group + * Updates a communications group + * @param id Communications Group ID (required) + * @param updateCommunicationsGroup (required) + * @return ApiResponse<CommunicationsGroupResponse> + * @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 communications group updated -
422 invalid request -
+ */ + public ApiResponse updateCommunicationsGroupWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsGroup updateCommunicationsGroup) throws ApiException { + okhttp3.Call localVarCall = updateCommunicationsGroupValidateBeforeCall(id, updateCommunicationsGroup, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates a communications group (asynchronously) + * Updates a communications group + * @param id Communications Group ID (required) + * @param updateCommunicationsGroup (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 communications group updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsGroupAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsGroup updateCommunicationsGroup, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCommunicationsGroupValidateBeforeCall(id, updateCommunicationsGroup, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CommunicationsStagesApi.java b/src/main/java/com/rootly/client/api/CommunicationsStagesApi.java new file mode 100644 index 00000000..8275abf9 --- /dev/null +++ b/src/main/java/com/rootly/client/api/CommunicationsStagesApi.java @@ -0,0 +1,810 @@ +/* + * 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.CommunicationsStageResponse; +import com.rootly.client.model.CommunicationsStagesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsStage; +import com.rootly.client.model.UpdateCommunicationsStage; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CommunicationsStagesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CommunicationsStagesApi() { + this(Configuration.getDefaultApiClient()); + } + + public CommunicationsStagesApi(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 createCommunicationsStage + * @param newCommunicationsStage (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 communications stage created -
422 invalid request -
401 unauthorized -
+ */ + public okhttp3.Call createCommunicationsStageCall(@javax.annotation.Nonnull NewCommunicationsStage newCommunicationsStage, 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 = newCommunicationsStage; + + // create path and map variables + String localVarPath = "/v1/communications/stages"; + + 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 createCommunicationsStageValidateBeforeCall(@javax.annotation.Nonnull NewCommunicationsStage newCommunicationsStage, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCommunicationsStage' is set + if (newCommunicationsStage == null) { + throw new ApiException("Missing the required parameter 'newCommunicationsStage' when calling createCommunicationsStage(Async)"); + } + + return createCommunicationsStageCall(newCommunicationsStage, _callback); + + } + + /** + * Creates a communications stage + * Creates a new communications stage from provided data + * @param newCommunicationsStage (required) + * @return CommunicationsStageResponse + * @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 communications stage created -
422 invalid request -
401 unauthorized -
+ */ + public CommunicationsStageResponse createCommunicationsStage(@javax.annotation.Nonnull NewCommunicationsStage newCommunicationsStage) throws ApiException { + ApiResponse localVarResp = createCommunicationsStageWithHttpInfo(newCommunicationsStage); + return localVarResp.getData(); + } + + /** + * Creates a communications stage + * Creates a new communications stage from provided data + * @param newCommunicationsStage (required) + * @return ApiResponse<CommunicationsStageResponse> + * @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 communications stage created -
422 invalid request -
401 unauthorized -
+ */ + public ApiResponse createCommunicationsStageWithHttpInfo(@javax.annotation.Nonnull NewCommunicationsStage newCommunicationsStage) throws ApiException { + okhttp3.Call localVarCall = createCommunicationsStageValidateBeforeCall(newCommunicationsStage, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a communications stage (asynchronously) + * Creates a new communications stage from provided data + * @param newCommunicationsStage (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 communications stage created -
422 invalid request -
401 unauthorized -
+ */ + public okhttp3.Call createCommunicationsStageAsync(@javax.annotation.Nonnull NewCommunicationsStage newCommunicationsStage, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCommunicationsStageValidateBeforeCall(newCommunicationsStage, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteCommunicationsStage + * @param id Communications Stage 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 communications stage deleted -
404 communications stage not found -
+ */ + public okhttp3.Call deleteCommunicationsStageCall(@javax.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/communications/stages/{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 deleteCommunicationsStageValidateBeforeCall(@javax.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 deleteCommunicationsStage(Async)"); + } + + return deleteCommunicationsStageCall(id, _callback); + + } + + /** + * Deletes a communications stage + * Deletes a communications stage + * @param id Communications Stage ID (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
200 communications stage deleted -
404 communications stage not found -
+ */ + public void deleteCommunicationsStage(@javax.annotation.Nonnull String id) throws ApiException { + deleteCommunicationsStageWithHttpInfo(id); + } + + /** + * Deletes a communications stage + * Deletes a communications stage + * @param id Communications Stage ID (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
200 communications stage deleted -
404 communications stage not found -
+ */ + public ApiResponse deleteCommunicationsStageWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteCommunicationsStageValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Deletes a communications stage (asynchronously) + * Deletes a communications stage + * @param id Communications Stage 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 communications stage deleted -
404 communications stage not found -
+ */ + public okhttp3.Call deleteCommunicationsStageAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCommunicationsStageValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getCommunicationsStage + * @param id Communications Stage 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 communications stage found -
404 resource not found -
+ */ + public okhttp3.Call getCommunicationsStageCall(@javax.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/communications/stages/{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 getCommunicationsStageValidateBeforeCall(@javax.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 getCommunicationsStage(Async)"); + } + + return getCommunicationsStageCall(id, _callback); + + } + + /** + * Shows a communications stage + * Shows details of a communications stage + * @param id Communications Stage ID (required) + * @return CommunicationsStageResponse + * @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 communications stage found -
404 resource not found -
+ */ + public CommunicationsStageResponse getCommunicationsStage(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getCommunicationsStageWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Shows a communications stage + * Shows details of a communications stage + * @param id Communications Stage ID (required) + * @return ApiResponse<CommunicationsStageResponse> + * @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 communications stage found -
404 resource not found -
+ */ + public ApiResponse getCommunicationsStageWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getCommunicationsStageValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Shows a communications stage (asynchronously) + * Shows details of a communications stage + * @param id Communications Stage 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 communications stage found -
404 resource not found -
+ */ + public okhttp3.Call getCommunicationsStageAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCommunicationsStageValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCommunicationsStages + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications stages found -
+ */ + public okhttp3.Call listCommunicationsStagesCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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/communications/stages"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listCommunicationsStagesValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listCommunicationsStagesCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * Lists communications stages + * Lists communications stages + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return CommunicationsStagesResponse + * @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 communications stages found -
+ */ + public CommunicationsStagesResponse listCommunicationsStages(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listCommunicationsStagesWithHttpInfo(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * Lists communications stages + * Lists communications stages + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<CommunicationsStagesResponse> + * @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 communications stages found -
+ */ + public ApiResponse listCommunicationsStagesWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listCommunicationsStagesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Lists communications stages (asynchronously) + * Lists communications stages + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications stages found -
+ */ + public okhttp3.Call listCommunicationsStagesAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCommunicationsStagesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateCommunicationsStage + * @param id Communications Stage ID (required) + * @param updateCommunicationsStage (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 communications stage updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsStageCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsStage updateCommunicationsStage, 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 = updateCommunicationsStage; + + // create path and map variables + String localVarPath = "/v1/communications/stages/{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 updateCommunicationsStageValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsStage updateCommunicationsStage, 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 updateCommunicationsStage(Async)"); + } + + // verify the required parameter 'updateCommunicationsStage' is set + if (updateCommunicationsStage == null) { + throw new ApiException("Missing the required parameter 'updateCommunicationsStage' when calling updateCommunicationsStage(Async)"); + } + + return updateCommunicationsStageCall(id, updateCommunicationsStage, _callback); + + } + + /** + * Updates a communications stage + * Updates a communications stage + * @param id Communications Stage ID (required) + * @param updateCommunicationsStage (required) + * @return CommunicationsStageResponse + * @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 communications stage updated -
422 invalid request -
+ */ + public CommunicationsStageResponse updateCommunicationsStage(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsStage updateCommunicationsStage) throws ApiException { + ApiResponse localVarResp = updateCommunicationsStageWithHttpInfo(id, updateCommunicationsStage); + return localVarResp.getData(); + } + + /** + * Updates a communications stage + * Updates a communications stage + * @param id Communications Stage ID (required) + * @param updateCommunicationsStage (required) + * @return ApiResponse<CommunicationsStageResponse> + * @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 communications stage updated -
422 invalid request -
+ */ + public ApiResponse updateCommunicationsStageWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsStage updateCommunicationsStage) throws ApiException { + okhttp3.Call localVarCall = updateCommunicationsStageValidateBeforeCall(id, updateCommunicationsStage, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates a communications stage (asynchronously) + * Updates a communications stage + * @param id Communications Stage ID (required) + * @param updateCommunicationsStage (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 communications stage updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsStageAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsStage updateCommunicationsStage, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCommunicationsStageValidateBeforeCall(id, updateCommunicationsStage, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CommunicationsTemplatesApi.java b/src/main/java/com/rootly/client/api/CommunicationsTemplatesApi.java new file mode 100644 index 00000000..8db1d4c9 --- /dev/null +++ b/src/main/java/com/rootly/client/api/CommunicationsTemplatesApi.java @@ -0,0 +1,814 @@ +/* + * 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.CommunicationsTemplateResponse; +import com.rootly.client.model.CommunicationsTemplatesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsTemplate; +import com.rootly.client.model.UpdateCommunicationsTemplate; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CommunicationsTemplatesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CommunicationsTemplatesApi() { + this(Configuration.getDefaultApiClient()); + } + + public CommunicationsTemplatesApi(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 createCommunicationsTemplate + * @param newCommunicationsTemplate (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 communications template created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsTemplateCall(@javax.annotation.Nonnull NewCommunicationsTemplate newCommunicationsTemplate, 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 = newCommunicationsTemplate; + + // create path and map variables + String localVarPath = "/v1/communications/templates"; + + 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 createCommunicationsTemplateValidateBeforeCall(@javax.annotation.Nonnull NewCommunicationsTemplate newCommunicationsTemplate, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCommunicationsTemplate' is set + if (newCommunicationsTemplate == null) { + throw new ApiException("Missing the required parameter 'newCommunicationsTemplate' when calling createCommunicationsTemplate(Async)"); + } + + return createCommunicationsTemplateCall(newCommunicationsTemplate, _callback); + + } + + /** + * Creates a communications template + * Creates a new communications template from provided data + * @param newCommunicationsTemplate (required) + * @return CommunicationsTemplateResponse + * @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 communications template created -
422 invalid request -
+ */ + public CommunicationsTemplateResponse createCommunicationsTemplate(@javax.annotation.Nonnull NewCommunicationsTemplate newCommunicationsTemplate) throws ApiException { + ApiResponse localVarResp = createCommunicationsTemplateWithHttpInfo(newCommunicationsTemplate); + return localVarResp.getData(); + } + + /** + * Creates a communications template + * Creates a new communications template from provided data + * @param newCommunicationsTemplate (required) + * @return ApiResponse<CommunicationsTemplateResponse> + * @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 communications template created -
422 invalid request -
+ */ + public ApiResponse createCommunicationsTemplateWithHttpInfo(@javax.annotation.Nonnull NewCommunicationsTemplate newCommunicationsTemplate) throws ApiException { + okhttp3.Call localVarCall = createCommunicationsTemplateValidateBeforeCall(newCommunicationsTemplate, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a communications template (asynchronously) + * Creates a new communications template from provided data + * @param newCommunicationsTemplate (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 communications template created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsTemplateAsync(@javax.annotation.Nonnull NewCommunicationsTemplate newCommunicationsTemplate, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCommunicationsTemplateValidateBeforeCall(newCommunicationsTemplate, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteCommunicationsTemplate + * @param id Communications Template 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 communications template deleted -
404 communications template not found -
+ */ + public okhttp3.Call deleteCommunicationsTemplateCall(@javax.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/communications/templates/{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 deleteCommunicationsTemplateValidateBeforeCall(@javax.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 deleteCommunicationsTemplate(Async)"); + } + + return deleteCommunicationsTemplateCall(id, _callback); + + } + + /** + * Deletes a communications template + * Deletes a communications template + * @param id Communications Template ID (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
200 communications template deleted -
404 communications template not found -
+ */ + public void deleteCommunicationsTemplate(@javax.annotation.Nonnull String id) throws ApiException { + deleteCommunicationsTemplateWithHttpInfo(id); + } + + /** + * Deletes a communications template + * Deletes a communications template + * @param id Communications Template ID (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
200 communications template deleted -
404 communications template not found -
+ */ + public ApiResponse deleteCommunicationsTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteCommunicationsTemplateValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Deletes a communications template (asynchronously) + * Deletes a communications template + * @param id Communications Template 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 communications template deleted -
404 communications template not found -
+ */ + public okhttp3.Call deleteCommunicationsTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCommunicationsTemplateValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getCommunicationsTemplate + * @param id Communications Template 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 communications template found -
404 communications template not found -
+ */ + public okhttp3.Call getCommunicationsTemplateCall(@javax.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/communications/templates/{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 getCommunicationsTemplateValidateBeforeCall(@javax.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 getCommunicationsTemplate(Async)"); + } + + return getCommunicationsTemplateCall(id, _callback); + + } + + /** + * Shows a communications template + * Shows details of a communications template + * @param id Communications Template ID (required) + * @return CommunicationsTemplateResponse + * @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 communications template found -
404 communications template not found -
+ */ + public CommunicationsTemplateResponse getCommunicationsTemplate(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getCommunicationsTemplateWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Shows a communications template + * Shows details of a communications template + * @param id Communications Template ID (required) + * @return ApiResponse<CommunicationsTemplateResponse> + * @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 communications template found -
404 communications template not found -
+ */ + public ApiResponse getCommunicationsTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getCommunicationsTemplateValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Shows a communications template (asynchronously) + * Shows details of a communications template + * @param id Communications Template 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 communications template found -
404 communications template not found -
+ */ + public okhttp3.Call getCommunicationsTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCommunicationsTemplateValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCommunicationsTemplates + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCommunicationTypeId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications templates found -
+ */ + public okhttp3.Call listCommunicationsTemplatesCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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/communications/templates"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterCommunicationTypeId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[communication_type_id]", filterCommunicationTypeId)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listCommunicationsTemplatesValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listCommunicationsTemplatesCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * Lists communications templates + * Lists communications templates + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCommunicationTypeId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return CommunicationsTemplatesResponse + * @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 communications templates found -
+ */ + public CommunicationsTemplatesResponse listCommunicationsTemplates(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listCommunicationsTemplatesWithHttpInfo(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * Lists communications templates + * Lists communications templates + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCommunicationTypeId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<CommunicationsTemplatesResponse> + * @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 communications templates found -
+ */ + public ApiResponse listCommunicationsTemplatesWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listCommunicationsTemplatesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Lists communications templates (asynchronously) + * Lists communications templates + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCommunicationTypeId (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications templates found -
+ */ + public okhttp3.Call listCommunicationsTemplatesAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCommunicationTypeId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCommunicationsTemplatesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateCommunicationsTemplate + * @param id Communications Template ID (required) + * @param updateCommunicationsTemplate (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 communications template updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsTemplate updateCommunicationsTemplate, 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 = updateCommunicationsTemplate; + + // create path and map variables + String localVarPath = "/v1/communications/templates/{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 updateCommunicationsTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsTemplate updateCommunicationsTemplate, 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 updateCommunicationsTemplate(Async)"); + } + + // verify the required parameter 'updateCommunicationsTemplate' is set + if (updateCommunicationsTemplate == null) { + throw new ApiException("Missing the required parameter 'updateCommunicationsTemplate' when calling updateCommunicationsTemplate(Async)"); + } + + return updateCommunicationsTemplateCall(id, updateCommunicationsTemplate, _callback); + + } + + /** + * Updates a communications template + * Updates a communications template + * @param id Communications Template ID (required) + * @param updateCommunicationsTemplate (required) + * @return CommunicationsTemplateResponse + * @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 communications template updated -
422 invalid request -
+ */ + public CommunicationsTemplateResponse updateCommunicationsTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsTemplate updateCommunicationsTemplate) throws ApiException { + ApiResponse localVarResp = updateCommunicationsTemplateWithHttpInfo(id, updateCommunicationsTemplate); + return localVarResp.getData(); + } + + /** + * Updates a communications template + * Updates a communications template + * @param id Communications Template ID (required) + * @param updateCommunicationsTemplate (required) + * @return ApiResponse<CommunicationsTemplateResponse> + * @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 communications template updated -
422 invalid request -
+ */ + public ApiResponse updateCommunicationsTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsTemplate updateCommunicationsTemplate) throws ApiException { + okhttp3.Call localVarCall = updateCommunicationsTemplateValidateBeforeCall(id, updateCommunicationsTemplate, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates a communications template (asynchronously) + * Updates a communications template + * @param id Communications Template ID (required) + * @param updateCommunicationsTemplate (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 communications template updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsTemplate updateCommunicationsTemplate, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCommunicationsTemplateValidateBeforeCall(id, updateCommunicationsTemplate, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CommunicationsTypesApi.java b/src/main/java/com/rootly/client/api/CommunicationsTypesApi.java new file mode 100644 index 00000000..8bad135a --- /dev/null +++ b/src/main/java/com/rootly/client/api/CommunicationsTypesApi.java @@ -0,0 +1,806 @@ +/* + * 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.CommunicationsTypeResponse; +import com.rootly.client.model.CommunicationsTypesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsType; +import com.rootly.client.model.UpdateCommunicationsType; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CommunicationsTypesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public CommunicationsTypesApi() { + this(Configuration.getDefaultApiClient()); + } + + public CommunicationsTypesApi(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 createCommunicationsType + * @param newCommunicationsType (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 communications type created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsTypeCall(@javax.annotation.Nonnull NewCommunicationsType newCommunicationsType, 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 = newCommunicationsType; + + // create path and map variables + String localVarPath = "/v1/communications/types"; + + 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 createCommunicationsTypeValidateBeforeCall(@javax.annotation.Nonnull NewCommunicationsType newCommunicationsType, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCommunicationsType' is set + if (newCommunicationsType == null) { + throw new ApiException("Missing the required parameter 'newCommunicationsType' when calling createCommunicationsType(Async)"); + } + + return createCommunicationsTypeCall(newCommunicationsType, _callback); + + } + + /** + * Creates a communications type + * Creates a new communications type from provided data + * @param newCommunicationsType (required) + * @return CommunicationsTypeResponse + * @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 communications type created -
422 invalid request -
+ */ + public CommunicationsTypeResponse createCommunicationsType(@javax.annotation.Nonnull NewCommunicationsType newCommunicationsType) throws ApiException { + ApiResponse localVarResp = createCommunicationsTypeWithHttpInfo(newCommunicationsType); + return localVarResp.getData(); + } + + /** + * Creates a communications type + * Creates a new communications type from provided data + * @param newCommunicationsType (required) + * @return ApiResponse<CommunicationsTypeResponse> + * @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 communications type created -
422 invalid request -
+ */ + public ApiResponse createCommunicationsTypeWithHttpInfo(@javax.annotation.Nonnull NewCommunicationsType newCommunicationsType) throws ApiException { + okhttp3.Call localVarCall = createCommunicationsTypeValidateBeforeCall(newCommunicationsType, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a communications type (asynchronously) + * Creates a new communications type from provided data + * @param newCommunicationsType (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 communications type created -
422 invalid request -
+ */ + public okhttp3.Call createCommunicationsTypeAsync(@javax.annotation.Nonnull NewCommunicationsType newCommunicationsType, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createCommunicationsTypeValidateBeforeCall(newCommunicationsType, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteCommunicationsType + * @param id Communications Type 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 communications type deleted -
404 communications type not found -
+ */ + public okhttp3.Call deleteCommunicationsTypeCall(@javax.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/communications/types/{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 deleteCommunicationsTypeValidateBeforeCall(@javax.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 deleteCommunicationsType(Async)"); + } + + return deleteCommunicationsTypeCall(id, _callback); + + } + + /** + * Deletes a communications type + * Deletes a communications type + * @param id Communications Type ID (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
200 communications type deleted -
404 communications type not found -
+ */ + public void deleteCommunicationsType(@javax.annotation.Nonnull String id) throws ApiException { + deleteCommunicationsTypeWithHttpInfo(id); + } + + /** + * Deletes a communications type + * Deletes a communications type + * @param id Communications Type ID (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
200 communications type deleted -
404 communications type not found -
+ */ + public ApiResponse deleteCommunicationsTypeWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteCommunicationsTypeValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Deletes a communications type (asynchronously) + * Deletes a communications type + * @param id Communications Type 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 communications type deleted -
404 communications type not found -
+ */ + public okhttp3.Call deleteCommunicationsTypeAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteCommunicationsTypeValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getCommunicationsType + * @param id Communications Type 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 communications type found -
404 communications type not found -
+ */ + public okhttp3.Call getCommunicationsTypeCall(@javax.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/communications/types/{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 getCommunicationsTypeValidateBeforeCall(@javax.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 getCommunicationsType(Async)"); + } + + return getCommunicationsTypeCall(id, _callback); + + } + + /** + * Shows a communications type + * Shows details of a communications type + * @param id Communications Type ID (required) + * @return CommunicationsTypeResponse + * @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 communications type found -
404 communications type not found -
+ */ + public CommunicationsTypeResponse getCommunicationsType(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getCommunicationsTypeWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Shows a communications type + * Shows details of a communications type + * @param id Communications Type ID (required) + * @return ApiResponse<CommunicationsTypeResponse> + * @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 communications type found -
404 communications type not found -
+ */ + public ApiResponse getCommunicationsTypeWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getCommunicationsTypeValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Shows a communications type (asynchronously) + * Shows details of a communications type + * @param id Communications Type 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 communications type found -
404 communications type not found -
+ */ + public okhttp3.Call getCommunicationsTypeAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getCommunicationsTypeValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listCommunicationsTypes + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications types found -
+ */ + public okhttp3.Call listCommunicationsTypesCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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/communications/types"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listCommunicationsTypesValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listCommunicationsTypesCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * Lists communications types + * Lists communications types + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return CommunicationsTypesResponse + * @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 communications types found -
+ */ + public CommunicationsTypesResponse listCommunicationsTypes(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listCommunicationsTypesWithHttpInfo(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * Lists communications types + * Lists communications types + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<CommunicationsTypesResponse> + * @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 communications types found -
+ */ + public ApiResponse listCommunicationsTypesWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listCommunicationsTypesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Lists communications types (asynchronously) + * Lists communications types + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterName (optional) + * @param filterSlug (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 communications types found -
+ */ + public okhttp3.Call listCommunicationsTypesAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listCommunicationsTypesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateCommunicationsType + * @param id Communications Type ID (required) + * @param updateCommunicationsType (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 communications type updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsTypeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsType updateCommunicationsType, 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 = updateCommunicationsType; + + // create path and map variables + String localVarPath = "/v1/communications/types/{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 updateCommunicationsTypeValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsType updateCommunicationsType, 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 updateCommunicationsType(Async)"); + } + + // verify the required parameter 'updateCommunicationsType' is set + if (updateCommunicationsType == null) { + throw new ApiException("Missing the required parameter 'updateCommunicationsType' when calling updateCommunicationsType(Async)"); + } + + return updateCommunicationsTypeCall(id, updateCommunicationsType, _callback); + + } + + /** + * Updates a communications type + * Updates a communications type + * @param id Communications Type ID (required) + * @param updateCommunicationsType (required) + * @return CommunicationsTypeResponse + * @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 communications type updated -
422 invalid request -
+ */ + public CommunicationsTypeResponse updateCommunicationsType(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsType updateCommunicationsType) throws ApiException { + ApiResponse localVarResp = updateCommunicationsTypeWithHttpInfo(id, updateCommunicationsType); + return localVarResp.getData(); + } + + /** + * Updates a communications type + * Updates a communications type + * @param id Communications Type ID (required) + * @param updateCommunicationsType (required) + * @return ApiResponse<CommunicationsTypeResponse> + * @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 communications type updated -
422 invalid request -
+ */ + public ApiResponse updateCommunicationsTypeWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsType updateCommunicationsType) throws ApiException { + okhttp3.Call localVarCall = updateCommunicationsTypeValidateBeforeCall(id, updateCommunicationsType, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Updates a communications type (asynchronously) + * Updates a communications type + * @param id Communications Type ID (required) + * @param updateCommunicationsType (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 communications type updated -
422 invalid request -
+ */ + public okhttp3.Call updateCommunicationsTypeAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCommunicationsType updateCommunicationsType, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateCommunicationsTypeValidateBeforeCall(id, updateCommunicationsType, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/CustomFormsApi.java b/src/main/java/com/rootly/client/api/CustomFormsApi.java index f01f21e6..96336396 100644 --- a/src/main/java/com/rootly/client/api/CustomFormsApi.java +++ b/src/main/java/com/rootly/client/api/CustomFormsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.CustomFormList; import com.rootly.client.model.CustomFormResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCustomForm; import com.rootly.client.model.UpdateCustomForm; @@ -221,11 +222,11 @@ public okhttp3.Call createCustomFormAsync(@javax.annotation.Nonnull NewCustomFor - +
Response Details
Status Code Description Response Headers
200 custom_form deleted -
200 custom_form found by slug -
404 resource not found -
*/ - public okhttp3.Call deleteCustomFormCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCustomFormCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteCustomFormCall(@javax.annotation.Nonnull String id, fi } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteCustomFormValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteCustomFormValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteCustomForm(Async)"); @@ -291,11 +292,11 @@ private okhttp3.Call deleteCustomFormValidateBeforeCall(@javax.annotation.Nonnul - +
Response Details
Status Code Description Response Headers
200 custom_form deleted -
200 custom_form found by slug -
404 resource not found -
*/ - public CustomFormResponse deleteCustomForm(@javax.annotation.Nonnull String id) throws ApiException { + public CustomFormResponse deleteCustomForm(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteCustomFormWithHttpInfo(id); return localVarResp.getData(); } @@ -310,11 +311,11 @@ public CustomFormResponse deleteCustomForm(@javax.annotation.Nonnull String id) - +
Response Details
Status Code Description Response Headers
200 custom_form deleted -
200 custom_form found by slug -
404 resource not found -
*/ - public ApiResponse deleteCustomFormWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteCustomFormWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteCustomFormValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -331,11 +332,11 @@ public ApiResponse deleteCustomFormWithHttpInfo(@javax.annot - +
Response Details
Status Code Description Response Headers
200 custom_form deleted -
200 custom_form found by slug -
404 resource not found -
*/ - public okhttp3.Call deleteCustomFormAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteCustomFormAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteCustomFormValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteCustomFormAsync(@javax.annotation.Nonnull String id, f 404 resource not found - */ - public okhttp3.Call getCustomFormCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCustomFormCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getCustomFormCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call getCustomFormValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getCustomFormValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getCustomForm(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getCustomFormValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public CustomFormResponse getCustomForm(@javax.annotation.Nonnull String id) throws ApiException { + public CustomFormResponse getCustomForm(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getCustomFormWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public CustomFormResponse getCustomForm(@javax.annotation.Nonnull String id) thr 404 resource not found - */ - public ApiResponse getCustomFormWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getCustomFormWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getCustomFormValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getCustomFormWithHttpInfo(@javax.annotati 404 resource not found - */ - public okhttp3.Call getCustomFormAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getCustomFormAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getCustomFormValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -697,7 +698,7 @@ public okhttp3.Call listCustomFormsAsync(@javax.annotation.Nullable Integer page 404 resource not found - */ - public okhttp3.Call updateCustomFormCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCustomFormCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -744,7 +745,7 @@ public okhttp3.Call updateCustomFormCall(@javax.annotation.Nonnull String id, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call updateCustomFormValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateCustomFormValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, 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 updateCustomForm(Async)"); @@ -774,7 +775,7 @@ private okhttp3.Call updateCustomFormValidateBeforeCall(@javax.annotation.Nonnul 404 resource not found - */ - public CustomFormResponse updateCustomForm(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm) throws ApiException { + public CustomFormResponse updateCustomForm(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm) throws ApiException { ApiResponse localVarResp = updateCustomFormWithHttpInfo(id, updateCustomForm); return localVarResp.getData(); } @@ -794,7 +795,7 @@ public CustomFormResponse updateCustomForm(@javax.annotation.Nonnull String id, 404 resource not found - */ - public ApiResponse updateCustomFormWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm) throws ApiException { + public ApiResponse updateCustomFormWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm) throws ApiException { okhttp3.Call localVarCall = updateCustomFormValidateBeforeCall(id, updateCustomForm, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -816,7 +817,7 @@ public ApiResponse updateCustomFormWithHttpInfo(@javax.annot 404 resource not found - */ - public okhttp3.Call updateCustomFormAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateCustomFormAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateCustomForm updateCustomForm, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateCustomFormValidateBeforeCall(id, updateCustomForm, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/DashboardPanelsApi.java b/src/main/java/com/rootly/client/api/DashboardPanelsApi.java index 2ce0d650..7003ba7d 100644 --- a/src/main/java/com/rootly/client/api/DashboardPanelsApi.java +++ b/src/main/java/com/rootly/client/api/DashboardPanelsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/DashboardsApi.java b/src/main/java/com/rootly/client/api/DashboardsApi.java index eb7aa26f..81afbacb 100644 --- a/src/main/java/com/rootly/client/api/DashboardsApi.java +++ b/src/main/java/com/rootly/client/api/DashboardsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.DashboardList; import com.rootly.client.model.DashboardResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewDashboard; import com.rootly.client.model.UpdateDashboard; @@ -225,7 +226,7 @@ public okhttp3.Call createDashboardAsync(@javax.annotation.Nonnull NewDashboard 404 resource not found - */ - public okhttp3.Call deleteDashboardCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteDashboardCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteDashboardCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteDashboardValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteDashboard(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteDashboardValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public DashboardResponse deleteDashboard(@javax.annotation.Nonnull String id) throws ApiException { + public DashboardResponse deleteDashboard(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteDashboardWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public DashboardResponse deleteDashboard(@javax.annotation.Nonnull String id) th 404 resource not found - */ - public ApiResponse deleteDashboardWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteDashboardWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteDashboardValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteDashboardWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call deleteDashboardAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteDashboardAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteDashboardValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteDashboardAsync(@javax.annotation.Nonnull String id, fi 401 responds with unauthorized for invalid token - */ - public okhttp3.Call duplicateDashboardCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call duplicateDashboardCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call duplicateDashboardCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call duplicateDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call duplicateDashboardValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 duplicateDashboard(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call duplicateDashboardValidateBeforeCall(@javax.annotation.Nonn 401 responds with unauthorized for invalid token - */ - public DashboardResponse duplicateDashboard(@javax.annotation.Nonnull String id) throws ApiException { + public DashboardResponse duplicateDashboard(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = duplicateDashboardWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public DashboardResponse duplicateDashboard(@javax.annotation.Nonnull String id) 401 responds with unauthorized for invalid token - */ - public ApiResponse duplicateDashboardWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse duplicateDashboardWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = duplicateDashboardValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse duplicateDashboardWithHttpInfo(@javax.anno 401 responds with unauthorized for invalid token - */ - public okhttp3.Call duplicateDashboardAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call duplicateDashboardAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = duplicateDashboardValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -484,11 +485,11 @@ public okhttp3.Call duplicateDashboardAsync(@javax.annotation.Nonnull String id, - +
Response Details
Status Code Description Response Headers
200 dashboard found -
200 dashboard found by slug -
404 resource not found -
*/ - public okhttp3.Call getDashboardCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getDashboardCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -538,7 +539,7 @@ public okhttp3.Call getDashboardCall(@javax.annotation.Nonnull String id, @javax } @SuppressWarnings("rawtypes") - private okhttp3.Call getDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getDashboardValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, 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 getDashboard(Async)"); @@ -559,11 +560,11 @@ private okhttp3.Call getDashboardValidateBeforeCall(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 dashboard found -
200 dashboard found by slug -
404 resource not found -
*/ - public DashboardResponse getDashboard(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public DashboardResponse getDashboard(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getDashboardWithHttpInfo(id, include); return localVarResp.getData(); } @@ -579,11 +580,11 @@ public DashboardResponse getDashboard(@javax.annotation.Nonnull String id, @java - +
Response Details
Status Code Description Response Headers
200 dashboard found -
200 dashboard found by slug -
404 resource not found -
*/ - public ApiResponse getDashboardWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public ApiResponse getDashboardWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getDashboardValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -601,11 +602,11 @@ public ApiResponse getDashboardWithHttpInfo(@javax.annotation - +
Response Details
Status Code Description Response Headers
200 dashboard found -
200 dashboard found by slug -
404 resource not found -
*/ - public okhttp3.Call getDashboardAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getDashboardAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getDashboardValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -763,11 +764,11 @@ public okhttp3.Call listDashboardsAsync(@javax.annotation.Nullable String includ - +
Response Details
Status Code Description Response Headers
200 dashboard created -
200 dashboard found by slug -
401 responds with unauthorized for invalid token -
*/ - public okhttp3.Call setDefaultDashboardCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call setDefaultDashboardCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -813,7 +814,7 @@ public okhttp3.Call setDefaultDashboardCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call setDefaultDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call setDefaultDashboardValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 setDefaultDashboard(Async)"); @@ -833,11 +834,11 @@ private okhttp3.Call setDefaultDashboardValidateBeforeCall(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 dashboard created -
200 dashboard found by slug -
401 responds with unauthorized for invalid token -
*/ - public DashboardResponse setDefaultDashboard(@javax.annotation.Nonnull String id) throws ApiException { + public DashboardResponse setDefaultDashboard(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = setDefaultDashboardWithHttpInfo(id); return localVarResp.getData(); } @@ -852,11 +853,11 @@ public DashboardResponse setDefaultDashboard(@javax.annotation.Nonnull String id - +
Response Details
Status Code Description Response Headers
200 dashboard created -
200 dashboard found by slug -
401 responds with unauthorized for invalid token -
*/ - public ApiResponse setDefaultDashboardWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse setDefaultDashboardWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = setDefaultDashboardValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -873,11 +874,11 @@ public ApiResponse setDefaultDashboardWithHttpInfo(@javax.ann - +
Response Details
Status Code Description Response Headers
200 dashboard created -
200 dashboard found by slug -
401 responds with unauthorized for invalid token -
*/ - public okhttp3.Call setDefaultDashboardAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call setDefaultDashboardAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = setDefaultDashboardValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -899,7 +900,7 @@ public okhttp3.Call setDefaultDashboardAsync(@javax.annotation.Nonnull String id 404 resource not found - */ - public okhttp3.Call updateDashboardCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateDashboardCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -946,7 +947,7 @@ public okhttp3.Call updateDashboardCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call updateDashboardValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateDashboardValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, 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 updateDashboard(Async)"); @@ -976,7 +977,7 @@ private okhttp3.Call updateDashboardValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public DashboardResponse updateDashboard(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateDashboard updateDashboard) throws ApiException { + public DashboardResponse updateDashboard(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateDashboard updateDashboard) throws ApiException { ApiResponse localVarResp = updateDashboardWithHttpInfo(id, updateDashboard); return localVarResp.getData(); } @@ -996,7 +997,7 @@ public DashboardResponse updateDashboard(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public ApiResponse updateDashboardWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateDashboard updateDashboard) throws ApiException { + public ApiResponse updateDashboardWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateDashboard updateDashboard) throws ApiException { okhttp3.Call localVarCall = updateDashboardValidateBeforeCall(id, updateDashboard, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1018,7 +1019,7 @@ public ApiResponse updateDashboardWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call updateDashboardAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateDashboardAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateDashboard updateDashboard, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateDashboardValidateBeforeCall(id, updateDashboard, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApi.java b/src/main/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApi.java index 41b16ea2..e762d587 100644 --- a/src/main/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApi.java +++ b/src/main/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/DeprecatedCustomFieldsApi.java b/src/main/java/com/rootly/client/api/DeprecatedCustomFieldsApi.java index 51d43504..b8499bec 100644 --- a/src/main/java/com/rootly/client/api/DeprecatedCustomFieldsApi.java +++ b/src/main/java/com/rootly/client/api/DeprecatedCustomFieldsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApi.java b/src/main/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApi.java index da0cd814..9e2b58fc 100644 --- a/src/main/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApi.java +++ b/src/main/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApi.java b/src/main/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApi.java index faa6fc92..68fd3609 100644 --- a/src/main/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApi.java +++ b/src/main/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/EdgeConnectorActionsApi.java b/src/main/java/com/rootly/client/api/EdgeConnectorActionsApi.java new file mode 100644 index 00000000..929aa844 --- /dev/null +++ b/src/main/java/com/rootly/client/api/EdgeConnectorActionsApi.java @@ -0,0 +1,739 @@ +/* + * 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.CreateEdgeConnectorActionRequest; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.UpdateEdgeConnectorActionRequest; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class EdgeConnectorActionsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public EdgeConnectorActionsApi() { + this(Configuration.getDefaultApiClient()); + } + + public EdgeConnectorActionsApi(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 createEdgeConnectorAction + * @param edgeConnectorId Edge connector ID (required) + * @param createEdgeConnectorActionRequest (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
201 Action created -
422 Invalid parameters -
+ */ + public okhttp3.Call createEdgeConnectorActionCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nullable CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest, 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 = createEdgeConnectorActionRequest; + + // create path and map variables + String localVarPath = "/v1/edge_connectors/{edge_connector_id}/actions" + .replace("{" + "edge_connector_id" + "}", localVarApiClient.escapeString(edgeConnectorId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + }; + 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 createEdgeConnectorActionValidateBeforeCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nullable CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'edgeConnectorId' is set + if (edgeConnectorId == null) { + throw new ApiException("Missing the required parameter 'edgeConnectorId' when calling createEdgeConnectorAction(Async)"); + } + + return createEdgeConnectorActionCall(edgeConnectorId, createEdgeConnectorActionRequest, _callback); + + } + + /** + * Create edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param createEdgeConnectorActionRequest (optional) + * @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 Action created -
422 Invalid parameters -
+ */ + public void createEdgeConnectorAction(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nullable CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest) throws ApiException { + createEdgeConnectorActionWithHttpInfo(edgeConnectorId, createEdgeConnectorActionRequest); + } + + /** + * Create edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param createEdgeConnectorActionRequest (optional) + * @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
201 Action created -
422 Invalid parameters -
+ */ + public ApiResponse createEdgeConnectorActionWithHttpInfo(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nullable CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest) throws ApiException { + okhttp3.Call localVarCall = createEdgeConnectorActionValidateBeforeCall(edgeConnectorId, createEdgeConnectorActionRequest, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Create edge connector action (asynchronously) + * + * @param edgeConnectorId Edge connector ID (required) + * @param createEdgeConnectorActionRequest (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
201 Action created -
422 Invalid parameters -
+ */ + public okhttp3.Call createEdgeConnectorActionAsync(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nullable CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createEdgeConnectorActionValidateBeforeCall(edgeConnectorId, createEdgeConnectorActionRequest, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for deleteEdgeConnectorAction + * @param edgeConnectorId Edge connector ID (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 Action deleted -
+ */ + public okhttp3.Call deleteEdgeConnectorActionCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter 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/edge_connectors/{edge_connector_id}/actions/{id}" + .replace("{" + "edge_connector_id" + "}", localVarApiClient.escapeString(edgeConnectorId.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 = { + }; + 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 deleteEdgeConnectorActionValidateBeforeCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'edgeConnectorId' is set + if (edgeConnectorId == null) { + throw new ApiException("Missing the required parameter 'edgeConnectorId' when calling deleteEdgeConnectorAction(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling deleteEdgeConnectorAction(Async)"); + } + + return deleteEdgeConnectorActionCall(edgeConnectorId, id, _callback); + + } + + /** + * Delete edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (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
200 Action deleted -
+ */ + public void deleteEdgeConnectorAction(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + deleteEdgeConnectorActionWithHttpInfo(edgeConnectorId, id); + } + + /** + * Delete edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (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
200 Action deleted -
+ */ + public ApiResponse deleteEdgeConnectorActionWithHttpInfo(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = deleteEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete edge connector action (asynchronously) + * + * @param edgeConnectorId Edge connector ID (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 Action deleted -
+ */ + public okhttp3.Call deleteEdgeConnectorActionAsync(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getEdgeConnectorAction + * @param edgeConnectorId Edge connector ID (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 Returns action details -
404 Action not found -
+ */ + public okhttp3.Call getEdgeConnectorActionCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter 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/edge_connectors/{edge_connector_id}/actions/{id}" + .replace("{" + "edge_connector_id" + "}", localVarApiClient.escapeString(edgeConnectorId.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 = { + }; + 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 getEdgeConnectorActionValidateBeforeCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'edgeConnectorId' is set + if (edgeConnectorId == null) { + throw new ApiException("Missing the required parameter 'edgeConnectorId' when calling getEdgeConnectorAction(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling getEdgeConnectorAction(Async)"); + } + + return getEdgeConnectorActionCall(edgeConnectorId, id, _callback); + + } + + /** + * Show edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (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
200 Returns action details -
404 Action not found -
+ */ + public void getEdgeConnectorAction(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + getEdgeConnectorActionWithHttpInfo(edgeConnectorId, id); + } + + /** + * Show edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (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
200 Returns action details -
404 Action not found -
+ */ + public ApiResponse getEdgeConnectorActionWithHttpInfo(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = getEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Show edge connector action (asynchronously) + * + * @param edgeConnectorId Edge connector ID (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 Returns action details -
404 Action not found -
+ */ + public okhttp3.Call getEdgeConnectorActionAsync(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for listEdgeConnectorActions + * @param edgeConnectorId Edge connector 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 Returns list of actions -
404 Edge connector not found -
+ */ + public okhttp3.Call listEdgeConnectorActionsCall(@javax.annotation.Nonnull String edgeConnectorId, 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/edge_connectors/{edge_connector_id}/actions" + .replace("{" + "edge_connector_id" + "}", localVarApiClient.escapeString(edgeConnectorId.toString())); + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + }; + 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 listEdgeConnectorActionsValidateBeforeCall(@javax.annotation.Nonnull String edgeConnectorId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'edgeConnectorId' is set + if (edgeConnectorId == null) { + throw new ApiException("Missing the required parameter 'edgeConnectorId' when calling listEdgeConnectorActions(Async)"); + } + + return listEdgeConnectorActionsCall(edgeConnectorId, _callback); + + } + + /** + * List edge connector actions + * + * @param edgeConnectorId Edge connector ID (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
200 Returns list of actions -
404 Edge connector not found -
+ */ + public void listEdgeConnectorActions(@javax.annotation.Nonnull String edgeConnectorId) throws ApiException { + listEdgeConnectorActionsWithHttpInfo(edgeConnectorId); + } + + /** + * List edge connector actions + * + * @param edgeConnectorId Edge connector ID (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
200 Returns list of actions -
404 Edge connector not found -
+ */ + public ApiResponse listEdgeConnectorActionsWithHttpInfo(@javax.annotation.Nonnull String edgeConnectorId) throws ApiException { + okhttp3.Call localVarCall = listEdgeConnectorActionsValidateBeforeCall(edgeConnectorId, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * List edge connector actions (asynchronously) + * + * @param edgeConnectorId Edge connector 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 Returns list of actions -
404 Edge connector not found -
+ */ + public okhttp3.Call listEdgeConnectorActionsAsync(@javax.annotation.Nonnull String edgeConnectorId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listEdgeConnectorActionsValidateBeforeCall(edgeConnectorId, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for updateEdgeConnectorAction + * @param edgeConnectorId Edge connector ID (required) + * @param id (required) + * @param updateEdgeConnectorActionRequest (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 Action updated -
+ */ + public okhttp3.Call updateEdgeConnectorActionCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest, 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 = updateEdgeConnectorActionRequest; + + // create path and map variables + String localVarPath = "/v1/edge_connectors/{edge_connector_id}/actions/{id}" + .replace("{" + "edge_connector_id" + "}", localVarApiClient.escapeString(edgeConnectorId.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 = { + }; + 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 updateEdgeConnectorActionValidateBeforeCall(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'edgeConnectorId' is set + if (edgeConnectorId == null) { + throw new ApiException("Missing the required parameter 'edgeConnectorId' when calling updateEdgeConnectorAction(Async)"); + } + + // verify the required parameter 'id' is set + if (id == null) { + throw new ApiException("Missing the required parameter 'id' when calling updateEdgeConnectorAction(Async)"); + } + + return updateEdgeConnectorActionCall(edgeConnectorId, id, updateEdgeConnectorActionRequest, _callback); + + } + + /** + * Update edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (required) + * @param updateEdgeConnectorActionRequest (optional) + * @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 Action updated -
+ */ + public void updateEdgeConnectorAction(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest) throws ApiException { + updateEdgeConnectorActionWithHttpInfo(edgeConnectorId, id, updateEdgeConnectorActionRequest); + } + + /** + * Update edge connector action + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (required) + * @param updateEdgeConnectorActionRequest (optional) + * @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
200 Action updated -
+ */ + public ApiResponse updateEdgeConnectorActionWithHttpInfo(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest) throws ApiException { + okhttp3.Call localVarCall = updateEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, updateEdgeConnectorActionRequest, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Update edge connector action (asynchronously) + * + * @param edgeConnectorId Edge connector ID (required) + * @param id (required) + * @param updateEdgeConnectorActionRequest (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 Action updated -
+ */ + public okhttp3.Call updateEdgeConnectorActionAsync(@javax.annotation.Nonnull String edgeConnectorId, @javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateEdgeConnectorActionValidateBeforeCall(edgeConnectorId, id, updateEdgeConnectorActionRequest, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/EdgeConnectorsApi.java b/src/main/java/com/rootly/client/api/EdgeConnectorsApi.java new file mode 100644 index 00000000..88ec90cb --- /dev/null +++ b/src/main/java/com/rootly/client/api/EdgeConnectorsApi.java @@ -0,0 +1,720 @@ +/* + * 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.CreateEdgeConnectorRequest; +import com.rootly.client.model.UpdateEdgeConnectorRequest; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class EdgeConnectorsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public EdgeConnectorsApi() { + this(Configuration.getDefaultApiClient()); + } + + public EdgeConnectorsApi(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 createEdgeConnector + * @param createEdgeConnectorRequest (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
201 Edge connector created -
422 Invalid parameters -
+ */ + public okhttp3.Call createEdgeConnectorCall(@javax.annotation.Nullable CreateEdgeConnectorRequest createEdgeConnectorRequest, 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 = createEdgeConnectorRequest; + + // create path and map variables + String localVarPath = "/v1/edge_connectors"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + final String[] localVarAccepts = { + }; + 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 createEdgeConnectorValidateBeforeCall(@javax.annotation.Nullable CreateEdgeConnectorRequest createEdgeConnectorRequest, final ApiCallback _callback) throws ApiException { + return createEdgeConnectorCall(createEdgeConnectorRequest, _callback); + + } + + /** + * Create edge connector + * + * @param createEdgeConnectorRequest (optional) + * @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 Edge connector created -
422 Invalid parameters -
+ */ + public void createEdgeConnector(@javax.annotation.Nullable CreateEdgeConnectorRequest createEdgeConnectorRequest) throws ApiException { + createEdgeConnectorWithHttpInfo(createEdgeConnectorRequest); + } + + /** + * Create edge connector + * + * @param createEdgeConnectorRequest (optional) + * @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
201 Edge connector created -
422 Invalid parameters -
+ */ + public ApiResponse createEdgeConnectorWithHttpInfo(@javax.annotation.Nullable CreateEdgeConnectorRequest createEdgeConnectorRequest) throws ApiException { + okhttp3.Call localVarCall = createEdgeConnectorValidateBeforeCall(createEdgeConnectorRequest, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Create edge connector (asynchronously) + * + * @param createEdgeConnectorRequest (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
201 Edge connector created -
422 Invalid parameters -
+ */ + public okhttp3.Call createEdgeConnectorAsync(@javax.annotation.Nullable CreateEdgeConnectorRequest createEdgeConnectorRequest, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createEdgeConnectorValidateBeforeCall(createEdgeConnectorRequest, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for deleteEdgeConnector + * @param id Edge connector 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 Edge connector deleted -
+ */ + public okhttp3.Call deleteEdgeConnectorCall(@javax.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/edge_connectors/{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 = { + }; + 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 deleteEdgeConnectorValidateBeforeCall(@javax.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 deleteEdgeConnector(Async)"); + } + + return deleteEdgeConnectorCall(id, _callback); + + } + + /** + * Delete edge connector + * + * @param id Edge connector ID (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
200 Edge connector deleted -
+ */ + public void deleteEdgeConnector(@javax.annotation.Nonnull String id) throws ApiException { + deleteEdgeConnectorWithHttpInfo(id); + } + + /** + * Delete edge connector + * + * @param id Edge connector ID (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
200 Edge connector deleted -
+ */ + public ApiResponse deleteEdgeConnectorWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteEdgeConnectorValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete edge connector (asynchronously) + * + * @param id Edge connector 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 Edge connector deleted -
+ */ + public okhttp3.Call deleteEdgeConnectorAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteEdgeConnectorValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getEdgeConnector + * @param id Edge connector 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 Returns edge connector details -
404 Edge connector not found -
+ */ + public okhttp3.Call getEdgeConnectorCall(@javax.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/edge_connectors/{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 = { + }; + 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 getEdgeConnectorValidateBeforeCall(@javax.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 getEdgeConnector(Async)"); + } + + return getEdgeConnectorCall(id, _callback); + + } + + /** + * Show edge connector + * + * @param id Edge connector ID (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
200 Returns edge connector details -
404 Edge connector not found -
+ */ + public void getEdgeConnector(@javax.annotation.Nonnull String id) throws ApiException { + getEdgeConnectorWithHttpInfo(id); + } + + /** + * Show edge connector + * + * @param id Edge connector ID (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
200 Returns edge connector details -
404 Edge connector not found -
+ */ + public ApiResponse getEdgeConnectorWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getEdgeConnectorValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Show edge connector (asynchronously) + * + * @param id Edge connector 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 Returns edge connector details -
404 Edge connector not found -
+ */ + public okhttp3.Call getEdgeConnectorAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getEdgeConnectorValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for listEdgeConnectors + * @param page (optional) + * @param perPage (optional) + * @param status Filter by status (active/paused) (optional) + * @param name Filter by name (partial match) (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 Filters by status -
+ */ + public okhttp3.Call listEdgeConnectorsCall(@javax.annotation.Nullable Integer page, @javax.annotation.Nullable Integer perPage, @javax.annotation.Nullable String status, @javax.annotation.Nullable String name, 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/edge_connectors"; + + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + if (page != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page", page)); + } + + if (perPage != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("per_page", perPage)); + } + + if (status != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("status", status)); + } + + if (name != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("name", name)); + } + + final String[] localVarAccepts = { + }; + 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 listEdgeConnectorsValidateBeforeCall(@javax.annotation.Nullable Integer page, @javax.annotation.Nullable Integer perPage, @javax.annotation.Nullable String status, @javax.annotation.Nullable String name, final ApiCallback _callback) throws ApiException { + return listEdgeConnectorsCall(page, perPage, status, name, _callback); + + } + + /** + * List edge connectors + * + * @param page (optional) + * @param perPage (optional) + * @param status Filter by status (active/paused) (optional) + * @param name Filter by name (partial match) (optional) + * @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 Filters by status -
+ */ + public void listEdgeConnectors(@javax.annotation.Nullable Integer page, @javax.annotation.Nullable Integer perPage, @javax.annotation.Nullable String status, @javax.annotation.Nullable String name) throws ApiException { + listEdgeConnectorsWithHttpInfo(page, perPage, status, name); + } + + /** + * List edge connectors + * + * @param page (optional) + * @param perPage (optional) + * @param status Filter by status (active/paused) (optional) + * @param name Filter by name (partial match) (optional) + * @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
200 Filters by status -
+ */ + public ApiResponse listEdgeConnectorsWithHttpInfo(@javax.annotation.Nullable Integer page, @javax.annotation.Nullable Integer perPage, @javax.annotation.Nullable String status, @javax.annotation.Nullable String name) throws ApiException { + okhttp3.Call localVarCall = listEdgeConnectorsValidateBeforeCall(page, perPage, status, name, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * List edge connectors (asynchronously) + * + * @param page (optional) + * @param perPage (optional) + * @param status Filter by status (active/paused) (optional) + * @param name Filter by name (partial match) (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 Filters by status -
+ */ + public okhttp3.Call listEdgeConnectorsAsync(@javax.annotation.Nullable Integer page, @javax.annotation.Nullable Integer perPage, @javax.annotation.Nullable String status, @javax.annotation.Nullable String name, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listEdgeConnectorsValidateBeforeCall(page, perPage, status, name, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for updateEdgeConnector + * @param id Edge connector ID (required) + * @param updateEdgeConnectorRequest (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 Edge connector updated -
422 Invalid parameters -
+ */ + public okhttp3.Call updateEdgeConnectorCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable UpdateEdgeConnectorRequest updateEdgeConnectorRequest, 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 = updateEdgeConnectorRequest; + + // create path and map variables + String localVarPath = "/v1/edge_connectors/{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 = { + }; + 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 updateEdgeConnectorValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable UpdateEdgeConnectorRequest updateEdgeConnectorRequest, 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 updateEdgeConnector(Async)"); + } + + return updateEdgeConnectorCall(id, updateEdgeConnectorRequest, _callback); + + } + + /** + * Update edge connector + * + * @param id Edge connector ID (required) + * @param updateEdgeConnectorRequest (optional) + * @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 Edge connector updated -
422 Invalid parameters -
+ */ + public void updateEdgeConnector(@javax.annotation.Nonnull String id, @javax.annotation.Nullable UpdateEdgeConnectorRequest updateEdgeConnectorRequest) throws ApiException { + updateEdgeConnectorWithHttpInfo(id, updateEdgeConnectorRequest); + } + + /** + * Update edge connector + * + * @param id Edge connector ID (required) + * @param updateEdgeConnectorRequest (optional) + * @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
200 Edge connector updated -
422 Invalid parameters -
+ */ + public ApiResponse updateEdgeConnectorWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable UpdateEdgeConnectorRequest updateEdgeConnectorRequest) throws ApiException { + okhttp3.Call localVarCall = updateEdgeConnectorValidateBeforeCall(id, updateEdgeConnectorRequest, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Update edge connector (asynchronously) + * + * @param id Edge connector ID (required) + * @param updateEdgeConnectorRequest (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 Edge connector updated -
422 Invalid parameters -
+ */ + public okhttp3.Call updateEdgeConnectorAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable UpdateEdgeConnectorRequest updateEdgeConnectorRequest, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateEdgeConnectorValidateBeforeCall(id, updateEdgeConnectorRequest, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/EnvironmentsApi.java b/src/main/java/com/rootly/client/api/EnvironmentsApi.java index e18a3717..c3fb4878 100644 --- a/src/main/java/com/rootly/client/api/EnvironmentsApi.java +++ b/src/main/java/com/rootly/client/api/EnvironmentsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,9 +27,13 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.EnvironmentList; import com.rootly.client.model.EnvironmentResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewEnvironment; import com.rootly.client.model.UpdateEnvironment; @@ -211,6 +215,141 @@ public okhttp3.Call createEnvironmentAsync(@javax.annotation.Nonnull NewEnvironm localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for createEnvironmentCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createEnvironmentCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/environments/properties"; + + 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 createEnvironmentCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createEnvironmentCatalogProperty(Async)"); + } + + return createEnvironmentCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createEnvironmentCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createEnvironmentCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createEnvironmentCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createEnvironmentCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createEnvironmentCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createEnvironmentCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for deleteEnvironment * @param id (required) @@ -225,7 +364,7 @@ public okhttp3.Call createEnvironmentAsync(@javax.annotation.Nonnull NewEnvironm 404 resource not found - */ - public okhttp3.Call deleteEnvironmentCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteEnvironmentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteEnvironmentCall(@javax.annotation.Nonnull String id, f } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteEnvironmentValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteEnvironmentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteEnvironment(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteEnvironmentValidateBeforeCall(@javax.annotation.Nonnu 404 resource not found - */ - public EnvironmentResponse deleteEnvironment(@javax.annotation.Nonnull String id) throws ApiException { + public EnvironmentResponse deleteEnvironment(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteEnvironmentWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public EnvironmentResponse deleteEnvironment(@javax.annotation.Nonnull String id 404 resource not found - */ - public ApiResponse deleteEnvironmentWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteEnvironmentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteEnvironmentValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteEnvironmentWithHttpInfo(@javax.ann 404 resource not found - */ - public okhttp3.Call deleteEnvironmentAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteEnvironmentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteEnvironmentValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +491,11 @@ public okhttp3.Call deleteEnvironmentAsync(@javax.annotation.Nonnull String id, - +
Response Details
Status Code Description Response Headers
200 environment found -
200 environment found by slug -
404 resource not found -
*/ - public okhttp3.Call getEnvironmentCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getEnvironmentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +541,7 @@ public okhttp3.Call getEnvironmentCall(@javax.annotation.Nonnull String id, fina } @SuppressWarnings("rawtypes") - private okhttp3.Call getEnvironmentValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getEnvironmentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getEnvironment(Async)"); @@ -422,11 +561,11 @@ private okhttp3.Call getEnvironmentValidateBeforeCall(@javax.annotation.Nonnull - +
Response Details
Status Code Description Response Headers
200 environment found -
200 environment found by slug -
404 resource not found -
*/ - public EnvironmentResponse getEnvironment(@javax.annotation.Nonnull String id) throws ApiException { + public EnvironmentResponse getEnvironment(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getEnvironmentWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +580,11 @@ public EnvironmentResponse getEnvironment(@javax.annotation.Nonnull String id) t - +
Response Details
Status Code Description Response Headers
200 environment found -
200 environment found by slug -
404 resource not found -
*/ - public ApiResponse getEnvironmentWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getEnvironmentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getEnvironmentValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,17 +601,222 @@ public ApiResponse getEnvironmentWithHttpInfo(@javax.annota - +
Response Details
Status Code Description Response Headers
200 environment found -
200 environment found by slug -
404 resource not found -
*/ - public okhttp3.Call getEnvironmentAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getEnvironmentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getEnvironmentValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listEnvironmentCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listEnvironmentCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/environments/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listEnvironmentCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listEnvironmentCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List Environment Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listEnvironmentCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listEnvironmentCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List Environment Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listEnvironmentCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listEnvironmentCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List Environment Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listEnvironmentCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listEnvironmentCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for listEnvironments * @param include (optional) @@ -701,7 +1045,7 @@ public okhttp3.Call listEnvironmentsAsync(@javax.annotation.Nullable String incl 404 resource not found - */ - public okhttp3.Call updateEnvironmentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateEnvironmentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -748,7 +1092,7 @@ public okhttp3.Call updateEnvironmentCall(@javax.annotation.Nonnull String id, @ } @SuppressWarnings("rawtypes") - private okhttp3.Call updateEnvironmentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateEnvironmentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, 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 updateEnvironment(Async)"); @@ -778,7 +1122,7 @@ private okhttp3.Call updateEnvironmentValidateBeforeCall(@javax.annotation.Nonnu 404 resource not found - */ - public EnvironmentResponse updateEnvironment(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment) throws ApiException { + public EnvironmentResponse updateEnvironment(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment) throws ApiException { ApiResponse localVarResp = updateEnvironmentWithHttpInfo(id, updateEnvironment); return localVarResp.getData(); } @@ -798,7 +1142,7 @@ public EnvironmentResponse updateEnvironment(@javax.annotation.Nonnull String id 404 resource not found - */ - public ApiResponse updateEnvironmentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment) throws ApiException { + public ApiResponse updateEnvironmentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment) throws ApiException { okhttp3.Call localVarCall = updateEnvironmentValidateBeforeCall(id, updateEnvironment, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -820,7 +1164,7 @@ public ApiResponse updateEnvironmentWithHttpInfo(@javax.ann 404 resource not found - */ - public okhttp3.Call updateEnvironmentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateEnvironmentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateEnvironment updateEnvironment, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateEnvironmentValidateBeforeCall(id, updateEnvironment, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/EscalationLevelsApi.java b/src/main/java/com/rootly/client/api/EscalationLevelsApi.java index 4b29522c..4d705e20 100644 --- a/src/main/java/com/rootly/client/api/EscalationLevelsApi.java +++ b/src/main/java/com/rootly/client/api/EscalationLevelsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/EscalationLevelsPathApi.java b/src/main/java/com/rootly/client/api/EscalationLevelsPathApi.java index ad242979..6820ad31 100644 --- a/src/main/java/com/rootly/client/api/EscalationLevelsPathApi.java +++ b/src/main/java/com/rootly/client/api/EscalationLevelsPathApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/EscalationLevelsPoliciesApi.java b/src/main/java/com/rootly/client/api/EscalationLevelsPoliciesApi.java index 0b361097..f2eec411 100644 --- a/src/main/java/com/rootly/client/api/EscalationLevelsPoliciesApi.java +++ b/src/main/java/com/rootly/client/api/EscalationLevelsPoliciesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/EscalationPathsApi.java b/src/main/java/com/rootly/client/api/EscalationPathsApi.java index c1b33d9c..7dd9c927 100644 --- a/src/main/java/com/rootly/client/api/EscalationPathsApi.java +++ b/src/main/java/com/rootly/client/api/EscalationPathsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/EscalationPoliciesApi.java b/src/main/java/com/rootly/client/api/EscalationPoliciesApi.java index 06367e6e..e2e82f1e 100644 --- a/src/main/java/com/rootly/client/api/EscalationPoliciesApi.java +++ b/src/main/java/com/rootly/client/api/EscalationPoliciesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -486,6 +486,7 @@ public okhttp3.Call getEscalationPolicyAsync(@javax.annotation.Nonnull String id * @param include comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths (optional) * @param filterSearch (optional) * @param filterName (optional) + * @param filterTeamIds Filter escalation policies by associated team IDs. Comma-separate multiple values. (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -502,7 +503,7 @@ public okhttp3.Call getEscalationPolicyAsync(@javax.annotation.Nonnull String id 200 success - */ - public okhttp3.Call listEscalationPoliciesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listEscalationPoliciesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -539,6 +540,10 @@ public okhttp3.Call listEscalationPoliciesCall(@javax.annotation.Nullable String localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); } + if (filterTeamIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[team_ids]", filterTeamIds)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -583,8 +588,8 @@ public okhttp3.Call listEscalationPoliciesCall(@javax.annotation.Nullable String } @SuppressWarnings("rawtypes") - private okhttp3.Call listEscalationPoliciesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { - return listEscalationPoliciesCall(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); + private okhttp3.Call listEscalationPoliciesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + return listEscalationPoliciesCall(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); } @@ -594,6 +599,7 @@ private okhttp3.Call listEscalationPoliciesValidateBeforeCall(@javax.annotation. * @param include comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths (optional) * @param filterSearch (optional) * @param filterName (optional) + * @param filterTeamIds Filter escalation policies by associated team IDs. Comma-separate multiple values. (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -609,8 +615,8 @@ private okhttp3.Call listEscalationPoliciesValidateBeforeCall(@javax.annotation. 200 success - */ - public EscalationPolicyList listEscalationPolicies(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - ApiResponse localVarResp = listEscalationPoliciesWithHttpInfo(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + public EscalationPolicyList listEscalationPolicies(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listEscalationPoliciesWithHttpInfo(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); return localVarResp.getData(); } @@ -620,6 +626,7 @@ public EscalationPolicyList listEscalationPolicies(@javax.annotation.Nullable St * @param include comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths (optional) * @param filterSearch (optional) * @param filterName (optional) + * @param filterTeamIds Filter escalation policies by associated team IDs. Comma-separate multiple values. (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -635,8 +642,8 @@ public EscalationPolicyList listEscalationPolicies(@javax.annotation.Nullable St 200 success - */ - public ApiResponse listEscalationPoliciesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { - okhttp3.Call localVarCall = listEscalationPoliciesValidateBeforeCall(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, null); + public ApiResponse listEscalationPoliciesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listEscalationPoliciesValidateBeforeCall(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -647,6 +654,7 @@ public ApiResponse listEscalationPoliciesWithHttpInfo(@jav * @param include comma separated if needed. eg: escalation_policy_levels,escalation_policy_paths (optional) * @param filterSearch (optional) * @param filterName (optional) + * @param filterTeamIds Filter escalation policies by associated team IDs. Comma-separate multiple values. (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -663,9 +671,9 @@ public ApiResponse listEscalationPoliciesWithHttpInfo(@jav 200 success - */ - public okhttp3.Call listEscalationPoliciesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listEscalationPoliciesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listEscalationPoliciesValidateBeforeCall(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); + okhttp3.Call localVarCall = listEscalationPoliciesValidateBeforeCall(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/rootly/client/api/FormFieldOptionsApi.java b/src/main/java/com/rootly/client/api/FormFieldOptionsApi.java index f9bac389..4775d9f8 100644 --- a/src/main/java/com/rootly/client/api/FormFieldOptionsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldOptionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/FormFieldPlacementConditionsApi.java b/src/main/java/com/rootly/client/api/FormFieldPlacementConditionsApi.java index ebfb745c..600e0de4 100644 --- a/src/main/java/com/rootly/client/api/FormFieldPlacementConditionsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldPlacementConditionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java b/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java index 2ee28170..3249d372 100644 --- a/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldPlacementsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -87,7 +87,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 form_field_placement created -
201 form_field_placement created with non_editable true -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -165,7 +165,7 @@ private okhttp3.Call createFormFieldPlacementValidateBeforeCall(@javax.annotatio - +
Response Details
Status Code Description Response Headers
201 form_field_placement created -
201 form_field_placement created with non_editable true -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -186,7 +186,7 @@ public FormFieldPlacementResponse createFormFieldPlacement(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
201 form_field_placement created -
201 form_field_placement created with non_editable true -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -209,7 +209,7 @@ public ApiResponse createFormFieldPlacementWithHttpI - +
Response Details
Status Code Description Response Headers
201 form_field_placement created -
201 form_field_placement created with non_editable true -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -653,7 +653,7 @@ public okhttp3.Call listFormFieldPlacementsAsync(@javax.annotation.Nonnull Strin - +
Response Details
Status Code Description Response Headers
200 form_field_placement updated -
200 form_field_placement updated with non_editable -
404 resource not found -
*/ @@ -730,7 +730,7 @@ private okhttp3.Call updateFormFieldPlacementValidateBeforeCall(@javax.annotatio - +
Response Details
Status Code Description Response Headers
200 form_field_placement updated -
200 form_field_placement updated with non_editable -
404 resource not found -
*/ @@ -750,7 +750,7 @@ public FormFieldPlacementResponse updateFormFieldPlacement(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 form_field_placement updated -
200 form_field_placement updated with non_editable -
404 resource not found -
*/ @@ -772,7 +772,7 @@ public ApiResponse updateFormFieldPlacementWithHttpI - +
Response Details
Status Code Description Response Headers
200 form_field_placement updated -
200 form_field_placement updated with non_editable -
404 resource not found -
*/ diff --git a/src/main/java/com/rootly/client/api/FormFieldPositionsApi.java b/src/main/java/com/rootly/client/api/FormFieldPositionsApi.java index 496e64b5..eebca3ab 100644 --- a/src/main/java/com/rootly/client/api/FormFieldPositionsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldPositionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/FormFieldsApi.java b/src/main/java/com/rootly/client/api/FormFieldsApi.java index b7432b51..ab12aea9 100644 --- a/src/main/java/com/rootly/client/api/FormFieldsApi.java +++ b/src/main/java/com/rootly/client/api/FormFieldsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FormFieldList; import com.rootly.client.model.FormFieldResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewFormField; import com.rootly.client.model.UpdateFormField; @@ -86,8 +87,8 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + +
Response Details
Status Code Description Response Headers
201 form_field created -
422 invalid request -
201 form_field created with auto_set_by_catalog_property_id -
422 form_field creation fails with auto_set_by_catalog_property_id for catalog fields of different type -
401 responds with unauthorized for invalid token -
*/ @@ -157,8 +158,8 @@ private okhttp3.Call createFormFieldValidateBeforeCall(@javax.annotation.Nonnull - - + +
Response Details
Status Code Description Response Headers
201 form_field created -
422 invalid request -
201 form_field created with auto_set_by_catalog_property_id -
422 form_field creation fails with auto_set_by_catalog_property_id for catalog fields of different type -
401 responds with unauthorized for invalid token -
*/ @@ -177,8 +178,8 @@ public FormFieldResponse createFormField(@javax.annotation.Nonnull NewFormField - - + +
Response Details
Status Code Description Response Headers
201 form_field created -
422 invalid request -
201 form_field created with auto_set_by_catalog_property_id -
422 form_field creation fails with auto_set_by_catalog_property_id for catalog fields of different type -
401 responds with unauthorized for invalid token -
*/ @@ -199,8 +200,8 @@ public ApiResponse createFormFieldWithHttpInfo(@javax.annotat - - + +
Response Details
Status Code Description Response Headers
201 form_field created -
422 invalid request -
201 form_field created with auto_set_by_catalog_property_id -
422 form_field creation fails with auto_set_by_catalog_property_id for catalog fields of different type -
401 responds with unauthorized for invalid token -
*/ @@ -225,7 +226,7 @@ public okhttp3.Call createFormFieldAsync(@javax.annotation.Nonnull NewFormField 404 resource not found - */ - public okhttp3.Call deleteFormFieldCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFormFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteFormFieldCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteFormFieldValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteFormFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteFormField(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteFormFieldValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public FormFieldResponse deleteFormField(@javax.annotation.Nonnull String id) throws ApiException { + public FormFieldResponse deleteFormField(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteFormFieldWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public FormFieldResponse deleteFormField(@javax.annotation.Nonnull String id) th 404 resource not found - */ - public ApiResponse deleteFormFieldWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteFormFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteFormFieldValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteFormFieldWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call deleteFormFieldAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFormFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteFormFieldValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -353,11 +354,11 @@ public okhttp3.Call deleteFormFieldAsync(@javax.annotation.Nonnull String id, fi - +
Response Details
Status Code Description Response Headers
200 form_field found -
200 form_field found by slug -
404 resource not found -
*/ - public okhttp3.Call getFormFieldCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFormFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -407,7 +408,7 @@ public okhttp3.Call getFormFieldCall(@javax.annotation.Nonnull String id, @javax } @SuppressWarnings("rawtypes") - private okhttp3.Call getFormFieldValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getFormFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, 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 getFormField(Async)"); @@ -428,11 +429,11 @@ private okhttp3.Call getFormFieldValidateBeforeCall(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 form_field found -
200 form_field found by slug -
404 resource not found -
*/ - public FormFieldResponse getFormField(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public FormFieldResponse getFormField(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getFormFieldWithHttpInfo(id, include); return localVarResp.getData(); } @@ -448,11 +449,11 @@ public FormFieldResponse getFormField(@javax.annotation.Nonnull String id, @java - +
Response Details
Status Code Description Response Headers
200 form_field found -
200 form_field found by slug -
404 resource not found -
*/ - public ApiResponse getFormFieldWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public ApiResponse getFormFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getFormFieldValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -470,11 +471,11 @@ public ApiResponse getFormFieldWithHttpInfo(@javax.annotation - +
Response Details
Status Code Description Response Headers
200 form_field found -
200 form_field found by slug -
404 resource not found -
*/ - public okhttp3.Call getFormFieldAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFormFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getFormFieldValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -709,7 +710,7 @@ public okhttp3.Call listFormFieldsAsync(@javax.annotation.Nullable String includ 404 resource not found - */ - public okhttp3.Call updateFormFieldCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormField updateFormField, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFormFieldCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormField updateFormField, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -756,7 +757,7 @@ public okhttp3.Call updateFormFieldCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call updateFormFieldValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormField updateFormField, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateFormFieldValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormField updateFormField, 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 updateFormField(Async)"); @@ -786,7 +787,7 @@ private okhttp3.Call updateFormFieldValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public FormFieldResponse updateFormField(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormField updateFormField) throws ApiException { + public FormFieldResponse updateFormField(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormField updateFormField) throws ApiException { ApiResponse localVarResp = updateFormFieldWithHttpInfo(id, updateFormField); return localVarResp.getData(); } @@ -806,7 +807,7 @@ public FormFieldResponse updateFormField(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public ApiResponse updateFormFieldWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormField updateFormField) throws ApiException { + public ApiResponse updateFormFieldWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormField updateFormField) throws ApiException { okhttp3.Call localVarCall = updateFormFieldValidateBeforeCall(id, updateFormField, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -828,7 +829,7 @@ public ApiResponse updateFormFieldWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call updateFormFieldAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormField updateFormField, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFormFieldAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormField updateFormField, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateFormFieldValidateBeforeCall(id, updateFormField, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/FormSetConditionsApi.java b/src/main/java/com/rootly/client/api/FormSetConditionsApi.java index eaab5023..a58ff096 100644 --- a/src/main/java/com/rootly/client/api/FormSetConditionsApi.java +++ b/src/main/java/com/rootly/client/api/FormSetConditionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/FormSetsApi.java b/src/main/java/com/rootly/client/api/FormSetsApi.java index 16809618..9d551585 100644 --- a/src/main/java/com/rootly/client/api/FormSetsApi.java +++ b/src/main/java/com/rootly/client/api/FormSetsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -30,6 +30,7 @@ import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FormSetList; import com.rootly.client.model.FormSetResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewFormSet; import com.rootly.client.model.UpdateFormSet; @@ -225,7 +226,7 @@ public okhttp3.Call createFormSetAsync(@javax.annotation.Nonnull NewFormSet newF 404 resource not found - */ - public okhttp3.Call deleteFormSetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFormSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteFormSetCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteFormSetValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteFormSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteFormSet(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteFormSetValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public FormSetResponse deleteFormSet(@javax.annotation.Nonnull String id) throws ApiException { + public FormSetResponse deleteFormSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteFormSetWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public FormSetResponse deleteFormSet(@javax.annotation.Nonnull String id) throws 404 resource not found - */ - public ApiResponse deleteFormSetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteFormSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteFormSetValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteFormSetWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call deleteFormSetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFormSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteFormSetValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteFormSetAsync(@javax.annotation.Nonnull String id, fina - +
Response Details
Status Code Description Response Headers
200 form_set found -
200 form_set found by slug -
404 resource not found -
*/ - public okhttp3.Call getFormSetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFormSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getFormSetCall(@javax.annotation.Nonnull String id, final Ap } @SuppressWarnings("rawtypes") - private okhttp3.Call getFormSetValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getFormSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getFormSet(Async)"); @@ -422,11 +423,11 @@ private okhttp3.Call getFormSetValidateBeforeCall(@javax.annotation.Nonnull Stri - +
Response Details
Status Code Description Response Headers
200 form_set found -
200 form_set found by slug -
404 resource not found -
*/ - public FormSetResponse getFormSet(@javax.annotation.Nonnull String id) throws ApiException { + public FormSetResponse getFormSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getFormSetWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +442,11 @@ public FormSetResponse getFormSet(@javax.annotation.Nonnull String id) throws Ap - +
Response Details
Status Code Description Response Headers
200 form_set found -
200 form_set found by slug -
404 resource not found -
*/ - public ApiResponse getFormSetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getFormSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getFormSetValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +463,11 @@ public ApiResponse getFormSetWithHttpInfo(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 form_set found -
200 form_set found by slug -
404 resource not found -
*/ - public okhttp3.Call getFormSetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFormSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getFormSetValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -677,7 +678,7 @@ public okhttp3.Call listFormSetsAsync(@javax.annotation.Nullable String include, 404 resource not found - */ - public okhttp3.Call updateFormSetCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFormSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -724,7 +725,7 @@ public okhttp3.Call updateFormSetCall(@javax.annotation.Nonnull String id, @java } @SuppressWarnings("rawtypes") - private okhttp3.Call updateFormSetValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateFormSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, 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 updateFormSet(Async)"); @@ -754,7 +755,7 @@ private okhttp3.Call updateFormSetValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public FormSetResponse updateFormSet(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormSet updateFormSet) throws ApiException { + public FormSetResponse updateFormSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormSet updateFormSet) throws ApiException { ApiResponse localVarResp = updateFormSetWithHttpInfo(id, updateFormSet); return localVarResp.getData(); } @@ -774,7 +775,7 @@ public FormSetResponse updateFormSet(@javax.annotation.Nonnull String id, @javax 404 resource not found - */ - public ApiResponse updateFormSetWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormSet updateFormSet) throws ApiException { + public ApiResponse updateFormSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormSet updateFormSet) throws ApiException { okhttp3.Call localVarCall = updateFormSetValidateBeforeCall(id, updateFormSet, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -796,7 +797,7 @@ public ApiResponse updateFormSetWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call updateFormSetAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFormSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFormSet updateFormSet, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateFormSetValidateBeforeCall(id, updateFormSet, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/FunctionalitiesApi.java b/src/main/java/com/rootly/client/api/FunctionalitiesApi.java index 1de18190..19c32e1b 100644 --- a/src/main/java/com/rootly/client/api/FunctionalitiesApi.java +++ b/src/main/java/com/rootly/client/api/FunctionalitiesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,9 +27,13 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FunctionalityList; import com.rootly.client.model.FunctionalityResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewFunctionality; import com.rootly.client.model.UpdateFunctionality; @@ -211,6 +215,141 @@ public okhttp3.Call createFunctionalityAsync(@javax.annotation.Nonnull NewFuncti localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for createFunctionalityCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createFunctionalityCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/functionalities/properties"; + + 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 createFunctionalityCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createFunctionalityCatalogProperty(Async)"); + } + + return createFunctionalityCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createFunctionalityCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createFunctionalityCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createFunctionalityCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createFunctionalityCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createFunctionalityCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createFunctionalityCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for deleteFunctionality * @param id (required) @@ -225,7 +364,7 @@ public okhttp3.Call createFunctionalityAsync(@javax.annotation.Nonnull NewFuncti 404 resource not found - */ - public okhttp3.Call deleteFunctionalityCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFunctionalityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteFunctionalityCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteFunctionalityValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteFunctionalityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteFunctionality(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteFunctionalityValidateBeforeCall(@javax.annotation.Non 404 resource not found - */ - public FunctionalityResponse deleteFunctionality(@javax.annotation.Nonnull String id) throws ApiException { + public FunctionalityResponse deleteFunctionality(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteFunctionalityWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public FunctionalityResponse deleteFunctionality(@javax.annotation.Nonnull Strin 404 resource not found - */ - public ApiResponse deleteFunctionalityWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteFunctionalityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteFunctionalityValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteFunctionalityWithHttpInfo(@javax 404 resource not found - */ - public okhttp3.Call deleteFunctionalityAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteFunctionalityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteFunctionalityValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +495,7 @@ public okhttp3.Call deleteFunctionalityAsync(@javax.annotation.Nonnull String id 404 resource not found - */ - public okhttp3.Call getFunctionalityCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +541,7 @@ public okhttp3.Call getFunctionalityCall(@javax.annotation.Nonnull String id, fi } @SuppressWarnings("rawtypes") - private okhttp3.Call getFunctionalityValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getFunctionalityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getFunctionality(Async)"); @@ -426,7 +565,7 @@ private okhttp3.Call getFunctionalityValidateBeforeCall(@javax.annotation.Nonnul 404 resource not found - */ - public FunctionalityResponse getFunctionality(@javax.annotation.Nonnull String id) throws ApiException { + public FunctionalityResponse getFunctionality(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getFunctionalityWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +584,7 @@ public FunctionalityResponse getFunctionality(@javax.annotation.Nonnull String i 404 resource not found - */ - public ApiResponse getFunctionalityWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getFunctionalityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getFunctionalityValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +605,7 @@ public ApiResponse getFunctionalityWithHttpInfo(@javax.an 404 resource not found - */ - public okhttp3.Call getFunctionalityAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getFunctionalityValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -488,7 +627,7 @@ public okhttp3.Call getFunctionalityAsync(@javax.annotation.Nonnull String id, f 404 resource not found - */ - public okhttp3.Call getFunctionalityIncidentsChartCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityIncidentsChartCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -538,7 +677,7 @@ public okhttp3.Call getFunctionalityIncidentsChartCall(@javax.annotation.Nonnull } @SuppressWarnings("rawtypes") - private okhttp3.Call getFunctionalityIncidentsChartValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getFunctionalityIncidentsChartValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, 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 getFunctionalityIncidentsChart(Async)"); @@ -568,7 +707,7 @@ private okhttp3.Call getFunctionalityIncidentsChartValidateBeforeCall(@javax.ann 404 resource not found - */ - public Object getFunctionalityIncidentsChart(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period) throws ApiException { + public Object getFunctionalityIncidentsChart(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period) throws ApiException { ApiResponse localVarResp = getFunctionalityIncidentsChartWithHttpInfo(id, period); return localVarResp.getData(); } @@ -588,7 +727,7 @@ public Object getFunctionalityIncidentsChart(@javax.annotation.Nonnull String id 404 resource not found - */ - public ApiResponse getFunctionalityIncidentsChartWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period) throws ApiException { + public ApiResponse getFunctionalityIncidentsChartWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period) throws ApiException { okhttp3.Call localVarCall = getFunctionalityIncidentsChartValidateBeforeCall(id, period, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -610,7 +749,7 @@ public ApiResponse getFunctionalityIncidentsChartWithHttpInfo(@javax.ann 404 resource not found - */ - public okhttp3.Call getFunctionalityIncidentsChartAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityIncidentsChartAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getFunctionalityIncidentsChartValidateBeforeCall(id, period, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -632,7 +771,7 @@ public okhttp3.Call getFunctionalityIncidentsChartAsync(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call getFunctionalityUptimeChartCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityUptimeChartCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -682,7 +821,7 @@ public okhttp3.Call getFunctionalityUptimeChartCall(@javax.annotation.Nonnull St } @SuppressWarnings("rawtypes") - private okhttp3.Call getFunctionalityUptimeChartValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getFunctionalityUptimeChartValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, 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 getFunctionalityUptimeChart(Async)"); @@ -707,7 +846,7 @@ private okhttp3.Call getFunctionalityUptimeChartValidateBeforeCall(@javax.annota 404 resource not found - */ - public Object getFunctionalityUptimeChart(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period) throws ApiException { + public Object getFunctionalityUptimeChart(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period) throws ApiException { ApiResponse localVarResp = getFunctionalityUptimeChartWithHttpInfo(id, period); return localVarResp.getData(); } @@ -727,7 +866,7 @@ public Object getFunctionalityUptimeChart(@javax.annotation.Nonnull String id, @ 404 resource not found - */ - public ApiResponse getFunctionalityUptimeChartWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period) throws ApiException { + public ApiResponse getFunctionalityUptimeChartWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period) throws ApiException { okhttp3.Call localVarCall = getFunctionalityUptimeChartValidateBeforeCall(id, period, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -749,7 +888,7 @@ public ApiResponse getFunctionalityUptimeChartWithHttpInfo(@javax.annota 404 resource not found - */ - public okhttp3.Call getFunctionalityUptimeChartAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getFunctionalityUptimeChartAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getFunctionalityUptimeChartValidateBeforeCall(id, period, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -993,6 +1132,211 @@ public okhttp3.Call listFunctionalitiesAsync(@javax.annotation.Nullable String i localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listFunctionalityCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listFunctionalityCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/functionalities/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listFunctionalityCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listFunctionalityCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List Functionality Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listFunctionalityCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listFunctionalityCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List Functionality Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listFunctionalityCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listFunctionalityCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List Functionality Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listFunctionalityCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listFunctionalityCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for updateFunctionality * @param id (required) @@ -1008,7 +1352,7 @@ public okhttp3.Call listFunctionalitiesAsync(@javax.annotation.Nullable String i 404 resource not found - */ - public okhttp3.Call updateFunctionalityCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFunctionalityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1055,7 +1399,7 @@ public okhttp3.Call updateFunctionalityCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call updateFunctionalityValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateFunctionalityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, 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 updateFunctionality(Async)"); @@ -1085,7 +1429,7 @@ private okhttp3.Call updateFunctionalityValidateBeforeCall(@javax.annotation.Non 404 resource not found - */ - public FunctionalityResponse updateFunctionality(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality) throws ApiException { + public FunctionalityResponse updateFunctionality(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality) throws ApiException { ApiResponse localVarResp = updateFunctionalityWithHttpInfo(id, updateFunctionality); return localVarResp.getData(); } @@ -1105,7 +1449,7 @@ public FunctionalityResponse updateFunctionality(@javax.annotation.Nonnull Strin 404 resource not found - */ - public ApiResponse updateFunctionalityWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality) throws ApiException { + public ApiResponse updateFunctionalityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality) throws ApiException { okhttp3.Call localVarCall = updateFunctionalityValidateBeforeCall(id, updateFunctionality, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1127,7 +1471,7 @@ public ApiResponse updateFunctionalityWithHttpInfo(@javax 404 resource not found - */ - public okhttp3.Call updateFunctionalityAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateFunctionalityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateFunctionality updateFunctionality, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateFunctionalityValidateBeforeCall(id, updateFunctionality, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/HeartbeatsApi.java b/src/main/java/com/rootly/client/api/HeartbeatsApi.java index ed5f97b8..18ddd2a9 100644 --- a/src/main/java/com/rootly/client/api/HeartbeatsApi.java +++ b/src/main/java/com/rootly/client/api/HeartbeatsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.HeartbeatList; import com.rootly.client.model.HeartbeatResponse; import com.rootly.client.model.NewHeartbeat; @@ -87,7 +88,7 @@ public void setCustomBaseUrl(String customBaseUrl) { Response Details Status Code Description Response Headers 201 heartbeat created - - 422 invalid request - + 422 interval less than 60 seconds - 401 responds with unauthorized for invalid token - */ @@ -158,7 +159,7 @@ private okhttp3.Call createHeartbeatValidateBeforeCall(@javax.annotation.Nonnull Response Details Status Code Description Response Headers 201 heartbeat created - - 422 invalid request - + 422 interval less than 60 seconds - 401 responds with unauthorized for invalid token - */ @@ -178,7 +179,7 @@ public HeartbeatResponse createHeartbeat(@javax.annotation.Nonnull NewHeartbeat Response Details Status Code Description Response Headers 201 heartbeat created - - 422 invalid request - + 422 interval less than 60 seconds - 401 responds with unauthorized for invalid token - */ @@ -200,7 +201,7 @@ public ApiResponse createHeartbeatWithHttpInfo(@javax.annotat Response Details Status Code Description Response Headers 201 heartbeat created - - 422 invalid request - + 422 interval less than 60 seconds - 401 responds with unauthorized for invalid token - */ @@ -225,7 +226,7 @@ public okhttp3.Call createHeartbeatAsync(@javax.annotation.Nonnull NewHeartbeat 404 resource not found - */ - public okhttp3.Call deleteHeartbeatCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteHeartbeatCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteHeartbeatCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteHeartbeatValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteHeartbeatValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteHeartbeat(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteHeartbeatValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public HeartbeatResponse deleteHeartbeat(@javax.annotation.Nonnull String id) throws ApiException { + public HeartbeatResponse deleteHeartbeat(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteHeartbeatWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public HeartbeatResponse deleteHeartbeat(@javax.annotation.Nonnull String id) th 404 resource not found - */ - public ApiResponse deleteHeartbeatWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteHeartbeatWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteHeartbeatValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteHeartbeatWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call deleteHeartbeatAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteHeartbeatAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteHeartbeatValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteHeartbeatAsync(@javax.annotation.Nonnull String id, fi - +
Response Details
Status Code Description Response Headers
200 heartbeat found -
200 heartbeat found by slug -
404 resource not found -
*/ - public okhttp3.Call getHeartbeatCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getHeartbeatCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getHeartbeatCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call getHeartbeatValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getHeartbeatValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getHeartbeat(Async)"); @@ -422,11 +423,11 @@ private okhttp3.Call getHeartbeatValidateBeforeCall(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 heartbeat found -
200 heartbeat found by slug -
404 resource not found -
*/ - public HeartbeatResponse getHeartbeat(@javax.annotation.Nonnull String id) throws ApiException { + public HeartbeatResponse getHeartbeat(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getHeartbeatWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +442,11 @@ public HeartbeatResponse getHeartbeat(@javax.annotation.Nonnull String id) throw - +
Response Details
Status Code Description Response Headers
200 heartbeat found -
200 heartbeat found by slug -
404 resource not found -
*/ - public ApiResponse getHeartbeatWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getHeartbeatWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getHeartbeatValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +463,11 @@ public ApiResponse getHeartbeatWithHttpInfo(@javax.annotation - +
Response Details
Status Code Description Response Headers
200 heartbeat found -
200 heartbeat found by slug -
404 resource not found -
*/ - public okhttp3.Call getHeartbeatAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getHeartbeatAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getHeartbeatValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -492,7 +493,7 @@ public okhttp3.Call getHeartbeatAsync(@javax.annotation.Nonnull String id, final - +
Response Details
Status Code Description Response Headers
200 success -
200 filter by name -
*/ public okhttp3.Call listHeartbeatsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { @@ -604,7 +605,7 @@ private okhttp3.Call listHeartbeatsValidateBeforeCall(@javax.annotation.Nullable - +
Response Details
Status Code Description Response Headers
200 success -
200 filter by name -
*/ public HeartbeatList listHeartbeats(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { @@ -631,7 +632,7 @@ public HeartbeatList listHeartbeats(@javax.annotation.Nullable String include, @ - +
Response Details
Status Code Description Response Headers
200 success -
200 filter by name -
*/ public ApiResponse listHeartbeatsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { @@ -660,7 +661,7 @@ public ApiResponse listHeartbeatsWithHttpInfo(@javax.annotation.N - +
Response Details
Status Code Description Response Headers
200 success -
200 filter by name -
*/ public okhttp3.Call listHeartbeatsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { @@ -810,9 +811,10 @@ public okhttp3.Call pingHeartbeatAsync(@javax.annotation.Nonnull String heartbea Status Code Description Response Headers 200 heartbeat updated - 404 resource not found - + 422 invalid enum value - */ - public okhttp3.Call updateHeartbeatCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateHeartbeatCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -859,7 +861,7 @@ public okhttp3.Call updateHeartbeatCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call updateHeartbeatValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateHeartbeatValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, 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 updateHeartbeat(Async)"); @@ -887,9 +889,10 @@ private okhttp3.Call updateHeartbeatValidateBeforeCall(@javax.annotation.Nonnull Status Code Description Response Headers 200 heartbeat updated - 404 resource not found - + 422 invalid enum value - */ - public HeartbeatResponse updateHeartbeat(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat) throws ApiException { + public HeartbeatResponse updateHeartbeat(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat) throws ApiException { ApiResponse localVarResp = updateHeartbeatWithHttpInfo(id, updateHeartbeat); return localVarResp.getData(); } @@ -907,9 +910,10 @@ public HeartbeatResponse updateHeartbeat(@javax.annotation.Nonnull String id, @j Status Code Description Response Headers 200 heartbeat updated - 404 resource not found - + 422 invalid enum value - */ - public ApiResponse updateHeartbeatWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat) throws ApiException { + public ApiResponse updateHeartbeatWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat) throws ApiException { okhttp3.Call localVarCall = updateHeartbeatValidateBeforeCall(id, updateHeartbeat, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -929,9 +933,10 @@ public ApiResponse updateHeartbeatWithHttpInfo(@javax.annotat Status Code Description Response Headers 200 heartbeat updated - 404 resource not found - + 422 invalid enum value - */ - public okhttp3.Call updateHeartbeatAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateHeartbeatAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateHeartbeat updateHeartbeat, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateHeartbeatValidateBeforeCall(id, updateHeartbeat, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IncidentActionItemsApi.java b/src/main/java/com/rootly/client/api/IncidentActionItemsApi.java index 3f7f1f23..4c15e48b 100644 --- a/src/main/java/com/rootly/client/api/IncidentActionItemsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentActionItemsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentEventFunctionalitiesApi.java b/src/main/java/com/rootly/client/api/IncidentEventFunctionalitiesApi.java index a2a313b9..c52749b3 100644 --- a/src/main/java/com/rootly/client/api/IncidentEventFunctionalitiesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentEventFunctionalitiesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentEventServicesApi.java b/src/main/java/com/rootly/client/api/IncidentEventServicesApi.java index 951b238d..b98b4380 100644 --- a/src/main/java/com/rootly/client/api/IncidentEventServicesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentEventServicesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentEventsApi.java b/src/main/java/com/rootly/client/api/IncidentEventsApi.java index 3018b76f..39b4ff7a 100644 --- a/src/main/java/com/rootly/client/api/IncidentEventsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentEventsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentFeedbacksApi.java b/src/main/java/com/rootly/client/api/IncidentFeedbacksApi.java index 7d09fc20..5b9dfdcc 100644 --- a/src/main/java/com/rootly/client/api/IncidentFeedbacksApi.java +++ b/src/main/java/com/rootly/client/api/IncidentFeedbacksApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentFormFieldSelectionsApi.java b/src/main/java/com/rootly/client/api/IncidentFormFieldSelectionsApi.java index 7191bcdd..4435bcf5 100644 --- a/src/main/java/com/rootly/client/api/IncidentFormFieldSelectionsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentFormFieldSelectionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentPermissionSetBooleansApi.java b/src/main/java/com/rootly/client/api/IncidentPermissionSetBooleansApi.java index 338cf5d4..f3c970fe 100644 --- a/src/main/java/com/rootly/client/api/IncidentPermissionSetBooleansApi.java +++ b/src/main/java/com/rootly/client/api/IncidentPermissionSetBooleansApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentPermissionSetResourcesApi.java b/src/main/java/com/rootly/client/api/IncidentPermissionSetResourcesApi.java index 94719e7e..4d0b6902 100644 --- a/src/main/java/com/rootly/client/api/IncidentPermissionSetResourcesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentPermissionSetResourcesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentPermissionSetsApi.java b/src/main/java/com/rootly/client/api/IncidentPermissionSetsApi.java index 35af70f7..37bb1563 100644 --- a/src/main/java/com/rootly/client/api/IncidentPermissionSetsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentPermissionSetsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentPermissionSetList; import com.rootly.client.model.IncidentPermissionSetResponse; import com.rootly.client.model.NewIncidentPermissionSet; @@ -225,7 +226,7 @@ public okhttp3.Call createIncidentPermissionSetAsync(@javax.annotation.Nonnull N 404 resource not found - */ - public okhttp3.Call deleteIncidentPermissionSetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentPermissionSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteIncidentPermissionSetCall(@javax.annotation.Nonnull St } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteIncidentPermissionSet(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteIncidentPermissionSetValidateBeforeCall(@javax.annota 404 resource not found - */ - public IncidentPermissionSetResponse deleteIncidentPermissionSet(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentPermissionSetResponse deleteIncidentPermissionSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteIncidentPermissionSetWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public IncidentPermissionSetResponse deleteIncidentPermissionSet(@javax.annotati 404 resource not found - */ - public ApiResponse deleteIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteIncidentPermissionSetValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteIncidentPermissionSetWit 404 resource not found - */ - public okhttp3.Call deleteIncidentPermissionSetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentPermissionSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteIncidentPermissionSetValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteIncidentPermissionSetAsync(@javax.annotation.Nonnull S 404 resource not found - */ - public okhttp3.Call getIncidentPermissionSetCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentPermissionSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getIncidentPermissionSetCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call getIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getIncidentPermissionSet(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getIncidentPermissionSetValidateBeforeCall(@javax.annotatio 404 resource not found - */ - public IncidentPermissionSetResponse getIncidentPermissionSet(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentPermissionSetResponse getIncidentPermissionSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getIncidentPermissionSetWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public IncidentPermissionSetResponse getIncidentPermissionSet(@javax.annotation. 404 resource not found - */ - public ApiResponse getIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getIncidentPermissionSetValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getIncidentPermissionSetWithHt 404 resource not found - */ - public okhttp3.Call getIncidentPermissionSetAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentPermissionSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getIncidentPermissionSetValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -693,7 +694,7 @@ public okhttp3.Call listIncidentPermissionSetsAsync(@javax.annotation.Nullable S 404 resource not found - */ - public okhttp3.Call updateIncidentPermissionSetCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentPermissionSetCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -740,7 +741,7 @@ public okhttp3.Call updateIncidentPermissionSetCall(@javax.annotation.Nonnull St } @SuppressWarnings("rawtypes") - private okhttp3.Call updateIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateIncidentPermissionSetValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, 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 updateIncidentPermissionSet(Async)"); @@ -770,7 +771,7 @@ private okhttp3.Call updateIncidentPermissionSetValidateBeforeCall(@javax.annota 404 resource not found - */ - public IncidentPermissionSetResponse updateIncidentPermissionSet(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet) throws ApiException { + public IncidentPermissionSetResponse updateIncidentPermissionSet(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet) throws ApiException { ApiResponse localVarResp = updateIncidentPermissionSetWithHttpInfo(id, updateIncidentPermissionSet); return localVarResp.getData(); } @@ -790,7 +791,7 @@ public IncidentPermissionSetResponse updateIncidentPermissionSet(@javax.annotati 404 resource not found - */ - public ApiResponse updateIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet) throws ApiException { + public ApiResponse updateIncidentPermissionSetWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet) throws ApiException { okhttp3.Call localVarCall = updateIncidentPermissionSetValidateBeforeCall(id, updateIncidentPermissionSet, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -812,7 +813,7 @@ public ApiResponse updateIncidentPermissionSetWit 404 resource not found - */ - public okhttp3.Call updateIncidentPermissionSetAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentPermissionSetAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPermissionSet updateIncidentPermissionSet, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateIncidentPermissionSetValidateBeforeCall(id, updateIncidentPermissionSet, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IncidentRetrospectiveStepsApi.java b/src/main/java/com/rootly/client/api/IncidentRetrospectiveStepsApi.java index d40848cb..ce84d4d4 100644 --- a/src/main/java/com/rootly/client/api/IncidentRetrospectiveStepsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentRetrospectiveStepsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java b/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java index 2fa141ca..67f98c43 100644 --- a/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentRetrospectivesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentPostMortemList; import com.rootly.client.model.IncidentPostMortemResponse; import com.rootly.client.model.UpdateIncidentPostMortem; @@ -85,10 +86,18 @@ public void setCustomBaseUrl(String customBaseUrl) { * @param filterSeverity (optional) * @param filterType (optional) * @param filterUserId (optional) - * @param filterEnvironments (optional) - * @param filterFunctionalities (optional) - * @param filterServices (optional) - * @param filterTeams (optional) + * @param filterTypes Filter by incident type slugs (optional) + * @param filterTypeIds Filter by incident type IDs (UUIDs) (optional) + * @param filterEnvironments Filter by environment slugs (optional) + * @param filterEnvironmentIds Filter by environment IDs (UUIDs) (optional) + * @param filterFunctionalities Filter by functionality slugs (optional) + * @param filterFunctionalityIds Filter by functionality IDs (UUIDs) (optional) + * @param filterServices Filter by service slugs (optional) + * @param filterServiceIds Filter by service IDs (UUIDs) (optional) + * @param filterTeams Filter by team/group slugs (optional) + * @param filterTeamIds Filter by team/group IDs (UUIDs) (optional) + * @param filterCauses Filter by cause slugs (optional) + * @param filterCauseIds Filter by cause IDs (UUIDs) (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -116,7 +125,7 @@ public void setCustomBaseUrl(String customBaseUrl) { 200 success - */ - public okhttp3.Call listIncidentPostMortemsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentPostMortemsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCauses, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -173,22 +182,54 @@ public okhttp3.Call listIncidentPostMortemsCall(@javax.annotation.Nullable Strin localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[user_id]", filterUserId)); } + if (filterTypes != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[types]", filterTypes)); + } + + if (filterTypeIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[type_ids]", filterTypeIds)); + } + if (filterEnvironments != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[environments]", filterEnvironments)); } + if (filterEnvironmentIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[environment_ids]", filterEnvironmentIds)); + } + if (filterFunctionalities != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[functionalities]", filterFunctionalities)); } + if (filterFunctionalityIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[functionality_ids]", filterFunctionalityIds)); + } + if (filterServices != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[services]", filterServices)); } + if (filterServiceIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[service_ids]", filterServiceIds)); + } + if (filterTeams != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[teams]", filterTeams)); } + if (filterTeamIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[team_ids]", filterTeamIds)); + } + + if (filterCauses != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[causes]", filterCauses)); + } + + if (filterCauseIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[cause_ids]", filterCauseIds)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -277,8 +318,8 @@ public okhttp3.Call listIncidentPostMortemsCall(@javax.annotation.Nullable Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call listIncidentPostMortemsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - return listIncidentPostMortemsCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, _callback); + private okhttp3.Call listIncidentPostMortemsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCauses, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listIncidentPostMortemsCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, _callback); } @@ -293,10 +334,18 @@ private okhttp3.Call listIncidentPostMortemsValidateBeforeCall(@javax.annotation * @param filterSeverity (optional) * @param filterType (optional) * @param filterUserId (optional) - * @param filterEnvironments (optional) - * @param filterFunctionalities (optional) - * @param filterServices (optional) - * @param filterTeams (optional) + * @param filterTypes Filter by incident type slugs (optional) + * @param filterTypeIds Filter by incident type IDs (UUIDs) (optional) + * @param filterEnvironments Filter by environment slugs (optional) + * @param filterEnvironmentIds Filter by environment IDs (UUIDs) (optional) + * @param filterFunctionalities Filter by functionality slugs (optional) + * @param filterFunctionalityIds Filter by functionality IDs (UUIDs) (optional) + * @param filterServices Filter by service slugs (optional) + * @param filterServiceIds Filter by service IDs (UUIDs) (optional) + * @param filterTeams Filter by team/group slugs (optional) + * @param filterTeamIds Filter by team/group IDs (UUIDs) (optional) + * @param filterCauses Filter by cause slugs (optional) + * @param filterCauseIds Filter by cause IDs (UUIDs) (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -323,8 +372,8 @@ private okhttp3.Call listIncidentPostMortemsValidateBeforeCall(@javax.annotation 200 success - */ - public IncidentPostMortemList listIncidentPostMortems(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - ApiResponse localVarResp = listIncidentPostMortemsWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); + public IncidentPostMortemList listIncidentPostMortems(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCauses, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listIncidentPostMortemsWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); return localVarResp.getData(); } @@ -339,10 +388,18 @@ public IncidentPostMortemList listIncidentPostMortems(@javax.annotation.Nullable * @param filterSeverity (optional) * @param filterType (optional) * @param filterUserId (optional) - * @param filterEnvironments (optional) - * @param filterFunctionalities (optional) - * @param filterServices (optional) - * @param filterTeams (optional) + * @param filterTypes Filter by incident type slugs (optional) + * @param filterTypeIds Filter by incident type IDs (UUIDs) (optional) + * @param filterEnvironments Filter by environment slugs (optional) + * @param filterEnvironmentIds Filter by environment IDs (UUIDs) (optional) + * @param filterFunctionalities Filter by functionality slugs (optional) + * @param filterFunctionalityIds Filter by functionality IDs (UUIDs) (optional) + * @param filterServices Filter by service slugs (optional) + * @param filterServiceIds Filter by service IDs (UUIDs) (optional) + * @param filterTeams Filter by team/group slugs (optional) + * @param filterTeamIds Filter by team/group IDs (UUIDs) (optional) + * @param filterCauses Filter by cause slugs (optional) + * @param filterCauseIds Filter by cause IDs (UUIDs) (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -369,8 +426,8 @@ public IncidentPostMortemList listIncidentPostMortems(@javax.annotation.Nullable 200 success - */ - public ApiResponse listIncidentPostMortemsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - okhttp3.Call localVarCall = listIncidentPostMortemsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, null); + public ApiResponse listIncidentPostMortemsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCauses, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listIncidentPostMortemsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -386,10 +443,18 @@ public ApiResponse listIncidentPostMortemsWithHttpInfo(@ * @param filterSeverity (optional) * @param filterType (optional) * @param filterUserId (optional) - * @param filterEnvironments (optional) - * @param filterFunctionalities (optional) - * @param filterServices (optional) - * @param filterTeams (optional) + * @param filterTypes Filter by incident type slugs (optional) + * @param filterTypeIds Filter by incident type IDs (UUIDs) (optional) + * @param filterEnvironments Filter by environment slugs (optional) + * @param filterEnvironmentIds Filter by environment IDs (UUIDs) (optional) + * @param filterFunctionalities Filter by functionality slugs (optional) + * @param filterFunctionalityIds Filter by functionality IDs (UUIDs) (optional) + * @param filterServices Filter by service slugs (optional) + * @param filterServiceIds Filter by service IDs (UUIDs) (optional) + * @param filterTeams Filter by team/group slugs (optional) + * @param filterTeamIds Filter by team/group IDs (UUIDs) (optional) + * @param filterCauses Filter by cause slugs (optional) + * @param filterCauseIds Filter by cause IDs (UUIDs) (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -417,9 +482,9 @@ public ApiResponse listIncidentPostMortemsWithHttpInfo(@ 200 success - */ - public okhttp3.Call listIncidentPostMortemsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentPostMortemsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterType, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCauses, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listIncidentPostMortemsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, _callback); + okhttp3.Call localVarCall = listIncidentPostMortemsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -438,7 +503,7 @@ public okhttp3.Call listIncidentPostMortemsAsync(@javax.annotation.Nullable Stri 404 resource not found - */ - public okhttp3.Call listIncidentPostmortemCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentPostmortemCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -484,7 +549,7 @@ public okhttp3.Call listIncidentPostmortemCall(@javax.annotation.Nonnull String } @SuppressWarnings("rawtypes") - private okhttp3.Call listIncidentPostmortemValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call listIncidentPostmortemValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 listIncidentPostmortem(Async)"); @@ -508,7 +573,7 @@ private okhttp3.Call listIncidentPostmortemValidateBeforeCall(@javax.annotation. 404 resource not found - */ - public IncidentPostMortemResponse listIncidentPostmortem(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentPostMortemResponse listIncidentPostmortem(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = listIncidentPostmortemWithHttpInfo(id); return localVarResp.getData(); } @@ -527,7 +592,7 @@ public IncidentPostMortemResponse listIncidentPostmortem(@javax.annotation.Nonnu 404 resource not found - */ - public ApiResponse listIncidentPostmortemWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse listIncidentPostmortemWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = listIncidentPostmortemValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -548,7 +613,7 @@ public ApiResponse listIncidentPostmortemWithHttpInf 404 resource not found - */ - public okhttp3.Call listIncidentPostmortemAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentPostmortemAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = listIncidentPostmortemValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -570,7 +635,7 @@ public okhttp3.Call listIncidentPostmortemAsync(@javax.annotation.Nonnull String 404 resource not found - */ - public okhttp3.Call updateIncidentPostmortemCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentPostmortemCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -617,7 +682,7 @@ public okhttp3.Call updateIncidentPostmortemCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call updateIncidentPostmortemValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateIncidentPostmortemValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, 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 updateIncidentPostmortem(Async)"); @@ -647,7 +712,7 @@ private okhttp3.Call updateIncidentPostmortemValidateBeforeCall(@javax.annotatio 404 resource not found - */ - public IncidentPostMortemResponse updateIncidentPostmortem(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { + public IncidentPostMortemResponse updateIncidentPostmortem(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { ApiResponse localVarResp = updateIncidentPostmortemWithHttpInfo(id, updateIncidentPostMortem); return localVarResp.getData(); } @@ -667,7 +732,7 @@ public IncidentPostMortemResponse updateIncidentPostmortem(@javax.annotation.Non 404 resource not found - */ - public ApiResponse updateIncidentPostmortemWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { + public ApiResponse updateIncidentPostmortemWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem) throws ApiException { okhttp3.Call localVarCall = updateIncidentPostmortemValidateBeforeCall(id, updateIncidentPostMortem, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -689,7 +754,7 @@ public ApiResponse updateIncidentPostmortemWithHttpI 404 resource not found - */ - public okhttp3.Call updateIncidentPostmortemAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentPostmortemAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentPostMortem updateIncidentPostMortem, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateIncidentPostmortemValidateBeforeCall(id, updateIncidentPostMortem, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IncidentRoleTasksApi.java b/src/main/java/com/rootly/client/api/IncidentRoleTasksApi.java index cc23eaca..4827878d 100644 --- a/src/main/java/com/rootly/client/api/IncidentRoleTasksApi.java +++ b/src/main/java/com/rootly/client/api/IncidentRoleTasksApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentRolesApi.java b/src/main/java/com/rootly/client/api/IncidentRolesApi.java index e9dccf8e..99372337 100644 --- a/src/main/java/com/rootly/client/api/IncidentRolesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentRolesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentRoleList; import com.rootly.client.model.IncidentRoleResponse; import com.rootly.client.model.NewIncidentRole; @@ -225,7 +226,7 @@ public okhttp3.Call createIncidentRoleAsync(@javax.annotation.Nonnull NewInciden 404 resource not found - */ - public okhttp3.Call deleteIncidentRoleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteIncidentRoleCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteIncidentRole(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteIncidentRoleValidateBeforeCall(@javax.annotation.Nonn 404 resource not found - */ - public IncidentRoleResponse deleteIncidentRole(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentRoleResponse deleteIncidentRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteIncidentRoleWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public IncidentRoleResponse deleteIncidentRole(@javax.annotation.Nonnull String 404 resource not found - */ - public ApiResponse deleteIncidentRoleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteIncidentRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteIncidentRoleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteIncidentRoleWithHttpInfo(@javax.a 404 resource not found - */ - public okhttp3.Call deleteIncidentRoleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteIncidentRoleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteIncidentRoleAsync(@javax.annotation.Nonnull String id, 404 resource not found - */ - public okhttp3.Call getIncidentRoleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getIncidentRoleCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call getIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getIncidentRole(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentRoleResponse getIncidentRole(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentRoleResponse getIncidentRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getIncidentRoleWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public IncidentRoleResponse getIncidentRole(@javax.annotation.Nonnull String id) 404 resource not found - */ - public ApiResponse getIncidentRoleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getIncidentRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getIncidentRoleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getIncidentRoleWithHttpInfo(@javax.anno 404 resource not found - */ - public okhttp3.Call getIncidentRoleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getIncidentRoleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -475,7 +476,6 @@ public okhttp3.Call getIncidentRoleAsync(@javax.annotation.Nonnull String id, fi } /** * Build call for listIncidentRoles - * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -497,7 +497,7 @@ public okhttp3.Call getIncidentRoleAsync(@javax.annotation.Nonnull String id, fi 200 success - */ - public okhttp3.Call listIncidentRolesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentRolesCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -522,10 +522,6 @@ public okhttp3.Call listIncidentRolesCall(@javax.annotation.Nullable String incl 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)); } @@ -590,15 +586,14 @@ public okhttp3.Call listIncidentRolesCall(@javax.annotation.Nullable String incl } @SuppressWarnings("rawtypes") - private okhttp3.Call listIncidentRolesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - return listIncidentRolesCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + private okhttp3.Call listIncidentRolesValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listIncidentRolesCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); } /** * List incident roles * List incident roles - * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -619,15 +614,14 @@ private okhttp3.Call listIncidentRolesValidateBeforeCall(@javax.annotation.Nulla 200 success - */ - public IncidentRoleList listIncidentRoles(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - ApiResponse localVarResp = listIncidentRolesWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + public IncidentRoleList listIncidentRoles(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listIncidentRolesWithHttpInfo(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); return localVarResp.getData(); } /** * List incident roles * List incident roles - * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -648,8 +642,8 @@ public IncidentRoleList listIncidentRoles(@javax.annotation.Nullable String incl 200 success - */ - public ApiResponse listIncidentRolesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - okhttp3.Call localVarCall = listIncidentRolesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + public ApiResponse listIncidentRolesWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listIncidentRolesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -657,7 +651,6 @@ public ApiResponse listIncidentRolesWithHttpInfo(@javax.annota /** * List incident roles (asynchronously) * List incident roles - * @param include (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -679,9 +672,9 @@ public ApiResponse listIncidentRolesWithHttpInfo(@javax.annota 200 success - */ - public okhttp3.Call listIncidentRolesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentRolesAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listIncidentRolesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + okhttp3.Call localVarCall = listIncidentRolesValidateBeforeCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -701,7 +694,7 @@ public okhttp3.Call listIncidentRolesAsync(@javax.annotation.Nullable String inc 404 resource not found - */ - public okhttp3.Call updateIncidentRoleCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -748,7 +741,7 @@ public okhttp3.Call updateIncidentRoleCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call updateIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateIncidentRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, 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 updateIncidentRole(Async)"); @@ -778,7 +771,7 @@ private okhttp3.Call updateIncidentRoleValidateBeforeCall(@javax.annotation.Nonn 404 resource not found - */ - public IncidentRoleResponse updateIncidentRole(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole) throws ApiException { + public IncidentRoleResponse updateIncidentRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole) throws ApiException { ApiResponse localVarResp = updateIncidentRoleWithHttpInfo(id, updateIncidentRole); return localVarResp.getData(); } @@ -798,7 +791,7 @@ public IncidentRoleResponse updateIncidentRole(@javax.annotation.Nonnull String 404 resource not found - */ - public ApiResponse updateIncidentRoleWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole) throws ApiException { + public ApiResponse updateIncidentRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole) throws ApiException { okhttp3.Call localVarCall = updateIncidentRoleValidateBeforeCall(id, updateIncidentRole, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -820,7 +813,7 @@ public ApiResponse updateIncidentRoleWithHttpInfo(@javax.a 404 resource not found - */ - public okhttp3.Call updateIncidentRoleAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentRole updateIncidentRole, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateIncidentRoleValidateBeforeCall(id, updateIncidentRole, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java b/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java index 6d5cbd5c..e924389d 100644 --- a/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentStatusPageEventsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentSubStatusesApi.java b/src/main/java/com/rootly/client/api/IncidentSubStatusesApi.java index cf528785..dd8387b3 100644 --- a/src/main/java/com/rootly/client/api/IncidentSubStatusesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentSubStatusesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/IncidentTypesApi.java b/src/main/java/com/rootly/client/api/IncidentTypesApi.java index f0d4f66f..a71542b3 100644 --- a/src/main/java/com/rootly/client/api/IncidentTypesApi.java +++ b/src/main/java/com/rootly/client/api/IncidentTypesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,9 +27,13 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentTypeList; import com.rootly.client.model.IncidentTypeResponse; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewIncidentType; import com.rootly.client.model.UpdateIncidentType; @@ -211,6 +215,141 @@ public okhttp3.Call createIncidentTypeAsync(@javax.annotation.Nonnull NewInciden localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for createIncidentTypeCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createIncidentTypeCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/incident_types/properties"; + + 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 createIncidentTypeCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createIncidentTypeCatalogProperty(Async)"); + } + + return createIncidentTypeCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createIncidentTypeCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createIncidentTypeCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createIncidentTypeCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createIncidentTypeCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createIncidentTypeCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createIncidentTypeCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for deleteIncidentType * @param id (required) @@ -225,7 +364,7 @@ public okhttp3.Call createIncidentTypeAsync(@javax.annotation.Nonnull NewInciden 404 resource not found - */ - public okhttp3.Call deleteIncidentTypeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentTypeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteIncidentTypeCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteIncidentType(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteIncidentTypeValidateBeforeCall(@javax.annotation.Nonn 404 resource not found - */ - public IncidentTypeResponse deleteIncidentType(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentTypeResponse deleteIncidentType(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteIncidentTypeWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public IncidentTypeResponse deleteIncidentType(@javax.annotation.Nonnull String 404 resource not found - */ - public ApiResponse deleteIncidentTypeWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteIncidentTypeWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteIncidentTypeValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteIncidentTypeWithHttpInfo(@javax.a 404 resource not found - */ - public okhttp3.Call deleteIncidentTypeAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentTypeAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteIncidentTypeValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +491,11 @@ public okhttp3.Call deleteIncidentTypeAsync(@javax.annotation.Nonnull String id, - +
Response Details
Status Code Description Response Headers
200 incident_type found -
200 incident_type found by slug -
404 resource not found -
*/ - public okhttp3.Call getIncidentTypeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentTypeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +541,7 @@ public okhttp3.Call getIncidentTypeCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call getIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getIncidentType(Async)"); @@ -422,11 +561,11 @@ private okhttp3.Call getIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull - +
Response Details
Status Code Description Response Headers
200 incident_type found -
200 incident_type found by slug -
404 resource not found -
*/ - public IncidentTypeResponse getIncidentType(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentTypeResponse getIncidentType(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getIncidentTypeWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +580,11 @@ public IncidentTypeResponse getIncidentType(@javax.annotation.Nonnull String id) - +
Response Details
Status Code Description Response Headers
200 incident_type found -
200 incident_type found by slug -
404 resource not found -
*/ - public ApiResponse getIncidentTypeWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getIncidentTypeWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getIncidentTypeValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,17 +601,222 @@ public ApiResponse getIncidentTypeWithHttpInfo(@javax.anno - +
Response Details
Status Code Description Response Headers
200 incident_type found -
200 incident_type found by slug -
404 resource not found -
*/ - public okhttp3.Call getIncidentTypeAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentTypeAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getIncidentTypeValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listIncidentTypeCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listIncidentTypeCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/incident_types/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listIncidentTypeCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listIncidentTypeCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List IncidentType Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listIncidentTypeCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listIncidentTypeCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List IncidentType Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listIncidentTypeCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listIncidentTypeCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List IncidentType Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listIncidentTypeCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listIncidentTypeCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for listIncidentTypes * @param include (optional) @@ -693,7 +1037,7 @@ public okhttp3.Call listIncidentTypesAsync(@javax.annotation.Nullable String inc 404 resource not found - */ - public okhttp3.Call updateIncidentTypeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentTypeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -740,7 +1084,7 @@ public okhttp3.Call updateIncidentTypeCall(@javax.annotation.Nonnull String id, } @SuppressWarnings("rawtypes") - private okhttp3.Call updateIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateIncidentTypeValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, 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 updateIncidentType(Async)"); @@ -770,7 +1114,7 @@ private okhttp3.Call updateIncidentTypeValidateBeforeCall(@javax.annotation.Nonn 404 resource not found - */ - public IncidentTypeResponse updateIncidentType(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType) throws ApiException { + public IncidentTypeResponse updateIncidentType(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType) throws ApiException { ApiResponse localVarResp = updateIncidentTypeWithHttpInfo(id, updateIncidentType); return localVarResp.getData(); } @@ -790,7 +1134,7 @@ public IncidentTypeResponse updateIncidentType(@javax.annotation.Nonnull String 404 resource not found - */ - public ApiResponse updateIncidentTypeWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType) throws ApiException { + public ApiResponse updateIncidentTypeWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType) throws ApiException { okhttp3.Call localVarCall = updateIncidentTypeValidateBeforeCall(id, updateIncidentType, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -812,7 +1156,7 @@ public ApiResponse updateIncidentTypeWithHttpInfo(@javax.a 404 resource not found - */ - public okhttp3.Call updateIncidentTypeAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentTypeAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncidentType updateIncidentType, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateIncidentTypeValidateBeforeCall(id, updateIncidentType, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IncidentsApi.java b/src/main/java/com/rootly/client/api/IncidentsApi.java index 16e62d76..c8fc07dd 100644 --- a/src/main/java/com/rootly/client/api/IncidentsApi.java +++ b/src/main/java/com/rootly/client/api/IncidentsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -31,6 +31,7 @@ import com.rootly.client.model.AssignRoleToUser; import com.rootly.client.model.CancelIncident; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.InTriageIncident; import com.rootly.client.model.IncidentList; import com.rootly.client.model.IncidentResponse; @@ -100,7 +101,7 @@ public void setCustomBaseUrl(String customBaseUrl) { 404 resource not found - */ - public okhttp3.Call addSubscribersToIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AddSubscribers addSubscribers, final ApiCallback _callback) throws ApiException { + public okhttp3.Call addSubscribersToIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AddSubscribers addSubscribers, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -147,7 +148,7 @@ public okhttp3.Call addSubscribersToIncidentCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call addSubscribersToIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AddSubscribers addSubscribers, final ApiCallback _callback) throws ApiException { + private okhttp3.Call addSubscribersToIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AddSubscribers addSubscribers, 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 addSubscribersToIncident(Async)"); @@ -177,7 +178,7 @@ private okhttp3.Call addSubscribersToIncidentValidateBeforeCall(@javax.annotatio 404 resource not found - */ - public IncidentResponse addSubscribersToIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AddSubscribers addSubscribers) throws ApiException { + public IncidentResponse addSubscribersToIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AddSubscribers addSubscribers) throws ApiException { ApiResponse localVarResp = addSubscribersToIncidentWithHttpInfo(id, addSubscribers); return localVarResp.getData(); } @@ -197,7 +198,7 @@ public IncidentResponse addSubscribersToIncident(@javax.annotation.Nonnull Strin 404 resource not found - */ - public ApiResponse addSubscribersToIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AddSubscribers addSubscribers) throws ApiException { + public ApiResponse addSubscribersToIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AddSubscribers addSubscribers) throws ApiException { okhttp3.Call localVarCall = addSubscribersToIncidentValidateBeforeCall(id, addSubscribers, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -219,7 +220,7 @@ public ApiResponse addSubscribersToIncidentWithHttpInfo(@javax 404 resource not found - */ - public okhttp3.Call addSubscribersToIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AddSubscribers addSubscribers, final ApiCallback _callback) throws ApiException { + public okhttp3.Call addSubscribersToIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AddSubscribers addSubscribers, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = addSubscribersToIncidentValidateBeforeCall(id, addSubscribers, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -241,7 +242,7 @@ public okhttp3.Call addSubscribersToIncidentAsync(@javax.annotation.Nonnull Stri 404 resource not found - */ - public okhttp3.Call assignUserToIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assignUserToIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -288,7 +289,7 @@ public okhttp3.Call assignUserToIncidentCall(@javax.annotation.Nonnull String id } @SuppressWarnings("rawtypes") - private okhttp3.Call assignUserToIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, final ApiCallback _callback) throws ApiException { + private okhttp3.Call assignUserToIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, 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 assignUserToIncident(Async)"); @@ -318,7 +319,7 @@ private okhttp3.Call assignUserToIncidentValidateBeforeCall(@javax.annotation.No 404 resource not found - */ - public IncidentResponse assignUserToIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser) throws ApiException { + public IncidentResponse assignUserToIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser) throws ApiException { ApiResponse localVarResp = assignUserToIncidentWithHttpInfo(id, assignRoleToUser); return localVarResp.getData(); } @@ -338,7 +339,7 @@ public IncidentResponse assignUserToIncident(@javax.annotation.Nonnull String id 404 resource not found - */ - public ApiResponse assignUserToIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser) throws ApiException { + public ApiResponse assignUserToIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser) throws ApiException { okhttp3.Call localVarCall = assignUserToIncidentValidateBeforeCall(id, assignRoleToUser, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -360,7 +361,7 @@ public ApiResponse assignUserToIncidentWithHttpInfo(@javax.ann 404 resource not found - */ - public okhttp3.Call assignUserToIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, final ApiCallback _callback) throws ApiException { + public okhttp3.Call assignUserToIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull AssignRoleToUser assignRoleToUser, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = assignUserToIncidentValidateBeforeCall(id, assignRoleToUser, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -382,7 +383,7 @@ public okhttp3.Call assignUserToIncidentAsync(@javax.annotation.Nonnull String i 404 resource not found - */ - public okhttp3.Call cancelIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CancelIncident cancelIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call cancelIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull CancelIncident cancelIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -429,7 +430,7 @@ public okhttp3.Call cancelIncidentCall(@javax.annotation.Nonnull String id, @jav } @SuppressWarnings("rawtypes") - private okhttp3.Call cancelIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CancelIncident cancelIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call cancelIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull CancelIncident cancelIncident, 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 cancelIncident(Async)"); @@ -459,7 +460,7 @@ private okhttp3.Call cancelIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse cancelIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CancelIncident cancelIncident) throws ApiException { + public IncidentResponse cancelIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull CancelIncident cancelIncident) throws ApiException { ApiResponse localVarResp = cancelIncidentWithHttpInfo(id, cancelIncident); return localVarResp.getData(); } @@ -479,7 +480,7 @@ public IncidentResponse cancelIncident(@javax.annotation.Nonnull String id, @jav 404 resource not found - */ - public ApiResponse cancelIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CancelIncident cancelIncident) throws ApiException { + public ApiResponse cancelIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull CancelIncident cancelIncident) throws ApiException { okhttp3.Call localVarCall = cancelIncidentValidateBeforeCall(id, cancelIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -501,7 +502,7 @@ public ApiResponse cancelIncidentWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call cancelIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull CancelIncident cancelIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call cancelIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull CancelIncident cancelIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = cancelIncidentValidateBeforeCall(id, cancelIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -657,7 +658,7 @@ public okhttp3.Call createIncidentAsync(@javax.annotation.Nonnull NewIncident ne 404 resource not found - */ - public okhttp3.Call deleteIncidentCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -703,7 +704,7 @@ public okhttp3.Call deleteIncidentCall(@javax.annotation.Nonnull String id, fina } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteIncident(Async)"); @@ -727,7 +728,7 @@ private okhttp3.Call deleteIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse deleteIncident(@javax.annotation.Nonnull String id) throws ApiException { + public IncidentResponse deleteIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteIncidentWithHttpInfo(id); return localVarResp.getData(); } @@ -746,7 +747,7 @@ public IncidentResponse deleteIncident(@javax.annotation.Nonnull String id) thro 404 resource not found - */ - public ApiResponse deleteIncidentWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteIncidentValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -767,13 +768,148 @@ public ApiResponse deleteIncidentWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call deleteIncidentAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteIncidentValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for detachFromParentIncident + * @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 incident detached from parent -
422 incident has no parent -
404 resource not found -
+ */ + public okhttp3.Call detachFromParentIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/incidents/{id}/detach_from_parent" + .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, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call detachFromParentIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 detachFromParentIncident(Async)"); + } + + return detachFromParentIncidentCall(id, _callback); + + } + + /** + * Detach an incident from its parent + * Detach a sub-incident from its parent incident + * @param id (required) + * @return IncidentResponse + * @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 detached from parent -
422 incident has no parent -
404 resource not found -
+ */ + public IncidentResponse detachFromParentIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = detachFromParentIncidentWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Detach an incident from its parent + * Detach a sub-incident from its parent incident + * @param id (required) + * @return ApiResponse<IncidentResponse> + * @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 detached from parent -
422 incident has no parent -
404 resource not found -
+ */ + public ApiResponse detachFromParentIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = detachFromParentIncidentValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Detach an incident from its parent (asynchronously) + * Detach a sub-incident from its parent incident + * @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 incident detached from parent -
422 incident has no parent -
404 resource not found -
+ */ + public okhttp3.Call detachFromParentIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = detachFromParentIncidentValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for getIncident * @param id (required) @@ -785,11 +921,11 @@ public okhttp3.Call deleteIncidentAsync(@javax.annotation.Nonnull String id, fin - +
Response Details
Status Code Description Response Headers
200 incident found -
200 incident found by slug -
404 resource not found -
*/ - public okhttp3.Call getIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -839,7 +975,7 @@ public okhttp3.Call getIncidentCall(@javax.annotation.Nonnull String id, @javax. } @SuppressWarnings("rawtypes") - private okhttp3.Call getIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, 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 getIncident(Async)"); @@ -860,11 +996,11 @@ private okhttp3.Call getIncidentValidateBeforeCall(@javax.annotation.Nonnull Str - +
Response Details
Status Code Description Response Headers
200 incident found -
200 incident found by slug -
404 resource not found -
*/ - public IncidentResponse getIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public IncidentResponse getIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getIncidentWithHttpInfo(id, include); return localVarResp.getData(); } @@ -880,11 +1016,11 @@ public IncidentResponse getIncident(@javax.annotation.Nonnull String id, @javax. - +
Response Details
Status Code Description Response Headers
200 incident found -
200 incident found by slug -
404 resource not found -
*/ - public ApiResponse getIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public ApiResponse getIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getIncidentValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -902,11 +1038,11 @@ public ApiResponse getIncidentWithHttpInfo(@javax.annotation.N - +
Response Details
Status Code Description Response Headers
200 incident found -
200 incident found by slug -
404 resource not found -
*/ - public okhttp3.Call getIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getIncidentValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -931,13 +1067,17 @@ public okhttp3.Call getIncidentAsync(@javax.annotation.Nonnull String id, @javax * @param filterEnvironmentIds (optional) * @param filterFunctionalities (optional) * @param filterFunctionalityIds (optional) + * @param filterFunctionalityNames (optional) * @param filterServices (optional) * @param filterServiceIds (optional) + * @param filterServiceNames (optional) * @param filterTeams (optional) * @param filterTeamIds (optional) + * @param filterTeamNames (optional) * @param filterCause (optional) * @param filterCauseIds (optional) * @param filterCustomFieldSelectedOptionIds (optional) + * @param filterSlackChannelId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -986,7 +1126,7 @@ public okhttp3.Call getIncidentAsync(@javax.annotation.Nonnull String id, @javax 200 success - */ - public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterFunctionalityNames, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterServiceNames, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterTeamNames, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterSlackChannelId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1075,6 +1215,10 @@ public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNum localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[functionality_ids]", filterFunctionalityIds)); } + if (filterFunctionalityNames != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[functionality_names]", filterFunctionalityNames)); + } + if (filterServices != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[services]", filterServices)); } @@ -1083,6 +1227,10 @@ public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNum localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[service_ids]", filterServiceIds)); } + if (filterServiceNames != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[service_names]", filterServiceNames)); + } + if (filterTeams != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[teams]", filterTeams)); } @@ -1091,6 +1239,10 @@ public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNum localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[team_ids]", filterTeamIds)); } + if (filterTeamNames != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[team_names]", filterTeamNames)); + } + if (filterCause != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[cause]", filterCause)); } @@ -1103,6 +1255,10 @@ public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNum localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[custom_field_selected_option_ids]", filterCustomFieldSelectedOptionIds)); } + if (filterSlackChannelId != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slack_channel_id]", filterSlackChannelId)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -1275,8 +1431,8 @@ public okhttp3.Call listIncidentsCall(@javax.annotation.Nullable Integer pageNum } @SuppressWarnings("rawtypes") - private okhttp3.Call listIncidentsValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { - return listIncidentsCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, _callback); + private okhttp3.Call listIncidentsValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterFunctionalityNames, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterServiceNames, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterTeamNames, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterSlackChannelId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + return listIncidentsCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, _callback); } @@ -1299,13 +1455,17 @@ private okhttp3.Call listIncidentsValidateBeforeCall(@javax.annotation.Nullable * @param filterEnvironmentIds (optional) * @param filterFunctionalities (optional) * @param filterFunctionalityIds (optional) + * @param filterFunctionalityNames (optional) * @param filterServices (optional) * @param filterServiceIds (optional) + * @param filterServiceNames (optional) * @param filterTeams (optional) * @param filterTeamIds (optional) + * @param filterTeamNames (optional) * @param filterCause (optional) * @param filterCauseIds (optional) * @param filterCustomFieldSelectedOptionIds (optional) + * @param filterSlackChannelId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -1353,8 +1513,8 @@ private okhttp3.Call listIncidentsValidateBeforeCall(@javax.annotation.Nullable 200 success - */ - public IncidentList listIncidents(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include) throws ApiException { - ApiResponse localVarResp = listIncidentsWithHttpInfo(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); + public IncidentList listIncidents(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterFunctionalityNames, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterServiceNames, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterTeamNames, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterSlackChannelId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = listIncidentsWithHttpInfo(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); return localVarResp.getData(); } @@ -1377,13 +1537,17 @@ public IncidentList listIncidents(@javax.annotation.Nullable Integer pageNumber, * @param filterEnvironmentIds (optional) * @param filterFunctionalities (optional) * @param filterFunctionalityIds (optional) + * @param filterFunctionalityNames (optional) * @param filterServices (optional) * @param filterServiceIds (optional) + * @param filterServiceNames (optional) * @param filterTeams (optional) * @param filterTeamIds (optional) + * @param filterTeamNames (optional) * @param filterCause (optional) * @param filterCauseIds (optional) * @param filterCustomFieldSelectedOptionIds (optional) + * @param filterSlackChannelId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -1431,8 +1595,8 @@ public IncidentList listIncidents(@javax.annotation.Nullable Integer pageNumber, 200 success - */ - public ApiResponse listIncidentsWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include) throws ApiException { - okhttp3.Call localVarCall = listIncidentsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, null); + public ApiResponse listIncidentsWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterFunctionalityNames, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterServiceNames, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterTeamNames, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterSlackChannelId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = listIncidentsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -1456,13 +1620,17 @@ public ApiResponse listIncidentsWithHttpInfo(@javax.annotation.Nul * @param filterEnvironmentIds (optional) * @param filterFunctionalities (optional) * @param filterFunctionalityIds (optional) + * @param filterFunctionalityNames (optional) * @param filterServices (optional) * @param filterServiceIds (optional) + * @param filterServiceNames (optional) * @param filterTeams (optional) * @param filterTeamIds (optional) + * @param filterTeamNames (optional) * @param filterCause (optional) * @param filterCauseIds (optional) * @param filterCustomFieldSelectedOptionIds (optional) + * @param filterSlackChannelId (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -1511,9 +1679,9 @@ public ApiResponse listIncidentsWithHttpInfo(@javax.annotation.Nul 200 success - */ - public okhttp3.Call listIncidentsAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listIncidentsAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterPrivate, @javax.annotation.Nullable Integer filterUserId, @javax.annotation.Nullable String filterSeverity, @javax.annotation.Nullable String filterSeverityId, @javax.annotation.Nullable String filterLabels, @javax.annotation.Nullable String filterTypes, @javax.annotation.Nullable String filterTypeIds, @javax.annotation.Nullable String filterEnvironments, @javax.annotation.Nullable String filterEnvironmentIds, @javax.annotation.Nullable String filterFunctionalities, @javax.annotation.Nullable String filterFunctionalityIds, @javax.annotation.Nullable String filterFunctionalityNames, @javax.annotation.Nullable String filterServices, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterServiceNames, @javax.annotation.Nullable String filterTeams, @javax.annotation.Nullable String filterTeamIds, @javax.annotation.Nullable String filterTeamNames, @javax.annotation.Nullable String filterCause, @javax.annotation.Nullable String filterCauseIds, @javax.annotation.Nullable String filterCustomFieldSelectedOptionIds, @javax.annotation.Nullable String filterSlackChannelId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String filterUpdatedAtGt, @javax.annotation.Nullable String filterUpdatedAtGte, @javax.annotation.Nullable String filterUpdatedAtLt, @javax.annotation.Nullable String filterUpdatedAtLte, @javax.annotation.Nullable String filterStartedAtGt, @javax.annotation.Nullable String filterStartedAtGte, @javax.annotation.Nullable String filterStartedAtLt, @javax.annotation.Nullable String filterStartedAtLte, @javax.annotation.Nullable String filterDetectedAtGt, @javax.annotation.Nullable String filterDetectedAtGte, @javax.annotation.Nullable String filterDetectedAtLt, @javax.annotation.Nullable String filterDetectedAtLte, @javax.annotation.Nullable String filterAcknowledgedAtGt, @javax.annotation.Nullable String filterAcknowledgedAtGte, @javax.annotation.Nullable String filterAcknowledgedAtLt, @javax.annotation.Nullable String filterAcknowledgedAtLte, @javax.annotation.Nullable String filterMitigatedAtGt, @javax.annotation.Nullable String filterMitigatedAtGte, @javax.annotation.Nullable String filterMitigatedAtLt, @javax.annotation.Nullable String filterMitigatedAtLte, @javax.annotation.Nullable String filterResolvedAtGt, @javax.annotation.Nullable String filterResolvedAtGte, @javax.annotation.Nullable String filterResolvedAtLt, @javax.annotation.Nullable String filterResolvedAtLte, @javax.annotation.Nullable String filterClosedAtGt, @javax.annotation.Nullable String filterClosedAtGte, @javax.annotation.Nullable String filterClosedAtLt, @javax.annotation.Nullable String filterClosedAtLte, @javax.annotation.Nullable String filterInTriageAtGt, @javax.annotation.Nullable String filterInTriageAtGte, @javax.annotation.Nullable String filterInTriageAtLt, @javax.annotation.Nullable String filterInTriageAtLte, @javax.annotation.Nullable String sort, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listIncidentsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, _callback); + okhttp3.Call localVarCall = listIncidentsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1533,7 +1701,7 @@ public okhttp3.Call listIncidentsAsync(@javax.annotation.Nullable Integer pageNu 404 resource not found - */ - public okhttp3.Call markAsDuplicateIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call markAsDuplicateIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1580,7 +1748,7 @@ public okhttp3.Call markAsDuplicateIncidentCall(@javax.annotation.Nonnull String } @SuppressWarnings("rawtypes") - private okhttp3.Call markAsDuplicateIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call markAsDuplicateIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, 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 markAsDuplicateIncident(Async)"); @@ -1610,7 +1778,7 @@ private okhttp3.Call markAsDuplicateIncidentValidateBeforeCall(@javax.annotation 404 resource not found - */ - public IncidentResponse markAsDuplicateIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { + public IncidentResponse markAsDuplicateIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { ApiResponse localVarResp = markAsDuplicateIncidentWithHttpInfo(id, resolveIncident); return localVarResp.getData(); } @@ -1630,7 +1798,7 @@ public IncidentResponse markAsDuplicateIncident(@javax.annotation.Nonnull String 404 resource not found - */ - public ApiResponse markAsDuplicateIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { + public ApiResponse markAsDuplicateIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { okhttp3.Call localVarCall = markAsDuplicateIncidentValidateBeforeCall(id, resolveIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1652,7 +1820,7 @@ public ApiResponse markAsDuplicateIncidentWithHttpInfo(@javax. 404 resource not found - */ - public okhttp3.Call markAsDuplicateIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call markAsDuplicateIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = markAsDuplicateIncidentValidateBeforeCall(id, resolveIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -1674,7 +1842,7 @@ public okhttp3.Call markAsDuplicateIncidentAsync(@javax.annotation.Nonnull Strin 404 resource not found - */ - public okhttp3.Call mitigateIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mitigateIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1721,7 +1889,7 @@ public okhttp3.Call mitigateIncidentCall(@javax.annotation.Nonnull String id, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call mitigateIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call mitigateIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, 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 mitigateIncident(Async)"); @@ -1751,7 +1919,7 @@ private okhttp3.Call mitigateIncidentValidateBeforeCall(@javax.annotation.Nonnul 404 resource not found - */ - public IncidentResponse mitigateIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MitigateIncident mitigateIncident) throws ApiException { + public IncidentResponse mitigateIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull MitigateIncident mitigateIncident) throws ApiException { ApiResponse localVarResp = mitigateIncidentWithHttpInfo(id, mitigateIncident); return localVarResp.getData(); } @@ -1771,7 +1939,7 @@ public IncidentResponse mitigateIncident(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public ApiResponse mitigateIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MitigateIncident mitigateIncident) throws ApiException { + public ApiResponse mitigateIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull MitigateIncident mitigateIncident) throws ApiException { okhttp3.Call localVarCall = mitigateIncidentValidateBeforeCall(id, mitigateIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1793,7 +1961,7 @@ public ApiResponse mitigateIncidentWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call mitigateIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call mitigateIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull MitigateIncident mitigateIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = mitigateIncidentValidateBeforeCall(id, mitigateIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -1815,7 +1983,7 @@ public okhttp3.Call mitigateIncidentAsync(@javax.annotation.Nonnull String id, @ 404 resource not found - */ - public okhttp3.Call removeAssignedUserFromIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, final ApiCallback _callback) throws ApiException { + public okhttp3.Call removeAssignedUserFromIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1862,7 +2030,7 @@ public okhttp3.Call removeAssignedUserFromIncidentCall(@javax.annotation.Nonnull } @SuppressWarnings("rawtypes") - private okhttp3.Call removeAssignedUserFromIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, final ApiCallback _callback) throws ApiException { + private okhttp3.Call removeAssignedUserFromIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, 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 removeAssignedUserFromIncident(Async)"); @@ -1892,7 +2060,7 @@ private okhttp3.Call removeAssignedUserFromIncidentValidateBeforeCall(@javax.ann 404 resource not found - */ - public IncidentResponse removeAssignedUserFromIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser) throws ApiException { + public IncidentResponse removeAssignedUserFromIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser) throws ApiException { ApiResponse localVarResp = removeAssignedUserFromIncidentWithHttpInfo(id, unassignRoleFromUser); return localVarResp.getData(); } @@ -1912,7 +2080,7 @@ public IncidentResponse removeAssignedUserFromIncident(@javax.annotation.Nonnull 404 resource not found - */ - public ApiResponse removeAssignedUserFromIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser) throws ApiException { + public ApiResponse removeAssignedUserFromIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser) throws ApiException { okhttp3.Call localVarCall = removeAssignedUserFromIncidentValidateBeforeCall(id, unassignRoleFromUser, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1934,7 +2102,7 @@ public ApiResponse removeAssignedUserFromIncidentWithHttpInfo( 404 resource not found - */ - public okhttp3.Call removeAssignedUserFromIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, final ApiCallback _callback) throws ApiException { + public okhttp3.Call removeAssignedUserFromIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UnassignRoleFromUser unassignRoleFromUser, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = removeAssignedUserFromIncidentValidateBeforeCall(id, unassignRoleFromUser, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -1956,7 +2124,7 @@ public okhttp3.Call removeAssignedUserFromIncidentAsync(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call removeSubscribersToIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, final ApiCallback _callback) throws ApiException { + public okhttp3.Call removeSubscribersToIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2003,7 +2171,7 @@ public okhttp3.Call removeSubscribersToIncidentCall(@javax.annotation.Nonnull St } @SuppressWarnings("rawtypes") - private okhttp3.Call removeSubscribersToIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, final ApiCallback _callback) throws ApiException { + private okhttp3.Call removeSubscribersToIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, 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 removeSubscribersToIncident(Async)"); @@ -2033,7 +2201,7 @@ private okhttp3.Call removeSubscribersToIncidentValidateBeforeCall(@javax.annota 404 resource not found - */ - public IncidentResponse removeSubscribersToIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers) throws ApiException { + public IncidentResponse removeSubscribersToIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers) throws ApiException { ApiResponse localVarResp = removeSubscribersToIncidentWithHttpInfo(id, removeSubscribers); return localVarResp.getData(); } @@ -2053,7 +2221,7 @@ public IncidentResponse removeSubscribersToIncident(@javax.annotation.Nonnull St 404 resource not found - */ - public ApiResponse removeSubscribersToIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers) throws ApiException { + public ApiResponse removeSubscribersToIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers) throws ApiException { okhttp3.Call localVarCall = removeSubscribersToIncidentValidateBeforeCall(id, removeSubscribers, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -2075,7 +2243,7 @@ public ApiResponse removeSubscribersToIncidentWithHttpInfo(@ja 404 resource not found - */ - public okhttp3.Call removeSubscribersToIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, final ApiCallback _callback) throws ApiException { + public okhttp3.Call removeSubscribersToIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RemoveSubscribers removeSubscribers, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = removeSubscribersToIncidentValidateBeforeCall(id, removeSubscribers, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -2097,7 +2265,7 @@ public okhttp3.Call removeSubscribersToIncidentAsync(@javax.annotation.Nonnull S 404 resource not found - */ - public okhttp3.Call resolveIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call resolveIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2144,7 +2312,7 @@ public okhttp3.Call resolveIncidentCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call resolveIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call resolveIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, 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 resolveIncident(Async)"); @@ -2174,7 +2342,7 @@ private okhttp3.Call resolveIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse resolveIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { + public IncidentResponse resolveIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { ApiResponse localVarResp = resolveIncidentWithHttpInfo(id, resolveIncident); return localVarResp.getData(); } @@ -2194,7 +2362,7 @@ public IncidentResponse resolveIncident(@javax.annotation.Nonnull String id, @ja 404 resource not found - */ - public ApiResponse resolveIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { + public ApiResponse resolveIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident) throws ApiException { okhttp3.Call localVarCall = resolveIncidentValidateBeforeCall(id, resolveIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -2216,7 +2384,7 @@ public ApiResponse resolveIncidentWithHttpInfo(@javax.annotati 404 resource not found - */ - public okhttp3.Call resolveIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call resolveIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull ResolveIncident resolveIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = resolveIncidentValidateBeforeCall(id, resolveIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -2238,7 +2406,7 @@ public okhttp3.Call resolveIncidentAsync(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public okhttp3.Call restartIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RestartIncident restartIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call restartIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RestartIncident restartIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2285,7 +2453,7 @@ public okhttp3.Call restartIncidentCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call restartIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RestartIncident restartIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call restartIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RestartIncident restartIncident, 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 restartIncident(Async)"); @@ -2315,7 +2483,7 @@ private okhttp3.Call restartIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse restartIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RestartIncident restartIncident) throws ApiException { + public IncidentResponse restartIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RestartIncident restartIncident) throws ApiException { ApiResponse localVarResp = restartIncidentWithHttpInfo(id, restartIncident); return localVarResp.getData(); } @@ -2335,7 +2503,7 @@ public IncidentResponse restartIncident(@javax.annotation.Nonnull String id, @ja 404 resource not found - */ - public ApiResponse restartIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RestartIncident restartIncident) throws ApiException { + public ApiResponse restartIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RestartIncident restartIncident) throws ApiException { okhttp3.Call localVarCall = restartIncidentValidateBeforeCall(id, restartIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -2357,7 +2525,7 @@ public ApiResponse restartIncidentWithHttpInfo(@javax.annotati 404 resource not found - */ - public okhttp3.Call restartIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull RestartIncident restartIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call restartIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull RestartIncident restartIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = restartIncidentValidateBeforeCall(id, restartIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -2379,7 +2547,7 @@ public okhttp3.Call restartIncidentAsync(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public okhttp3.Call triageIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call triageIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2426,7 +2594,7 @@ public okhttp3.Call triageIncidentCall(@javax.annotation.Nonnull String id, @jav } @SuppressWarnings("rawtypes") - private okhttp3.Call triageIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call triageIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, 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 triageIncident(Async)"); @@ -2456,7 +2624,7 @@ private okhttp3.Call triageIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse triageIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull InTriageIncident inTriageIncident) throws ApiException { + public IncidentResponse triageIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull InTriageIncident inTriageIncident) throws ApiException { ApiResponse localVarResp = triageIncidentWithHttpInfo(id, inTriageIncident); return localVarResp.getData(); } @@ -2476,7 +2644,7 @@ public IncidentResponse triageIncident(@javax.annotation.Nonnull String id, @jav 404 resource not found - */ - public ApiResponse triageIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull InTriageIncident inTriageIncident) throws ApiException { + public ApiResponse triageIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull InTriageIncident inTriageIncident) throws ApiException { okhttp3.Call localVarCall = triageIncidentValidateBeforeCall(id, inTriageIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -2498,13 +2666,148 @@ public ApiResponse triageIncidentWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call triageIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call triageIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull InTriageIncident inTriageIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = triageIncidentValidateBeforeCall(id, inTriageIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for unmarkAsDuplicateIncident + * @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 duplicate marking removed -
422 incident is not marked as duplicate -
404 resource not found -
+ */ + public okhttp3.Call unmarkAsDuplicateIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/incidents/{id}/unmark_as_duplicate" + .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, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); + } + + @SuppressWarnings("rawtypes") + private okhttp3.Call unmarkAsDuplicateIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 unmarkAsDuplicateIncident(Async)"); + } + + return unmarkAsDuplicateIncidentCall(id, _callback); + + } + + /** + * Remove duplicate marking from an incident + * Remove the duplicate marking from an incident + * @param id (required) + * @return IncidentResponse + * @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 duplicate marking removed -
422 incident is not marked as duplicate -
404 resource not found -
+ */ + public IncidentResponse unmarkAsDuplicateIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = unmarkAsDuplicateIncidentWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Remove duplicate marking from an incident + * Remove the duplicate marking from an incident + * @param id (required) + * @return ApiResponse<IncidentResponse> + * @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 duplicate marking removed -
422 incident is not marked as duplicate -
404 resource not found -
+ */ + public ApiResponse unmarkAsDuplicateIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = unmarkAsDuplicateIncidentValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Remove duplicate marking from an incident (asynchronously) + * Remove the duplicate marking from an incident + * @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 duplicate marking removed -
422 incident is not marked as duplicate -
404 resource not found -
+ */ + public okhttp3.Call unmarkAsDuplicateIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = unmarkAsDuplicateIncidentValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for updateIncident * @param id (required) @@ -2520,7 +2823,7 @@ public okhttp3.Call triageIncidentAsync(@javax.annotation.Nonnull String id, @ja 404 resource not found - */ - public okhttp3.Call updateIncidentCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncident updateIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncident updateIncident, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -2567,7 +2870,7 @@ public okhttp3.Call updateIncidentCall(@javax.annotation.Nonnull String id, @jav } @SuppressWarnings("rawtypes") - private okhttp3.Call updateIncidentValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncident updateIncident, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateIncidentValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncident updateIncident, 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 updateIncident(Async)"); @@ -2597,7 +2900,7 @@ private okhttp3.Call updateIncidentValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public IncidentResponse updateIncident(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncident updateIncident) throws ApiException { + public IncidentResponse updateIncident(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncident updateIncident) throws ApiException { ApiResponse localVarResp = updateIncidentWithHttpInfo(id, updateIncident); return localVarResp.getData(); } @@ -2617,7 +2920,7 @@ public IncidentResponse updateIncident(@javax.annotation.Nonnull String id, @jav 404 resource not found - */ - public ApiResponse updateIncidentWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncident updateIncident) throws ApiException { + public ApiResponse updateIncidentWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncident updateIncident) throws ApiException { okhttp3.Call localVarCall = updateIncidentValidateBeforeCall(id, updateIncident, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -2639,7 +2942,7 @@ public ApiResponse updateIncidentWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call updateIncidentAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateIncident updateIncident, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateIncidentAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateIncident updateIncident, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateIncidentValidateBeforeCall(id, updateIncident, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/IpRangesApi.java b/src/main/java/com/rootly/client/api/IpRangesApi.java index f36950df..a5e69544 100644 --- a/src/main/java/com/rootly/client/api/IpRangesApi.java +++ b/src/main/java/com/rootly/client/api/IpRangesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/LiveCallRoutersApi.java b/src/main/java/com/rootly/client/api/LiveCallRoutersApi.java index 45c436d0..ac70ae63 100644 --- a/src/main/java/com/rootly/client/api/LiveCallRoutersApi.java +++ b/src/main/java/com/rootly/client/api/LiveCallRoutersApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -86,7 +86,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 live_call_router created -
201 live_call_router created with multiple targets without calling_tree_enabled (backward compat) -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -157,7 +157,7 @@ private okhttp3.Call createLiveCallRouterValidateBeforeCall(@javax.annotation.No - +
Response Details
Status Code Description Response Headers
201 live_call_router created -
201 live_call_router created with multiple targets without calling_tree_enabled (backward compat) -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -177,7 +177,7 @@ public LiveCallRouterResponse createLiveCallRouter(@javax.annotation.Nonnull New - +
Response Details
Status Code Description Response Headers
201 live_call_router created -
201 live_call_router created with multiple targets without calling_tree_enabled (backward compat) -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -199,7 +199,7 @@ public ApiResponse createLiveCallRouterWithHttpInfo(@jav - +
Response Details
Status Code Description Response Headers
201 live_call_router created -
201 live_call_router created with multiple targets without calling_tree_enabled (backward compat) -
422 invalid request -
401 responds with unauthorized for invalid token -
diff --git a/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java b/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java new file mode 100644 index 00000000..e722c428 --- /dev/null +++ b/src/main/java/com/rootly/client/api/MeetingRecordingsApi.java @@ -0,0 +1,1238 @@ +/* + * 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.MeetingRecordingList; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MeetingRecordingsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public MeetingRecordingsApi() { + this(Configuration.getDefaultApiClient()); + } + + public MeetingRecordingsApi(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 createMeetingRecording + * @param incidentId Incident UUID (required) + * @param platform Meeting platform (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
201 recording session created -
422 validation error (e.g. bot already active) -
+ */ + public okhttp3.Call createMeetingRecordingCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String platform, 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/incidents/{incident_id}/meeting_recordings" + .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(); + + if (platform != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("platform", platform)); + } + + final String[] localVarAccepts = { + }; + 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 createMeetingRecordingValidateBeforeCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String platform, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'incidentId' is set + if (incidentId == null) { + throw new ApiException("Missing the required parameter 'incidentId' when calling createMeetingRecording(Async)"); + } + + return createMeetingRecordingCall(incidentId, platform, _callback); + + } + + /** + * Create meeting recording + * Invite a recording bot to the incident's meeting. If no previous recordings exist for the platform, a new bot is invited (session 1). If previous sessions exist, a new session is created (re-invite). The bot joins the meeting, records audio/video, and generates a transcript when the session ends. + * @param incidentId Incident UUID (required) + * @param platform Meeting platform (optional) + * @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 recording session created -
422 validation error (e.g. bot already active) -
+ */ + public void createMeetingRecording(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String platform) throws ApiException { + createMeetingRecordingWithHttpInfo(incidentId, platform); + } + + /** + * Create meeting recording + * Invite a recording bot to the incident's meeting. If no previous recordings exist for the platform, a new bot is invited (session 1). If previous sessions exist, a new session is created (re-invite). The bot joins the meeting, records audio/video, and generates a transcript when the session ends. + * @param incidentId Incident UUID (required) + * @param platform Meeting platform (optional) + * @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
201 recording session created -
422 validation error (e.g. bot already active) -
+ */ + public ApiResponse createMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String platform) throws ApiException { + okhttp3.Call localVarCall = createMeetingRecordingValidateBeforeCall(incidentId, platform, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Create meeting recording (asynchronously) + * Invite a recording bot to the incident's meeting. If no previous recordings exist for the platform, a new bot is invited (session 1). If previous sessions exist, a new session is created (re-invite). The bot joins the meeting, records audio/video, and generates a transcript when the session ends. + * @param incidentId Incident UUID (required) + * @param platform Meeting platform (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
201 recording session created -
422 validation error (e.g. bot already active) -
+ */ + public okhttp3.Call createMeetingRecordingAsync(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable String platform, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createMeetingRecordingValidateBeforeCall(incidentId, platform, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for deleteMeetingRecording + * @param id Meeting Recording UUID (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 meeting recording deleted -
422 cannot delete active recording -
+ */ + public okhttp3.Call deleteMeetingRecordingCall(@javax.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/meeting_recordings/{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 = { + }; + 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 deleteMeetingRecordingValidateBeforeCall(@javax.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 deleteMeetingRecording(Async)"); + } + + return deleteMeetingRecordingCall(id, _callback); + + } + + /** + * Delete a meeting recording + * Delete a meeting recording. Only completed or failed recordings can be deleted. Active recordings (pending, recording, paused) must be stopped first. + * @param id Meeting Recording UUID (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
200 meeting recording deleted -
422 cannot delete active recording -
+ */ + public void deleteMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + deleteMeetingRecordingWithHttpInfo(id); + } + + /** + * Delete a meeting recording + * Delete a meeting recording. Only completed or failed recordings can be deleted. Active recordings (pending, recording, paused) must be stopped first. + * @param id Meeting Recording UUID (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
200 meeting recording deleted -
422 cannot delete active recording -
+ */ + public ApiResponse deleteMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete a meeting recording (asynchronously) + * Delete a meeting recording. Only completed or failed recordings can be deleted. Active recordings (pending, recording, paused) must be stopped first. + * @param id Meeting Recording UUID (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 meeting recording deleted -
422 cannot delete active recording -
+ */ + public okhttp3.Call deleteMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for deleteMeetingRecordingVideo + * @param id Meeting Recording UUID (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 video deleted -
422 cannot delete video (active recording or no video) -
+ */ + public okhttp3.Call deleteMeetingRecordingVideoCall(@javax.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/meeting_recordings/{id}/delete_video" + .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 = { + }; + 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 deleteMeetingRecordingVideoValidateBeforeCall(@javax.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 deleteMeetingRecordingVideo(Async)"); + } + + return deleteMeetingRecordingVideoCall(id, _callback); + + } + + /** + * Delete video from a meeting recording + * Delete only the video file from a meeting recording. The transcript, summary, and all metadata are preserved. Only non-active recordings with an attached video can have their video deleted. + * @param id Meeting Recording UUID (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
200 video deleted -
422 cannot delete video (active recording or no video) -
+ */ + public void deleteMeetingRecordingVideo(@javax.annotation.Nonnull String id) throws ApiException { + deleteMeetingRecordingVideoWithHttpInfo(id); + } + + /** + * Delete video from a meeting recording + * Delete only the video file from a meeting recording. The transcript, summary, and all metadata are preserved. Only non-active recordings with an attached video can have their video deleted. + * @param id Meeting Recording UUID (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
200 video deleted -
422 cannot delete video (active recording or no video) -
+ */ + public ApiResponse deleteMeetingRecordingVideoWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteMeetingRecordingVideoValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Delete video from a meeting recording (asynchronously) + * Delete only the video file from a meeting recording. The transcript, summary, and all metadata are preserved. Only non-active recordings with an attached video can have their video deleted. + * @param id Meeting Recording UUID (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 video deleted -
422 cannot delete video (active recording or no video) -
+ */ + public okhttp3.Call deleteMeetingRecordingVideoAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteMeetingRecordingVideoValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for getMeetingRecording + * @param id Meeting Recording UUID (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 meeting recording found -
404 meeting recording not found -
+ */ + public okhttp3.Call getMeetingRecordingCall(@javax.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/meeting_recordings/{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 = { + }; + 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 getMeetingRecordingValidateBeforeCall(@javax.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 getMeetingRecording(Async)"); + } + + return getMeetingRecordingCall(id, _callback); + + } + + /** + * Get a meeting recording + * Retrieve a single meeting recording session including its status, duration, speaker count, word count, and transcript summary. + * @param id Meeting Recording UUID (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
200 meeting recording found -
404 meeting recording not found -
+ */ + public void getMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + getMeetingRecordingWithHttpInfo(id); + } + + /** + * Get a meeting recording + * Retrieve a single meeting recording session including its status, duration, speaker count, word count, and transcript summary. + * @param id Meeting Recording UUID (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
200 meeting recording found -
404 meeting recording not found -
+ */ + public ApiResponse getMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Get a meeting recording (asynchronously) + * Retrieve a single meeting recording session including its status, duration, speaker count, word count, and transcript summary. + * @param id Meeting Recording UUID (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 meeting recording found -
404 meeting recording not found -
+ */ + public okhttp3.Call getMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for leaveMeetingRecording + * @param id Meeting Recording UUID (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 bot left the call -
422 bot is not in a call -
+ */ + public okhttp3.Call leaveMeetingRecordingCall(@javax.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/meeting_recordings/{id}/leave" + .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 = { + }; + 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 leaveMeetingRecordingValidateBeforeCall(@javax.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 leaveMeetingRecording(Async)"); + } + + return leaveMeetingRecordingCall(id, _callback); + + } + + /** + * Leave a meeting call + * Remove the recording bot from the meeting entirely. Unlike stop, this immediately disconnects the bot. The session will transition to analyzing and then completed once transcript processing finishes. + * @param id Meeting Recording UUID (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
200 bot left the call -
422 bot is not in a call -
+ */ + public void leaveMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + leaveMeetingRecordingWithHttpInfo(id); + } + + /** + * Leave a meeting call + * Remove the recording bot from the meeting entirely. Unlike stop, this immediately disconnects the bot. The session will transition to analyzing and then completed once transcript processing finishes. + * @param id Meeting Recording UUID (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
200 bot left the call -
422 bot is not in a call -
+ */ + public ApiResponse leaveMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = leaveMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Leave a meeting call (asynchronously) + * Remove the recording bot from the meeting entirely. Unlike stop, this immediately disconnects the bot. The session will transition to analyzing and then completed once transcript processing finishes. + * @param id Meeting Recording UUID (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 bot left the call -
422 bot is not in a call -
+ */ + public okhttp3.Call leaveMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = leaveMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for listMeetingRecordings + * @param incidentId Incident UUID (required) + * @param pageNumber Page number (optional) + * @param pageSize Number of recordings per page (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 meeting recordings listed -
404 incident not found -
+ */ + public okhttp3.Call listMeetingRecordingsCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable Integer pageNumber, @javax.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/incidents/{incident_id}/meeting_recordings" + .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(); + + 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 listMeetingRecordingsValidateBeforeCall(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'incidentId' is set + if (incidentId == null) { + throw new ApiException("Missing the required parameter 'incidentId' when calling listMeetingRecordings(Async)"); + } + + return listMeetingRecordingsCall(incidentId, pageNumber, pageSize, _callback); + + } + + /** + * List meeting recordings + * List all meeting recording sessions for an incident. Returns recordings sorted by session number. Each recording represents one bot session with its own transcript, status, and metadata. + * @param incidentId Incident UUID (required) + * @param pageNumber Page number (optional) + * @param pageSize Number of recordings per page (optional) + * @return MeetingRecordingList + * @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 meeting recordings listed -
404 incident not found -
+ */ + public MeetingRecordingList listMeetingRecordings(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listMeetingRecordingsWithHttpInfo(incidentId, pageNumber, pageSize); + return localVarResp.getData(); + } + + /** + * List meeting recordings + * List all meeting recording sessions for an incident. Returns recordings sorted by session number. Each recording represents one bot session with its own transcript, status, and metadata. + * @param incidentId Incident UUID (required) + * @param pageNumber Page number (optional) + * @param pageSize Number of recordings per page (optional) + * @return ApiResponse<MeetingRecordingList> + * @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 meeting recordings listed -
404 incident not found -
+ */ + public ApiResponse listMeetingRecordingsWithHttpInfo(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listMeetingRecordingsValidateBeforeCall(incidentId, pageNumber, pageSize, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List meeting recordings (asynchronously) + * List all meeting recording sessions for an incident. Returns recordings sorted by session number. Each recording represents one bot session with its own transcript, status, and metadata. + * @param incidentId Incident UUID (required) + * @param pageNumber Page number (optional) + * @param pageSize Number of recordings per page (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 meeting recordings listed -
404 incident not found -
+ */ + public okhttp3.Call listMeetingRecordingsAsync(@javax.annotation.Nonnull String incidentId, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listMeetingRecordingsValidateBeforeCall(incidentId, pageNumber, pageSize, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for pauseMeetingRecording + * @param id Meeting Recording UUID (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 recording paused -
422 recording is not active -
+ */ + public okhttp3.Call pauseMeetingRecordingCall(@javax.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/meeting_recordings/{id}/pause" + .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 = { + }; + 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 pauseMeetingRecordingValidateBeforeCall(@javax.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 pauseMeetingRecording(Async)"); + } + + return pauseMeetingRecordingCall(id, _callback); + + } + + /** + * Pause a meeting recording + * Pause an active recording session. The bot remains in the meeting but stops capturing audio/video. Use the resume endpoint to continue recording. + * @param id Meeting Recording UUID (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
200 recording paused -
422 recording is not active -
+ */ + public void pauseMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + pauseMeetingRecordingWithHttpInfo(id); + } + + /** + * Pause a meeting recording + * Pause an active recording session. The bot remains in the meeting but stops capturing audio/video. Use the resume endpoint to continue recording. + * @param id Meeting Recording UUID (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
200 recording paused -
422 recording is not active -
+ */ + public ApiResponse pauseMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = pauseMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Pause a meeting recording (asynchronously) + * Pause an active recording session. The bot remains in the meeting but stops capturing audio/video. Use the resume endpoint to continue recording. + * @param id Meeting Recording UUID (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 recording paused -
422 recording is not active -
+ */ + public okhttp3.Call pauseMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = pauseMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for resumeMeetingRecording + * @param id Meeting Recording UUID (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 recording resumed -
422 recording is not paused -
+ */ + public okhttp3.Call resumeMeetingRecordingCall(@javax.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/meeting_recordings/{id}/resume" + .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 = { + }; + 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 resumeMeetingRecordingValidateBeforeCall(@javax.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 resumeMeetingRecording(Async)"); + } + + return resumeMeetingRecordingCall(id, _callback); + + } + + /** + * Resume a meeting recording + * Resume a paused recording session. The bot continues capturing audio/video from the meeting. + * @param id Meeting Recording UUID (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
200 recording resumed -
422 recording is not paused -
+ */ + public void resumeMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + resumeMeetingRecordingWithHttpInfo(id); + } + + /** + * Resume a meeting recording + * Resume a paused recording session. The bot continues capturing audio/video from the meeting. + * @param id Meeting Recording UUID (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
200 recording resumed -
422 recording is not paused -
+ */ + public ApiResponse resumeMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = resumeMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Resume a meeting recording (asynchronously) + * Resume a paused recording session. The bot continues capturing audio/video from the meeting. + * @param id Meeting Recording UUID (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 recording resumed -
422 recording is not paused -
+ */ + public okhttp3.Call resumeMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = resumeMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } + /** + * Build call for stopMeetingRecording + * @param id Meeting Recording UUID (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 recording stopped -
422 recording cannot be stopped -
+ */ + public okhttp3.Call stopMeetingRecordingCall(@javax.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/meeting_recordings/{id}/stop" + .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 = { + }; + 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 stopMeetingRecordingValidateBeforeCall(@javax.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 stopMeetingRecording(Async)"); + } + + return stopMeetingRecordingCall(id, _callback); + + } + + /** + * Stop a meeting recording + * Stop an active or paused recording. The bot finishes processing, generates a transcript, and the session status transitions to completed. This is irreversible — to record again, create a new session. + * @param id Meeting Recording UUID (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
200 recording stopped -
422 recording cannot be stopped -
+ */ + public void stopMeetingRecording(@javax.annotation.Nonnull String id) throws ApiException { + stopMeetingRecordingWithHttpInfo(id); + } + + /** + * Stop a meeting recording + * Stop an active or paused recording. The bot finishes processing, generates a transcript, and the session status transitions to completed. This is irreversible — to record again, create a new session. + * @param id Meeting Recording UUID (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
200 recording stopped -
422 recording cannot be stopped -
+ */ + public ApiResponse stopMeetingRecordingWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = stopMeetingRecordingValidateBeforeCall(id, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * Stop a meeting recording (asynchronously) + * Stop an active or paused recording. The bot finishes processing, generates a transcript, and the session status transitions to completed. This is irreversible — to record again, create a new session. + * @param id Meeting Recording UUID (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 recording stopped -
422 recording cannot be stopped -
+ */ + public okhttp3.Call stopMeetingRecordingAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = stopMeetingRecordingValidateBeforeCall(id, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/OnCallPayReportsApi.java b/src/main/java/com/rootly/client/api/OnCallPayReportsApi.java new file mode 100644 index 00000000..3265a0fd --- /dev/null +++ b/src/main/java/com/rootly/client/api/OnCallPayReportsApi.java @@ -0,0 +1,810 @@ +/* + * 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.NewOnCallPayReport; +import com.rootly.client.model.OnCallPayReportList; +import com.rootly.client.model.OnCallPayReportResponse; +import com.rootly.client.model.UpdateOnCallPayReport; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class OnCallPayReportsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public OnCallPayReportsApi() { + this(Configuration.getDefaultApiClient()); + } + + public OnCallPayReportsApi(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 createOnCallPayReport + * @param newOnCallPayReport (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 on_call_pay_report created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createOnCallPayReportCall(@javax.annotation.Nonnull NewOnCallPayReport newOnCallPayReport, 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 = newOnCallPayReport; + + // create path and map variables + String localVarPath = "/v1/on_call_pay_reports"; + + 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 createOnCallPayReportValidateBeforeCall(@javax.annotation.Nonnull NewOnCallPayReport newOnCallPayReport, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newOnCallPayReport' is set + if (newOnCallPayReport == null) { + throw new ApiException("Missing the required parameter 'newOnCallPayReport' when calling createOnCallPayReport(Async)"); + } + + return createOnCallPayReportCall(newOnCallPayReport, _callback); + + } + + /** + * Creates an On-Call Pay Report + * Generates a new on-call pay report for the given date range. The report is generated asynchronously. + * @param newOnCallPayReport (required) + * @return OnCallPayReportResponse + * @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 on_call_pay_report created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public OnCallPayReportResponse createOnCallPayReport(@javax.annotation.Nonnull NewOnCallPayReport newOnCallPayReport) throws ApiException { + ApiResponse localVarResp = createOnCallPayReportWithHttpInfo(newOnCallPayReport); + return localVarResp.getData(); + } + + /** + * Creates an On-Call Pay Report + * Generates a new on-call pay report for the given date range. The report is generated asynchronously. + * @param newOnCallPayReport (required) + * @return ApiResponse<OnCallPayReportResponse> + * @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 on_call_pay_report created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createOnCallPayReportWithHttpInfo(@javax.annotation.Nonnull NewOnCallPayReport newOnCallPayReport) throws ApiException { + okhttp3.Call localVarCall = createOnCallPayReportValidateBeforeCall(newOnCallPayReport, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates an On-Call Pay Report (asynchronously) + * Generates a new on-call pay report for the given date range. The report is generated asynchronously. + * @param newOnCallPayReport (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 on_call_pay_report created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createOnCallPayReportAsync(@javax.annotation.Nonnull NewOnCallPayReport newOnCallPayReport, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createOnCallPayReportValidateBeforeCall(newOnCallPayReport, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getOnCallPayReport + * @param id (required) + * @param include (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 on_call_pay_report found -
404 resource not found for different team -
+ */ + public okhttp3.Call getOnCallPayReportCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, 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/on_call_pay_reports/{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(); + + if (include != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); + } + + 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 getOnCallPayReportValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, 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 getOnCallPayReport(Async)"); + } + + return getOnCallPayReportCall(id, include, _callback); + + } + + /** + * Retrieves an On-Call Pay Report + * Retrieves a specific on-call pay report by id + * @param id (required) + * @param include (optional) + * @return OnCallPayReportResponse + * @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 on_call_pay_report found -
404 resource not found for different team -
+ */ + public OnCallPayReportResponse getOnCallPayReport(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = getOnCallPayReportWithHttpInfo(id, include); + return localVarResp.getData(); + } + + /** + * Retrieves an On-Call Pay Report + * Retrieves a specific on-call pay report by id + * @param id (required) + * @param include (optional) + * @return ApiResponse<OnCallPayReportResponse> + * @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 on_call_pay_report found -
404 resource not found for different team -
+ */ + public ApiResponse getOnCallPayReportWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = getOnCallPayReportValidateBeforeCall(id, include, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves an On-Call Pay Report (asynchronously) + * Retrieves a specific on-call pay report by id + * @param id (required) + * @param include (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 on_call_pay_report found -
404 resource not found for different team -
+ */ + public okhttp3.Call getOnCallPayReportAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getOnCallPayReportValidateBeforeCall(id, include, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listOnCallPayReports + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listOnCallPayReportsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/on_call_pay_reports"; + + 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)); + } + + if (filterStatus != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[status]", filterStatus)); + } + + 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)); + } + + 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 listOnCallPayReportsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listOnCallPayReportsCall(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List On-Call Pay Reports + * List on-call pay reports + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return OnCallPayReportList + * @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 OnCallPayReportList listOnCallPayReports(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listOnCallPayReportsWithHttpInfo(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List On-Call Pay Reports + * List on-call pay reports + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<OnCallPayReportList> + * @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 listOnCallPayReportsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listOnCallPayReportsValidateBeforeCall(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List On-Call Pay Reports (asynchronously) + * List on-call pay reports + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterStatus (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listOnCallPayReportsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterStatus, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listOnCallPayReportsValidateBeforeCall(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for regenerateOnCallPayReport + * @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 on_call_pay_report regeneration triggered -
404 on_call_pay_report not found -
+ */ + public okhttp3.Call regenerateOnCallPayReportCall(@javax.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/on_call_pay_reports/{id}/regenerate" + .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 regenerateOnCallPayReportValidateBeforeCall(@javax.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 regenerateOnCallPayReport(Async)"); + } + + return regenerateOnCallPayReportCall(id, _callback); + + } + + /** + * Regenerate an On-Call Pay Report + * Triggers regeneration of an existing on-call pay report. + * @param id (required) + * @return OnCallPayReportResponse + * @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 on_call_pay_report regeneration triggered -
404 on_call_pay_report not found -
+ */ + public OnCallPayReportResponse regenerateOnCallPayReport(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = regenerateOnCallPayReportWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Regenerate an On-Call Pay Report + * Triggers regeneration of an existing on-call pay report. + * @param id (required) + * @return ApiResponse<OnCallPayReportResponse> + * @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 on_call_pay_report regeneration triggered -
404 on_call_pay_report not found -
+ */ + public ApiResponse regenerateOnCallPayReportWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = regenerateOnCallPayReportValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Regenerate an On-Call Pay Report (asynchronously) + * Triggers regeneration of an existing on-call pay report. + * @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 on_call_pay_report regeneration triggered -
404 on_call_pay_report not found -
+ */ + public okhttp3.Call regenerateOnCallPayReportAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = regenerateOnCallPayReportValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateOnCallPayReport + * @param id (required) + * @param updateOnCallPayReport (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 on_call_pay_report updated -
404 not allowed when flipper disabled -
422 invalid request -
+ */ + public okhttp3.Call updateOnCallPayReportCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateOnCallPayReport updateOnCallPayReport, 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 = updateOnCallPayReport; + + // create path and map variables + String localVarPath = "/v1/on_call_pay_reports/{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 updateOnCallPayReportValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateOnCallPayReport updateOnCallPayReport, 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 updateOnCallPayReport(Async)"); + } + + // verify the required parameter 'updateOnCallPayReport' is set + if (updateOnCallPayReport == null) { + throw new ApiException("Missing the required parameter 'updateOnCallPayReport' when calling updateOnCallPayReport(Async)"); + } + + return updateOnCallPayReportCall(id, updateOnCallPayReport, _callback); + + } + + /** + * Update an On-Call Pay Report + * Update a specific on-call pay report by id. Triggers report regeneration. + * @param id (required) + * @param updateOnCallPayReport (required) + * @return OnCallPayReportResponse + * @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 on_call_pay_report updated -
404 not allowed when flipper disabled -
422 invalid request -
+ */ + public OnCallPayReportResponse updateOnCallPayReport(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateOnCallPayReport updateOnCallPayReport) throws ApiException { + ApiResponse localVarResp = updateOnCallPayReportWithHttpInfo(id, updateOnCallPayReport); + return localVarResp.getData(); + } + + /** + * Update an On-Call Pay Report + * Update a specific on-call pay report by id. Triggers report regeneration. + * @param id (required) + * @param updateOnCallPayReport (required) + * @return ApiResponse<OnCallPayReportResponse> + * @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 on_call_pay_report updated -
404 not allowed when flipper disabled -
422 invalid request -
+ */ + public ApiResponse updateOnCallPayReportWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateOnCallPayReport updateOnCallPayReport) throws ApiException { + okhttp3.Call localVarCall = updateOnCallPayReportValidateBeforeCall(id, updateOnCallPayReport, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update an On-Call Pay Report (asynchronously) + * Update a specific on-call pay report by id. Triggers report regeneration. + * @param id (required) + * @param updateOnCallPayReport (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 on_call_pay_report updated -
404 not allowed when flipper disabled -
422 invalid request -
+ */ + public okhttp3.Call updateOnCallPayReportAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateOnCallPayReport updateOnCallPayReport, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateOnCallPayReportValidateBeforeCall(id, updateOnCallPayReport, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/OnCallRolesApi.java b/src/main/java/com/rootly/client/api/OnCallRolesApi.java index 139a96f6..60f23f50 100644 --- a/src/main/java/com/rootly/client/api/OnCallRolesApi.java +++ b/src/main/java/com/rootly/client/api/OnCallRolesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/OnCallShadowsApi.java b/src/main/java/com/rootly/client/api/OnCallShadowsApi.java index 75c4c9f2..a8079d94 100644 --- a/src/main/java/com/rootly/client/api/OnCallShadowsApi.java +++ b/src/main/java/com/rootly/client/api/OnCallShadowsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/OnCallsApi.java b/src/main/java/com/rootly/client/api/OnCallsApi.java new file mode 100644 index 00000000..b2b5da2a --- /dev/null +++ b/src/main/java/com/rootly/client/api/OnCallsApi.java @@ -0,0 +1,284 @@ +/* + * 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 java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class OnCallsApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public OnCallsApi() { + this(Configuration.getDefaultApiClient()); + } + + public OnCallsApi(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 listOncalls + * @param include comma separated if needed. eg: user,schedule (optional) + * @param since Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. (optional) + * @param until End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. (optional) + * @param earliest When true, returns only the first on-call user per escalation policy level (optional) + * @param timeZone Timezone for response times (e.g., America/New_York). Defaults to UTC. (optional) + * @param filterEscalationPolicyIds Comma-separated escalation policy IDs (optional) + * @param filterScheduleIds Comma-separated schedule IDs (optional) + * @param filterUserIds Comma-separated user IDs (optional) + * @param filterServiceIds Comma-separated service IDs (optional) + * @param filterGroupIds Comma-separated group IDs (teams) (optional) + * @param filterNotificationTypes Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). (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 -
404 resource not found when alerting is disabled -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listOncallsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String since, @javax.annotation.Nullable String until, @javax.annotation.Nullable Boolean earliest, @javax.annotation.Nullable String timeZone, @javax.annotation.Nullable String filterEscalationPolicyIds, @javax.annotation.Nullable String filterScheduleIds, @javax.annotation.Nullable String filterUserIds, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterNotificationTypes, 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/oncalls"; + + 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 (since != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("since", since)); + } + + if (until != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("until", until)); + } + + if (earliest != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("earliest", earliest)); + } + + if (timeZone != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("time_zone", timeZone)); + } + + if (filterEscalationPolicyIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[escalation_policy_ids]", filterEscalationPolicyIds)); + } + + if (filterScheduleIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[schedule_ids]", filterScheduleIds)); + } + + if (filterUserIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[user_ids]", filterUserIds)); + } + + if (filterServiceIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[service_ids]", filterServiceIds)); + } + + if (filterGroupIds != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[group_ids]", filterGroupIds)); + } + + if (filterNotificationTypes != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[notification_types]", filterNotificationTypes)); + } + + 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 listOncallsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String since, @javax.annotation.Nullable String until, @javax.annotation.Nullable Boolean earliest, @javax.annotation.Nullable String timeZone, @javax.annotation.Nullable String filterEscalationPolicyIds, @javax.annotation.Nullable String filterScheduleIds, @javax.annotation.Nullable String filterUserIds, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterNotificationTypes, final ApiCallback _callback) throws ApiException { + return listOncallsCall(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes, _callback); + + } + + /** + * List on-calls + * List who is currently on-call, with support for filtering by escalation policy, schedule, and user. Returns on-call entries grouped by escalation policy level. + * @param include comma separated if needed. eg: user,schedule (optional) + * @param since Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. (optional) + * @param until End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. (optional) + * @param earliest When true, returns only the first on-call user per escalation policy level (optional) + * @param timeZone Timezone for response times (e.g., America/New_York). Defaults to UTC. (optional) + * @param filterEscalationPolicyIds Comma-separated escalation policy IDs (optional) + * @param filterScheduleIds Comma-separated schedule IDs (optional) + * @param filterUserIds Comma-separated user IDs (optional) + * @param filterServiceIds Comma-separated service IDs (optional) + * @param filterGroupIds Comma-separated group IDs (teams) (optional) + * @param filterNotificationTypes Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). (optional) + * @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 -
404 resource not found when alerting is disabled -
401 responds with unauthorized for invalid token -
+ */ + public void listOncalls(@javax.annotation.Nullable String include, @javax.annotation.Nullable String since, @javax.annotation.Nullable String until, @javax.annotation.Nullable Boolean earliest, @javax.annotation.Nullable String timeZone, @javax.annotation.Nullable String filterEscalationPolicyIds, @javax.annotation.Nullable String filterScheduleIds, @javax.annotation.Nullable String filterUserIds, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterNotificationTypes) throws ApiException { + listOncallsWithHttpInfo(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes); + } + + /** + * List on-calls + * List who is currently on-call, with support for filtering by escalation policy, schedule, and user. Returns on-call entries grouped by escalation policy level. + * @param include comma separated if needed. eg: user,schedule (optional) + * @param since Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. (optional) + * @param until End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. (optional) + * @param earliest When true, returns only the first on-call user per escalation policy level (optional) + * @param timeZone Timezone for response times (e.g., America/New_York). Defaults to UTC. (optional) + * @param filterEscalationPolicyIds Comma-separated escalation policy IDs (optional) + * @param filterScheduleIds Comma-separated schedule IDs (optional) + * @param filterUserIds Comma-separated user IDs (optional) + * @param filterServiceIds Comma-separated service IDs (optional) + * @param filterGroupIds Comma-separated group IDs (teams) (optional) + * @param filterNotificationTypes Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). (optional) + * @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
200 success -
404 resource not found when alerting is disabled -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse listOncallsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String since, @javax.annotation.Nullable String until, @javax.annotation.Nullable Boolean earliest, @javax.annotation.Nullable String timeZone, @javax.annotation.Nullable String filterEscalationPolicyIds, @javax.annotation.Nullable String filterScheduleIds, @javax.annotation.Nullable String filterUserIds, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterNotificationTypes) throws ApiException { + okhttp3.Call localVarCall = listOncallsValidateBeforeCall(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes, null); + return localVarApiClient.execute(localVarCall); + } + + /** + * List on-calls (asynchronously) + * List who is currently on-call, with support for filtering by escalation policy, schedule, and user. Returns on-call entries grouped by escalation policy level. + * @param include comma separated if needed. eg: user,schedule (optional) + * @param since Start of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to current time. (optional) + * @param until End of time range in ISO-8601 format (e.g., 2025-01-01T00:00:00Z). Defaults to 'since' time. (optional) + * @param earliest When true, returns only the first on-call user per escalation policy level (optional) + * @param timeZone Timezone for response times (e.g., America/New_York). Defaults to UTC. (optional) + * @param filterEscalationPolicyIds Comma-separated escalation policy IDs (optional) + * @param filterScheduleIds Comma-separated schedule IDs (optional) + * @param filterUserIds Comma-separated user IDs (optional) + * @param filterServiceIds Comma-separated service IDs (optional) + * @param filterGroupIds Comma-separated group IDs (teams) (optional) + * @param filterNotificationTypes Comma-separated notification types to include. One or both of: audible, quiet. When present, oncalls are returned from every non-deferral escalation path whose notification_type is in the filter, sorted audible-first. When absent, only the default path's oncalls are returned (existing behavior). (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 -
404 resource not found when alerting is disabled -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listOncallsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String since, @javax.annotation.Nullable String until, @javax.annotation.Nullable Boolean earliest, @javax.annotation.Nullable String timeZone, @javax.annotation.Nullable String filterEscalationPolicyIds, @javax.annotation.Nullable String filterScheduleIds, @javax.annotation.Nullable String filterUserIds, @javax.annotation.Nullable String filterServiceIds, @javax.annotation.Nullable String filterGroupIds, @javax.annotation.Nullable String filterNotificationTypes, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listOncallsValidateBeforeCall(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes, _callback); + localVarApiClient.executeAsync(localVarCall, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/OverrideShiftsApi.java b/src/main/java/com/rootly/client/api/OverrideShiftsApi.java index b59dc6e0..860158bf 100644 --- a/src/main/java/com/rootly/client/api/OverrideShiftsApi.java +++ b/src/main/java/com/rootly/client/api/OverrideShiftsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -88,8 +88,8 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + +
Response Details
Status Code Description Response Headers
201 override_shift created -
422 invalid request -
201 returns assignee relationship when schedule nesting enabled -
422 cannot create schedule-based override shift -
401 responds with unauthorized for invalid token -
*/ @@ -157,7 +157,7 @@ private okhttp3.Call createOverrideShiftValidateBeforeCall(@javax.annotation.Non /** * creates an override shift - * Creates a new override shift from provided data + * Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. * @param scheduleId (required) * @param newOverrideShift (required) * @return OverrideShiftResponse @@ -166,8 +166,8 @@ private okhttp3.Call createOverrideShiftValidateBeforeCall(@javax.annotation.Non - - + +
Response Details
Status Code Description Response Headers
201 override_shift created -
422 invalid request -
201 returns assignee relationship when schedule nesting enabled -
422 cannot create schedule-based override shift -
401 responds with unauthorized for invalid token -
*/ @@ -178,7 +178,7 @@ public OverrideShiftResponse createOverrideShift(@javax.annotation.Nonnull Strin /** * creates an override shift - * Creates a new override shift from provided data + * Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. * @param scheduleId (required) * @param newOverrideShift (required) * @return ApiResponse<OverrideShiftResponse> @@ -187,8 +187,8 @@ public OverrideShiftResponse createOverrideShift(@javax.annotation.Nonnull Strin - - + +
Response Details
Status Code Description Response Headers
201 override_shift created -
422 invalid request -
201 returns assignee relationship when schedule nesting enabled -
422 cannot create schedule-based override shift -
401 responds with unauthorized for invalid token -
*/ @@ -200,7 +200,7 @@ public ApiResponse createOverrideShiftWithHttpInfo(@javax /** * creates an override shift (asynchronously) - * Creates a new override shift from provided data + * Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. * @param scheduleId (required) * @param newOverrideShift (required) * @param _callback The callback to be executed when the API call finishes @@ -210,8 +210,8 @@ public ApiResponse createOverrideShiftWithHttpInfo(@javax - - + +
Response Details
Status Code Description Response Headers
201 override_shift created -
422 invalid request -
201 returns assignee relationship when schedule nesting enabled -
422 cannot create schedule-based override shift -
401 responds with unauthorized for invalid token -
*/ @@ -232,7 +232,8 @@ public okhttp3.Call createOverrideShiftAsync(@javax.annotation.Nonnull String sc - + +
Response Details
Status Code Description Response Headers
200 override shift deleted -
200 active shadow is preserved with truncated end time -
422 shadow period already ended -
404 resource not found -
*/ @@ -294,7 +295,7 @@ private okhttp3.Call deleteOnCallShadowValidateBeforeCall(@javax.annotation.Nonn /** * Delete an on call shadow configuration - * Delete a specific on call shadow configuration by id + * Delete a specific on call shadow configuration by id. Future shadows are hard-deleted. Active shadows (started in the past) have their end time truncated to preserve historical data. * @param id (required) * @return OnCallShadowResponse * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -302,7 +303,8 @@ private okhttp3.Call deleteOnCallShadowValidateBeforeCall(@javax.annotation.Nonn - + +
Response Details
Status Code Description Response Headers
200 override shift deleted -
200 active shadow is preserved with truncated end time -
422 shadow period already ended -
404 resource not found -
*/ @@ -313,7 +315,7 @@ public OnCallShadowResponse deleteOnCallShadow(@javax.annotation.Nonnull String /** * Delete an on call shadow configuration - * Delete a specific on call shadow configuration by id + * Delete a specific on call shadow configuration by id. Future shadows are hard-deleted. Active shadows (started in the past) have their end time truncated to preserve historical data. * @param id (required) * @return ApiResponse<OnCallShadowResponse> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body @@ -321,7 +323,8 @@ public OnCallShadowResponse deleteOnCallShadow(@javax.annotation.Nonnull String - + +
Response Details
Status Code Description Response Headers
200 override shift deleted -
200 active shadow is preserved with truncated end time -
422 shadow period already ended -
404 resource not found -
*/ @@ -333,7 +336,7 @@ public ApiResponse deleteOnCallShadowWithHttpInfo(@javax.a /** * Delete an on call shadow configuration (asynchronously) - * Delete a specific on call shadow configuration by id + * Delete a specific on call shadow configuration by id. Future shadows are hard-deleted. Active shadows (started in the past) have their end time truncated to preserve historical data. * @param id (required) * @param _callback The callback to be executed when the API call finishes * @return The request call @@ -342,7 +345,8 @@ public ApiResponse deleteOnCallShadowWithHttpInfo(@javax.a - + +
Response Details
Status Code Description Response Headers
200 override shift deleted -
200 active shadow is preserved with truncated end time -
422 shadow period already ended -
404 resource not found -
*/ diff --git a/src/main/java/com/rootly/client/api/PlaybookTasksApi.java b/src/main/java/com/rootly/client/api/PlaybookTasksApi.java index deadc83c..dab849de 100644 --- a/src/main/java/com/rootly/client/api/PlaybookTasksApi.java +++ b/src/main/java/com/rootly/client/api/PlaybookTasksApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/PlaybooksApi.java b/src/main/java/com/rootly/client/api/PlaybooksApi.java index 36858deb..8305f1d1 100644 --- a/src/main/java/com/rootly/client/api/PlaybooksApi.java +++ b/src/main/java/com/rootly/client/api/PlaybooksApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/PulsesApi.java b/src/main/java/com/rootly/client/api/PulsesApi.java index a28403b5..78f2ab16 100644 --- a/src/main/java/com/rootly/client/api/PulsesApi.java +++ b/src/main/java/com/rootly/client/api/PulsesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveConfigurationsApi.java b/src/main/java/com/rootly/client/api/RetrospectiveConfigurationsApi.java index c17f0f86..b814eba6 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveConfigurationsApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveConfigurationsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApi.java b/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApi.java index 25e7ffcf..2381873d 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupsApi.java b/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupsApi.java index 5e59351a..541928f8 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupsApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveProcessGroupsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveProcessesApi.java b/src/main/java/com/rootly/client/api/RetrospectiveProcessesApi.java index 65d5f112..4b5f879f 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveProcessesApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveProcessesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveStepsApi.java b/src/main/java/com/rootly/client/api/RetrospectiveStepsApi.java index 4c98f5ee..50703b2c 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveStepsApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveStepsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/RetrospectiveTemplatesApi.java b/src/main/java/com/rootly/client/api/RetrospectiveTemplatesApi.java index 9fd2430d..718c1111 100644 --- a/src/main/java/com/rootly/client/api/RetrospectiveTemplatesApi.java +++ b/src/main/java/com/rootly/client/api/RetrospectiveTemplatesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewPostMortemTemplate; import com.rootly.client.model.PostMortemTemplateList; import com.rootly.client.model.PostMortemTemplateResponse; @@ -86,7 +87,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 post_mortem_template created -
201 post_mortem_template created with TipTap blocks -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -157,7 +158,7 @@ private okhttp3.Call createPostmortemTemplateValidateBeforeCall(@javax.annotatio - +
Response Details
Status Code Description Response Headers
201 post_mortem_template created -
201 post_mortem_template created with TipTap blocks -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -177,7 +178,7 @@ public PostMortemTemplateResponse createPostmortemTemplate(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
201 post_mortem_template created -
201 post_mortem_template created with TipTap blocks -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -199,7 +200,7 @@ public ApiResponse createPostmortemTemplateWithHttpI - +
Response Details
Status Code Description Response Headers
201 post_mortem_template created -
201 post_mortem_template created with TipTap blocks -
422 invalid request -
401 responds with unauthorized for invalid token -
@@ -225,7 +226,7 @@ public okhttp3.Call createPostmortemTemplateAsync(@javax.annotation.Nonnull NewP 404 resource not found - */ - public okhttp3.Call deletePostmortemTemplateCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deletePostmortemTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deletePostmortemTemplateCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call deletePostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deletePostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deletePostmortemTemplate(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deletePostmortemTemplateValidateBeforeCall(@javax.annotatio 404 resource not found - */ - public PostMortemTemplateResponse deletePostmortemTemplate(@javax.annotation.Nonnull String id) throws ApiException { + public PostMortemTemplateResponse deletePostmortemTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deletePostmortemTemplateWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public PostMortemTemplateResponse deletePostmortemTemplate(@javax.annotation.Non 404 resource not found - */ - public ApiResponse deletePostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deletePostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deletePostmortemTemplateValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deletePostmortemTemplateWithHttpI 404 resource not found - */ - public okhttp3.Call deletePostmortemTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deletePostmortemTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deletePostmortemTemplateValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deletePostmortemTemplateAsync(@javax.annotation.Nonnull Stri 404 resource not found - */ - public okhttp3.Call getPostmortemTemplateCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getPostmortemTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getPostmortemTemplateCall(@javax.annotation.Nonnull String i } @SuppressWarnings("rawtypes") - private okhttp3.Call getPostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getPostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getPostmortemTemplate(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getPostmortemTemplateValidateBeforeCall(@javax.annotation.N 404 resource not found - */ - public PostMortemTemplateResponse getPostmortemTemplate(@javax.annotation.Nonnull String id) throws ApiException { + public PostMortemTemplateResponse getPostmortemTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getPostmortemTemplateWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public PostMortemTemplateResponse getPostmortemTemplate(@javax.annotation.Nonnul 404 resource not found - */ - public ApiResponse getPostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getPostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getPostmortemTemplateValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getPostmortemTemplateWithHttpInfo 404 resource not found - */ - public okhttp3.Call getPostmortemTemplateAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getPostmortemTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getPostmortemTemplateValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -625,11 +626,11 @@ public okhttp3.Call listPostmortemTemplatesAsync(@javax.annotation.Nullable Stri - +
Response Details
Status Code Description Response Headers
200 Retrospective Template updated -
200 Retrospective Template updated with sanitized content -
404 resource not found -
*/ - public okhttp3.Call updatePostmortemTemplateCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updatePostmortemTemplateCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -676,7 +677,7 @@ public okhttp3.Call updatePostmortemTemplateCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call updatePostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updatePostmortemTemplateValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, 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 updatePostmortemTemplate(Async)"); @@ -702,11 +703,11 @@ private okhttp3.Call updatePostmortemTemplateValidateBeforeCall(@javax.annotatio - +
Response Details
Status Code Description Response Headers
200 Retrospective Template updated -
200 Retrospective Template updated with sanitized content -
404 resource not found -
*/ - public PostMortemTemplateResponse updatePostmortemTemplate(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate) throws ApiException { + public PostMortemTemplateResponse updatePostmortemTemplate(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate) throws ApiException { ApiResponse localVarResp = updatePostmortemTemplateWithHttpInfo(id, updatePostMortemTemplate); return localVarResp.getData(); } @@ -722,11 +723,11 @@ public PostMortemTemplateResponse updatePostmortemTemplate(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 Retrospective Template updated -
200 Retrospective Template updated with sanitized content -
404 resource not found -
*/ - public ApiResponse updatePostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate) throws ApiException { + public ApiResponse updatePostmortemTemplateWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate) throws ApiException { okhttp3.Call localVarCall = updatePostmortemTemplateValidateBeforeCall(id, updatePostMortemTemplate, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -744,11 +745,11 @@ public ApiResponse updatePostmortemTemplateWithHttpI - +
Response Details
Status Code Description Response Headers
200 Retrospective Template updated -
200 Retrospective Template updated with sanitized content -
404 resource not found -
*/ - public okhttp3.Call updatePostmortemTemplateAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updatePostmortemTemplateAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdatePostMortemTemplate updatePostMortemTemplate, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updatePostmortemTemplateValidateBeforeCall(id, updatePostMortemTemplate, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/RolesApi.java b/src/main/java/com/rootly/client/api/RolesApi.java index 10ee210e..00d8f7b1 100644 --- a/src/main/java/com/rootly/client/api/RolesApi.java +++ b/src/main/java/com/rootly/client/api/RolesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewRole; import com.rootly.client.model.RoleList; import com.rootly.client.model.RoleResponse; @@ -225,7 +226,7 @@ public okhttp3.Call createRoleAsync(@javax.annotation.Nonnull NewRole newRole, f 404 resource not found - */ - public okhttp3.Call deleteRoleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteRoleCall(@javax.annotation.Nonnull String id, final Ap } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteRoleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteRole(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteRoleValidateBeforeCall(@javax.annotation.Nonnull Stri 404 resource not found - */ - public RoleResponse deleteRole(@javax.annotation.Nonnull String id) throws ApiException { + public RoleResponse deleteRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteRoleWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public RoleResponse deleteRole(@javax.annotation.Nonnull String id) throws ApiEx 404 resource not found - */ - public ApiResponse deleteRoleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteRoleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteRoleWithHttpInfo(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call deleteRoleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteRoleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteRoleAsync(@javax.annotation.Nonnull String id, final A 404 resource not found - */ - public okhttp3.Call getRoleCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getRoleCall(@javax.annotation.Nonnull String id, final ApiCa } @SuppressWarnings("rawtypes") - private okhttp3.Call getRoleValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getRole(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getRoleValidateBeforeCall(@javax.annotation.Nonnull String 404 resource not found - */ - public RoleResponse getRole(@javax.annotation.Nonnull String id) throws ApiException { + public RoleResponse getRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getRoleWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public RoleResponse getRole(@javax.annotation.Nonnull String id) throws ApiExcep 404 resource not found - */ - public ApiResponse getRoleWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getRoleValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getRoleWithHttpInfo(@javax.annotation.Nonnull S 404 resource not found - */ - public okhttp3.Call getRoleAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getRoleValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -693,7 +694,7 @@ public okhttp3.Call listRolesAsync(@javax.annotation.Nullable String include, @j 404 resource not found - */ - public okhttp3.Call updateRoleCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateRole updateRole, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateRoleCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateRole updateRole, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -740,7 +741,7 @@ public okhttp3.Call updateRoleCall(@javax.annotation.Nonnull String id, @javax.a } @SuppressWarnings("rawtypes") - private okhttp3.Call updateRoleValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateRole updateRole, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateRoleValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateRole updateRole, 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 updateRole(Async)"); @@ -770,7 +771,7 @@ private okhttp3.Call updateRoleValidateBeforeCall(@javax.annotation.Nonnull Stri 404 resource not found - */ - public RoleResponse updateRole(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateRole updateRole) throws ApiException { + public RoleResponse updateRole(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateRole updateRole) throws ApiException { ApiResponse localVarResp = updateRoleWithHttpInfo(id, updateRole); return localVarResp.getData(); } @@ -790,7 +791,7 @@ public RoleResponse updateRole(@javax.annotation.Nonnull String id, @javax.annot 404 resource not found - */ - public ApiResponse updateRoleWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateRole updateRole) throws ApiException { + public ApiResponse updateRoleWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateRole updateRole) throws ApiException { okhttp3.Call localVarCall = updateRoleValidateBeforeCall(id, updateRole, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -812,7 +813,7 @@ public ApiResponse updateRoleWithHttpInfo(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call updateRoleAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateRole updateRole, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateRoleAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateRole updateRole, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateRoleValidateBeforeCall(id, updateRole, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/ScheduleRotationActiveDaysApi.java b/src/main/java/com/rootly/client/api/ScheduleRotationActiveDaysApi.java index aba1537f..ce8b3c79 100644 --- a/src/main/java/com/rootly/client/api/ScheduleRotationActiveDaysApi.java +++ b/src/main/java/com/rootly/client/api/ScheduleRotationActiveDaysApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/ScheduleRotationUsersApi.java b/src/main/java/com/rootly/client/api/ScheduleRotationUsersApi.java index d8c151a7..9182e5f1 100644 --- a/src/main/java/com/rootly/client/api/ScheduleRotationUsersApi.java +++ b/src/main/java/com/rootly/client/api/ScheduleRotationUsersApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/ScheduleRotationsApi.java b/src/main/java/com/rootly/client/api/ScheduleRotationsApi.java index 1e12e1ba..a97bb728 100644 --- a/src/main/java/com/rootly/client/api/ScheduleRotationsApi.java +++ b/src/main/java/com/rootly/client/api/ScheduleRotationsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/SchedulesApi.java b/src/main/java/com/rootly/client/api/SchedulesApi.java index a2a09957..a9a98ccf 100644 --- a/src/main/java/com/rootly/client/api/SchedulesApi.java +++ b/src/main/java/com/rootly/client/api/SchedulesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/SecretsApi.java b/src/main/java/com/rootly/client/api/SecretsApi.java index 6cfff40f..ebc9c59c 100644 --- a/src/main/java/com/rootly/client/api/SecretsApi.java +++ b/src/main/java/com/rootly/client/api/SecretsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/ServicesApi.java b/src/main/java/com/rootly/client/api/ServicesApi.java index 369aea9d..357dcf2e 100644 --- a/src/main/java/com/rootly/client/api/ServicesApi.java +++ b/src/main/java/com/rootly/client/api/ServicesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,7 +27,11 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewService; import com.rootly.client.model.ServiceList; import com.rootly.client.model.ServiceResponse; @@ -211,6 +215,141 @@ public okhttp3.Call createServiceAsync(@javax.annotation.Nonnull NewService newS localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for createServiceCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createServiceCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/services/properties"; + + 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 createServiceCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createServiceCatalogProperty(Async)"); + } + + return createServiceCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createServiceCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createServiceCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createServiceCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createServiceCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createServiceCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createServiceCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for deleteService * @param id (required) @@ -225,7 +364,7 @@ public okhttp3.Call createServiceAsync(@javax.annotation.Nonnull NewService newS 404 resource not found - */ - public okhttp3.Call deleteServiceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteServiceCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteServiceCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteServiceValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteServiceValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteService(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteServiceValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public ServiceResponse deleteService(@javax.annotation.Nonnull String id) throws ApiException { + public ServiceResponse deleteService(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteServiceWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public ServiceResponse deleteService(@javax.annotation.Nonnull String id) throws 404 resource not found - */ - public ApiResponse deleteServiceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteServiceWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteServiceValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteServiceWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call deleteServiceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteServiceAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteServiceValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +491,11 @@ public okhttp3.Call deleteServiceAsync(@javax.annotation.Nonnull String id, fina - +
Response Details
Status Code Description Response Headers
200 service found -
200 service found by slug -
404 resource not found -
*/ - public okhttp3.Call getServiceCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +541,7 @@ public okhttp3.Call getServiceCall(@javax.annotation.Nonnull String id, final Ap } @SuppressWarnings("rawtypes") - private okhttp3.Call getServiceValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getServiceValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getService(Async)"); @@ -422,11 +561,11 @@ private okhttp3.Call getServiceValidateBeforeCall(@javax.annotation.Nonnull Stri - +
Response Details
Status Code Description Response Headers
200 service found -
200 service found by slug -
404 resource not found -
*/ - public ServiceResponse getService(@javax.annotation.Nonnull String id) throws ApiException { + public ServiceResponse getService(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getServiceWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +580,11 @@ public ServiceResponse getService(@javax.annotation.Nonnull String id) throws Ap - +
Response Details
Status Code Description Response Headers
200 service found -
200 service found by slug -
404 resource not found -
*/ - public ApiResponse getServiceWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getServiceWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getServiceValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +601,11 @@ public ApiResponse getServiceWithHttpInfo(@javax.annotation.Non - +
Response Details
Status Code Description Response Headers
200 service found -
200 service found by slug -
404 resource not found -
*/ - public okhttp3.Call getServiceAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getServiceValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -488,7 +627,7 @@ public okhttp3.Call getServiceAsync(@javax.annotation.Nonnull String id, final A 404 resource not found - */ - public okhttp3.Call getServiceIncidentsChartCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceIncidentsChartCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -538,7 +677,7 @@ public okhttp3.Call getServiceIncidentsChartCall(@javax.annotation.Nonnull Strin } @SuppressWarnings("rawtypes") - private okhttp3.Call getServiceIncidentsChartValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getServiceIncidentsChartValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, 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 getServiceIncidentsChart(Async)"); @@ -568,7 +707,7 @@ private okhttp3.Call getServiceIncidentsChartValidateBeforeCall(@javax.annotatio 404 resource not found - */ - public Object getServiceIncidentsChart(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period) throws ApiException { + public Object getServiceIncidentsChart(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period) throws ApiException { ApiResponse localVarResp = getServiceIncidentsChartWithHttpInfo(id, period); return localVarResp.getData(); } @@ -588,7 +727,7 @@ public Object getServiceIncidentsChart(@javax.annotation.Nonnull String id, @jav 404 resource not found - */ - public ApiResponse getServiceIncidentsChartWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period) throws ApiException { + public ApiResponse getServiceIncidentsChartWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period) throws ApiException { okhttp3.Call localVarCall = getServiceIncidentsChartValidateBeforeCall(id, period, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -610,7 +749,7 @@ public ApiResponse getServiceIncidentsChartWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call getServiceIncidentsChartAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceIncidentsChartAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull String period, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getServiceIncidentsChartValidateBeforeCall(id, period, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -632,7 +771,7 @@ public okhttp3.Call getServiceIncidentsChartAsync(@javax.annotation.Nonnull Stri 404 resource not found - */ - public okhttp3.Call getServiceUptimeChartCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceUptimeChartCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -682,7 +821,7 @@ public okhttp3.Call getServiceUptimeChartCall(@javax.annotation.Nonnull String i } @SuppressWarnings("rawtypes") - private okhttp3.Call getServiceUptimeChartValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getServiceUptimeChartValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, 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 getServiceUptimeChart(Async)"); @@ -707,7 +846,7 @@ private okhttp3.Call getServiceUptimeChartValidateBeforeCall(@javax.annotation.N 404 resource not found - */ - public Object getServiceUptimeChart(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period) throws ApiException { + public Object getServiceUptimeChart(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period) throws ApiException { ApiResponse localVarResp = getServiceUptimeChartWithHttpInfo(id, period); return localVarResp.getData(); } @@ -727,7 +866,7 @@ public Object getServiceUptimeChart(@javax.annotation.Nonnull String id, @javax. 404 resource not found - */ - public ApiResponse getServiceUptimeChartWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period) throws ApiException { + public ApiResponse getServiceUptimeChartWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period) throws ApiException { okhttp3.Call localVarCall = getServiceUptimeChartValidateBeforeCall(id, period, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -749,13 +888,218 @@ public ApiResponse getServiceUptimeChartWithHttpInfo(@javax.annotation.N 404 resource not found - */ - public okhttp3.Call getServiceUptimeChartAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getServiceUptimeChartAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String period, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getServiceUptimeChartValidateBeforeCall(id, period, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listServiceCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listServiceCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/services/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listServiceCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listServiceCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List Service Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listServiceCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listServiceCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List Service Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listServiceCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listServiceCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List Service Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listServiceCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listServiceCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for listServices * @param include (optional) @@ -768,6 +1112,8 @@ public okhttp3.Call getServiceUptimeChartAsync(@javax.annotation.Nonnull String * @param filterCortexId (optional) * @param filterOpslevelId (optional) * @param filterExternalId (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -783,7 +1129,7 @@ public okhttp3.Call getServiceUptimeChartAsync(@javax.annotation.Nonnull String 200 success - */ - public okhttp3.Call listServicesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listServicesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -848,6 +1194,14 @@ public okhttp3.Call listServicesCall(@javax.annotation.Nullable String include, localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[external_id]", filterExternalId)); } + if (filterAlertBroadcastEnabled != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[alert_broadcast_enabled]", filterAlertBroadcastEnabled)); + } + + if (filterIncidentBroadcastEnabled != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[incident_broadcast_enabled]", filterIncidentBroadcastEnabled)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -888,8 +1242,8 @@ public okhttp3.Call listServicesCall(@javax.annotation.Nullable String include, } @SuppressWarnings("rawtypes") - private okhttp3.Call listServicesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - return listServicesCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + private okhttp3.Call listServicesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listServicesCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); } @@ -906,6 +1260,8 @@ private okhttp3.Call listServicesValidateBeforeCall(@javax.annotation.Nullable S * @param filterCortexId (optional) * @param filterOpslevelId (optional) * @param filterExternalId (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -920,8 +1276,8 @@ private okhttp3.Call listServicesValidateBeforeCall(@javax.annotation.Nullable S 200 success - */ - public ServiceList listServices(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - ApiResponse localVarResp = listServicesWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + public ServiceList listServices(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listServicesWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); return localVarResp.getData(); } @@ -938,6 +1294,8 @@ public ServiceList listServices(@javax.annotation.Nullable String include, @java * @param filterCortexId (optional) * @param filterOpslevelId (optional) * @param filterExternalId (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -952,8 +1310,8 @@ public ServiceList listServices(@javax.annotation.Nullable String include, @java 200 success - */ - public ApiResponse listServicesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - okhttp3.Call localVarCall = listServicesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + public ApiResponse listServicesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listServicesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -971,6 +1329,8 @@ public ApiResponse listServicesWithHttpInfo(@javax.annotation.Nulla * @param filterCortexId (optional) * @param filterOpslevelId (optional) * @param filterExternalId (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -986,9 +1346,9 @@ public ApiResponse listServicesWithHttpInfo(@javax.annotation.Nulla 200 success - */ - public okhttp3.Call listServicesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listServicesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listServicesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + okhttp3.Call localVarCall = listServicesValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -1008,7 +1368,7 @@ public okhttp3.Call listServicesAsync(@javax.annotation.Nullable String include, 404 resource not found - */ - public okhttp3.Call updateServiceCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateService updateService, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateServiceCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateService updateService, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -1055,7 +1415,7 @@ public okhttp3.Call updateServiceCall(@javax.annotation.Nonnull String id, @java } @SuppressWarnings("rawtypes") - private okhttp3.Call updateServiceValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateService updateService, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateServiceValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateService updateService, 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 updateService(Async)"); @@ -1085,7 +1445,7 @@ private okhttp3.Call updateServiceValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public ServiceResponse updateService(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateService updateService) throws ApiException { + public ServiceResponse updateService(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateService updateService) throws ApiException { ApiResponse localVarResp = updateServiceWithHttpInfo(id, updateService); return localVarResp.getData(); } @@ -1105,7 +1465,7 @@ public ServiceResponse updateService(@javax.annotation.Nonnull String id, @javax 404 resource not found - */ - public ApiResponse updateServiceWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateService updateService) throws ApiException { + public ApiResponse updateServiceWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateService updateService) throws ApiException { okhttp3.Call localVarCall = updateServiceValidateBeforeCall(id, updateService, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -1127,7 +1487,7 @@ public ApiResponse updateServiceWithHttpInfo(@javax.annotation. 404 resource not found - */ - public okhttp3.Call updateServiceAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateService updateService, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateServiceAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateService updateService, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateServiceValidateBeforeCall(id, updateService, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/SeveritiesApi.java b/src/main/java/com/rootly/client/api/SeveritiesApi.java index bb3641cc..18ecc945 100644 --- a/src/main/java/com/rootly/client/api/SeveritiesApi.java +++ b/src/main/java/com/rootly/client/api/SeveritiesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewSeverity; import com.rootly.client.model.SeverityList; import com.rootly.client.model.SeverityResponse; @@ -225,7 +226,7 @@ public okhttp3.Call createSeverityAsync(@javax.annotation.Nonnull NewSeverity ne 404 resource not found - */ - public okhttp3.Call deleteSeverityCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteSeverityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteSeverityCall(@javax.annotation.Nonnull String id, fina } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteSeverityValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteSeverityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteSeverity(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteSeverityValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public SeverityResponse deleteSeverity(@javax.annotation.Nonnull String id) throws ApiException { + public SeverityResponse deleteSeverity(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteSeverityWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public SeverityResponse deleteSeverity(@javax.annotation.Nonnull String id) thro 404 resource not found - */ - public ApiResponse deleteSeverityWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteSeverityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteSeverityValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteSeverityWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call deleteSeverityAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteSeverityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteSeverityValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteSeverityAsync(@javax.annotation.Nonnull String id, fin 404 resource not found - */ - public okhttp3.Call getSeverityCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getSeverityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getSeverityCall(@javax.annotation.Nonnull String id, final A } @SuppressWarnings("rawtypes") - private okhttp3.Call getSeverityValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getSeverityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getSeverity(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getSeverityValidateBeforeCall(@javax.annotation.Nonnull Str 404 resource not found - */ - public SeverityResponse getSeverity(@javax.annotation.Nonnull String id) throws ApiException { + public SeverityResponse getSeverity(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getSeverityWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public SeverityResponse getSeverity(@javax.annotation.Nonnull String id) throws 404 resource not found - */ - public ApiResponse getSeverityWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getSeverityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getSeverityValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getSeverityWithHttpInfo(@javax.annotation.N 404 resource not found - */ - public okhttp3.Call getSeverityAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getSeverityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getSeverityValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -709,7 +710,7 @@ public okhttp3.Call listSeveritiesAsync(@javax.annotation.Nullable String includ 404 resource not found - */ - public okhttp3.Call updateSeverityCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateSeverityCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -756,7 +757,7 @@ public okhttp3.Call updateSeverityCall(@javax.annotation.Nonnull String id, @jav } @SuppressWarnings("rawtypes") - private okhttp3.Call updateSeverityValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateSeverityValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, 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 updateSeverity(Async)"); @@ -786,7 +787,7 @@ private okhttp3.Call updateSeverityValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public SeverityResponse updateSeverity(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSeverity updateSeverity) throws ApiException { + public SeverityResponse updateSeverity(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSeverity updateSeverity) throws ApiException { ApiResponse localVarResp = updateSeverityWithHttpInfo(id, updateSeverity); return localVarResp.getData(); } @@ -806,7 +807,7 @@ public SeverityResponse updateSeverity(@javax.annotation.Nonnull String id, @jav 404 resource not found - */ - public ApiResponse updateSeverityWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSeverity updateSeverity) throws ApiException { + public ApiResponse updateSeverityWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSeverity updateSeverity) throws ApiException { okhttp3.Call localVarCall = updateSeverityValidateBeforeCall(id, updateSeverity, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -828,7 +829,7 @@ public ApiResponse updateSeverityWithHttpInfo(@javax.annotatio 404 resource not found - */ - public okhttp3.Call updateSeverityAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateSeverityAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSeverity updateSeverity, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateSeverityValidateBeforeCall(id, updateSeverity, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/ShiftsApi.java b/src/main/java/com/rootly/client/api/ShiftsApi.java index fa37ab7b..d45b263c 100644 --- a/src/main/java/com/rootly/client/api/ShiftsApi.java +++ b/src/main/java/com/rootly/client/api/ShiftsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -222,11 +222,13 @@ public okhttp3.Call getScheduleShiftsAsync(@javax.annotation.Nonnull String id, } /** * Build call for listShifts - * @param include comma separated if needed. eg: shift_override,user (optional) - * @param to Start range for shifts (optional) - * @param from End range for shifts (optional) + * @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 userIds (optional) * @param scheduleIds (optional) + * @param pageNumber Page number (defaults to 1) (optional) + * @param pageSize Number of shifts per page (defaults to 50, max 1000) (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -238,7 +240,7 @@ public okhttp3.Call getScheduleShiftsAsync(@javax.annotation.Nonnull String id, 404 resource not found - */ - public okhttp3.Call listShiftsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String to, @javax.annotation.Nullable String from, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listShiftsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String from, @javax.annotation.Nullable String to, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -267,14 +269,14 @@ public okhttp3.Call listShiftsCall(@javax.annotation.Nullable String include, @j localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); } - if (to != null) { - localVarQueryParams.addAll(localVarApiClient.parameterToPair("to", to)); - } - if (from != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("from", from)); } + if (to != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("to", to)); + } + if (userIds != null) { localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "user_ids[]", userIds)); } @@ -283,6 +285,14 @@ public okhttp3.Call listShiftsCall(@javax.annotation.Nullable String include, @j localVarCollectionQueryParams.addAll(localVarApiClient.parameterToPairs("multi", "schedule_ids[]", scheduleIds)); } + 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" }; @@ -303,19 +313,21 @@ public okhttp3.Call listShiftsCall(@javax.annotation.Nullable String include, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call listShiftsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String to, @javax.annotation.Nullable String from, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, final ApiCallback _callback) throws ApiException { - return listShiftsCall(include, to, from, userIds, scheduleIds, _callback); + private okhttp3.Call listShiftsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String from, @javax.annotation.Nullable String to, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { + return listShiftsCall(include, from, to, userIds, scheduleIds, pageNumber, pageSize, _callback); } /** * List shifts * List shifts - * @param include comma separated if needed. eg: shift_override,user (optional) - * @param to Start range for shifts (optional) - * @param from End range for shifts (optional) + * @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 userIds (optional) * @param scheduleIds (optional) + * @param pageNumber Page number (defaults to 1) (optional) + * @param pageSize Number of shifts per page (defaults to 50, max 1000) (optional) * @return ShiftList * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -326,19 +338,21 @@ private okhttp3.Call listShiftsValidateBeforeCall(@javax.annotation.Nullable Str 404 resource not found - */ - public ShiftList listShifts(@javax.annotation.Nullable String include, @javax.annotation.Nullable String to, @javax.annotation.Nullable String from, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds) throws ApiException { - ApiResponse localVarResp = listShiftsWithHttpInfo(include, to, from, userIds, scheduleIds); + public ShiftList listShifts(@javax.annotation.Nullable String include, @javax.annotation.Nullable String from, @javax.annotation.Nullable String to, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + ApiResponse localVarResp = listShiftsWithHttpInfo(include, from, to, userIds, scheduleIds, pageNumber, pageSize); return localVarResp.getData(); } /** * List shifts * List shifts - * @param include comma separated if needed. eg: shift_override,user (optional) - * @param to Start range for shifts (optional) - * @param from End range for shifts (optional) + * @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 userIds (optional) * @param scheduleIds (optional) + * @param pageNumber Page number (defaults to 1) (optional) + * @param pageSize Number of shifts per page (defaults to 50, max 1000) (optional) * @return ApiResponse<ShiftList> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details @@ -349,8 +363,8 @@ public ShiftList listShifts(@javax.annotation.Nullable String include, @javax.an 404 resource not found - */ - public ApiResponse listShiftsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String to, @javax.annotation.Nullable String from, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds) throws ApiException { - okhttp3.Call localVarCall = listShiftsValidateBeforeCall(include, to, from, userIds, scheduleIds, null); + public ApiResponse listShiftsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String from, @javax.annotation.Nullable String to, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize) throws ApiException { + okhttp3.Call localVarCall = listShiftsValidateBeforeCall(include, from, to, userIds, scheduleIds, pageNumber, pageSize, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -358,11 +372,13 @@ public ApiResponse listShiftsWithHttpInfo(@javax.annotation.Nullable /** * List shifts (asynchronously) * List shifts - * @param include comma separated if needed. eg: shift_override,user (optional) - * @param to Start range for shifts (optional) - * @param from End range for shifts (optional) + * @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 userIds (optional) * @param scheduleIds (optional) + * @param pageNumber Page number (defaults to 1) (optional) + * @param pageSize Number of shifts per page (defaults to 50, max 1000) (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 @@ -374,9 +390,9 @@ public ApiResponse listShiftsWithHttpInfo(@javax.annotation.Nullable 404 resource not found - */ - public okhttp3.Call listShiftsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String to, @javax.annotation.Nullable String from, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listShiftsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String from, @javax.annotation.Nullable String to, @javax.annotation.Nullable List userIds, @javax.annotation.Nullable List scheduleIds, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listShiftsValidateBeforeCall(include, to, from, userIds, scheduleIds, _callback); + okhttp3.Call localVarCall = listShiftsValidateBeforeCall(include, from, to, userIds, scheduleIds, pageNumber, pageSize, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; diff --git a/src/main/java/com/rootly/client/api/SlasApi.java b/src/main/java/com/rootly/client/api/SlasApi.java new file mode 100644 index 00000000..3732d4fd --- /dev/null +++ b/src/main/java/com/rootly/client/api/SlasApi.java @@ -0,0 +1,814 @@ +/* + * 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.NewSla; +import com.rootly.client.model.SlaList; +import com.rootly.client.model.SlaResponse; +import com.rootly.client.model.UpdateSla; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class SlasApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public SlasApi() { + this(Configuration.getDefaultApiClient()); + } + + public SlasApi(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 createSLA + * @param newSla (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 SLA created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createSLACall(@javax.annotation.Nonnull NewSla newSla, 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 = newSla; + + // create path and map variables + String localVarPath = "/v1/slas"; + + 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 createSLAValidateBeforeCall(@javax.annotation.Nonnull NewSla newSla, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newSla' is set + if (newSla == null) { + throw new ApiException("Missing the required parameter 'newSla' when calling createSLA(Async)"); + } + + return createSLACall(newSla, _callback); + + } + + /** + * Creates an SLA + * Creates a new SLA from provided data + * @param newSla (required) + * @return SlaResponse + * @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 SLA created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public SlaResponse createSLA(@javax.annotation.Nonnull NewSla newSla) throws ApiException { + ApiResponse localVarResp = createSLAWithHttpInfo(newSla); + return localVarResp.getData(); + } + + /** + * Creates an SLA + * Creates a new SLA from provided data + * @param newSla (required) + * @return ApiResponse<SlaResponse> + * @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 SLA created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createSLAWithHttpInfo(@javax.annotation.Nonnull NewSla newSla) throws ApiException { + okhttp3.Call localVarCall = createSLAValidateBeforeCall(newSla, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates an SLA (asynchronously) + * Creates a new SLA from provided data + * @param newSla (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 SLA created -
422 invalid request -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createSLAAsync(@javax.annotation.Nonnull NewSla newSla, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createSLAValidateBeforeCall(newSla, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteSLA + * @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 SLA deleted -
404 resource not found for another team -
+ */ + public okhttp3.Call deleteSLACall(@javax.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/slas/{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 deleteSLAValidateBeforeCall(@javax.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 deleteSLA(Async)"); + } + + return deleteSLACall(id, _callback); + + } + + /** + * Delete an SLA + * Delete a specific SLA by id + * @param id (required) + * @return SlaResponse + * @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 SLA deleted -
404 resource not found for another team -
+ */ + public SlaResponse deleteSLA(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteSLAWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete an SLA + * Delete a specific SLA by id + * @param id (required) + * @return ApiResponse<SlaResponse> + * @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 SLA deleted -
404 resource not found for another team -
+ */ + public ApiResponse deleteSLAWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteSLAValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete an SLA (asynchronously) + * Delete a specific SLA 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 SLA deleted -
404 resource not found for another team -
+ */ + public okhttp3.Call deleteSLAAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteSLAValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getSLA + * @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 SLA found -
404 resource not found for another team -
+ */ + public okhttp3.Call getSLACall(@javax.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/slas/{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 getSLAValidateBeforeCall(@javax.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 getSLA(Async)"); + } + + return getSLACall(id, _callback); + + } + + /** + * Retrieves an SLA + * Retrieves a specific SLA by id + * @param id (required) + * @return SlaResponse + * @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 SLA found -
404 resource not found for another team -
+ */ + public SlaResponse getSLA(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = getSLAWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves an SLA + * Retrieves a specific SLA by id + * @param id (required) + * @return ApiResponse<SlaResponse> + * @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 SLA found -
404 resource not found for another team -
+ */ + public ApiResponse getSLAWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = getSLAValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves an SLA (asynchronously) + * Retrieves a specific SLA 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 SLA found -
404 resource not found for another team -
+ */ + public okhttp3.Call getSLAAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getSLAValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listSLAs + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 listSLAsCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, 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/slas"; + + 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 (filterSearch != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[search]", filterSearch)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + 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 listSLAsValidateBeforeCall(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listSLAsCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + + } + + /** + * List SLAs + * List SLAs + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return SlaList + * @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 SlaList listSLAs(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listSLAsWithHttpInfo(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + return localVarResp.getData(); + } + + /** + * List SLAs + * List SLAs + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (optional) + * @return ApiResponse<SlaList> + * @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 listSLAsWithHttpInfo(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listSLAsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List SLAs (asynchronously) + * List SLAs + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSearch (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @param sort (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 listSLAsAsync(@javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listSLAsValidateBeforeCall(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateSLA + * @param id (required) + * @param updateSla (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 SLA updated -
404 resource not found for another team -
+ */ + public okhttp3.Call updateSLACall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSla updateSla, 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 = updateSla; + + // create path and map variables + String localVarPath = "/v1/slas/{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 updateSLAValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSla updateSla, 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 updateSLA(Async)"); + } + + // verify the required parameter 'updateSla' is set + if (updateSla == null) { + throw new ApiException("Missing the required parameter 'updateSla' when calling updateSLA(Async)"); + } + + return updateSLACall(id, updateSla, _callback); + + } + + /** + * Update an SLA + * Update a specific SLA by id + * @param id (required) + * @param updateSla (required) + * @return SlaResponse + * @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 SLA updated -
404 resource not found for another team -
+ */ + public SlaResponse updateSLA(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSla updateSla) throws ApiException { + ApiResponse localVarResp = updateSLAWithHttpInfo(id, updateSla); + return localVarResp.getData(); + } + + /** + * Update an SLA + * Update a specific SLA by id + * @param id (required) + * @param updateSla (required) + * @return ApiResponse<SlaResponse> + * @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 SLA updated -
404 resource not found for another team -
+ */ + public ApiResponse updateSLAWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSla updateSla) throws ApiException { + okhttp3.Call localVarCall = updateSLAValidateBeforeCall(id, updateSla, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update an SLA (asynchronously) + * Update a specific SLA by id + * @param id (required) + * @param updateSla (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 SLA updated -
404 resource not found for another team -
+ */ + public okhttp3.Call updateSLAAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSla updateSla, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateSLAValidateBeforeCall(id, updateSla, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/StatusPageTemplatesApi.java b/src/main/java/com/rootly/client/api/StatusPageTemplatesApi.java index 34f23d3b..725ee44d 100644 --- a/src/main/java/com/rootly/client/api/StatusPageTemplatesApi.java +++ b/src/main/java/com/rootly/client/api/StatusPageTemplatesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/StatusPagesApi.java b/src/main/java/com/rootly/client/api/StatusPagesApi.java index 21741f8d..d0e02b19 100644 --- a/src/main/java/com/rootly/client/api/StatusPagesApi.java +++ b/src/main/java/com/rootly/client/api/StatusPagesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewStatusPage; import com.rootly.client.model.StatusPageList; import com.rootly.client.model.StatusPageResponse; @@ -86,8 +87,8 @@ public void setCustomBaseUrl(String customBaseUrl) { - - + +
Response Details
Status Code Description Response Headers
201 status_page created -
422 invalid request -
201 status page with SAML created -
422 invalid SAML configuration -
401 responds with unauthorized for invalid token -
*/ @@ -157,8 +158,8 @@ private okhttp3.Call createStatusPageValidateBeforeCall(@javax.annotation.Nonnul - - + +
Response Details
Status Code Description Response Headers
201 status_page created -
422 invalid request -
201 status page with SAML created -
422 invalid SAML configuration -
401 responds with unauthorized for invalid token -
*/ @@ -177,8 +178,8 @@ public StatusPageResponse createStatusPage(@javax.annotation.Nonnull NewStatusPa - - + +
Response Details
Status Code Description Response Headers
201 status_page created -
422 invalid request -
201 status page with SAML created -
422 invalid SAML configuration -
401 responds with unauthorized for invalid token -
*/ @@ -199,8 +200,8 @@ public ApiResponse createStatusPageWithHttpInfo(@javax.annot - - + +
Response Details
Status Code Description Response Headers
201 status_page created -
422 invalid request -
201 status page with SAML created -
422 invalid SAML configuration -
401 responds with unauthorized for invalid token -
*/ @@ -225,7 +226,7 @@ public okhttp3.Call createStatusPageAsync(@javax.annotation.Nonnull NewStatusPag 404 resource not found - */ - public okhttp3.Call deleteStatusPageCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteStatusPageCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteStatusPageCall(@javax.annotation.Nonnull String id, fi } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteStatusPageValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteStatusPageValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteStatusPage(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteStatusPageValidateBeforeCall(@javax.annotation.Nonnul 404 resource not found - */ - public StatusPageResponse deleteStatusPage(@javax.annotation.Nonnull String id) throws ApiException { + public StatusPageResponse deleteStatusPage(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteStatusPageWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public StatusPageResponse deleteStatusPage(@javax.annotation.Nonnull String id) 404 resource not found - */ - public ApiResponse deleteStatusPageWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteStatusPageWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteStatusPageValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteStatusPageWithHttpInfo(@javax.annot 404 resource not found - */ - public okhttp3.Call deleteStatusPageAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteStatusPageAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteStatusPageValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -356,7 +357,7 @@ public okhttp3.Call deleteStatusPageAsync(@javax.annotation.Nonnull String id, f 404 resource not found - */ - public okhttp3.Call getStatusPageCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getStatusPageCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getStatusPageCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call getStatusPageValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getStatusPageValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getStatusPage(Async)"); @@ -426,7 +427,7 @@ private okhttp3.Call getStatusPageValidateBeforeCall(@javax.annotation.Nonnull S 404 resource not found - */ - public StatusPageResponse getStatusPage(@javax.annotation.Nonnull String id) throws ApiException { + public StatusPageResponse getStatusPage(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getStatusPageWithHttpInfo(id); return localVarResp.getData(); } @@ -445,7 +446,7 @@ public StatusPageResponse getStatusPage(@javax.annotation.Nonnull String id) thr 404 resource not found - */ - public ApiResponse getStatusPageWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getStatusPageWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getStatusPageValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -466,7 +467,7 @@ public ApiResponse getStatusPageWithHttpInfo(@javax.annotati 404 resource not found - */ - public okhttp3.Call getStatusPageAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getStatusPageAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getStatusPageValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -689,11 +690,12 @@ public okhttp3.Call listStatusPagesAsync(@javax.annotation.Nullable String inclu - + +
Response Details
Status Code Description Response Headers
200 status_page updated -
200 external_domain_names persisted -
422 invalid section_order -
404 resource not found -
*/ - public okhttp3.Call updateStatusPageCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateStatusPageCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -740,7 +742,7 @@ public okhttp3.Call updateStatusPageCall(@javax.annotation.Nonnull String id, @j } @SuppressWarnings("rawtypes") - private okhttp3.Call updateStatusPageValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateStatusPageValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, 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 updateStatusPage(Async)"); @@ -766,11 +768,12 @@ private okhttp3.Call updateStatusPageValidateBeforeCall(@javax.annotation.Nonnul - + +
Response Details
Status Code Description Response Headers
200 status_page updated -
200 external_domain_names persisted -
422 invalid section_order -
404 resource not found -
*/ - public StatusPageResponse updateStatusPage(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage) throws ApiException { + public StatusPageResponse updateStatusPage(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage) throws ApiException { ApiResponse localVarResp = updateStatusPageWithHttpInfo(id, updateStatusPage); return localVarResp.getData(); } @@ -786,11 +789,12 @@ public StatusPageResponse updateStatusPage(@javax.annotation.Nonnull String id, - + +
Response Details
Status Code Description Response Headers
200 status_page updated -
200 external_domain_names persisted -
422 invalid section_order -
404 resource not found -
*/ - public ApiResponse updateStatusPageWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage) throws ApiException { + public ApiResponse updateStatusPageWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage) throws ApiException { okhttp3.Call localVarCall = updateStatusPageValidateBeforeCall(id, updateStatusPage, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -808,11 +812,12 @@ public ApiResponse updateStatusPageWithHttpInfo(@javax.annot - + +
Response Details
Status Code Description Response Headers
200 status_page updated -
200 external_domain_names persisted -
422 invalid section_order -
404 resource not found -
*/ - public okhttp3.Call updateStatusPageAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateStatusPageAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateStatusPage updateStatusPage, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateStatusPageValidateBeforeCall(id, updateStatusPage, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/StatusesApi.java b/src/main/java/com/rootly/client/api/StatusesApi.java new file mode 100644 index 00000000..72f5e86f --- /dev/null +++ b/src/main/java/com/rootly/client/api/StatusesApi.java @@ -0,0 +1,410 @@ +/* + * 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.GetAlertFieldIdParameter; +import com.rootly.client.model.StatusList; +import com.rootly.client.model.StatusResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class StatusesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public StatusesApi() { + this(Configuration.getDefaultApiClient()); + } + + public StatusesApi(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 getStatus + * @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 found by slug -
404 resource not found -
+ */ + public okhttp3.Call getStatusCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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/statuses/{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 getStatusValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getStatus(Async)"); + } + + return getStatusCall(id, _callback); + + } + + /** + * Retrieves a Status + * Retrieves a specific Status by id + * @param id (required) + * @return StatusResponse + * @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 found by slug -
404 resource not found -
+ */ + public StatusResponse getStatus(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + ApiResponse localVarResp = getStatusWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Retrieves a Status + * Retrieves a specific Status by id + * @param id (required) + * @return ApiResponse<StatusResponse> + * @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 found by slug -
404 resource not found -
+ */ + public ApiResponse getStatusWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { + okhttp3.Call localVarCall = getStatusValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves a Status (asynchronously) + * Retrieves a specific Status 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 status found by slug -
404 resource not found -
+ */ + public okhttp3.Call getStatusAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getStatusValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for listStatuses + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterEnabled (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listStatusesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/statuses"; + + 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)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterEnabled != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[enabled]", filterEnabled)); + } + + 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)); + } + + 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 listStatusesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listStatusesCall(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Statuses + * List Statuses + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterEnabled (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return StatusList + * @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 -
401 responds with unauthorized for invalid token -
+ */ + public StatusList listStatuses(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listStatusesWithHttpInfo(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Statuses + * List Statuses + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterEnabled (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<StatusList> + * @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 -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse listStatusesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listStatusesValidateBeforeCall(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Statuses (asynchronously) + * List Statuses + * @param include (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterEnabled (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call listStatusesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable Boolean filterEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listStatusesValidateBeforeCall(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/SubStatusesApi.java b/src/main/java/com/rootly/client/api/SubStatusesApi.java index d3c8c5d6..44e8e26a 100644 --- a/src/main/java/com/rootly/client/api/SubStatusesApi.java +++ b/src/main/java/com/rootly/client/api/SubStatusesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewSubStatus; import com.rootly.client.model.SubStatusList; import com.rootly.client.model.SubStatusResponse; @@ -225,7 +226,7 @@ public okhttp3.Call createSubStatusAsync(@javax.annotation.Nonnull NewSubStatus 404 resource not found - */ - public okhttp3.Call deleteSubStatusCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteSubStatusCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteSubStatusCall(@javax.annotation.Nonnull String id, fin } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteSubStatusValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteSubStatusValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteSubStatus(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteSubStatusValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public SubStatusResponse deleteSubStatus(@javax.annotation.Nonnull String id) throws ApiException { + public SubStatusResponse deleteSubStatus(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteSubStatusWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public SubStatusResponse deleteSubStatus(@javax.annotation.Nonnull String id) th 404 resource not found - */ - public ApiResponse deleteSubStatusWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteSubStatusWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteSubStatusValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteSubStatusWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call deleteSubStatusAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteSubStatusAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteSubStatusValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -352,11 +353,11 @@ public okhttp3.Call deleteSubStatusAsync(@javax.annotation.Nonnull String id, fi - +
Response Details
Status Code Description Response Headers
200 sub_status found -
200 sub_status found by slug -
404 resource not found -
*/ - public okhttp3.Call getSubStatusCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getSubStatusCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -402,7 +403,7 @@ public okhttp3.Call getSubStatusCall(@javax.annotation.Nonnull String id, final } @SuppressWarnings("rawtypes") - private okhttp3.Call getSubStatusValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getSubStatusValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 getSubStatus(Async)"); @@ -422,11 +423,11 @@ private okhttp3.Call getSubStatusValidateBeforeCall(@javax.annotation.Nonnull St - +
Response Details
Status Code Description Response Headers
200 sub_status found -
200 sub_status found by slug -
404 resource not found -
*/ - public SubStatusResponse getSubStatus(@javax.annotation.Nonnull String id) throws ApiException { + public SubStatusResponse getSubStatus(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = getSubStatusWithHttpInfo(id); return localVarResp.getData(); } @@ -441,11 +442,11 @@ public SubStatusResponse getSubStatus(@javax.annotation.Nonnull String id) throw - +
Response Details
Status Code Description Response Headers
200 sub_status found -
200 sub_status found by slug -
404 resource not found -
*/ - public ApiResponse getSubStatusWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse getSubStatusWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = getSubStatusValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,11 +463,11 @@ public ApiResponse getSubStatusWithHttpInfo(@javax.annotation - +
Response Details
Status Code Description Response Headers
200 sub_status found -
200 sub_status found by slug -
404 resource not found -
*/ - public okhttp3.Call getSubStatusAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getSubStatusAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getSubStatusValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -685,7 +686,7 @@ public okhttp3.Call listSubStatusesAsync(@javax.annotation.Nullable String inclu 404 resource not found - */ - public okhttp3.Call updateSubStatusCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateSubStatusCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -732,7 +733,7 @@ public okhttp3.Call updateSubStatusCall(@javax.annotation.Nonnull String id, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call updateSubStatusValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateSubStatusValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, 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 updateSubStatus(Async)"); @@ -762,7 +763,7 @@ private okhttp3.Call updateSubStatusValidateBeforeCall(@javax.annotation.Nonnull 404 resource not found - */ - public SubStatusResponse updateSubStatus(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus) throws ApiException { + public SubStatusResponse updateSubStatus(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus) throws ApiException { ApiResponse localVarResp = updateSubStatusWithHttpInfo(id, updateSubStatus); return localVarResp.getData(); } @@ -782,7 +783,7 @@ public SubStatusResponse updateSubStatus(@javax.annotation.Nonnull String id, @j 404 resource not found - */ - public ApiResponse updateSubStatusWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus) throws ApiException { + public ApiResponse updateSubStatusWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus) throws ApiException { okhttp3.Call localVarCall = updateSubStatusValidateBeforeCall(id, updateSubStatus, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -804,7 +805,7 @@ public ApiResponse updateSubStatusWithHttpInfo(@javax.annotat 404 resource not found - */ - public okhttp3.Call updateSubStatusAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateSubStatusAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateSubStatus updateSubStatus, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateSubStatusValidateBeforeCall(id, updateSubStatus, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/TeamsApi.java b/src/main/java/com/rootly/client/api/TeamsApi.java index d1da2dbe..b8f7cbb5 100644 --- a/src/main/java/com/rootly/client/api/TeamsApi.java +++ b/src/main/java/com/rootly/client/api/TeamsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -27,7 +27,11 @@ import java.io.IOException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetTeamIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewTeam; import com.rootly.client.model.TeamList; import com.rootly.client.model.TeamResponse; @@ -76,6 +80,141 @@ public void setCustomBaseUrl(String customBaseUrl) { this.localCustomBaseUrl = customBaseUrl; } + /** + * Build call for createGroupCatalogProperty + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createGroupCatalogPropertyCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, 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 = newCatalogProperty; + + // create path and map variables + String localVarPath = "/v1/teams/properties"; + + 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 createGroupCatalogPropertyValidateBeforeCall(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'newCatalogProperty' is set + if (newCatalogProperty == null) { + throw new ApiException("Missing the required parameter 'newCatalogProperty' when calling createGroupCatalogProperty(Async)"); + } + + return createGroupCatalogPropertyCall(newCatalogProperty, _callback); + + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return CatalogPropertyResponse + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public CatalogPropertyResponse createGroupCatalogProperty(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + ApiResponse localVarResp = createGroupCatalogPropertyWithHttpInfo(newCatalogProperty); + return localVarResp.getData(); + } + + /** + * Creates a Catalog Property + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (required) + * @return ApiResponse<CatalogPropertyResponse> + * @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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public ApiResponse createGroupCatalogPropertyWithHttpInfo(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty) throws ApiException { + okhttp3.Call localVarCall = createGroupCatalogPropertyValidateBeforeCall(newCatalogProperty, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a Catalog Property (asynchronously) + * Creates a new Catalog Property from provided data + * @param newCatalogProperty (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 catalog_property created ignores wrong catalog_type attribute -
422 exceeds max fields per catalog -
401 responds with unauthorized for invalid token -
+ */ + public okhttp3.Call createGroupCatalogPropertyAsync(@javax.annotation.Nonnull NewCatalogProperty newCatalogProperty, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createGroupCatalogPropertyValidateBeforeCall(newCatalogProperty, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for createTeam * @param newTeam (required) @@ -225,7 +364,7 @@ public okhttp3.Call createTeamAsync(@javax.annotation.Nonnull NewTeam newTeam, f 404 resource not found - */ - public okhttp3.Call deleteTeamCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteTeamCall(@javax.annotation.Nonnull GetTeamIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +410,7 @@ public okhttp3.Call deleteTeamCall(@javax.annotation.Nonnull String id, final Ap } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteTeamValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteTeamValidateBeforeCall(@javax.annotation.Nonnull GetTeamIdParameter 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 deleteTeam(Async)"); @@ -295,7 +434,7 @@ private okhttp3.Call deleteTeamValidateBeforeCall(@javax.annotation.Nonnull Stri 404 resource not found - */ - public TeamResponse deleteTeam(@javax.annotation.Nonnull String id) throws ApiException { + public TeamResponse deleteTeam(@javax.annotation.Nonnull GetTeamIdParameter id) throws ApiException { ApiResponse localVarResp = deleteTeamWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +453,7 @@ public TeamResponse deleteTeam(@javax.annotation.Nonnull String id) throws ApiEx 404 resource not found - */ - public ApiResponse deleteTeamWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteTeamWithHttpInfo(@javax.annotation.Nonnull GetTeamIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteTeamValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +474,7 @@ public ApiResponse deleteTeamWithHttpInfo(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call deleteTeamAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteTeamAsync(@javax.annotation.Nonnull GetTeamIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteTeamValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -345,6 +484,7 @@ public okhttp3.Call deleteTeamAsync(@javax.annotation.Nonnull String id, final A /** * Build call for getTeam * @param id (required) + * @param include comma separated if needed. eg: users (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -352,11 +492,11 @@ public okhttp3.Call deleteTeamAsync(@javax.annotation.Nonnull String id, final A - +
Response Details
Status Code Description Response Headers
200 team found -
200 team found by slug -
404 resource not found -
*/ - public okhttp3.Call getTeamCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getTeamCall(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -382,6 +522,10 @@ public okhttp3.Call getTeamCall(@javax.annotation.Nonnull String id, final ApiCa Map localVarCookieParams = new HashMap(); Map localVarFormParams = new HashMap(); + if (include != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("include", include)); + } + final String[] localVarAccepts = { "application/vnd.api+json" }; @@ -402,13 +546,13 @@ public okhttp3.Call getTeamCall(@javax.annotation.Nonnull String id, final ApiCa } @SuppressWarnings("rawtypes") - private okhttp3.Call getTeamValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getTeamValidateBeforeCall(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nullable String include, 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 getTeam(Async)"); } - return getTeamCall(id, _callback); + return getTeamCall(id, include, _callback); } @@ -416,18 +560,19 @@ private okhttp3.Call getTeamValidateBeforeCall(@javax.annotation.Nonnull String * Retrieves a team * Retrieves a specific team by id * @param id (required) + * @param include comma separated if needed. eg: users (optional) * @return TeamResponse * @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 team found -
200 team found by slug -
404 resource not found -
*/ - public TeamResponse getTeam(@javax.annotation.Nonnull String id) throws ApiException { - ApiResponse localVarResp = getTeamWithHttpInfo(id); + public TeamResponse getTeam(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nullable String include) throws ApiException { + ApiResponse localVarResp = getTeamWithHttpInfo(id, include); return localVarResp.getData(); } @@ -435,18 +580,19 @@ public TeamResponse getTeam(@javax.annotation.Nonnull String id) throws ApiExcep * Retrieves a team * Retrieves a specific team by id * @param id (required) + * @param include comma separated if needed. eg: users (optional) * @return ApiResponse<TeamResponse> * @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 team found -
200 team found by slug -
404 resource not found -
*/ - public ApiResponse getTeamWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { - okhttp3.Call localVarCall = getTeamValidateBeforeCall(id, null); + public ApiResponse getTeamWithHttpInfo(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nullable String include) throws ApiException { + okhttp3.Call localVarCall = getTeamValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -455,6 +601,7 @@ public ApiResponse getTeamWithHttpInfo(@javax.annotation.Nonnull S * Retrieves a team (asynchronously) * Retrieves a specific team by id * @param id (required) + * @param include comma separated if needed. eg: users (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 @@ -462,13 +609,13 @@ public ApiResponse getTeamWithHttpInfo(@javax.annotation.Nonnull S - +
Response Details
Status Code Description Response Headers
200 team found -
200 team found by slug -
404 resource not found -
*/ - public okhttp3.Call getTeamAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getTeamAsync(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = getTeamValidateBeforeCall(id, _callback); + okhttp3.Call localVarCall = getTeamValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -617,9 +764,214 @@ public okhttp3.Call getTeamIncidentsChartAsync(@javax.annotation.Nonnull String localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } + /** + * Build call for listGroupCatalogProperties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listGroupCatalogPropertiesCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, 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/teams/properties"; + + 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 (sort != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("sort", sort)); + } + + if (pageNumber != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[number]", pageNumber)); + } + + if (pageSize != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("page[size]", pageSize)); + } + + if (filterSlug != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[slug]", filterSlug)); + } + + if (filterName != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[name]", filterName)); + } + + if (filterKind != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[kind]", filterKind)); + } + + 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)); + } + + 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 listGroupCatalogPropertiesValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + return listGroupCatalogPropertiesCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + + } + + /** + * List Catalog Properties + * List Group Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return CatalogPropertyList + * @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 CatalogPropertyList listGroupCatalogProperties(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + ApiResponse localVarResp = listGroupCatalogPropertiesWithHttpInfo(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + return localVarResp.getData(); + } + + /** + * List Catalog Properties + * List Group Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (optional) + * @return ApiResponse<CatalogPropertyList> + * @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 listGroupCatalogPropertiesWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { + okhttp3.Call localVarCall = listGroupCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * List Catalog Properties (asynchronously) + * List Group Catalog Properties + * @param include comma separated if needed. eg: catalog (optional) + * @param sort comma separated if needed. eg: created_at,updated_at (optional) + * @param pageNumber (optional) + * @param pageSize (optional) + * @param filterSlug (optional) + * @param filterName (optional) + * @param filterKind (optional) + * @param filterCreatedAtGt (optional) + * @param filterCreatedAtGte (optional) + * @param filterCreatedAtLt (optional) + * @param filterCreatedAtLte (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 listGroupCatalogPropertiesAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable String sort, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterKind, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = listGroupCatalogPropertiesValidateBeforeCall(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } /** * Build call for listTeams - * @param include (optional) + * @param include comma separated if needed. eg: users (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -630,6 +982,8 @@ public okhttp3.Call getTeamIncidentsChartAsync(@javax.annotation.Nonnull String * @param filterOpslevelId (optional) * @param filterExternalId (optional) * @param filterColor (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -645,7 +999,7 @@ public okhttp3.Call getTeamIncidentsChartAsync(@javax.annotation.Nonnull String 200 success - */ - public okhttp3.Call listTeamsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listTeamsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -714,6 +1068,14 @@ public okhttp3.Call listTeamsCall(@javax.annotation.Nullable String include, @ja localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[color]", filterColor)); } + if (filterAlertBroadcastEnabled != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[alert_broadcast_enabled]", filterAlertBroadcastEnabled)); + } + + if (filterIncidentBroadcastEnabled != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[incident_broadcast_enabled]", filterIncidentBroadcastEnabled)); + } + if (filterCreatedAtGt != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair("filter[created_at][gt]", filterCreatedAtGt)); } @@ -754,15 +1116,15 @@ public okhttp3.Call listTeamsCall(@javax.annotation.Nullable String include, @ja } @SuppressWarnings("rawtypes") - private okhttp3.Call listTeamsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - return listTeamsCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + private okhttp3.Call listTeamsValidateBeforeCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + return listTeamsCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); } /** * List teams * List teams - * @param include (optional) + * @param include comma separated if needed. eg: users (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -773,6 +1135,8 @@ private okhttp3.Call listTeamsValidateBeforeCall(@javax.annotation.Nullable Stri * @param filterOpslevelId (optional) * @param filterExternalId (optional) * @param filterColor (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -787,15 +1151,15 @@ private okhttp3.Call listTeamsValidateBeforeCall(@javax.annotation.Nullable Stri 200 success - */ - public TeamList listTeams(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - ApiResponse localVarResp = listTeamsWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + public TeamList listTeams(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + ApiResponse localVarResp = listTeamsWithHttpInfo(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); return localVarResp.getData(); } /** * List teams * List teams - * @param include (optional) + * @param include comma separated if needed. eg: users (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -806,6 +1170,8 @@ public TeamList listTeams(@javax.annotation.Nullable String include, @javax.anno * @param filterOpslevelId (optional) * @param filterExternalId (optional) * @param filterColor (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -820,8 +1186,8 @@ public TeamList listTeams(@javax.annotation.Nullable String include, @javax.anno 200 success - */ - public ApiResponse listTeamsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { - okhttp3.Call localVarCall = listTeamsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); + public ApiResponse listTeamsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort) throws ApiException { + okhttp3.Call localVarCall = listTeamsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } @@ -829,7 +1195,7 @@ public ApiResponse listTeamsWithHttpInfo(@javax.annotation.Nullable St /** * List teams (asynchronously) * List teams - * @param include (optional) + * @param include comma separated if needed. eg: users (optional) * @param pageNumber (optional) * @param pageSize (optional) * @param filterSearch (optional) @@ -840,6 +1206,8 @@ public ApiResponse listTeamsWithHttpInfo(@javax.annotation.Nullable St * @param filterOpslevelId (optional) * @param filterExternalId (optional) * @param filterColor (optional) + * @param filterAlertBroadcastEnabled (optional) + * @param filterIncidentBroadcastEnabled (optional) * @param filterCreatedAtGt (optional) * @param filterCreatedAtGte (optional) * @param filterCreatedAtLt (optional) @@ -855,9 +1223,9 @@ public ApiResponse listTeamsWithHttpInfo(@javax.annotation.Nullable St 200 success - */ - public okhttp3.Call listTeamsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { + public okhttp3.Call listTeamsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSearch, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, @javax.annotation.Nullable String filterBackstageId, @javax.annotation.Nullable String filterCortexId, @javax.annotation.Nullable String filterOpslevelId, @javax.annotation.Nullable String filterExternalId, @javax.annotation.Nullable String filterColor, @javax.annotation.Nullable Boolean filterAlertBroadcastEnabled, @javax.annotation.Nullable Boolean filterIncidentBroadcastEnabled, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, @javax.annotation.Nullable String sort, final ApiCallback _callback) throws ApiException { - okhttp3.Call localVarCall = listTeamsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); + okhttp3.Call localVarCall = listTeamsValidateBeforeCall(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort, _callback); Type localVarReturnType = new TypeToken(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; @@ -877,7 +1245,7 @@ public okhttp3.Call listTeamsAsync(@javax.annotation.Nullable String include, @j 404 resource not found - */ - public okhttp3.Call updateTeamCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateTeam updateTeam, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateTeamCall(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nonnull UpdateTeam updateTeam, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -924,7 +1292,7 @@ public okhttp3.Call updateTeamCall(@javax.annotation.Nonnull String id, @javax.a } @SuppressWarnings("rawtypes") - private okhttp3.Call updateTeamValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateTeam updateTeam, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateTeamValidateBeforeCall(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nonnull UpdateTeam updateTeam, 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 updateTeam(Async)"); @@ -954,7 +1322,7 @@ private okhttp3.Call updateTeamValidateBeforeCall(@javax.annotation.Nonnull Stri 404 resource not found - */ - public TeamResponse updateTeam(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateTeam updateTeam) throws ApiException { + public TeamResponse updateTeam(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nonnull UpdateTeam updateTeam) throws ApiException { ApiResponse localVarResp = updateTeamWithHttpInfo(id, updateTeam); return localVarResp.getData(); } @@ -974,7 +1342,7 @@ public TeamResponse updateTeam(@javax.annotation.Nonnull String id, @javax.annot 404 resource not found - */ - public ApiResponse updateTeamWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateTeam updateTeam) throws ApiException { + public ApiResponse updateTeamWithHttpInfo(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nonnull UpdateTeam updateTeam) throws ApiException { okhttp3.Call localVarCall = updateTeamValidateBeforeCall(id, updateTeam, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -996,7 +1364,7 @@ public ApiResponse updateTeamWithHttpInfo(@javax.annotation.Nonnul 404 resource not found - */ - public okhttp3.Call updateTeamAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateTeam updateTeam, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateTeamAsync(@javax.annotation.Nonnull GetTeamIdParameter id, @javax.annotation.Nonnull UpdateTeam updateTeam, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateTeamValidateBeforeCall(id, updateTeam, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/api/UserEmailAddressesApi.java b/src/main/java/com/rootly/client/api/UserEmailAddressesApi.java new file mode 100644 index 00000000..e939ba06 --- /dev/null +++ b/src/main/java/com/rootly/client/api/UserEmailAddressesApi.java @@ -0,0 +1,1065 @@ +/* + * 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.NewUserEmailAddress; +import com.rootly.client.model.UpdateUserEmailAddress; +import com.rootly.client.model.UserEmailAddressList; +import com.rootly.client.model.UserEmailAddressResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UserEmailAddressesApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public UserEmailAddressesApi() { + this(Configuration.getDefaultApiClient()); + } + + public UserEmailAddressesApi(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 createUserEmailAddress + * @param userId (required) + * @param newUserEmailAddress (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 user_email_address created -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public okhttp3.Call createUserEmailAddressCall(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserEmailAddress newUserEmailAddress, 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 = newUserEmailAddress; + + // create path and map variables + String localVarPath = "/v1/users/{user_id}/email_addresses" + .replace("{" + "user_id" + "}", localVarApiClient.escapeString(userId.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 createUserEmailAddressValidateBeforeCall(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserEmailAddress newUserEmailAddress, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'userId' is set + if (userId == null) { + throw new ApiException("Missing the required parameter 'userId' when calling createUserEmailAddress(Async)"); + } + + // verify the required parameter 'newUserEmailAddress' is set + if (newUserEmailAddress == null) { + throw new ApiException("Missing the required parameter 'newUserEmailAddress' when calling createUserEmailAddress(Async)"); + } + + return createUserEmailAddressCall(userId, newUserEmailAddress, _callback); + + } + + /** + * Creates a user email address + * Creates a new user email address from provided data + * @param userId (required) + * @param newUserEmailAddress (required) + * @return UserEmailAddressResponse + * @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 user_email_address created -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public UserEmailAddressResponse createUserEmailAddress(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserEmailAddress newUserEmailAddress) throws ApiException { + ApiResponse localVarResp = createUserEmailAddressWithHttpInfo(userId, newUserEmailAddress); + return localVarResp.getData(); + } + + /** + * Creates a user email address + * Creates a new user email address from provided data + * @param userId (required) + * @param newUserEmailAddress (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 user_email_address created -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public ApiResponse createUserEmailAddressWithHttpInfo(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserEmailAddress newUserEmailAddress) throws ApiException { + okhttp3.Call localVarCall = createUserEmailAddressValidateBeforeCall(userId, newUserEmailAddress, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a user email address (asynchronously) + * Creates a new user email address from provided data + * @param userId (required) + * @param newUserEmailAddress (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 user_email_address created -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public okhttp3.Call createUserEmailAddressAsync(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserEmailAddress newUserEmailAddress, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createUserEmailAddressValidateBeforeCall(userId, newUserEmailAddress, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteUserEmailAddress + * @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 user_email_address deleted -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call deleteUserEmailAddressCall(@javax.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/email_addresses/{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 deleteUserEmailAddressValidateBeforeCall(@javax.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 deleteUserEmailAddress(Async)"); + } + + return deleteUserEmailAddressCall(id, _callback); + + } + + /** + * Delete user email address + * Deletes a user email address + * @param id (required) + * @return UserEmailAddressResponse + * @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 user_email_address deleted -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public UserEmailAddressResponse deleteUserEmailAddress(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteUserEmailAddressWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete user email address + * Deletes a user email address + * @param id (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 user_email_address deleted -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public ApiResponse deleteUserEmailAddressWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteUserEmailAddressValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete user email address (asynchronously) + * Deletes a user email address + * @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 user_email_address deleted -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call deleteUserEmailAddressAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteUserEmailAddressValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getUserEmailAddresses + * @param userId (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 user_email_addresses found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call getUserEmailAddressesCall(@javax.annotation.Nonnull String userId, 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/users/{user_id}/email_addresses" + .replace("{" + "user_id" + "}", localVarApiClient.escapeString(userId.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 getUserEmailAddressesValidateBeforeCall(@javax.annotation.Nonnull String userId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'userId' is set + if (userId == null) { + throw new ApiException("Missing the required parameter 'userId' when calling getUserEmailAddresses(Async)"); + } + + return getUserEmailAddressesCall(userId, _callback); + + } + + /** + * Retrieves user email addresses + * Retrieves all email addresses for the specified user + * @param userId (required) + * @return UserEmailAddressList + * @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 user_email_addresses found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public UserEmailAddressList getUserEmailAddresses(@javax.annotation.Nonnull String userId) throws ApiException { + ApiResponse localVarResp = getUserEmailAddressesWithHttpInfo(userId); + return localVarResp.getData(); + } + + /** + * Retrieves user email addresses + * Retrieves all email addresses for the specified user + * @param userId (required) + * @return ApiResponse<UserEmailAddressList> + * @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 user_email_addresses found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public ApiResponse getUserEmailAddressesWithHttpInfo(@javax.annotation.Nonnull String userId) throws ApiException { + okhttp3.Call localVarCall = getUserEmailAddressesValidateBeforeCall(userId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves user email addresses (asynchronously) + * Retrieves all email addresses for the specified user + * @param userId (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 user_email_addresses found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call getUserEmailAddressesAsync(@javax.annotation.Nonnull String userId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getUserEmailAddressesValidateBeforeCall(userId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for resendUserEmailAddressVerification + * @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 email sent successfully -
422 email address already verified -
404 email address not found -
+ */ + public okhttp3.Call resendUserEmailAddressVerificationCall(@javax.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/email_addresses/{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/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 resendUserEmailAddressVerificationValidateBeforeCall(@javax.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 resendUserEmailAddressVerification(Async)"); + } + + return resendUserEmailAddressVerificationCall(id, _callback); + + } + + /** + * Resends verification email + * Resends verification email for an email address + * @param id (required) + * @return UserEmailAddressResponse + * @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 email sent successfully -
422 email address already verified -
404 email address not found -
+ */ + public UserEmailAddressResponse resendUserEmailAddressVerification(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = resendUserEmailAddressVerificationWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Resends verification email + * Resends verification email for an email address + * @param id (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 email sent successfully -
422 email address already verified -
404 email address not found -
+ */ + public ApiResponse resendUserEmailAddressVerificationWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = resendUserEmailAddressVerificationValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Resends verification email (asynchronously) + * Resends verification email for an email address + * @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 email sent successfully -
422 email address already verified -
404 email address not found -
+ */ + public okhttp3.Call resendUserEmailAddressVerificationAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = resendUserEmailAddressVerificationValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for showUserEmailAddress + * @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 user_email_address found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call showUserEmailAddressCall(@javax.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/email_addresses/{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 showUserEmailAddressValidateBeforeCall(@javax.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 showUserEmailAddress(Async)"); + } + + return showUserEmailAddressCall(id, _callback); + + } + + /** + * Show user email address + * Retrieves a specific user email address + * @param id (required) + * @return UserEmailAddressResponse + * @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 user_email_address found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public UserEmailAddressResponse showUserEmailAddress(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = showUserEmailAddressWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Show user email address + * Retrieves a specific user email address + * @param id (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 user_email_address found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public ApiResponse showUserEmailAddressWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = showUserEmailAddressValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Show user email address (asynchronously) + * Retrieves a specific user email address + * @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 user_email_address found -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
+ */ + public okhttp3.Call showUserEmailAddressAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = showUserEmailAddressValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateUserEmailAddress + * @param id (required) + * @param updateUserEmailAddress (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 user_email_address updated -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public okhttp3.Call updateUserEmailAddressCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserEmailAddress updateUserEmailAddress, 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 = updateUserEmailAddress; + + // create path and map variables + String localVarPath = "/v1/email_addresses/{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 updateUserEmailAddressValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserEmailAddress updateUserEmailAddress, 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 updateUserEmailAddress(Async)"); + } + + // verify the required parameter 'updateUserEmailAddress' is set + if (updateUserEmailAddress == null) { + throw new ApiException("Missing the required parameter 'updateUserEmailAddress' when calling updateUserEmailAddress(Async)"); + } + + return updateUserEmailAddressCall(id, updateUserEmailAddress, _callback); + + } + + /** + * Update user email address + * Updates a user email address + * @param id (required) + * @param updateUserEmailAddress (required) + * @return UserEmailAddressResponse + * @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 user_email_address updated -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public UserEmailAddressResponse updateUserEmailAddress(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserEmailAddress updateUserEmailAddress) throws ApiException { + ApiResponse localVarResp = updateUserEmailAddressWithHttpInfo(id, updateUserEmailAddress); + return localVarResp.getData(); + } + + /** + * Update user email address + * Updates a user email address + * @param id (required) + * @param updateUserEmailAddress (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 user_email_address updated -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public ApiResponse updateUserEmailAddressWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserEmailAddress updateUserEmailAddress) throws ApiException { + okhttp3.Call localVarCall = updateUserEmailAddressValidateBeforeCall(id, updateUserEmailAddress, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update user email address (asynchronously) + * Updates a user email address + * @param id (required) + * @param updateUserEmailAddress (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 user_email_address updated -
401 responds with unauthorized for invalid token -
404 responds with not found when accessing other user's resources -
422 invalid request -
+ */ + public okhttp3.Call updateUserEmailAddressAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserEmailAddress updateUserEmailAddress, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateUserEmailAddressValidateBeforeCall(id, updateUserEmailAddress, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for verifyUserEmailAddress + * @param id (required) + * @param token (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 email address verified successfully -
422 invalid or expired token -
404 email address not found -
+ */ + public okhttp3.Call verifyUserEmailAddressCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String token, 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/email_addresses/{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(); + + if (token != null) { + localVarQueryParams.addAll(localVarApiClient.parameterToPair("token", token)); + } + + 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 verifyUserEmailAddressValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String token, 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 verifyUserEmailAddress(Async)"); + } + + // verify the required parameter 'token' is set + if (token == null) { + throw new ApiException("Missing the required parameter 'token' when calling verifyUserEmailAddress(Async)"); + } + + return verifyUserEmailAddressCall(id, token, _callback); + + } + + /** + * Verifies an email address with token + * Verifies an email address using a verification token + * @param id (required) + * @param token (required) + * @return UserEmailAddressResponse + * @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 email address verified successfully -
422 invalid or expired token -
404 email address not found -
+ */ + public UserEmailAddressResponse verifyUserEmailAddress(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String token) throws ApiException { + ApiResponse localVarResp = verifyUserEmailAddressWithHttpInfo(id, token); + return localVarResp.getData(); + } + + /** + * Verifies an email address with token + * Verifies an email address using a verification token + * @param id (required) + * @param token (required) + * @return ApiResponse<UserEmailAddressResponse> + * @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 email address verified successfully -
422 invalid or expired token -
404 email address not found -
+ */ + public ApiResponse verifyUserEmailAddressWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String token) throws ApiException { + okhttp3.Call localVarCall = verifyUserEmailAddressValidateBeforeCall(id, token, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Verifies an email address with token (asynchronously) + * Verifies an email address using a verification token + * @param id (required) + * @param token (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 email address verified successfully -
422 invalid or expired token -
404 email address not found -
+ */ + public okhttp3.Call verifyUserEmailAddressAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull String token, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = verifyUserEmailAddressValidateBeforeCall(id, token, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/UserNotificationRulesApi.java b/src/main/java/com/rootly/client/api/UserNotificationRulesApi.java index 0d73f4fd..2aed775c 100644 --- a/src/main/java/com/rootly/client/api/UserNotificationRulesApi.java +++ b/src/main/java/com/rootly/client/api/UserNotificationRulesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java b/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java new file mode 100644 index 00000000..2f0c8e42 --- /dev/null +++ b/src/main/java/com/rootly/client/api/UserPhoneNumbersApi.java @@ -0,0 +1,786 @@ +/* + * 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.NewUserPhoneNumber; +import com.rootly.client.model.UpdateUserPhoneNumber; +import com.rootly.client.model.UserPhoneNumberList; +import com.rootly.client.model.UserPhoneNumberResponse; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UserPhoneNumbersApi { + private ApiClient localVarApiClient; + private int localHostIndex; + private String localCustomBaseUrl; + + public UserPhoneNumbersApi() { + this(Configuration.getDefaultApiClient()); + } + + public UserPhoneNumbersApi(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 createUserPhoneNumber + * @param userId (required) + * @param newUserPhoneNumber (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 user_phone_number created -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call createUserPhoneNumberCall(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserPhoneNumber newUserPhoneNumber, 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 = newUserPhoneNumber; + + // create path and map variables + String localVarPath = "/v1/users/{user_id}/phone_numbers" + .replace("{" + "user_id" + "}", localVarApiClient.escapeString(userId.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 createUserPhoneNumberValidateBeforeCall(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserPhoneNumber newUserPhoneNumber, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'userId' is set + if (userId == null) { + throw new ApiException("Missing the required parameter 'userId' when calling createUserPhoneNumber(Async)"); + } + + // verify the required parameter 'newUserPhoneNumber' is set + if (newUserPhoneNumber == null) { + throw new ApiException("Missing the required parameter 'newUserPhoneNumber' when calling createUserPhoneNumber(Async)"); + } + + return createUserPhoneNumberCall(userId, newUserPhoneNumber, _callback); + + } + + /** + * Creates a user phone number + * Creates a new user phone number from provided data + * @param userId (required) + * @param newUserPhoneNumber (required) + * @return UserPhoneNumberResponse + * @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 user_phone_number created -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public UserPhoneNumberResponse createUserPhoneNumber(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserPhoneNumber newUserPhoneNumber) throws ApiException { + ApiResponse localVarResp = createUserPhoneNumberWithHttpInfo(userId, newUserPhoneNumber); + return localVarResp.getData(); + } + + /** + * Creates a user phone number + * Creates a new user phone number from provided data + * @param userId (required) + * @param newUserPhoneNumber (required) + * @return ApiResponse<UserPhoneNumberResponse> + * @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 user_phone_number created -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public ApiResponse createUserPhoneNumberWithHttpInfo(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserPhoneNumber newUserPhoneNumber) throws ApiException { + okhttp3.Call localVarCall = createUserPhoneNumberValidateBeforeCall(userId, newUserPhoneNumber, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Creates a user phone number (asynchronously) + * Creates a new user phone number from provided data + * @param userId (required) + * @param newUserPhoneNumber (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 user_phone_number created -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call createUserPhoneNumberAsync(@javax.annotation.Nonnull String userId, @javax.annotation.Nonnull NewUserPhoneNumber newUserPhoneNumber, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = createUserPhoneNumberValidateBeforeCall(userId, newUserPhoneNumber, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for deleteUserPhoneNumber + * @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 user_phone_number deleted -
401 responds with unauthorized for invalid token -
404 resource not found -
422 cannot delete phone number used by notification rule -
+ */ + public okhttp3.Call deleteUserPhoneNumberCall(@javax.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}" + .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 deleteUserPhoneNumberValidateBeforeCall(@javax.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 deleteUserPhoneNumber(Async)"); + } + + return deleteUserPhoneNumberCall(id, _callback); + + } + + /** + * Delete user phone number + * Deletes a user phone number + * @param id (required) + * @return UserPhoneNumberResponse + * @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 user_phone_number deleted -
401 responds with unauthorized for invalid token -
404 resource not found -
422 cannot delete phone number used by notification rule -
+ */ + public UserPhoneNumberResponse deleteUserPhoneNumber(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = deleteUserPhoneNumberWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Delete user phone number + * Deletes a user phone number + * @param id (required) + * @return ApiResponse<UserPhoneNumberResponse> + * @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 user_phone_number deleted -
401 responds with unauthorized for invalid token -
404 resource not found -
422 cannot delete phone number used by notification rule -
+ */ + public ApiResponse deleteUserPhoneNumberWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = deleteUserPhoneNumberValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Delete user phone number (asynchronously) + * Deletes a user phone number + * @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 user_phone_number deleted -
401 responds with unauthorized for invalid token -
404 resource not found -
422 cannot delete phone number used by notification rule -
+ */ + public okhttp3.Call deleteUserPhoneNumberAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = deleteUserPhoneNumberValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for getUserPhoneNumbers + * @param userId (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 user_phone_numbers found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call getUserPhoneNumbersCall(@javax.annotation.Nonnull String userId, 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/users/{user_id}/phone_numbers" + .replace("{" + "user_id" + "}", localVarApiClient.escapeString(userId.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 getUserPhoneNumbersValidateBeforeCall(@javax.annotation.Nonnull String userId, final ApiCallback _callback) throws ApiException { + // verify the required parameter 'userId' is set + if (userId == null) { + throw new ApiException("Missing the required parameter 'userId' when calling getUserPhoneNumbers(Async)"); + } + + return getUserPhoneNumbersCall(userId, _callback); + + } + + /** + * Retrieves user phone numbers + * Retrieves all phone numbers for the specified user + * @param userId (required) + * @return UserPhoneNumberList + * @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 user_phone_numbers found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public UserPhoneNumberList getUserPhoneNumbers(@javax.annotation.Nonnull String userId) throws ApiException { + ApiResponse localVarResp = getUserPhoneNumbersWithHttpInfo(userId); + return localVarResp.getData(); + } + + /** + * Retrieves user phone numbers + * Retrieves all phone numbers for the specified user + * @param userId (required) + * @return ApiResponse<UserPhoneNumberList> + * @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 user_phone_numbers found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public ApiResponse getUserPhoneNumbersWithHttpInfo(@javax.annotation.Nonnull String userId) throws ApiException { + okhttp3.Call localVarCall = getUserPhoneNumbersValidateBeforeCall(userId, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Retrieves user phone numbers (asynchronously) + * Retrieves all phone numbers for the specified user + * @param userId (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 user_phone_numbers found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call getUserPhoneNumbersAsync(@javax.annotation.Nonnull String userId, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = getUserPhoneNumbersValidateBeforeCall(userId, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for showUserPhoneNumber + * @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 user_phone_number found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call showUserPhoneNumberCall(@javax.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}" + .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 showUserPhoneNumberValidateBeforeCall(@javax.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 showUserPhoneNumber(Async)"); + } + + return showUserPhoneNumberCall(id, _callback); + + } + + /** + * Show user phone number + * Retrieves a specific user phone number + * @param id (required) + * @return UserPhoneNumberResponse + * @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 user_phone_number found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public UserPhoneNumberResponse showUserPhoneNumber(@javax.annotation.Nonnull String id) throws ApiException { + ApiResponse localVarResp = showUserPhoneNumberWithHttpInfo(id); + return localVarResp.getData(); + } + + /** + * Show user phone number + * Retrieves a specific user phone number + * @param id (required) + * @return ApiResponse<UserPhoneNumberResponse> + * @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 user_phone_number found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public ApiResponse showUserPhoneNumberWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + okhttp3.Call localVarCall = showUserPhoneNumberValidateBeforeCall(id, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Show user phone number (asynchronously) + * Retrieves a specific user phone number + * @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 user_phone_number found -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call showUserPhoneNumberAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = showUserPhoneNumberValidateBeforeCall(id, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } + /** + * Build call for updateUserPhoneNumber + * @param id (required) + * @param updateUserPhoneNumber (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 user_phone_number updated and verification status reset -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call updateUserPhoneNumberCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserPhoneNumber updateUserPhoneNumber, 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 = updateUserPhoneNumber; + + // create path and map variables + String localVarPath = "/v1/phone_numbers/{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 updateUserPhoneNumberValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserPhoneNumber updateUserPhoneNumber, 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 updateUserPhoneNumber(Async)"); + } + + // verify the required parameter 'updateUserPhoneNumber' is set + if (updateUserPhoneNumber == null) { + throw new ApiException("Missing the required parameter 'updateUserPhoneNumber' when calling updateUserPhoneNumber(Async)"); + } + + return updateUserPhoneNumberCall(id, updateUserPhoneNumber, _callback); + + } + + /** + * Update user phone number + * Updates a user phone number + * @param id (required) + * @param updateUserPhoneNumber (required) + * @return UserPhoneNumberResponse + * @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 user_phone_number updated and verification status reset -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public UserPhoneNumberResponse updateUserPhoneNumber(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserPhoneNumber updateUserPhoneNumber) throws ApiException { + ApiResponse localVarResp = updateUserPhoneNumberWithHttpInfo(id, updateUserPhoneNumber); + return localVarResp.getData(); + } + + /** + * Update user phone number + * Updates a user phone number + * @param id (required) + * @param updateUserPhoneNumber (required) + * @return ApiResponse<UserPhoneNumberResponse> + * @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 user_phone_number updated and verification status reset -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public ApiResponse updateUserPhoneNumberWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserPhoneNumber updateUserPhoneNumber) throws ApiException { + okhttp3.Call localVarCall = updateUserPhoneNumberValidateBeforeCall(id, updateUserPhoneNumber, null); + Type localVarReturnType = new TypeToken(){}.getType(); + return localVarApiClient.execute(localVarCall, localVarReturnType); + } + + /** + * Update user phone number (asynchronously) + * Updates a user phone number + * @param id (required) + * @param updateUserPhoneNumber (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 user_phone_number updated and verification status reset -
422 invalid request -
401 responds with unauthorized for invalid token -
404 resource not found -
+ */ + public okhttp3.Call updateUserPhoneNumberAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateUserPhoneNumber updateUserPhoneNumber, final ApiCallback _callback) throws ApiException { + + okhttp3.Call localVarCall = updateUserPhoneNumberValidateBeforeCall(id, updateUserPhoneNumber, _callback); + Type localVarReturnType = new TypeToken(){}.getType(); + localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); + return localVarCall; + } +} diff --git a/src/main/java/com/rootly/client/api/UsersApi.java b/src/main/java/com/rootly/client/api/UsersApi.java index d3983e89..7d99cc39 100644 --- a/src/main/java/com/rootly/client/api/UsersApi.java +++ b/src/main/java/com/rootly/client/api/UsersApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -338,7 +338,7 @@ public okhttp3.Call getCurrentUserAsync(final ApiCallback _callbac - +
Response Details
Status Code Description Response Headers
200 user found -
200 schedules include only returns schedules from the current team -
404 resource not found -
*/ @@ -413,7 +413,7 @@ private okhttp3.Call getUserValidateBeforeCall(@javax.annotation.Nonnull String - +
Response Details
Status Code Description Response Headers
200 user found -
200 schedules include only returns schedules from the current team -
404 resource not found -
*/ @@ -433,7 +433,7 @@ public UserResponse getUser(@javax.annotation.Nonnull String id, @javax.annotati - +
Response Details
Status Code Description Response Headers
200 user found -
200 schedules include only returns schedules from the current team -
404 resource not found -
*/ @@ -455,7 +455,7 @@ public ApiResponse getUserWithHttpInfo(@javax.annotation.Nonnull S - +
Response Details
Status Code Description Response Headers
200 user found -
200 schedules include only returns schedules from the current team -
404 resource not found -
*/ diff --git a/src/main/java/com/rootly/client/api/WebhooksDeliveriesApi.java b/src/main/java/com/rootly/client/api/WebhooksDeliveriesApi.java index b1267e46..4471f0aa 100644 --- a/src/main/java/com/rootly/client/api/WebhooksDeliveriesApi.java +++ b/src/main/java/com/rootly/client/api/WebhooksDeliveriesApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/WebhooksEndpointsApi.java b/src/main/java/com/rootly/client/api/WebhooksEndpointsApi.java index 7c88ad4c..0416b0c7 100644 --- a/src/main/java/com/rootly/client/api/WebhooksEndpointsApi.java +++ b/src/main/java/com/rootly/client/api/WebhooksEndpointsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -222,7 +222,7 @@ public okhttp3.Call createWebhooksEndpointAsync(@javax.annotation.Nonnull NewWeb Response Details Status Code Description Response Headers 200 webhooks_endpoint deleted - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call deleteWebhooksEndpointCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -292,7 +292,7 @@ private okhttp3.Call deleteWebhooksEndpointValidateBeforeCall(@javax.annotation. Response Details Status Code Description Response Headers 200 webhooks_endpoint deleted - - 404 resource not found - + 404 hidden endpoint not accessible - */ public WebhooksEndpointResponse deleteWebhooksEndpoint(@javax.annotation.Nonnull String id) throws ApiException { @@ -311,7 +311,7 @@ public WebhooksEndpointResponse deleteWebhooksEndpoint(@javax.annotation.Nonnull Response Details Status Code Description Response Headers 200 webhooks_endpoint deleted - - 404 resource not found - + 404 hidden endpoint not accessible - */ public ApiResponse deleteWebhooksEndpointWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -332,7 +332,7 @@ public ApiResponse deleteWebhooksEndpointWithHttpInfo( Response Details Status Code Description Response Headers 200 webhooks_endpoint deleted - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call deleteWebhooksEndpointAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -353,7 +353,7 @@ public okhttp3.Call deleteWebhooksEndpointAsync(@javax.annotation.Nonnull String Response Details Status Code Description Response Headers 200 webhooks_endpoint found - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call getWebhooksEndpointCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -423,7 +423,7 @@ private okhttp3.Call getWebhooksEndpointValidateBeforeCall(@javax.annotation.Non Response Details Status Code Description Response Headers 200 webhooks_endpoint found - - 404 resource not found - + 404 hidden endpoint not accessible - */ public WebhooksEndpointResponse getWebhooksEndpoint(@javax.annotation.Nonnull String id) throws ApiException { @@ -442,7 +442,7 @@ public WebhooksEndpointResponse getWebhooksEndpoint(@javax.annotation.Nonnull St Response Details Status Code Description Response Headers 200 webhooks_endpoint found - - 404 resource not found - + 404 hidden endpoint not accessible - */ public ApiResponse getWebhooksEndpointWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { @@ -463,7 +463,7 @@ public ApiResponse getWebhooksEndpointWithHttpInfo(@ja Response Details Status Code Description Response Headers 200 webhooks_endpoint found - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call getWebhooksEndpointAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { @@ -487,7 +487,7 @@ public okhttp3.Call getWebhooksEndpointAsync(@javax.annotation.Nonnull String id - +
Response Details
Status Code Description Response Headers
200 success -
200 excludes hidden endpoints from listing -
*/ public okhttp3.Call listWebhooksEndpointsCall(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, final ApiCallback _callback) throws ApiException { @@ -574,7 +574,7 @@ private okhttp3.Call listWebhooksEndpointsValidateBeforeCall(@javax.annotation.N - +
Response Details
Status Code Description Response Headers
200 success -
200 excludes hidden endpoints from listing -
*/ public WebhooksEndpointList listWebhooksEndpoints(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName) throws ApiException { @@ -596,7 +596,7 @@ public WebhooksEndpointList listWebhooksEndpoints(@javax.annotation.Nullable Str - +
Response Details
Status Code Description Response Headers
200 success -
200 excludes hidden endpoints from listing -
*/ public ApiResponse listWebhooksEndpointsWithHttpInfo(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName) throws ApiException { @@ -620,7 +620,7 @@ public ApiResponse listWebhooksEndpointsWithHttpInfo(@java - +
Response Details
Status Code Description Response Headers
200 success -
200 excludes hidden endpoints from listing -
*/ public okhttp3.Call listWebhooksEndpointsAsync(@javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterSlug, @javax.annotation.Nullable String filterName, final ApiCallback _callback) throws ApiException { @@ -642,7 +642,7 @@ public okhttp3.Call listWebhooksEndpointsAsync(@javax.annotation.Nullable String Response Details Status Code Description Response Headers 200 webhooks_endpoint updated - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call updateWebhooksEndpointCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWebhooksEndpoint updateWebhooksEndpoint, final ApiCallback _callback) throws ApiException { @@ -719,7 +719,7 @@ private okhttp3.Call updateWebhooksEndpointValidateBeforeCall(@javax.annotation. Response Details Status Code Description Response Headers 200 webhooks_endpoint updated - - 404 resource not found - + 404 hidden endpoint not accessible - */ public WebhooksEndpointResponse updateWebhooksEndpoint(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWebhooksEndpoint updateWebhooksEndpoint) throws ApiException { @@ -739,7 +739,7 @@ public WebhooksEndpointResponse updateWebhooksEndpoint(@javax.annotation.Nonnull Response Details Status Code Description Response Headers 200 webhooks_endpoint updated - - 404 resource not found - + 404 hidden endpoint not accessible - */ public ApiResponse updateWebhooksEndpointWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWebhooksEndpoint updateWebhooksEndpoint) throws ApiException { @@ -761,7 +761,7 @@ public ApiResponse updateWebhooksEndpointWithHttpInfo( Response Details Status Code Description Response Headers 200 webhooks_endpoint updated - - 404 resource not found - + 404 hidden endpoint not accessible - */ public okhttp3.Call updateWebhooksEndpointAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWebhooksEndpoint updateWebhooksEndpoint, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/rootly/client/api/WorkflowFormFieldConditionsApi.java b/src/main/java/com/rootly/client/api/WorkflowFormFieldConditionsApi.java index a7390c2b..0b038532 100644 --- a/src/main/java/com/rootly/client/api/WorkflowFormFieldConditionsApi.java +++ b/src/main/java/com/rootly/client/api/WorkflowFormFieldConditionsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -87,7 +87,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 workflow_form_field_condition created -
201 workflow_form_field_condition created with environment ids for non-environment form field -
401 responds with unauthorized for invalid token -
*/ @@ -164,7 +164,7 @@ private okhttp3.Call createWorkflowFormFieldConditionValidateBeforeCall(@javax.a - +
Response Details
Status Code Description Response Headers
201 workflow_form_field_condition created -
201 workflow_form_field_condition created with environment ids for non-environment form field -
401 responds with unauthorized for invalid token -
*/ @@ -184,7 +184,7 @@ public WorkflowFormFieldConditionResponse createWorkflowFormFieldCondition(@java - +
Response Details
Status Code Description Response Headers
201 workflow_form_field_condition created -
201 workflow_form_field_condition created with environment ids for non-environment form field -
401 responds with unauthorized for invalid token -
*/ @@ -206,7 +206,7 @@ public ApiResponse createWorkflowFormFieldCo - +
Response Details
Status Code Description Response Headers
201 workflow_form_field_condition created -
201 workflow_form_field_condition created with environment ids for non-environment form field -
401 responds with unauthorized for invalid token -
*/ @@ -358,7 +358,7 @@ public okhttp3.Call deleteWorkflowFormFieldConditionAsync(@javax.annotation.Nonn - +
Response Details
Status Code Description Response Headers
200 workflow_form_field_condition found -
200 includes native field ids -
404 resource not found -
*/ @@ -428,7 +428,7 @@ private okhttp3.Call getWorkflowFormFieldConditionValidateBeforeCall(@javax.anno - +
Response Details
Status Code Description Response Headers
200 workflow_form_field_condition found -
200 includes native field ids -
404 resource not found -
*/ @@ -447,7 +447,7 @@ public WorkflowFormFieldConditionResponse getWorkflowFormFieldCondition(@javax.a - +
Response Details
Status Code Description Response Headers
200 workflow_form_field_condition found -
200 includes native field ids -
404 resource not found -
*/ @@ -468,7 +468,7 @@ public ApiResponse getWorkflowFormFieldCondi - +
Response Details
Status Code Description Response Headers
200 workflow_form_field_condition found -
200 includes native field ids -
404 resource not found -
*/ diff --git a/src/main/java/com/rootly/client/api/WorkflowGroupsApi.java b/src/main/java/com/rootly/client/api/WorkflowGroupsApi.java index 528df76c..531bb904 100644 --- a/src/main/java/com/rootly/client/api/WorkflowGroupsApi.java +++ b/src/main/java/com/rootly/client/api/WorkflowGroupsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/WorkflowRunsApi.java b/src/main/java/com/rootly/client/api/WorkflowRunsApi.java index e6f9700f..bf3e4cc3 100644 --- a/src/main/java/com/rootly/client/api/WorkflowRunsApi.java +++ b/src/main/java/com/rootly/client/api/WorkflowRunsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -237,7 +237,7 @@ public okhttp3.Call createWorkflowRunAsync(@javax.annotation.Nonnull String work - +
Response Details
Status Code Description Response Headers
200 success -
200 success with date filters using gte with timezone -
*/ public okhttp3.Call listWorkflowRunsCall(@javax.annotation.Nonnull String workflowId, @javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { @@ -341,7 +341,7 @@ private okhttp3.Call listWorkflowRunsValidateBeforeCall(@javax.annotation.Nonnul - +
Response Details
Status Code Description Response Headers
200 success -
200 success with date filters using gte with timezone -
*/ public WorkflowRunsList listWorkflowRuns(@javax.annotation.Nonnull String workflowId, @javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { @@ -366,7 +366,7 @@ public WorkflowRunsList listWorkflowRuns(@javax.annotation.Nonnull String workfl - +
Response Details
Status Code Description Response Headers
200 success -
200 success with date filters using gte with timezone -
*/ public ApiResponse listWorkflowRunsWithHttpInfo(@javax.annotation.Nonnull String workflowId, @javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte) throws ApiException { @@ -393,7 +393,7 @@ public ApiResponse listWorkflowRunsWithHttpInfo(@javax.annotat - +
Response Details
Status Code Description Response Headers
200 success -
200 success with date filters using gte with timezone -
*/ public okhttp3.Call listWorkflowRunsAsync(@javax.annotation.Nonnull String workflowId, @javax.annotation.Nullable String include, @javax.annotation.Nullable Integer pageNumber, @javax.annotation.Nullable Integer pageSize, @javax.annotation.Nullable String filterCreatedAtGt, @javax.annotation.Nullable String filterCreatedAtGte, @javax.annotation.Nullable String filterCreatedAtLt, @javax.annotation.Nullable String filterCreatedAtLte, final ApiCallback _callback) throws ApiException { diff --git a/src/main/java/com/rootly/client/api/WorkflowTasksApi.java b/src/main/java/com/rootly/client/api/WorkflowTasksApi.java index a82c235a..ced71764 100644 --- a/src/main/java/com/rootly/client/api/WorkflowTasksApi.java +++ b/src/main/java/com/rootly/client/api/WorkflowTasksApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/api/WorkflowsApi.java b/src/main/java/com/rootly/client/api/WorkflowsApi.java index d257112e..7aafe8e5 100644 --- a/src/main/java/com/rootly/client/api/WorkflowsApi.java +++ b/src/main/java/com/rootly/client/api/WorkflowsApi.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -28,6 +28,7 @@ import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewWorkflow; import com.rootly.client.model.UpdateWorkflow; import com.rootly.client.model.WorkflowList; @@ -86,7 +87,7 @@ public void setCustomBaseUrl(String customBaseUrl) { - +
Response Details
Status Code Description Response Headers
201 admins can set 'locked' while creating a workflow -
201 ignores alert field conditions in create request -
401 responds with unauthorized for invalid token -
403 non-admins can't set 'locked' while creating a workflow -
@@ -157,7 +158,7 @@ private okhttp3.Call createWorkflowValidateBeforeCall(@javax.annotation.Nonnull - +
Response Details
Status Code Description Response Headers
201 admins can set 'locked' while creating a workflow -
201 ignores alert field conditions in create request -
401 responds with unauthorized for invalid token -
403 non-admins can't set 'locked' while creating a workflow -
@@ -177,7 +178,7 @@ public WorkflowResponse createWorkflow(@javax.annotation.Nonnull NewWorkflow new - +
Response Details
Status Code Description Response Headers
201 admins can set 'locked' while creating a workflow -
201 ignores alert field conditions in create request -
401 responds with unauthorized for invalid token -
403 non-admins can't set 'locked' while creating a workflow -
@@ -199,7 +200,7 @@ public ApiResponse createWorkflowWithHttpInfo(@javax.annotatio - +
Response Details
Status Code Description Response Headers
201 admins can set 'locked' while creating a workflow -
201 ignores alert field conditions in create request -
401 responds with unauthorized for invalid token -
403 non-admins can't set 'locked' while creating a workflow -
@@ -225,7 +226,7 @@ public okhttp3.Call createWorkflowAsync(@javax.annotation.Nonnull NewWorkflow ne 404 non-admin can't destroy locked workflow - */ - public okhttp3.Call deleteWorkflowCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteWorkflowCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -271,7 +272,7 @@ public okhttp3.Call deleteWorkflowCall(@javax.annotation.Nonnull String id, fina } @SuppressWarnings("rawtypes") - private okhttp3.Call deleteWorkflowValidateBeforeCall(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + private okhttp3.Call deleteWorkflowValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter 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 deleteWorkflow(Async)"); @@ -295,7 +296,7 @@ private okhttp3.Call deleteWorkflowValidateBeforeCall(@javax.annotation.Nonnull 404 non-admin can't destroy locked workflow - */ - public WorkflowResponse deleteWorkflow(@javax.annotation.Nonnull String id) throws ApiException { + public WorkflowResponse deleteWorkflow(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { ApiResponse localVarResp = deleteWorkflowWithHttpInfo(id); return localVarResp.getData(); } @@ -314,7 +315,7 @@ public WorkflowResponse deleteWorkflow(@javax.annotation.Nonnull String id) thro 404 non-admin can't destroy locked workflow - */ - public ApiResponse deleteWorkflowWithHttpInfo(@javax.annotation.Nonnull String id) throws ApiException { + public ApiResponse deleteWorkflowWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id) throws ApiException { okhttp3.Call localVarCall = deleteWorkflowValidateBeforeCall(id, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -335,7 +336,7 @@ public ApiResponse deleteWorkflowWithHttpInfo(@javax.annotatio 404 non-admin can't destroy locked workflow - */ - public okhttp3.Call deleteWorkflowAsync(@javax.annotation.Nonnull String id, final ApiCallback _callback) throws ApiException { + public okhttp3.Call deleteWorkflowAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = deleteWorkflowValidateBeforeCall(id, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -345,7 +346,7 @@ public okhttp3.Call deleteWorkflowAsync(@javax.annotation.Nonnull String id, fin /** * Build call for getWorkflow * @param id (required) - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @param _callback Callback for upload/download progress * @return Call to execute * @throws ApiException If fail to serialize the request body object @@ -353,11 +354,11 @@ public okhttp3.Call deleteWorkflowAsync(@javax.annotation.Nonnull String id, fin - +
Response Details
Status Code Description Response Headers
200 workflow found -
200 does not serialize alert field conditions -
404 resource not found -
*/ - public okhttp3.Call getWorkflowCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getWorkflowCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -407,7 +408,7 @@ public okhttp3.Call getWorkflowCall(@javax.annotation.Nonnull String id, @javax. } @SuppressWarnings("rawtypes") - private okhttp3.Call getWorkflowValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + private okhttp3.Call getWorkflowValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, 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 getWorkflow(Async)"); @@ -421,18 +422,18 @@ private okhttp3.Call getWorkflowValidateBeforeCall(@javax.annotation.Nonnull Str * Retrieves a workflow * Retrieves a specific workflow by id * @param id (required) - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @return WorkflowResponse * @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 workflow found -
200 does not serialize alert field conditions -
404 resource not found -
*/ - public WorkflowResponse getWorkflow(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public WorkflowResponse getWorkflow(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { ApiResponse localVarResp = getWorkflowWithHttpInfo(id, include); return localVarResp.getData(); } @@ -441,18 +442,18 @@ public WorkflowResponse getWorkflow(@javax.annotation.Nonnull String id, @javax. * Retrieves a workflow * Retrieves a specific workflow by id * @param id (required) - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @return ApiResponse<WorkflowResponse> * @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 workflow found -
200 does not serialize alert field conditions -
404 resource not found -
*/ - public ApiResponse getWorkflowWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include) throws ApiException { + public ApiResponse getWorkflowWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include) throws ApiException { okhttp3.Call localVarCall = getWorkflowValidateBeforeCall(id, include, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -462,7 +463,7 @@ public ApiResponse getWorkflowWithHttpInfo(@javax.annotation.N * Retrieves a workflow (asynchronously) * Retrieves a specific workflow by id * @param id (required) - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (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 @@ -470,11 +471,11 @@ public ApiResponse getWorkflowWithHttpInfo(@javax.annotation.N - +
Response Details
Status Code Description Response Headers
200 workflow found -
200 does not serialize alert field conditions -
404 resource not found -
*/ - public okhttp3.Call getWorkflowAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { + public okhttp3.Call getWorkflowAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nullable String include, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = getWorkflowValidateBeforeCall(id, include, _callback); Type localVarReturnType = new TypeToken(){}.getType(); @@ -483,7 +484,7 @@ public okhttp3.Call getWorkflowAsync(@javax.annotation.Nonnull String id, @javax } /** * Build call for listWorkflows - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -601,7 +602,7 @@ private okhttp3.Call listWorkflowsValidateBeforeCall(@javax.annotation.Nullable /** * List workflows * List workflows - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -629,7 +630,7 @@ public WorkflowList listWorkflows(@javax.annotation.Nullable String include, @ja /** * List workflows * List workflows - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -658,7 +659,7 @@ public ApiResponse listWorkflowsWithHttpInfo(@javax.annotation.Nul /** * List workflows (asynchronously) * List workflows - * @param include comma separated if needed. eg: form_field_conditions,genius_tasks (optional) + * @param include comma separated if needed. eg: form_field_conditions,alert_field_conditions (optional) * @param sort comma separated if needed. eg: created_at,updated_at (optional) * @param pageNumber (optional) * @param pageSize (optional) @@ -697,12 +698,12 @@ public okhttp3.Call listWorkflowsAsync(@javax.annotation.Nullable String include - +
Response Details
Status Code Description Response Headers
200 admin can update 'locked' attribute -
200 preserves repeat_condition_* fields when omitted from PATCH payload -
404 non-admin can't update locked workflow -
403 non-admin can't update 'locked' attribute -
*/ - public okhttp3.Call updateWorkflowCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateWorkflowCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; @@ -749,7 +750,7 @@ public okhttp3.Call updateWorkflowCall(@javax.annotation.Nonnull String id, @jav } @SuppressWarnings("rawtypes") - private okhttp3.Call updateWorkflowValidateBeforeCall(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, final ApiCallback _callback) throws ApiException { + private okhttp3.Call updateWorkflowValidateBeforeCall(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, 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 updateWorkflow(Async)"); @@ -775,12 +776,12 @@ private okhttp3.Call updateWorkflowValidateBeforeCall(@javax.annotation.Nonnull - +
Response Details
Status Code Description Response Headers
200 admin can update 'locked' attribute -
200 preserves repeat_condition_* fields when omitted from PATCH payload -
404 non-admin can't update locked workflow -
403 non-admin can't update 'locked' attribute -
*/ - public WorkflowResponse updateWorkflow(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow) throws ApiException { + public WorkflowResponse updateWorkflow(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow) throws ApiException { ApiResponse localVarResp = updateWorkflowWithHttpInfo(id, updateWorkflow); return localVarResp.getData(); } @@ -796,12 +797,12 @@ public WorkflowResponse updateWorkflow(@javax.annotation.Nonnull String id, @jav - +
Response Details
Status Code Description Response Headers
200 admin can update 'locked' attribute -
200 preserves repeat_condition_* fields when omitted from PATCH payload -
404 non-admin can't update locked workflow -
403 non-admin can't update 'locked' attribute -
*/ - public ApiResponse updateWorkflowWithHttpInfo(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow) throws ApiException { + public ApiResponse updateWorkflowWithHttpInfo(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow) throws ApiException { okhttp3.Call localVarCall = updateWorkflowValidateBeforeCall(id, updateWorkflow, null); Type localVarReturnType = new TypeToken(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); @@ -819,12 +820,12 @@ public ApiResponse updateWorkflowWithHttpInfo(@javax.annotatio - +
Response Details
Status Code Description Response Headers
200 admin can update 'locked' attribute -
200 preserves repeat_condition_* fields when omitted from PATCH payload -
404 non-admin can't update locked workflow -
403 non-admin can't update 'locked' attribute -
*/ - public okhttp3.Call updateWorkflowAsync(@javax.annotation.Nonnull String id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, final ApiCallback _callback) throws ApiException { + public okhttp3.Call updateWorkflowAsync(@javax.annotation.Nonnull GetAlertFieldIdParameter id, @javax.annotation.Nonnull UpdateWorkflow updateWorkflow, final ApiCallback _callback) throws ApiException { okhttp3.Call localVarCall = updateWorkflowValidateBeforeCall(id, updateWorkflow, _callback); Type localVarReturnType = new TypeToken(){}.getType(); diff --git a/src/main/java/com/rootly/client/auth/ApiKeyAuth.java b/src/main/java/com/rootly/client/auth/ApiKeyAuth.java index 50bcb632..b23d82bc 100644 --- a/src/main/java/com/rootly/client/auth/ApiKeyAuth.java +++ b/src/main/java/com/rootly/client/auth/ApiKeyAuth.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,7 +20,7 @@ import java.util.Map; import java.util.List; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0ee7b853..45db25db 100644 --- a/src/main/java/com/rootly/client/auth/Authentication.java +++ b/src/main/java/com/rootly/client/auth/Authentication.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,7 +20,7 @@ import java.util.Map; import java.util.List; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/HttpBasicAuth.java b/src/main/java/com/rootly/client/auth/HttpBasicAuth.java index 363a84b4..3645c681 100644 --- a/src/main/java/com/rootly/client/auth/HttpBasicAuth.java +++ b/src/main/java/com/rootly/client/auth/HttpBasicAuth.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/main/java/com/rootly/client/auth/HttpBearerAuth.java b/src/main/java/com/rootly/client/auth/HttpBearerAuth.java index bfe0bd4f..a32c257b 100644 --- a/src/main/java/com/rootly/client/auth/HttpBearerAuth.java +++ b/src/main/java/com/rootly/client/auth/HttpBearerAuth.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -22,7 +22,7 @@ import java.util.Optional; import java.util.function.Supplier; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a392cab5..67257cc7 100644 --- a/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java +++ b/src/main/java/com/rootly/client/model/AbstractOpenApiSchema.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,7 +21,7 @@ /** * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ActionItemTriggerParams.java b/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java index e23a0ef7..54475b6f 100644 --- a/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java +++ b/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * ActionItemTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ActionItemTriggerParams { /** * Gets or Sets triggerType @@ -137,7 +137,9 @@ public enum IncidentKindsEnum { BACKFILLED("backfilled"), - SCHEDULED("scheduled"); + SCHEDULED("scheduled"), + + SCHEDULED_SUB("scheduled_sub"); private String value; @@ -333,6 +335,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionVisibilityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -402,6 +406,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionKindEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -471,6 +477,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -540,6 +548,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSubStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -609,6 +619,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionEnvironmentEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -678,6 +690,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSeverityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -747,6 +761,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentTypeEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -816,6 +832,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentRolesEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -885,6 +903,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionServiceEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -954,6 +974,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionFunctionalityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1023,6 +1045,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionGroupEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1548,6 +1572,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentActionItemConditionKindEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1674,6 +1700,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentActionItemConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1804,6 +1832,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentActionItemConditionPriorityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1932,6 +1962,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentActionItemConditionGroupEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java b/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java index b34e8fe0..ddc804c4 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * AddActionItemTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3d038bb8..6809f582 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The user this action item is assigned to */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e7d5b106..f5d79f60 100644 --- a/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java +++ b/src/main/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * AddActionItemTaskParamsPostToSlackChannelsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..fccdaa1f --- /dev/null +++ b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParams.java @@ -0,0 +1,360 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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; + +/** + * AddMicrosoftTeamsChatTabTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AddMicrosoftTeamsChatTabTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + ADD_MICROSOFT_TEAMS_CHAT_TAB("add_microsoft_teams_chat_tab"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_CHAT = "chat"; + @SerializedName(SERIALIZED_NAME_CHAT) + @javax.annotation.Nonnull + private AddActionItemTaskParamsPostToSlackChannelsInner chat; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nonnull + private String title; + + public static final String SERIALIZED_NAME_LINK = "link"; + @SerializedName(SERIALIZED_NAME_LINK) + @javax.annotation.Nonnull + private String link; + + public AddMicrosoftTeamsChatTabTaskParams() { + } + + public AddMicrosoftTeamsChatTabTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public AddMicrosoftTeamsChatTabTaskParams chat(@javax.annotation.Nonnull AddActionItemTaskParamsPostToSlackChannelsInner chat) { + this.chat = chat; + return this; + } + + /** + * Get chat + * @return chat + */ + @javax.annotation.Nonnull + public AddActionItemTaskParamsPostToSlackChannelsInner getChat() { + return chat; + } + + public void setChat(@javax.annotation.Nonnull AddActionItemTaskParamsPostToSlackChannelsInner chat) { + this.chat = chat; + } + + + public AddMicrosoftTeamsChatTabTaskParams title(@javax.annotation.Nonnull String title) { + this.title = title; + return this; + } + + /** + * The tab title + * @return title + */ + @javax.annotation.Nonnull + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nonnull String title) { + this.title = title; + } + + + public AddMicrosoftTeamsChatTabTaskParams link(@javax.annotation.Nonnull String link) { + this.link = link; + return this; + } + + /** + * The tab link + * @return link + */ + @javax.annotation.Nonnull + public String getLink() { + return link; + } + + public void setLink(@javax.annotation.Nonnull String link) { + this.link = link; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AddMicrosoftTeamsChatTabTaskParams addMicrosoftTeamsChatTabTaskParams = (AddMicrosoftTeamsChatTabTaskParams) o; + return Objects.equals(this.taskType, addMicrosoftTeamsChatTabTaskParams.taskType) && + Objects.equals(this.chat, addMicrosoftTeamsChatTabTaskParams.chat) && + Objects.equals(this.title, addMicrosoftTeamsChatTabTaskParams.title) && + Objects.equals(this.link, addMicrosoftTeamsChatTabTaskParams.link); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, chat, title, link); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AddMicrosoftTeamsChatTabTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" chat: ").append(toIndentedString(chat)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" link: ").append(toIndentedString(link)).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("chat"); + openapiFields.add("title"); + openapiFields.add("link"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("chat"); + openapiRequiredFields.add("title"); + openapiRequiredFields.add("link"); + } + + /** + * 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 AddMicrosoftTeamsChatTabTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AddMicrosoftTeamsChatTabTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AddMicrosoftTeamsChatTabTaskParams is not found in the empty JSON string", AddMicrosoftTeamsChatTabTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AddMicrosoftTeamsChatTabTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AddMicrosoftTeamsChatTabTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AddMicrosoftTeamsChatTabTaskParams.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 `chat` + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonObj.get("chat")); + 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("link").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `link` to be a primitive type in the JSON string but got `%s`", jsonObj.get("link").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AddMicrosoftTeamsChatTabTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AddMicrosoftTeamsChatTabTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AddMicrosoftTeamsChatTabTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AddMicrosoftTeamsChatTabTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AddMicrosoftTeamsChatTabTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AddMicrosoftTeamsChatTabTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of AddMicrosoftTeamsChatTabTaskParams + * @throws IOException if the JSON string is invalid with respect to AddMicrosoftTeamsChatTabTaskParams + */ + public static AddMicrosoftTeamsChatTabTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AddMicrosoftTeamsChatTabTaskParams.class); + } + + /** + * Convert an instance of AddMicrosoftTeamsChatTabTaskParams 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/AddMicrosoftTeamsTabTaskParams.java b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java index 03fe06d9..7ba3ed18 100644 --- a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AddMicrosoftTeamsTabTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddMicrosoftTeamsTabTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddRoleTaskParams.java b/src/main/java/com/rootly/client/model/AddRoleTaskParams.java index 4357537d..a4755d75 100644 --- a/src/main/java/com/rootly/client/model/AddRoleTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddRoleTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AddRoleTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c016ccac..10dbaae6 100644 --- a/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java +++ b/src/main/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The user this role is assigned to */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 26f954ba..7c689298 100644 --- a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AddSlackBookmarkTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSlackBookmarkTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddSubscribers.java b/src/main/java/com/rootly/client/model/AddSubscribers.java index 918b1a97..f2dd46d9 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribers.java +++ b/src/main/java/com/rootly/client/model/AddSubscribers.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AddSubscribers */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d7c13f30..9a02e286 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribersData.java +++ b/src/main/java/com/rootly/client/model/AddSubscribersData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AddSubscribersData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 32c36bb5..4ddd7756 100644 --- a/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AddSubscribersDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * AddSubscribersDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9fb75cff..f15e0280 100644 --- a/src/main/java/com/rootly/client/model/AddTeamTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddTeamTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * AddTeamTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1948f862..8fa1b893 100644 --- a/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddToTimelineTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * AddToTimelineTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/Alert.java b/src/main/java/com/rootly/client/model/Alert.java index 32c8021b..c039fee2 100644 --- a/src/main/java/com/rootly/client/model/Alert.java +++ b/src/main/java/com/rootly/client/model/Alert.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,10 +20,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; +import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.Service; import com.rootly.client.model.Team; import java.io.IOException; +import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -55,8 +57,13 @@ /** * Alert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String shortId; + /** * Whether the alert is marked as noise */ @@ -125,6 +132,8 @@ public enum SourceEnum { API("api"), + HEARTBEAT("heartbeat"), + WEB("web"), SLACK("slack"), @@ -135,6 +144,8 @@ public enum SourceEnum { LIVE_CALL_ROUTING("live_call_routing"), + MOBILE("mobile"), + PAGERDUTY("pagerduty"), OPSGENIE("opsgenie"), @@ -145,6 +156,8 @@ public enum SourceEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + NOBL9("nobl9"), ZENDESK("zendesk"), @@ -175,6 +188,8 @@ public enum SourceEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + AZURE("azure"), SPLUNK("splunk"), @@ -260,7 +275,9 @@ public enum StatusEnum { ACKNOWLEDGED("acknowledged"), - RESOLVED("resolved"); + RESOLVED("resolved"), + + DEFERRED("deferred"); private String value; @@ -365,6 +382,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_GROUP_LEADER_ALERT_ID = "group_leader_alert_id"; + @SerializedName(SERIALIZED_NAME_GROUP_LEADER_ALERT_ID) + @javax.annotation.Nullable + private String groupLeaderAlertId; + + public static final String SERIALIZED_NAME_IS_GROUP_LEADER_ALERT = "is_group_leader_alert"; + @SerializedName(SERIALIZED_NAME_IS_GROUP_LEADER_ALERT) + @javax.annotation.Nullable + private Boolean isGroupLeaderAlert; + public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @javax.annotation.Nullable @@ -375,6 +402,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Object data; + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY = "deduplication_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY) + @javax.annotation.Nullable + private String deduplicationKey; + + public static final String SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES = "alert_field_values_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES) + @javax.annotation.Nullable + private List alertFieldValuesAttributes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_STARTED_AT = "started_at"; + @SerializedName(SERIALIZED_NAME_STARTED_AT) + @javax.annotation.Nullable + private OffsetDateTime startedAt; + + public static final String SERIALIZED_NAME_ENDED_AT = "ended_at"; + @SerializedName(SERIALIZED_NAME_ENDED_AT) + @javax.annotation.Nullable + private OffsetDateTime endedAt; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -388,6 +435,25 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public Alert() { } + public Alert shortId(@javax.annotation.Nonnull String shortId) { + this.shortId = shortId; + return this; + } + + /** + * Human-readable short identifier for the alert + * @return shortId + */ + @javax.annotation.Nonnull + public String getShortId() { + return shortId; + } + + public void setShortId(@javax.annotation.Nonnull String shortId) { + this.shortId = shortId; + } + + public Alert noise(@javax.annotation.Nullable NoiseEnum noise) { this.noise = noise; return this; @@ -578,7 +644,7 @@ public Alert addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. + * The Service IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. * @return serviceIds */ @javax.annotation.Nullable @@ -605,7 +671,7 @@ public Alert addGroupIdsItem(String groupIdsItem) { } /** - * The Group ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. + * The Group IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. * @return groupIds */ @javax.annotation.Nullable @@ -632,7 +698,7 @@ public Alert addEnvironmentIdsItem(String environmentIdsItem) { } /** - * The Environment ID's to attach to the alert + * The Environment IDs to attach to the alert * @return environmentIds */ @javax.annotation.Nullable @@ -702,6 +768,44 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public Alert groupLeaderAlertId(@javax.annotation.Nullable String groupLeaderAlertId) { + this.groupLeaderAlertId = groupLeaderAlertId; + return this; + } + + /** + * The ID of the group leader alert + * @return groupLeaderAlertId + */ + @javax.annotation.Nullable + public String getGroupLeaderAlertId() { + return groupLeaderAlertId; + } + + public void setGroupLeaderAlertId(@javax.annotation.Nullable String groupLeaderAlertId) { + this.groupLeaderAlertId = groupLeaderAlertId; + } + + + public Alert isGroupLeaderAlert(@javax.annotation.Nullable Boolean isGroupLeaderAlert) { + this.isGroupLeaderAlert = isGroupLeaderAlert; + return this; + } + + /** + * Whether the alert is a group leader alert + * @return isGroupLeaderAlert + */ + @javax.annotation.Nullable + public Boolean getIsGroupLeaderAlert() { + return isGroupLeaderAlert; + } + + public void setIsGroupLeaderAlert(@javax.annotation.Nullable Boolean isGroupLeaderAlert) { + this.isGroupLeaderAlert = isGroupLeaderAlert; + } + + public Alert labels(@javax.annotation.Nullable List labels) { this.labels = labels; return this; @@ -748,6 +852,90 @@ public void setData(@javax.annotation.Nullable Object data) { } + public Alert deduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + return this; + } + + /** + * Alerts sharing the same deduplication key are treated as a single alert. + * @return deduplicationKey + */ + @javax.annotation.Nullable + public String getDeduplicationKey() { + return deduplicationKey; + } + + public void setDeduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + } + + + public Alert alertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + return this; + } + + public Alert addAlertFieldValuesAttributesItem(NewAlertDataAttributesAlertFieldValuesAttributesInner alertFieldValuesAttributesItem) { + if (this.alertFieldValuesAttributes == null) { + this.alertFieldValuesAttributes = new ArrayList<>(); + } + this.alertFieldValuesAttributes.add(alertFieldValuesAttributesItem); + return this; + } + + /** + * Custom alert field values to create with the alert + * @return alertFieldValuesAttributes + */ + @javax.annotation.Nullable + public List getAlertFieldValuesAttributes() { + return alertFieldValuesAttributes; + } + + public void setAlertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + } + + + public Alert startedAt(@javax.annotation.Nullable OffsetDateTime startedAt) { + this.startedAt = startedAt; + return this; + } + + /** + * When the alert started + * @return startedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getStartedAt() { + return startedAt; + } + + public void setStartedAt(@javax.annotation.Nullable OffsetDateTime startedAt) { + this.startedAt = startedAt; + } + + + public Alert endedAt(@javax.annotation.Nullable OffsetDateTime endedAt) { + this.endedAt = endedAt; + return this; + } + + /** + * When the alert ended + * @return endedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getEndedAt() { + return endedAt; + } + + public void setEndedAt(@javax.annotation.Nullable OffsetDateTime endedAt) { + this.endedAt = endedAt; + } + + public Alert createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -796,7 +984,8 @@ public boolean equals(Object o) { return false; } Alert alert = (Alert) o; - return Objects.equals(this.noise, alert.noise) && + return Objects.equals(this.shortId, alert.shortId) && + Objects.equals(this.noise, alert.noise) && Objects.equals(this.source, alert.source) && Objects.equals(this.status, alert.status) && Objects.equals(this.summary, alert.summary) && @@ -810,8 +999,14 @@ public boolean equals(Object o) { Objects.equals(this.externalId, alert.externalId) && Objects.equals(this.externalUrl, alert.externalUrl) && Objects.equals(this.alertUrgencyId, alert.alertUrgencyId) && + Objects.equals(this.groupLeaderAlertId, alert.groupLeaderAlertId) && + Objects.equals(this.isGroupLeaderAlert, alert.isGroupLeaderAlert) && Objects.equals(this.labels, alert.labels) && Objects.equals(this.data, alert.data) && + Objects.equals(this.deduplicationKey, alert.deduplicationKey) && + Objects.equals(this.alertFieldValuesAttributes, alert.alertFieldValuesAttributes) && + Objects.equals(this.startedAt, alert.startedAt) && + Objects.equals(this.endedAt, alert.endedAt) && Objects.equals(this.createdAt, alert.createdAt) && Objects.equals(this.updatedAt, alert.updatedAt); } @@ -822,7 +1017,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(noise, source, status, summary, description, services, groups, environments, serviceIds, groupIds, environmentIds, externalId, externalUrl, alertUrgencyId, labels, data, createdAt, updatedAt); + return Objects.hash(shortId, noise, source, status, summary, description, services, groups, environments, serviceIds, groupIds, environmentIds, externalId, externalUrl, alertUrgencyId, groupLeaderAlertId, isGroupLeaderAlert, labels, data, deduplicationKey, alertFieldValuesAttributes, startedAt, endedAt, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -836,6 +1031,7 @@ private static int hashCodeNullable(JsonNullable a) { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Alert {\n"); + sb.append(" shortId: ").append(toIndentedString(shortId)).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"); @@ -850,8 +1046,14 @@ public String toString() { sb.append(" externalId: ").append(toIndentedString(externalId)).append("\n"); sb.append(" externalUrl: ").append(toIndentedString(externalUrl)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" groupLeaderAlertId: ").append(toIndentedString(groupLeaderAlertId)).append("\n"); + sb.append(" isGroupLeaderAlert: ").append(toIndentedString(isGroupLeaderAlert)).append("\n"); sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" deduplicationKey: ").append(toIndentedString(deduplicationKey)).append("\n"); + sb.append(" alertFieldValuesAttributes: ").append(toIndentedString(alertFieldValuesAttributes)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); + sb.append(" endedAt: ").append(toIndentedString(endedAt)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -876,6 +1078,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("short_id"); openapiFields.add("noise"); openapiFields.add("source"); openapiFields.add("status"); @@ -890,13 +1093,20 @@ private String toIndentedString(Object o) { openapiFields.add("external_id"); openapiFields.add("external_url"); openapiFields.add("alert_urgency_id"); + openapiFields.add("group_leader_alert_id"); + openapiFields.add("is_group_leader_alert"); openapiFields.add("labels"); openapiFields.add("data"); + openapiFields.add("deduplication_key"); + openapiFields.add("alert_field_values_attributes"); + openapiFields.add("started_at"); + openapiFields.add("ended_at"); openapiFields.add("created_at"); openapiFields.add("updated_at"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("short_id"); openapiRequiredFields.add("source"); openapiRequiredFields.add("summary"); openapiRequiredFields.add("created_at"); @@ -931,6 +1141,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); + if (!jsonObj.get("short_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `short_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("short_id").toString())); + } 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())); } @@ -1019,6 +1232,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("group_leader_alert_id") != null && !jsonObj.get("group_leader_alert_id").isJsonNull()) && !jsonObj.get("group_leader_alert_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `group_leader_alert_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("group_leader_alert_id").toString())); + } if (jsonObj.get("labels") != null && !jsonObj.get("labels").isJsonNull()) { JsonArray jsonArraylabels = jsonObj.getAsJsonArray("labels"); if (jsonArraylabels != null) { @@ -1033,6 +1249,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if ((jsonObj.get("deduplication_key") != null && !jsonObj.get("deduplication_key").isJsonNull()) && !jsonObj.get("deduplication_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key").toString())); + } + if (jsonObj.get("alert_field_values_attributes") != null && !jsonObj.get("alert_field_values_attributes").isJsonNull()) { + JsonArray jsonArrayalertFieldValuesAttributes = jsonObj.getAsJsonArray("alert_field_values_attributes"); + if (jsonArrayalertFieldValuesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_field_values_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_values_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_field_values_attributes").toString())); + } + + // validate the optional field `alert_field_values_attributes` (array) + for (int i = 0; i < jsonArrayalertFieldValuesAttributes.size(); i++) { + NewAlertDataAttributesAlertFieldValuesAttributesInner.validateJsonElement(jsonArrayalertFieldValuesAttributes.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/AlertEvent.java b/src/main/java/com/rootly/client/model/AlertEvent.java index 3e92bb1e..6c7e1cd9 100644 --- a/src/main/java/com/rootly/client/model/AlertEvent.java +++ b/src/main/java/com/rootly/client/model/AlertEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEvent { /** * Gets or Sets kind @@ -76,7 +76,9 @@ public enum KindEnum { NOISE("noise"), - MAINTENANCE("maintenance"); + MAINTENANCE("maintenance"), + + DEFERRAL("deferral"); private String value; @@ -133,6 +135,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum ActionEnum { CREATED("created"), + ESCALATION_POLICY_PAGED("escalation_policy_paged"), + + IGNORED_ALERT_REQUEST("ignored_alert_request"), + EMAILED("emailed"), SLACKED("slacked"), @@ -143,6 +149,8 @@ public enum ActionEnum { NOTIFIED("notified"), + SKIPPED("skipped"), + OPENED("opened"), RETRIGGERED("retriggered"), @@ -163,6 +171,8 @@ public enum ActionEnum { TRIGGERED("triggered"), + OPEN("open"), + UPDATED("updated"), ADDED("added"), @@ -173,7 +183,9 @@ public enum ActionEnum { NOT_MARKED("not_marked"), - MUTED("muted"); + MUTED("muted"), + + DEFERRED("deferred"); private String value; diff --git a/src/main/java/com/rootly/client/model/AlertEventList.java b/src/main/java/com/rootly/client/model/AlertEventList.java index ffd60df6..b0177675 100644 --- a/src/main/java/com/rootly/client/model/AlertEventList.java +++ b/src/main/java/com/rootly/client/model/AlertEventList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AlertEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AlertEventList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AlertEventList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AlertEventList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AlertEventList alertEventList = (AlertEventList) o; return Objects.equals(this.data, alertEventList.data) && - Objects.equals(this.links, alertEventList.links); + Objects.equals(this.links, alertEventList.links) && + Objects.equals(this.meta, alertEventList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AlertEventList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertEventResponse.java b/src/main/java/com/rootly/client/model/AlertEventResponse.java index 0d52257d..2dc1fd20 100644 --- a/src/main/java/com/rootly/client/model/AlertEventResponse.java +++ b/src/main/java/com/rootly/client/model/AlertEventResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1e5f415e..5cfcd89f 100644 --- a/src/main/java/com/rootly/client/model/AlertEventResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertEventResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertEventResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/AlertField.java b/src/main/java/com/rootly/client/model/AlertField.java new file mode 100644 index 00000000..2e12214f --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertField.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; + +/** + * AlertField + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertField { + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_KIND = "kind"; + @SerializedName(SERIALIZED_NAME_KIND) + @javax.annotation.Nonnull + private String kind; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public AlertField() { + } + + public AlertField slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the alert field + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public AlertField name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert field + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public AlertField kind(@javax.annotation.Nonnull String kind) { + this.kind = kind; + return this; + } + + /** + * The kind of alert field + * @return kind + */ + @javax.annotation.Nonnull + public String getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull String kind) { + this.kind = kind; + } + + + public AlertField createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public AlertField updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + 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); + } + + @Override + public int hashCode() { + return Objects.hash(slug, name, kind, createdAt, updatedAt); + } + + @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("}"); + 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("slug"); + openapiFields.add("name"); + openapiFields.add("kind"); + 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("kind"); + 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 AlertField + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertField.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertField is not found in the empty JSON string", AlertField.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertField.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertField` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertField.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("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("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("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("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 (!AlertField.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertField' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertField.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertField value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertField read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertField given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertField + * @throws IOException if the JSON string is invalid with respect to AlertField + */ + public static AlertField fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertField.class); + } + + /** + * Convert an instance of AlertField 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/AlertFieldList.java b/src/main/java/com/rootly/client/model/AlertFieldList.java new file mode 100644 index 00000000..1afedae6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertFieldList.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 com.rootly.client.model.AlertFieldListDataInner; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * AlertFieldList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertFieldList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public AlertFieldList() { + } + + public AlertFieldList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public AlertFieldList addDataItem(AlertFieldListDataInner dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public AlertFieldList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public AlertFieldList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertFieldList alertFieldList = (AlertFieldList) o; + return Objects.equals(this.data, alertFieldList.data) && + Objects.equals(this.links, alertFieldList.links) && + Objects.equals(this.meta, alertFieldList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertFieldList {\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("}"); + 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"); + + // 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 AlertFieldList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertFieldList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertFieldList is not found in the empty JSON string", AlertFieldList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertFieldList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertFieldList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertFieldList.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++) { + AlertFieldListDataInner.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertFieldList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertFieldList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertFieldList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertFieldList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertFieldList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertFieldList given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertFieldList + * @throws IOException if the JSON string is invalid with respect to AlertFieldList + */ + public static AlertFieldList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertFieldList.class); + } + + /** + * Convert an instance of AlertFieldList 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/AlertFieldListDataInner.java b/src/main/java/com/rootly/client/model/AlertFieldListDataInner.java new file mode 100644 index 00000000..ed20825e --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertFieldListDataInner.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.AlertField; +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; + +/** + * AlertFieldListDataInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertFieldListDataInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_FIELDS("alert_fields"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private AlertField attributes; + + public AlertFieldListDataInner() { + } + + public AlertFieldListDataInner id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * The ID of the alert field + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public AlertFieldListDataInner type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public AlertFieldListDataInner attributes(@javax.annotation.Nonnull AlertField attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public AlertField getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull AlertField attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertFieldListDataInner alertFieldListDataInner = (AlertFieldListDataInner) o; + return Objects.equals(this.id, alertFieldListDataInner.id) && + Objects.equals(this.type, alertFieldListDataInner.type) && + Objects.equals(this.attributes, alertFieldListDataInner.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertFieldListDataInner {\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 AlertFieldListDataInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertFieldListDataInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertFieldListDataInner is not found in the empty JSON string", AlertFieldListDataInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertFieldListDataInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertFieldListDataInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertFieldListDataInner.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` + AlertField.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertFieldListDataInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertFieldListDataInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertFieldListDataInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertFieldListDataInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertFieldListDataInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertFieldListDataInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertFieldListDataInner + * @throws IOException if the JSON string is invalid with respect to AlertFieldListDataInner + */ + public static AlertFieldListDataInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertFieldListDataInner.class); + } + + /** + * Convert an instance of AlertFieldListDataInner 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/AlertFieldResponse.java b/src/main/java/com/rootly/client/model/AlertFieldResponse.java new file mode 100644 index 00000000..0eba7dbf --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertFieldResponse.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.AlertFieldResponseData; +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; + +/** + * AlertFieldResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertFieldResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private AlertFieldResponseData data; + + public AlertFieldResponse() { + } + + public AlertFieldResponse data(@javax.annotation.Nonnull AlertFieldResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public AlertFieldResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull AlertFieldResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertFieldResponse alertFieldResponse = (AlertFieldResponse) o; + return Objects.equals(this.data, alertFieldResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertFieldResponse {\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 AlertFieldResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertFieldResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertFieldResponse is not found in the empty JSON string", AlertFieldResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertFieldResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertFieldResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertFieldResponse.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` + AlertFieldResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertFieldResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertFieldResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertFieldResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertFieldResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertFieldResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertFieldResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertFieldResponse + * @throws IOException if the JSON string is invalid with respect to AlertFieldResponse + */ + public static AlertFieldResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertFieldResponse.class); + } + + /** + * Convert an instance of AlertFieldResponse 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/AlertFieldResponseData.java b/src/main/java/com/rootly/client/model/AlertFieldResponseData.java new file mode 100644 index 00000000..85d93bcf --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertFieldResponseData.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.AlertField; +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; + +/** + * AlertFieldResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertFieldResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_FIELDS("alert_fields"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private AlertField attributes; + + public AlertFieldResponseData() { + } + + public AlertFieldResponseData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * The ID of the alert field + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public AlertFieldResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public AlertFieldResponseData attributes(@javax.annotation.Nonnull AlertField attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public AlertField getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull AlertField attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertFieldResponseData alertFieldResponseData = (AlertFieldResponseData) o; + return Objects.equals(this.id, alertFieldResponseData.id) && + Objects.equals(this.type, alertFieldResponseData.type) && + Objects.equals(this.attributes, alertFieldResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertFieldResponseData {\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 AlertFieldResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertFieldResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertFieldResponseData is not found in the empty JSON string", AlertFieldResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertFieldResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertFieldResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertFieldResponseData.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` + AlertField.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertFieldResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertFieldResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertFieldResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertFieldResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertFieldResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertFieldResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertFieldResponseData + * @throws IOException if the JSON string is invalid with respect to AlertFieldResponseData + */ + public static AlertFieldResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertFieldResponseData.class); + } + + /** + * Convert an instance of AlertFieldResponseData 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/AlertGroup.java b/src/main/java/com/rootly/client/model/AlertGroup.java index 3d3c540b..f441cdc3 100644 --- a/src/main/java/com/rootly/client/model/AlertGroup.java +++ b/src/main/java/com/rootly/client/model/AlertGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.AlertGroupConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; @@ -52,7 +53,7 @@ /** * AlertGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroup { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,7 +67,7 @@ public class AlertGroup { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_CONDITION_TYPE = "condition_type"; @@ -80,13 +81,15 @@ public class AlertGroup { private Integer timeWindow; public static final String SERIALIZED_NAME_GROUP_BY_ALERT_TITLE = "group_by_alert_title"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_TITLE) - @javax.annotation.Nonnull + @javax.annotation.Nullable private Boolean groupByAlertTitle; public static final String SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY = "group_by_alert_urgency"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY) - @javax.annotation.Nonnull + @javax.annotation.Nullable private Boolean groupByAlertUrgency; public static final String SERIALIZED_NAME_TARGETS = "targets"; @@ -95,10 +98,16 @@ public class AlertGroup { private List targets = new ArrayList<>(); public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @Deprecated @SerializedName(SERIALIZED_NAME_ATTRIBUTES) @javax.annotation.Nullable private List attributes = new ArrayList<>(); + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -155,7 +164,7 @@ public void setDescription(@javax.annotation.Nullable String description) { } - public AlertGroup slug(@javax.annotation.Nonnull String slug) { + public AlertGroup slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -164,12 +173,12 @@ public AlertGroup slug(@javax.annotation.Nonnull String slug) { * The slug of the alert group * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -212,40 +221,48 @@ public void setTimeWindow(@javax.annotation.Nonnull Integer timeWindow) { } - public AlertGroup groupByAlertTitle(@javax.annotation.Nonnull Boolean groupByAlertTitle) { + @Deprecated + public AlertGroup groupByAlertTitle(@javax.annotation.Nullable Boolean groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; return this; } /** - * Whether the alerts are grouped by title or not + * [DEPRECATED] Whether the alerts are grouped by title or not. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertTitle + * @deprecated */ - @javax.annotation.Nonnull + @Deprecated + @javax.annotation.Nullable public Boolean getGroupByAlertTitle() { return groupByAlertTitle; } - public void setGroupByAlertTitle(@javax.annotation.Nonnull Boolean groupByAlertTitle) { + @Deprecated + public void setGroupByAlertTitle(@javax.annotation.Nullable Boolean groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; } - public AlertGroup groupByAlertUrgency(@javax.annotation.Nonnull Boolean groupByAlertUrgency) { + @Deprecated + public AlertGroup groupByAlertUrgency(@javax.annotation.Nullable Boolean groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; return this; } /** - * Whether the alerts are grouped by urgency or not + * [DEPRECATED] Whether the alerts are grouped by urgency or not. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertUrgency + * @deprecated */ - @javax.annotation.Nonnull + @Deprecated + @javax.annotation.Nullable public Boolean getGroupByAlertUrgency() { return groupByAlertUrgency; } - public void setGroupByAlertUrgency(@javax.annotation.Nonnull Boolean groupByAlertUrgency) { + @Deprecated + public void setGroupByAlertUrgency(@javax.annotation.Nullable Boolean groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; } @@ -277,6 +294,7 @@ public void setTargets(@javax.annotation.Nullable List attributes) { this.attributes = attributes; return this; @@ -291,19 +309,49 @@ public AlertGroup addAttributesItem(NewAlertGroupDataAttributesAttributesInner a } /** - * Get attributes + * This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. * @return attributes + * @deprecated */ + @Deprecated @javax.annotation.Nullable public List getAttributes() { return attributes; } + @Deprecated public void setAttributes(@javax.annotation.Nullable List attributes) { this.attributes = attributes; } + public AlertGroup conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public AlertGroup addConditionsItem(AlertGroupConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * The conditions for the alert group + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + public AlertGroup createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -380,6 +428,7 @@ public boolean equals(Object o) { Objects.equals(this.groupByAlertUrgency, alertGroup.groupByAlertUrgency) && Objects.equals(this.targets, alertGroup.targets) && Objects.equals(this.attributes, alertGroup.attributes) && + Objects.equals(this.conditions, alertGroup.conditions) && Objects.equals(this.createdAt, alertGroup.createdAt) && Objects.equals(this.updatedAt, alertGroup.updatedAt) && Objects.equals(this.deletedAt, alertGroup.deletedAt); @@ -387,7 +436,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, description, slug, conditionType, timeWindow, groupByAlertTitle, groupByAlertUrgency, targets, attributes, createdAt, updatedAt, deletedAt); + return Objects.hash(name, description, slug, conditionType, timeWindow, groupByAlertTitle, groupByAlertUrgency, targets, attributes, conditions, createdAt, updatedAt, deletedAt); } @Override @@ -403,6 +452,7 @@ public String toString() { sb.append(" groupByAlertUrgency: ").append(toIndentedString(groupByAlertUrgency)).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"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" deletedAt: ").append(toIndentedString(deletedAt)).append("\n"); @@ -437,6 +487,7 @@ private String toIndentedString(Object o) { openapiFields.add("group_by_alert_urgency"); openapiFields.add("targets"); openapiFields.add("attributes"); + openapiFields.add("conditions"); openapiFields.add("created_at"); openapiFields.add("updated_at"); openapiFields.add("deleted_at"); @@ -445,11 +496,8 @@ private String toIndentedString(Object o) { openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); openapiRequiredFields.add("description"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("condition_type"); openapiRequiredFields.add("time_window"); - openapiRequiredFields.add("group_by_alert_title"); - openapiRequiredFields.add("group_by_alert_urgency"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); openapiRequiredFields.add("deleted_at"); @@ -489,7 +537,7 @@ 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("slug").isJsonPrimitive()) { + 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("condition_type").isJsonPrimitive()) { @@ -523,6 +571,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + AlertGroupConditionsInner.validateJsonElement(jsonArrayconditions.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/AlertGroupConditionsInner.java b/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java new file mode 100644 index 00000000..24f1057d --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java @@ -0,0 +1,685 @@ +/* + * 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.AlertGroupConditionsInnerValuesInner; +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; + +/** + * AlertGroupConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertGroupConditionsInner { + /** + * The type of the property field + */ + @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) + @javax.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nullable + private String propertyFieldName; + + /** + * The condition type of the property field + */ + @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"), + + MATCHES_EXISTING_ALERT("matches_existing_alert"); + + 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) + @javax.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues = new ArrayList<>(); + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @javax.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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private String conditionableId; + + public AlertGroupConditionsInner() { + } + + public AlertGroupConditionsInner propertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * The type of the property field + * @return propertyFieldType + */ + @javax.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public AlertGroupConditionsInner propertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field. If the property field type is selected as 'attribute', then the allowed property field names are 'summary' (for Title), 'description', 'alert_urgency' and 'external_url' (for Alert Source URL). If the property field type is selected as 'payload', then the property field name should be supplied in JSON Path syntax. + * @return propertyFieldName + */ + @javax.annotation.Nullable + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public AlertGroupConditionsInner propertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * The condition type of the property field + * @return propertyFieldConditionType + */ + @javax.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public AlertGroupConditionsInner propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field. Can be null if the property field condition type is 'is_one_of' or 'is_not_one_of' + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public AlertGroupConditionsInner propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public AlertGroupConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * The values of the property field. Used if the property field condition type is 'is_one_of' or 'is_not_one_of' except for when property field name is 'alert_urgency' + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public AlertGroupConditionsInner values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public AlertGroupConditionsInner addValuesItem(AlertGroupConditionsInnerValuesInner valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Get values + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.annotation.Nullable List values) { + this.values = values; + } + + + public AlertGroupConditionsInner alertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public AlertGroupConditionsInner 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. Only need to be set when the property field type is 'attribute', the property field name is 'alert_urgency' and the property field condition type is 'is_one_of' or 'is_not_one_of' + * @return alertUrgencyIds + */ + @javax.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + + public AlertGroupConditionsInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertGroupConditionsInner conditionableId(@javax.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 + */ + @javax.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertGroupConditionsInner alertGroupConditionsInner = (AlertGroupConditionsInner) o; + return Objects.equals(this.propertyFieldType, alertGroupConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldName, alertGroupConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldConditionType, alertGroupConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldValue, alertGroupConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, alertGroupConditionsInner.propertyFieldValues) && + Objects.equals(this.values, alertGroupConditionsInner.values) && + Objects.equals(this.alertUrgencyIds, alertGroupConditionsInner.alertUrgencyIds) && + Objects.equals(this.conditionableType, alertGroupConditionsInner.conditionableType) && + Objects.equals(this.conditionableId, alertGroupConditionsInner.conditionableId); + } + + 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(propertyFieldType, propertyFieldName, propertyFieldConditionType, propertyFieldValue, propertyFieldValues, values, alertUrgencyIds, conditionableType, conditionableId); + } + + 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 AlertGroupConditionsInner {\n"); + sb.append(" propertyFieldType: ").append(toIndentedString(propertyFieldType)).append("\n"); + sb.append(" propertyFieldName: ").append(toIndentedString(propertyFieldName)).append("\n"); + sb.append(" propertyFieldConditionType: ").append(toIndentedString(propertyFieldConditionType)).append("\n"); + sb.append(" propertyFieldValue: ").append(toIndentedString(propertyFieldValue)).append("\n"); + sb.append(" propertyFieldValues: ").append(toIndentedString(propertyFieldValues)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).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_type"); + openapiFields.add("property_field_name"); + openapiFields.add("property_field_condition_type"); + openapiFields.add("property_field_value"); + openapiFields.add("property_field_values"); + openapiFields.add("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_type"); + openapiRequiredFields.add("property_field_condition_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 AlertGroupConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertGroupConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertGroupConditionsInner is not found in the empty JSON string", AlertGroupConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertGroupConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertGroupConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertGroupConditionsInner.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_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_name") != null && !jsonObj.get("property_field_name").isJsonNull()) && !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_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_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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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())); + } + if (jsonObj.get("values") != null && !jsonObj.get("values").isJsonNull()) { + JsonArray jsonArrayvalues = jsonObj.getAsJsonArray("values"); + if (jsonArrayvalues != null) { + // ensure the json data is an array + 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())); + } + + // validate the optional field `values` (array) + for (int i = 0; i < jsonArrayvalues.size(); i++) { + AlertGroupConditionsInnerValuesInner.validateJsonElement(jsonArrayvalues.get(i)); + }; + } + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_urgency_ids") != null && !jsonObj.get("alert_urgency_ids").isJsonNull() && !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 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertGroupConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertGroupConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertGroupConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertGroupConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertGroupConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertGroupConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertGroupConditionsInner + * @throws IOException if the JSON string is invalid with respect to AlertGroupConditionsInner + */ + public static AlertGroupConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertGroupConditionsInner.class); + } + + /** + * Convert an instance of AlertGroupConditionsInner 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/AlertGroupConditionsInnerValuesInner.java b/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.java new file mode 100644 index 00000000..b5be6388 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInner.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; + +/** + * AlertGroupConditionsInnerValuesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String recordId; + + public static final String SERIALIZED_NAME_RECORD_TYPE = "record_type"; + @SerializedName(SERIALIZED_NAME_RECORD_TYPE) + @javax.annotation.Nonnull + private String recordType; + + public AlertGroupConditionsInnerValuesInner() { + } + + public AlertGroupConditionsInnerValuesInner recordId(@javax.annotation.Nonnull String recordId) { + this.recordId = recordId; + return this; + } + + /** + * ID of the Alert Urgency to set. + * @return recordId + */ + @javax.annotation.Nonnull + public String getRecordId() { + return recordId; + } + + public void setRecordId(@javax.annotation.Nonnull String recordId) { + this.recordId = recordId; + } + + + public AlertGroupConditionsInnerValuesInner recordType(@javax.annotation.Nonnull String recordType) { + this.recordType = recordType; + return this; + } + + /** + * Should be \"AlertUrgency\". + * @return recordType + */ + @javax.annotation.Nonnull + public String getRecordType() { + return recordType; + } + + public void setRecordType(@javax.annotation.Nonnull String recordType) { + this.recordType = recordType; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertGroupConditionsInnerValuesInner alertGroupConditionsInnerValuesInner = (AlertGroupConditionsInnerValuesInner) o; + return Objects.equals(this.recordId, alertGroupConditionsInnerValuesInner.recordId) && + Objects.equals(this.recordType, alertGroupConditionsInnerValuesInner.recordType); + } + + @Override + public int hashCode() { + return Objects.hash(recordId, recordType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertGroupConditionsInnerValuesInner {\n"); + sb.append(" recordId: ").append(toIndentedString(recordId)).append("\n"); + sb.append(" recordType: ").append(toIndentedString(recordType)).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("record_id"); + openapiFields.add("record_type"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("record_id"); + openapiRequiredFields.add("record_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 AlertGroupConditionsInnerValuesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertGroupConditionsInnerValuesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertGroupConditionsInnerValuesInner is not found in the empty JSON string", AlertGroupConditionsInnerValuesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertGroupConditionsInnerValuesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertGroupConditionsInnerValuesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertGroupConditionsInnerValuesInner.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("record_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `record_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("record_id").toString())); + } + if (!jsonObj.get("record_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `record_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("record_type").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertGroupConditionsInnerValuesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertGroupConditionsInnerValuesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertGroupConditionsInnerValuesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertGroupConditionsInnerValuesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertGroupConditionsInnerValuesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertGroupConditionsInnerValuesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertGroupConditionsInnerValuesInner + * @throws IOException if the JSON string is invalid with respect to AlertGroupConditionsInnerValuesInner + */ + public static AlertGroupConditionsInnerValuesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertGroupConditionsInnerValuesInner.class); + } + + /** + * Convert an instance of AlertGroupConditionsInnerValuesInner 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/AlertGroupList.java b/src/main/java/com/rootly/client/model/AlertGroupList.java index 4630b172..79f2547f 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupList.java +++ b/src/main/java/com/rootly/client/model/AlertGroupList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * AlertGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 55943d3d..ec02870c 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupResponse.java +++ b/src/main/java/com/rootly/client/model/AlertGroupResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a75ec368..024d590f 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertGroupResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertGroupResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/AlertList.java b/src/main/java/com/rootly/client/model/AlertList.java index a222c790..86bd1eb3 100644 --- a/src/main/java/com/rootly/client/model/AlertList.java +++ b/src/main/java/com/rootly/client/model/AlertList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AlertList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AlertList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AlertList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AlertList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AlertList alertList = (AlertList) o; return Objects.equals(this.data, alertList.data) && - Objects.equals(this.links, alertList.links); + Objects.equals(this.links, alertList.links) && + Objects.equals(this.meta, alertList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AlertList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertResponse.java b/src/main/java/com/rootly/client/model/AlertResponse.java index d0ac5f39..dc949d94 100644 --- a/src/main/java/com/rootly/client/model/AlertResponse.java +++ b/src/main/java/com/rootly/client/model/AlertResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f0d77ab6..ac73d90f 100644 --- a/src/main/java/com/rootly/client/model/AlertResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -67,6 +67,8 @@ public enum SourceEnum { API("api"), + HEARTBEAT("heartbeat"), + WEB("web"), SLACK("slack"), @@ -77,6 +79,8 @@ public enum SourceEnum { LIVE_CALL_ROUTING("live_call_routing"), + MOBILE("mobile"), + PAGERDUTY("pagerduty"), OPSGENIE("opsgenie"), @@ -87,6 +91,8 @@ public enum SourceEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + NOBL9("nobl9"), ZENDESK("zendesk"), @@ -117,6 +123,8 @@ public enum SourceEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + AZURE("azure"), SPLUNK("splunk"), diff --git a/src/main/java/com/rootly/client/model/AlertRoute.java b/src/main/java/com/rootly/client/model/AlertRoute.java new file mode 100644 index 00000000..e481c452 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoute.java @@ -0,0 +1,375 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInner; +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; + +/** + * AlertRoute + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRoute { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @javax.annotation.Nullable + private Boolean enabled; + + public static final String SERIALIZED_NAME_ALERTS_SOURCE_IDS = "alerts_source_ids"; + @SerializedName(SERIALIZED_NAME_ALERTS_SOURCE_IDS) + @javax.annotation.Nonnull + private List alertsSourceIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNING_TEAM_IDS = "owning_team_ids"; + @SerializedName(SERIALIZED_NAME_OWNING_TEAM_IDS) + @javax.annotation.Nullable + private List owningTeamIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + @javax.annotation.Nullable + private List rules = new ArrayList<>(); + + public AlertRoute() { + } + + public AlertRoute name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert route + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public AlertRoute enabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the alert route is enabled + * @return enabled + */ + @javax.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public AlertRoute alertsSourceIds(@javax.annotation.Nonnull List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + return this; + } + + public AlertRoute addAlertsSourceIdsItem(UUID alertsSourceIdsItem) { + if (this.alertsSourceIds == null) { + this.alertsSourceIds = new ArrayList<>(); + } + this.alertsSourceIds.add(alertsSourceIdsItem); + return this; + } + + /** + * Get alertsSourceIds + * @return alertsSourceIds + */ + @javax.annotation.Nonnull + public List getAlertsSourceIds() { + return alertsSourceIds; + } + + public void setAlertsSourceIds(@javax.annotation.Nonnull List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + } + + + public AlertRoute owningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + return this; + } + + public AlertRoute addOwningTeamIdsItem(UUID owningTeamIdsItem) { + if (this.owningTeamIds == null) { + this.owningTeamIds = new ArrayList<>(); + } + this.owningTeamIds.add(owningTeamIdsItem); + return this; + } + + /** + * Get owningTeamIds + * @return owningTeamIds + */ + @javax.annotation.Nullable + public List getOwningTeamIds() { + return owningTeamIds; + } + + public void setOwningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + } + + + public AlertRoute rules(@javax.annotation.Nullable List rules) { + this.rules = rules; + return this; + } + + public AlertRoute addRulesItem(NewAlertRouteDataAttributesRulesInner rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList<>(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Get rules + * @return rules + */ + @javax.annotation.Nullable + public List getRules() { + return rules; + } + + public void setRules(@javax.annotation.Nullable List rules) { + this.rules = rules; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRoute alertRoute = (AlertRoute) o; + return Objects.equals(this.name, alertRoute.name) && + Objects.equals(this.enabled, alertRoute.enabled) && + Objects.equals(this.alertsSourceIds, alertRoute.alertsSourceIds) && + Objects.equals(this.owningTeamIds, alertRoute.owningTeamIds) && + Objects.equals(this.rules, alertRoute.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, enabled, alertsSourceIds, owningTeamIds, rules); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRoute {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" alertsSourceIds: ").append(toIndentedString(alertsSourceIds)).append("\n"); + sb.append(" owningTeamIds: ").append(toIndentedString(owningTeamIds)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).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("alerts_source_ids"); + openapiFields.add("owning_team_ids"); + openapiFields.add("rules"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("alerts_source_ids"); + } + + /** + * 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 AlertRoute + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoute.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoute is not found in the empty JSON string", AlertRoute.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoute.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoute` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoute.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 required json array is present + if (jsonObj.get("alerts_source_ids") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("alerts_source_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alerts_source_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_source_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("owning_team_ids") != null && !jsonObj.get("owning_team_ids").isJsonNull() && !jsonObj.get("owning_team_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owning_team_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owning_team_ids").toString())); + } + if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { + JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); + if (jsonArrayrules != null) { + // ensure the json data is an array + if (!jsonObj.get("rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString())); + } + + // validate the optional field `rules` (array) + for (int i = 0; i < jsonArrayrules.size(); i++) { + NewAlertRouteDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRoute.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoute' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoute.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoute value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoute read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoute given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoute + * @throws IOException if the JSON string is invalid with respect to AlertRoute + */ + public static AlertRoute fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoute.class); + } + + /** + * Convert an instance of AlertRoute 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/AlertRouteList.java b/src/main/java/com/rootly/client/model/AlertRouteList.java new file mode 100644 index 00000000..415ba51e --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteList.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 com.rootly.client.model.AlertRouteResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * AlertRouteList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public AlertRouteList() { + } + + public AlertRouteList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public AlertRouteList addDataItem(AlertRouteResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public AlertRouteList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public AlertRouteList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteList alertRouteList = (AlertRouteList) o; + return Objects.equals(this.data, alertRouteList.data) && + Objects.equals(this.links, alertRouteList.links) && + Objects.equals(this.meta, alertRouteList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteList {\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("}"); + 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"); + + // 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 AlertRouteList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteList is not found in the empty JSON string", AlertRouteList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteList.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++) { + AlertRouteResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteList given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteList + * @throws IOException if the JSON string is invalid with respect to AlertRouteList + */ + public static AlertRouteList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteList.class); + } + + /** + * Convert an instance of AlertRouteList 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/AlertRouteResponse.java b/src/main/java/com/rootly/client/model/AlertRouteResponse.java new file mode 100644 index 00000000..27508985 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteResponse.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.AlertRouteResponseData; +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; + +/** + * AlertRouteResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private AlertRouteResponseData data; + + public AlertRouteResponse() { + } + + public AlertRouteResponse data(@javax.annotation.Nonnull AlertRouteResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public AlertRouteResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull AlertRouteResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteResponse alertRouteResponse = (AlertRouteResponse) o; + return Objects.equals(this.data, alertRouteResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteResponse {\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 AlertRouteResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteResponse is not found in the empty JSON string", AlertRouteResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteResponse.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` + AlertRouteResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteResponse + * @throws IOException if the JSON string is invalid with respect to AlertRouteResponse + */ + public static AlertRouteResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteResponse.class); + } + + /** + * Convert an instance of AlertRouteResponse 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/AlertRouteResponseData.java b/src/main/java/com/rootly/client/model/AlertRouteResponseData.java new file mode 100644 index 00000000..5f086411 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRouteResponseData.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.AlertRoute; +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; + +/** + * AlertRouteResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRouteResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_ROUTES("alert_routes"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private AlertRoute attributes; + + public AlertRouteResponseData() { + } + + public AlertRouteResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the alert route + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public AlertRouteResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public AlertRouteResponseData attributes(@javax.annotation.Nonnull AlertRoute attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public AlertRoute getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull AlertRoute attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRouteResponseData alertRouteResponseData = (AlertRouteResponseData) o; + return Objects.equals(this.id, alertRouteResponseData.id) && + Objects.equals(this.type, alertRouteResponseData.type) && + Objects.equals(this.attributes, alertRouteResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRouteResponseData {\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 AlertRouteResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRouteResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRouteResponseData is not found in the empty JSON string", AlertRouteResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRouteResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRouteResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRouteResponseData.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` + AlertRoute.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertRouteResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRouteResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRouteResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRouteResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRouteResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRouteResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRouteResponseData + * @throws IOException if the JSON string is invalid with respect to AlertRouteResponseData + */ + public static AlertRouteResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRouteResponseData.class); + } + + /** + * Convert an instance of AlertRouteResponseData 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 866c6164..1713ad0c 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.AlertRoutingRuleConditionGroupsInner; import com.rootly.client.model.AlertRoutingRuleConditionsInner; import com.rootly.client.model.AlertRoutingRuleDestination; import java.io.IOException; @@ -26,6 +27,7 @@ import java.util.Arrays; import java.util.List; import java.util.UUID; +import org.openapitools.jackson.nullable.JsonNullable; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -53,7 +55,7 @@ /** * AlertRoutingRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRule { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -70,6 +72,11 @@ public class AlertRoutingRule { @javax.annotation.Nonnull private UUID alertsSourceId; + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nonnull + private Integer position; + /** * The type of condition for the alert routing rule */ @@ -134,9 +141,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_DESTINATION = "destination"; @SerializedName(SERIALIZED_NAME_DESTINATION) - @javax.annotation.Nonnull + @javax.annotation.Nullable private AlertRoutingRuleDestination destination; + public static final String SERIALIZED_NAME_CONDITION_GROUPS = "condition_groups"; + @SerializedName(SERIALIZED_NAME_CONDITION_GROUPS) + @javax.annotation.Nullable + private List conditionGroups = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -207,6 +219,25 @@ public void setAlertsSourceId(@javax.annotation.Nonnull UUID alertsSourceId) { } + public AlertRoutingRule position(@javax.annotation.Nonnull Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @javax.annotation.Nonnull + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nonnull Integer position) { + this.position = position; + } + + public AlertRoutingRule conditionType(@javax.annotation.Nonnull ConditionTypeEnum conditionType) { this.conditionType = conditionType; return this; @@ -253,7 +284,7 @@ public void setConditions(@javax.annotation.Nullable List conditionGroups) { + this.conditionGroups = conditionGroups; + return this; + } + + public AlertRoutingRule addConditionGroupsItem(AlertRoutingRuleConditionGroupsInner conditionGroupsItem) { + if (this.conditionGroups == null) { + this.conditionGroups = new ArrayList<>(); + } + this.conditionGroups.add(conditionGroupsItem); + return this; + } + + /** + * The condition groups for the alert routing rule + * @return conditionGroups + */ + @javax.annotation.Nullable + public List getConditionGroups() { + return conditionGroups; + } + + public void setConditionGroups(@javax.annotation.Nullable List conditionGroups) { + this.conditionGroups = conditionGroups; + } + + public AlertRoutingRule createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -323,16 +381,29 @@ public boolean equals(Object o) { return Objects.equals(this.name, alertRoutingRule.name) && Objects.equals(this.enabled, alertRoutingRule.enabled) && Objects.equals(this.alertsSourceId, alertRoutingRule.alertsSourceId) && + Objects.equals(this.position, alertRoutingRule.position) && Objects.equals(this.conditionType, alertRoutingRule.conditionType) && Objects.equals(this.conditions, alertRoutingRule.conditions) && Objects.equals(this.destination, alertRoutingRule.destination) && + Objects.equals(this.conditionGroups, alertRoutingRule.conditionGroups) && Objects.equals(this.createdAt, alertRoutingRule.createdAt) && Objects.equals(this.updatedAt, alertRoutingRule.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(name, enabled, alertsSourceId, conditionType, conditions, destination, createdAt, updatedAt); + return Objects.hash(name, enabled, alertsSourceId, position, conditionType, conditions, destination, conditionGroups, createdAt, updatedAt); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -342,9 +413,11 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" alertsSourceId: ").append(toIndentedString(alertsSourceId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); sb.append(" destination: ").append(toIndentedString(destination)).append("\n"); + sb.append(" conditionGroups: ").append(toIndentedString(conditionGroups)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -372,9 +445,11 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("enabled"); openapiFields.add("alerts_source_id"); + openapiFields.add("position"); openapiFields.add("condition_type"); openapiFields.add("conditions"); openapiFields.add("destination"); + openapiFields.add("condition_groups"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -383,8 +458,8 @@ private String toIndentedString(Object o) { openapiRequiredFields.add("name"); openapiRequiredFields.add("enabled"); openapiRequiredFields.add("alerts_source_id"); + openapiRequiredFields.add("position"); openapiRequiredFields.add("condition_type"); - openapiRequiredFields.add("destination"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -442,8 +517,24 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } - // validate the required field `destination` - AlertRoutingRuleDestination.validateJsonElement(jsonObj.get("destination")); + // validate the optional field `destination` + if (jsonObj.get("destination") != null && !jsonObj.get("destination").isJsonNull()) { + AlertRoutingRuleDestination.validateJsonElement(jsonObj.get("destination")); + } + if (jsonObj.get("condition_groups") != null && !jsonObj.get("condition_groups").isJsonNull()) { + JsonArray jsonArrayconditionGroups = jsonObj.getAsJsonArray("condition_groups"); + if (jsonArrayconditionGroups != null) { + // 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())); + } + + // validate the optional field `condition_groups` (array) + for (int i = 0; i < jsonArrayconditionGroups.size(); i++) { + AlertRoutingRuleConditionGroupsInner.validateJsonElement(jsonArrayconditionGroups.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/AlertRoutingRuleCondition.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.java new file mode 100644 index 00000000..a0c9643f --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleCondition.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 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; + +/** + * A condition for alert routing rule + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRoutingRuleCondition { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + /** + * The type of the property field + */ + @JsonAdapter(PropertyFieldTypeEnum.Adapter.class) + public enum PropertyFieldTypeEnum { + ATTRIBUTE("attribute"), + + PAYLOAD("payload"); + + 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) + @javax.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nonnull + private String propertyFieldName; + + /** + * The condition type of the property field + */ + @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) + @javax.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private UUID conditionableId; + + public static final String SERIALIZED_NAME_CONDITIONABLE_TYPE = "conditionable_type"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_TYPE) + @javax.annotation.Nullable + private String conditionableType; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public AlertRoutingRuleCondition() { + } + + public AlertRoutingRuleCondition id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the condition + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public AlertRoutingRuleCondition propertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * The type of the property field + * @return propertyFieldType + */ + @javax.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public AlertRoutingRuleCondition propertyFieldName(@javax.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field + * @return propertyFieldName + */ + @javax.annotation.Nonnull + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public AlertRoutingRuleCondition propertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * The condition type of the property field + * @return propertyFieldConditionType + */ + @javax.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public AlertRoutingRuleCondition propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public AlertRoutingRuleCondition propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public AlertRoutingRuleCondition addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * The values of the property field + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public AlertRoutingRuleCondition conditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable object + * @return conditionableId + */ + @javax.annotation.Nullable + public UUID getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + } + + + public AlertRoutingRuleCondition conditionableType(@javax.annotation.Nullable String conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable object + * @return conditionableType + */ + @javax.annotation.Nullable + public String getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable String conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertRoutingRuleCondition createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public AlertRoutingRuleCondition updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRoutingRuleCondition alertRoutingRuleCondition = (AlertRoutingRuleCondition) o; + return Objects.equals(this.id, alertRoutingRuleCondition.id) && + Objects.equals(this.propertyFieldType, alertRoutingRuleCondition.propertyFieldType) && + Objects.equals(this.propertyFieldName, alertRoutingRuleCondition.propertyFieldName) && + Objects.equals(this.propertyFieldConditionType, alertRoutingRuleCondition.propertyFieldConditionType) && + Objects.equals(this.propertyFieldValue, alertRoutingRuleCondition.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, alertRoutingRuleCondition.propertyFieldValues) && + Objects.equals(this.conditionableId, alertRoutingRuleCondition.conditionableId) && + Objects.equals(this.conditionableType, alertRoutingRuleCondition.conditionableType) && + Objects.equals(this.createdAt, alertRoutingRuleCondition.createdAt) && + Objects.equals(this.updatedAt, alertRoutingRuleCondition.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(id, propertyFieldType, propertyFieldName, propertyFieldConditionType, propertyFieldValue, propertyFieldValues, conditionableId, conditionableType, 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 AlertRoutingRuleCondition {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" propertyFieldType: ").append(toIndentedString(propertyFieldType)).append("\n"); + sb.append(" propertyFieldName: ").append(toIndentedString(propertyFieldName)).append("\n"); + sb.append(" propertyFieldConditionType: ").append(toIndentedString(propertyFieldConditionType)).append("\n"); + sb.append(" propertyFieldValue: ").append(toIndentedString(propertyFieldValue)).append("\n"); + sb.append(" propertyFieldValues: ").append(toIndentedString(propertyFieldValues)).append("\n"); + sb.append(" conditionableId: ").append(toIndentedString(conditionableId)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).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("id"); + openapiFields.add("property_field_type"); + openapiFields.add("property_field_name"); + openapiFields.add("property_field_condition_type"); + openapiFields.add("property_field_value"); + openapiFields.add("property_field_values"); + openapiFields.add("conditionable_id"); + openapiFields.add("conditionable_type"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("property_field_type"); + openapiRequiredFields.add("property_field_name"); + openapiRequiredFields.add("property_field_condition_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 AlertRoutingRuleCondition + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoutingRuleCondition.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoutingRuleCondition is not found in the empty JSON string", AlertRoutingRuleCondition.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoutingRuleCondition.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoutingRuleCondition` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoutingRuleCondition.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("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_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_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_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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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())); + } + 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("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())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!AlertRoutingRuleCondition.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoutingRuleCondition' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoutingRuleCondition.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoutingRuleCondition value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoutingRuleCondition read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoutingRuleCondition given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoutingRuleCondition + * @throws IOException if the JSON string is invalid with respect to AlertRoutingRuleCondition + */ + public static AlertRoutingRuleCondition fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoutingRuleCondition.class); + } + + /** + * Convert an instance of AlertRoutingRuleCondition 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/AlertRoutingRuleConditionGroup.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java new file mode 100644 index 00000000..3e0d4eb1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroup.java @@ -0,0 +1,354 @@ +/* + * 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.AlertRoutingRuleCondition; +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; + +/** + * A group of conditions for alert routing rule + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRoutingRuleConditionGroup { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nonnull + private Integer position; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public AlertRoutingRuleConditionGroup() { + } + + public AlertRoutingRuleConditionGroup id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the condition group + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public AlertRoutingRuleConditionGroup position(@javax.annotation.Nonnull Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition group for ordering + * @return position + */ + @javax.annotation.Nonnull + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nonnull Integer position) { + this.position = position; + } + + + public AlertRoutingRuleConditionGroup conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public AlertRoutingRuleConditionGroup addConditionsItem(AlertRoutingRuleCondition conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * The conditions within this group + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + public AlertRoutingRuleConditionGroup createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public AlertRoutingRuleConditionGroup updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRoutingRuleConditionGroup alertRoutingRuleConditionGroup = (AlertRoutingRuleConditionGroup) o; + return Objects.equals(this.id, alertRoutingRuleConditionGroup.id) && + Objects.equals(this.position, alertRoutingRuleConditionGroup.position) && + Objects.equals(this.conditions, alertRoutingRuleConditionGroup.conditions) && + Objects.equals(this.createdAt, alertRoutingRuleConditionGroup.createdAt) && + Objects.equals(this.updatedAt, alertRoutingRuleConditionGroup.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(id, position, conditions, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRoutingRuleConditionGroup {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).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("id"); + openapiFields.add("position"); + openapiFields.add("conditions"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("position"); + } + + /** + * 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 AlertRoutingRuleConditionGroup + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoutingRuleConditionGroup.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoutingRuleConditionGroup is not found in the empty JSON string", AlertRoutingRuleConditionGroup.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoutingRuleConditionGroup.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoutingRuleConditionGroup` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoutingRuleConditionGroup.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("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + AlertRoutingRuleCondition.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!AlertRoutingRuleConditionGroup.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoutingRuleConditionGroup' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoutingRuleConditionGroup.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoutingRuleConditionGroup value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoutingRuleConditionGroup read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoutingRuleConditionGroup given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoutingRuleConditionGroup + * @throws IOException if the JSON string is invalid with respect to AlertRoutingRuleConditionGroup + */ + public static AlertRoutingRuleConditionGroup fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoutingRuleConditionGroup.class); + } + + /** + * Convert an instance of AlertRoutingRuleConditionGroup 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/AlertRoutingRuleConditionGroupsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java new file mode 100644 index 00000000..80f24186 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInner.java @@ -0,0 +1,354 @@ +/* + * 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.AlertRoutingRuleConditionGroupsInnerConditionsInner; +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; + +/** + * AlertRoutingRuleConditionGroupsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRoutingRuleConditionGroupsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nonnull + private Integer position; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public AlertRoutingRuleConditionGroupsInner() { + } + + public AlertRoutingRuleConditionGroupsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the condition group + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public AlertRoutingRuleConditionGroupsInner position(@javax.annotation.Nonnull Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition group for ordering + * @return position + */ + @javax.annotation.Nonnull + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nonnull Integer position) { + this.position = position; + } + + + public AlertRoutingRuleConditionGroupsInner conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public AlertRoutingRuleConditionGroupsInner addConditionsItem(AlertRoutingRuleConditionGroupsInnerConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * The conditions within this group + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + public AlertRoutingRuleConditionGroupsInner createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public AlertRoutingRuleConditionGroupsInner updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRoutingRuleConditionGroupsInner alertRoutingRuleConditionGroupsInner = (AlertRoutingRuleConditionGroupsInner) o; + return Objects.equals(this.id, alertRoutingRuleConditionGroupsInner.id) && + Objects.equals(this.position, alertRoutingRuleConditionGroupsInner.position) && + Objects.equals(this.conditions, alertRoutingRuleConditionGroupsInner.conditions) && + Objects.equals(this.createdAt, alertRoutingRuleConditionGroupsInner.createdAt) && + Objects.equals(this.updatedAt, alertRoutingRuleConditionGroupsInner.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(id, position, conditions, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRoutingRuleConditionGroupsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).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("id"); + openapiFields.add("position"); + openapiFields.add("conditions"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("position"); + } + + /** + * 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 AlertRoutingRuleConditionGroupsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoutingRuleConditionGroupsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoutingRuleConditionGroupsInner is not found in the empty JSON string", AlertRoutingRuleConditionGroupsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoutingRuleConditionGroupsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoutingRuleConditionGroupsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoutingRuleConditionGroupsInner.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("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + AlertRoutingRuleConditionGroupsInnerConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!AlertRoutingRuleConditionGroupsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoutingRuleConditionGroupsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoutingRuleConditionGroupsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoutingRuleConditionGroupsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoutingRuleConditionGroupsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoutingRuleConditionGroupsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoutingRuleConditionGroupsInner + * @throws IOException if the JSON string is invalid with respect to AlertRoutingRuleConditionGroupsInner + */ + public static AlertRoutingRuleConditionGroupsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoutingRuleConditionGroupsInner.class); + } + + /** + * Convert an instance of AlertRoutingRuleConditionGroupsInner 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/AlertRoutingRuleConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.java new file mode 100644 index 00000000..5cebd53d --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInner.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 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; + +/** + * AlertRoutingRuleConditionGroupsInnerConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertRoutingRuleConditionGroupsInnerConditionsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + /** + * The type of the property field + */ + @JsonAdapter(PropertyFieldTypeEnum.Adapter.class) + public enum PropertyFieldTypeEnum { + ATTRIBUTE("attribute"), + + PAYLOAD("payload"); + + 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) + @javax.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nonnull + private String propertyFieldName; + + /** + * The condition type of the property field + */ + @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) + @javax.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private UUID conditionableId; + + public static final String SERIALIZED_NAME_CONDITIONABLE_TYPE = "conditionable_type"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_TYPE) + @javax.annotation.Nullable + private String conditionableType; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public AlertRoutingRuleConditionGroupsInnerConditionsInner() { + } + + public AlertRoutingRuleConditionGroupsInnerConditionsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the condition + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner propertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * The type of the property field + * @return propertyFieldType + */ + @javax.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner propertyFieldName(@javax.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field + * @return propertyFieldName + */ + @javax.annotation.Nonnull + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nonnull String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner propertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * The condition type of the property field + * @return propertyFieldConditionType + */ + @javax.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public AlertRoutingRuleConditionGroupsInnerConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * The values of the property field + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner conditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable object + * @return conditionableId + */ + @javax.annotation.Nullable + public UUID getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner conditionableType(@javax.annotation.Nullable String conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable object + * @return conditionableType + */ + @javax.annotation.Nullable + public String getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable String conditionableType) { + this.conditionableType = conditionableType; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public AlertRoutingRuleConditionGroupsInnerConditionsInner updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertRoutingRuleConditionGroupsInnerConditionsInner alertRoutingRuleConditionGroupsInnerConditionsInner = (AlertRoutingRuleConditionGroupsInnerConditionsInner) o; + return Objects.equals(this.id, alertRoutingRuleConditionGroupsInnerConditionsInner.id) && + Objects.equals(this.propertyFieldType, alertRoutingRuleConditionGroupsInnerConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldName, alertRoutingRuleConditionGroupsInnerConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldConditionType, alertRoutingRuleConditionGroupsInnerConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldValue, alertRoutingRuleConditionGroupsInnerConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, alertRoutingRuleConditionGroupsInnerConditionsInner.propertyFieldValues) && + Objects.equals(this.conditionableId, alertRoutingRuleConditionGroupsInnerConditionsInner.conditionableId) && + Objects.equals(this.conditionableType, alertRoutingRuleConditionGroupsInnerConditionsInner.conditionableType) && + Objects.equals(this.createdAt, alertRoutingRuleConditionGroupsInnerConditionsInner.createdAt) && + Objects.equals(this.updatedAt, alertRoutingRuleConditionGroupsInnerConditionsInner.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(id, propertyFieldType, propertyFieldName, propertyFieldConditionType, propertyFieldValue, propertyFieldValues, conditionableId, conditionableType, 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 AlertRoutingRuleConditionGroupsInnerConditionsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" propertyFieldType: ").append(toIndentedString(propertyFieldType)).append("\n"); + sb.append(" propertyFieldName: ").append(toIndentedString(propertyFieldName)).append("\n"); + sb.append(" propertyFieldConditionType: ").append(toIndentedString(propertyFieldConditionType)).append("\n"); + sb.append(" propertyFieldValue: ").append(toIndentedString(propertyFieldValue)).append("\n"); + sb.append(" propertyFieldValues: ").append(toIndentedString(propertyFieldValues)).append("\n"); + sb.append(" conditionableId: ").append(toIndentedString(conditionableId)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).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("id"); + openapiFields.add("property_field_type"); + openapiFields.add("property_field_name"); + openapiFields.add("property_field_condition_type"); + openapiFields.add("property_field_value"); + openapiFields.add("property_field_values"); + openapiFields.add("conditionable_id"); + openapiFields.add("conditionable_type"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("property_field_type"); + openapiRequiredFields.add("property_field_name"); + openapiRequiredFields.add("property_field_condition_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 AlertRoutingRuleConditionGroupsInnerConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoutingRuleConditionGroupsInnerConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoutingRuleConditionGroupsInnerConditionsInner is not found in the empty JSON string", AlertRoutingRuleConditionGroupsInnerConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoutingRuleConditionGroupsInnerConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoutingRuleConditionGroupsInnerConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoutingRuleConditionGroupsInnerConditionsInner.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("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_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_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_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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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())); + } + 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("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())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!AlertRoutingRuleConditionGroupsInnerConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoutingRuleConditionGroupsInnerConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoutingRuleConditionGroupsInnerConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoutingRuleConditionGroupsInnerConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoutingRuleConditionGroupsInnerConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoutingRuleConditionGroupsInnerConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoutingRuleConditionGroupsInnerConditionsInner + * @throws IOException if the JSON string is invalid with respect to AlertRoutingRuleConditionGroupsInnerConditionsInner + */ + public static AlertRoutingRuleConditionGroupsInnerConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoutingRuleConditionGroupsInnerConditionsInner.class); + } + + /** + * Convert an instance of AlertRoutingRuleConditionGroupsInnerConditionsInner 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/AlertRoutingRuleConditionsInner.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java index 78454104..91293e5a 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleConditionsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * AlertRoutingRuleConditionsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8dc9dbac..b379b4e5 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleDestination.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,16 +49,18 @@ /** * The destinations for the alert routing rule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleDestination { /** - * The type of the target + * 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"), - SERVICE("Service"), + FUNCTIONALITY("Functionality"), ESCALATION_POLICY("EscalationPolicy"); @@ -124,7 +126,7 @@ public AlertRoutingRuleDestination targetType(@javax.annotation.Nonnull TargetTy } /** - * The type of the target + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. * @return targetType */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java index 5ea9472c..09282ab0 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertRoutingRuleResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AlertRoutingRuleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoutingRuleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AlertRoutingRuleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AlertRoutingRuleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AlertRoutingRuleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AlertRoutingRuleList alertRoutingRuleList = (AlertRoutingRuleList) o; return Objects.equals(this.data, alertRoutingRuleList.data) && - Objects.equals(this.links, alertRoutingRuleList.links); + Objects.equals(this.links, alertRoutingRuleList.links) && + Objects.equals(this.meta, alertRoutingRuleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AlertRoutingRuleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java index 51ef9ddf..fd714a08 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertRoutingRuleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7f9b3ffb..3f45ad29 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertRoutingRuleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..8f7a403e --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleTarget.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; + +/** + * The destination target for the alert routing rule + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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. + */ + @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) + @javax.annotation.Nonnull + private TargetTypeEnum targetType; + + public static final String SERIALIZED_NAME_TARGET_ID = "target_id"; + @SerializedName(SERIALIZED_NAME_TARGET_ID) + @javax.annotation.Nonnull + private UUID targetId; + + public AlertRoutingRuleTarget() { + } + + public AlertRoutingRuleTarget targetType(@javax.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 + */ + @javax.annotation.Nonnull + public TargetTypeEnum getTargetType() { + return targetType; + } + + public void setTargetType(@javax.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + } + + + public AlertRoutingRuleTarget targetId(@javax.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + return this; + } + + /** + * The ID of the target + * @return targetId + */ + @javax.annotation.Nonnull + public UUID getTargetId() { + return targetId; + } + + public void setTargetId(@javax.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; + } + AlertRoutingRuleTarget alertRoutingRuleTarget = (AlertRoutingRuleTarget) o; + return Objects.equals(this.targetType, alertRoutingRuleTarget.targetType) && + Objects.equals(this.targetId, alertRoutingRuleTarget.targetId); + } + + @Override + public int hashCode() { + return Objects.hash(targetType, targetId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertRoutingRuleTarget {\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 AlertRoutingRuleTarget + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertRoutingRuleTarget.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertRoutingRuleTarget is not found in the empty JSON string", AlertRoutingRuleTarget.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertRoutingRuleTarget.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertRoutingRuleTarget` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertRoutingRuleTarget.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 (!AlertRoutingRuleTarget.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertRoutingRuleTarget' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertRoutingRuleTarget.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertRoutingRuleTarget value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertRoutingRuleTarget read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertRoutingRuleTarget given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertRoutingRuleTarget + * @throws IOException if the JSON string is invalid with respect to AlertRoutingRuleTarget + */ + public static AlertRoutingRuleTarget fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertRoutingRuleTarget.class); + } + + /** + * Convert an instance of AlertRoutingRuleTarget 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 66b8f9a6..c8379d3f 100644 --- a/src/main/java/com/rootly/client/model/AlertTriggerParams.java +++ b/src/main/java/com/rootly/client/model/AlertTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,10 +19,13 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner; +import com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions; 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 com.google.gson.Gson; @@ -51,7 +54,7 @@ /** * AlertTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertTriggerParams { /** * Gets or Sets triggerType @@ -231,6 +234,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertConditionSourceEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -310,6 +315,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertConditionLabelEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -384,6 +391,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -461,6 +470,82 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List alertLabels = new ArrayList<>(); + /** + * Gets or Sets alertConditionUrgency + */ + @JsonAdapter(AlertConditionUrgencyEnum.Adapter.class) + public enum AlertConditionUrgencyEnum { + IS("IS"), + + IS_NOT("IS NOT"), + + ANY("ANY"), + + CONTAINS("CONTAINS"), + + CONTAINS_ALL("CONTAINS_ALL"), + + CONTAINS_NONE("CONTAINS_NONE"), + + NONE("NONE"), + + SET("SET"), + + UNSET("UNSET"); + + private String value; + + AlertConditionUrgencyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertConditionUrgencyEnum fromValue(String value) { + for (AlertConditionUrgencyEnum b : AlertConditionUrgencyEnum.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 AlertConditionUrgencyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertConditionUrgencyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertConditionUrgencyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertConditionUrgencyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_CONDITION_URGENCY = "alert_condition_urgency"; + @SerializedName(SERIALIZED_NAME_ALERT_CONDITION_URGENCY) + @javax.annotation.Nullable + private AlertConditionUrgencyEnum alertConditionUrgency = AlertConditionUrgencyEnum.ANY; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @javax.annotation.Nullable + private List alertUrgencyIds = new ArrayList<>(); + /** * Gets or Sets alertConditionPayload */ @@ -468,6 +553,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertConditionPayloadEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -545,6 +632,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertQueryPayload; + public static final String SERIALIZED_NAME_ALERT_FIELD_CONDITIONS = "alert_field_conditions"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_CONDITIONS) + @javax.annotation.Nullable + private List alertFieldConditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALERT_PAYLOAD_CONDITIONS = "alert_payload_conditions"; + @SerializedName(SERIALIZED_NAME_ALERT_PAYLOAD_CONDITIONS) + @javax.annotation.Nullable + private AlertTriggerParamsAlertPayloadConditions alertPayloadConditions; + public AlertTriggerParams() { } @@ -808,6 +905,52 @@ public void setAlertLabels(@javax.annotation.Nullable List alertLabels) } + public AlertTriggerParams alertConditionUrgency(@javax.annotation.Nullable AlertConditionUrgencyEnum alertConditionUrgency) { + this.alertConditionUrgency = alertConditionUrgency; + return this; + } + + /** + * Get alertConditionUrgency + * @return alertConditionUrgency + */ + @javax.annotation.Nullable + public AlertConditionUrgencyEnum getAlertConditionUrgency() { + return alertConditionUrgency; + } + + public void setAlertConditionUrgency(@javax.annotation.Nullable AlertConditionUrgencyEnum alertConditionUrgency) { + this.alertConditionUrgency = alertConditionUrgency; + } + + + public AlertTriggerParams alertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public AlertTriggerParams addAlertUrgencyIdsItem(UUID alertUrgencyIdsItem) { + if (this.alertUrgencyIds == null) { + this.alertUrgencyIds = new ArrayList<>(); + } + this.alertUrgencyIds.add(alertUrgencyIdsItem); + return this; + } + + /** + * Get alertUrgencyIds + * @return alertUrgencyIds + */ + @javax.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + public AlertTriggerParams alertConditionPayload(@javax.annotation.Nullable AlertConditionPayloadEnum alertConditionPayload) { this.alertConditionPayload = alertConditionPayload; return this; @@ -892,6 +1035,52 @@ public void setAlertQueryPayload(@javax.annotation.Nullable String alertQueryPay } + public AlertTriggerParams alertFieldConditions(@javax.annotation.Nullable List alertFieldConditions) { + this.alertFieldConditions = alertFieldConditions; + return this; + } + + public AlertTriggerParams addAlertFieldConditionsItem(AlertTriggerParamsAlertFieldConditionsInner alertFieldConditionsItem) { + if (this.alertFieldConditions == null) { + this.alertFieldConditions = new ArrayList<>(); + } + this.alertFieldConditions.add(alertFieldConditionsItem); + return this; + } + + /** + * Get alertFieldConditions + * @return alertFieldConditions + */ + @javax.annotation.Nullable + public List getAlertFieldConditions() { + return alertFieldConditions; + } + + public void setAlertFieldConditions(@javax.annotation.Nullable List alertFieldConditions) { + this.alertFieldConditions = alertFieldConditions; + } + + + public AlertTriggerParams alertPayloadConditions(@javax.annotation.Nullable AlertTriggerParamsAlertPayloadConditions alertPayloadConditions) { + this.alertPayloadConditions = alertPayloadConditions; + return this; + } + + /** + * Get alertPayloadConditions + * @return alertPayloadConditions + */ + @javax.annotation.Nullable + public AlertTriggerParamsAlertPayloadConditions getAlertPayloadConditions() { + return alertPayloadConditions; + } + + public void setAlertPayloadConditions(@javax.annotation.Nullable AlertTriggerParamsAlertPayloadConditions alertPayloadConditions) { + this.alertPayloadConditions = alertPayloadConditions; + } + + @Override public boolean equals(Object o) { @@ -914,10 +1103,14 @@ public boolean equals(Object o) { Objects.equals(this.alertConditionStatusUseRegexp, alertTriggerParams.alertConditionStatusUseRegexp) && Objects.equals(this.alertStatuses, alertTriggerParams.alertStatuses) && Objects.equals(this.alertLabels, alertTriggerParams.alertLabels) && + Objects.equals(this.alertConditionUrgency, alertTriggerParams.alertConditionUrgency) && + Objects.equals(this.alertUrgencyIds, alertTriggerParams.alertUrgencyIds) && Objects.equals(this.alertConditionPayload, alertTriggerParams.alertConditionPayload) && Objects.equals(this.alertConditionPayloadUseRegexp, alertTriggerParams.alertConditionPayloadUseRegexp) && Objects.equals(this.alertPayload, alertTriggerParams.alertPayload) && - Objects.equals(this.alertQueryPayload, alertTriggerParams.alertQueryPayload); + Objects.equals(this.alertQueryPayload, alertTriggerParams.alertQueryPayload) && + Objects.equals(this.alertFieldConditions, alertTriggerParams.alertFieldConditions) && + Objects.equals(this.alertPayloadConditions, alertTriggerParams.alertPayloadConditions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -926,7 +1119,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(triggerType, triggers, alertCondition, alertConditionSource, alertConditionSourceUseRegexp, alertSources, alertConditionLabel, alertConditionLabelUseRegexp, alertConditionStatus, alertConditionStatusUseRegexp, alertStatuses, alertLabels, alertConditionPayload, alertConditionPayloadUseRegexp, alertPayload, alertQueryPayload); + return Objects.hash(triggerType, triggers, alertCondition, alertConditionSource, alertConditionSourceUseRegexp, alertSources, alertConditionLabel, alertConditionLabelUseRegexp, alertConditionStatus, alertConditionStatusUseRegexp, alertStatuses, alertLabels, alertConditionUrgency, alertUrgencyIds, alertConditionPayload, alertConditionPayloadUseRegexp, alertPayload, alertQueryPayload, alertFieldConditions, alertPayloadConditions); } private static int hashCodeNullable(JsonNullable a) { @@ -952,10 +1145,14 @@ public String toString() { sb.append(" alertConditionStatusUseRegexp: ").append(toIndentedString(alertConditionStatusUseRegexp)).append("\n"); sb.append(" alertStatuses: ").append(toIndentedString(alertStatuses)).append("\n"); sb.append(" alertLabels: ").append(toIndentedString(alertLabels)).append("\n"); + sb.append(" alertConditionUrgency: ").append(toIndentedString(alertConditionUrgency)).append("\n"); + sb.append(" alertUrgencyIds: ").append(toIndentedString(alertUrgencyIds)).append("\n"); sb.append(" alertConditionPayload: ").append(toIndentedString(alertConditionPayload)).append("\n"); sb.append(" alertConditionPayloadUseRegexp: ").append(toIndentedString(alertConditionPayloadUseRegexp)).append("\n"); sb.append(" alertPayload: ").append(toIndentedString(alertPayload)).append("\n"); sb.append(" alertQueryPayload: ").append(toIndentedString(alertQueryPayload)).append("\n"); + sb.append(" alertFieldConditions: ").append(toIndentedString(alertFieldConditions)).append("\n"); + sb.append(" alertPayloadConditions: ").append(toIndentedString(alertPayloadConditions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -990,10 +1187,14 @@ private String toIndentedString(Object o) { openapiFields.add("alert_condition_status_use_regexp"); openapiFields.add("alert_statuses"); openapiFields.add("alert_labels"); + openapiFields.add("alert_condition_urgency"); + openapiFields.add("alert_urgency_ids"); openapiFields.add("alert_condition_payload"); openapiFields.add("alert_condition_payload_use_regexp"); openapiFields.add("alert_payload"); openapiFields.add("alert_query_payload"); + openapiFields.add("alert_field_conditions"); + openapiFields.add("alert_payload_conditions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -1077,6 +1278,17 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("alert_labels") != null && !jsonObj.get("alert_labels").isJsonNull() && !jsonObj.get("alert_labels").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `alert_labels` to be an array in the JSON string but got `%s`", jsonObj.get("alert_labels").toString())); } + if ((jsonObj.get("alert_condition_urgency") != null && !jsonObj.get("alert_condition_urgency").isJsonNull()) && !jsonObj.get("alert_condition_urgency").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_condition_urgency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_condition_urgency").toString())); + } + // validate the optional field `alert_condition_urgency` + if (jsonObj.get("alert_condition_urgency") != null && !jsonObj.get("alert_condition_urgency").isJsonNull()) { + AlertConditionUrgencyEnum.validateJsonElement(jsonObj.get("alert_condition_urgency")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_urgency_ids") != null && !jsonObj.get("alert_urgency_ids").isJsonNull() && !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("alert_condition_payload") != null && !jsonObj.get("alert_condition_payload").isJsonNull()) && !jsonObj.get("alert_condition_payload").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `alert_condition_payload` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_condition_payload").toString())); } @@ -1091,6 +1303,24 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("alert_query_payload") != null && !jsonObj.get("alert_query_payload").isJsonNull()) && !jsonObj.get("alert_query_payload").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `alert_query_payload` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_query_payload").toString())); } + if (jsonObj.get("alert_field_conditions") != null && !jsonObj.get("alert_field_conditions").isJsonNull()) { + JsonArray jsonArrayalertFieldConditions = jsonObj.getAsJsonArray("alert_field_conditions"); + if (jsonArrayalertFieldConditions != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_field_conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_conditions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_field_conditions").toString())); + } + + // validate the optional field `alert_field_conditions` (array) + for (int i = 0; i < jsonArrayalertFieldConditions.size(); i++) { + AlertTriggerParamsAlertFieldConditionsInner.validateJsonElement(jsonArrayalertFieldConditions.get(i)); + }; + } + } + // validate the optional field `alert_payload_conditions` + if (jsonObj.get("alert_payload_conditions") != null && !jsonObj.get("alert_payload_conditions").isJsonNull()) { + AlertTriggerParamsAlertPayloadConditions.validateJsonElement(jsonObj.get("alert_payload_conditions")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java new file mode 100644 index 00000000..506dacc1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInner.java @@ -0,0 +1,354 @@ +/* + * 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; + +/** + * AlertTriggerParamsAlertFieldConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String alertFieldId; + + /** + * Gets or Sets conditionType + */ + @JsonAdapter(ConditionTypeEnum.Adapter.class) + public enum ConditionTypeEnum { + IS("IS"), + + IS_NOT("IS NOT"), + + ANY("ANY"), + + CONTAINS("CONTAINS"), + + CONTAINS_ALL("CONTAINS_ALL"), + + CONTAINS_NONE("CONTAINS_NONE"), + + NONE("NONE"), + + SET("SET"), + + UNSET("UNSET"); + + 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) + @javax.annotation.Nonnull + private ConditionTypeEnum conditionType; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values = new ArrayList<>(); + + public AlertTriggerParamsAlertFieldConditionsInner() { + } + + public AlertTriggerParamsAlertFieldConditionsInner alertFieldId(@javax.annotation.Nonnull String alertFieldId) { + this.alertFieldId = alertFieldId; + return this; + } + + /** + * Get alertFieldId + * @return alertFieldId + */ + @javax.annotation.Nonnull + public String getAlertFieldId() { + return alertFieldId; + } + + public void setAlertFieldId(@javax.annotation.Nonnull String alertFieldId) { + this.alertFieldId = alertFieldId; + } + + + public AlertTriggerParamsAlertFieldConditionsInner conditionType(@javax.annotation.Nonnull ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + return this; + } + + /** + * Get conditionType + * @return conditionType + */ + @javax.annotation.Nonnull + public ConditionTypeEnum getConditionType() { + return conditionType; + } + + public void setConditionType(@javax.annotation.Nonnull ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + } + + + public AlertTriggerParamsAlertFieldConditionsInner values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public AlertTriggerParamsAlertFieldConditionsInner addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Get values + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.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; + } + AlertTriggerParamsAlertFieldConditionsInner alertTriggerParamsAlertFieldConditionsInner = (AlertTriggerParamsAlertFieldConditionsInner) o; + return Objects.equals(this.alertFieldId, alertTriggerParamsAlertFieldConditionsInner.alertFieldId) && + Objects.equals(this.conditionType, alertTriggerParamsAlertFieldConditionsInner.conditionType) && + Objects.equals(this.values, alertTriggerParamsAlertFieldConditionsInner.values); + } + + @Override + public int hashCode() { + return Objects.hash(alertFieldId, conditionType, values); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertTriggerParamsAlertFieldConditionsInner {\n"); + sb.append(" alertFieldId: ").append(toIndentedString(alertFieldId)).append("\n"); + sb.append(" conditionType: ").append(toIndentedString(conditionType)).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("alert_field_id"); + openapiFields.add("condition_type"); + openapiFields.add("values"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("alert_field_id"); + openapiRequiredFields.add("condition_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 AlertTriggerParamsAlertFieldConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertTriggerParamsAlertFieldConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertTriggerParamsAlertFieldConditionsInner is not found in the empty JSON string", AlertTriggerParamsAlertFieldConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertTriggerParamsAlertFieldConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertTriggerParamsAlertFieldConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertTriggerParamsAlertFieldConditionsInner.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("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("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 required field `condition_type` + ConditionTypeEnum.validateJsonElement(jsonObj.get("condition_type")); + // 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 (!AlertTriggerParamsAlertFieldConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertTriggerParamsAlertFieldConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertTriggerParamsAlertFieldConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertTriggerParamsAlertFieldConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertTriggerParamsAlertFieldConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertTriggerParamsAlertFieldConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertTriggerParamsAlertFieldConditionsInner + * @throws IOException if the JSON string is invalid with respect to AlertTriggerParamsAlertFieldConditionsInner + */ + public static AlertTriggerParamsAlertFieldConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertTriggerParamsAlertFieldConditionsInner.class); + } + + /** + * Convert an instance of AlertTriggerParamsAlertFieldConditionsInner 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/AlertTriggerParamsAlertPayloadConditions.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java new file mode 100644 index 00000000..5dc4a429 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditions.java @@ -0,0 +1,316 @@ +/* + * 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.AlertTriggerParamsAlertPayloadConditionsConditionsInner; +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; + +/** + * AlertTriggerParamsAlertPayloadConditions + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertTriggerParamsAlertPayloadConditions { + /** + * Gets or Sets logic + */ + @JsonAdapter(LogicEnum.Adapter.class) + public enum LogicEnum { + ALL("ALL"), + + ANY("ANY"), + + NONE("NONE"); + + private String value; + + LogicEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LogicEnum fromValue(String value) { + for (LogicEnum b : LogicEnum.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 LogicEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LogicEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LogicEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + LogicEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_LOGIC = "logic"; + @SerializedName(SERIALIZED_NAME_LOGIC) + @javax.annotation.Nullable + private LogicEnum logic; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public AlertTriggerParamsAlertPayloadConditions() { + } + + public AlertTriggerParamsAlertPayloadConditions logic(@javax.annotation.Nullable LogicEnum logic) { + this.logic = logic; + return this; + } + + /** + * Get logic + * @return logic + */ + @javax.annotation.Nullable + public LogicEnum getLogic() { + return logic; + } + + public void setLogic(@javax.annotation.Nullable LogicEnum logic) { + this.logic = logic; + } + + + public AlertTriggerParamsAlertPayloadConditions conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public AlertTriggerParamsAlertPayloadConditions addConditionsItem(AlertTriggerParamsAlertPayloadConditionsConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertTriggerParamsAlertPayloadConditions alertTriggerParamsAlertPayloadConditions = (AlertTriggerParamsAlertPayloadConditions) o; + return Objects.equals(this.logic, alertTriggerParamsAlertPayloadConditions.logic) && + Objects.equals(this.conditions, alertTriggerParamsAlertPayloadConditions.conditions); + } + + @Override + public int hashCode() { + return Objects.hash(logic, conditions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertTriggerParamsAlertPayloadConditions {\n"); + sb.append(" logic: ").append(toIndentedString(logic)).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("logic"); + openapiFields.add("conditions"); + + // 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 AlertTriggerParamsAlertPayloadConditions + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertTriggerParamsAlertPayloadConditions.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertTriggerParamsAlertPayloadConditions is not found in the empty JSON string", AlertTriggerParamsAlertPayloadConditions.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertTriggerParamsAlertPayloadConditions.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertTriggerParamsAlertPayloadConditions` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("logic") != null && !jsonObj.get("logic").isJsonNull()) && !jsonObj.get("logic").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `logic` to be a primitive type in the JSON string but got `%s`", jsonObj.get("logic").toString())); + } + // validate the optional field `logic` + if (jsonObj.get("logic") != null && !jsonObj.get("logic").isJsonNull()) { + LogicEnum.validateJsonElement(jsonObj.get("logic")); + } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + AlertTriggerParamsAlertPayloadConditionsConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!AlertTriggerParamsAlertPayloadConditions.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertTriggerParamsAlertPayloadConditions' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertTriggerParamsAlertPayloadConditions.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertTriggerParamsAlertPayloadConditions value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertTriggerParamsAlertPayloadConditions read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertTriggerParamsAlertPayloadConditions given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertTriggerParamsAlertPayloadConditions + * @throws IOException if the JSON string is invalid with respect to AlertTriggerParamsAlertPayloadConditions + */ + public static AlertTriggerParamsAlertPayloadConditions fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertTriggerParamsAlertPayloadConditions.class); + } + + /** + * Convert an instance of AlertTriggerParamsAlertPayloadConditions 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/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java new file mode 100644 index 00000000..66ace197 --- /dev/null +++ b/src/main/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInner.java @@ -0,0 +1,381 @@ +/* + * 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; + +/** + * AlertTriggerParamsAlertPayloadConditionsConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class AlertTriggerParamsAlertPayloadConditionsConditionsInner { + public static final String SERIALIZED_NAME_QUERY = "query"; + @SerializedName(SERIALIZED_NAME_QUERY) + @javax.annotation.Nonnull + private String query; + + /** + * Gets or Sets operator + */ + @JsonAdapter(OperatorEnum.Adapter.class) + public enum OperatorEnum { + IS("IS"), + + IS_NOT("IS NOT"), + + ANY("ANY"), + + CONTAINS("CONTAINS"), + + CONTAINS_ALL("CONTAINS_ALL"), + + CONTAINS_NONE("CONTAINS_NONE"), + + NONE("NONE"), + + SET("SET"), + + UNSET("UNSET"); + + 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) + @javax.annotation.Nonnull + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USE_REGEXP = "use_regexp"; + @SerializedName(SERIALIZED_NAME_USE_REGEXP) + @javax.annotation.Nullable + private Boolean useRegexp; + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner() { + } + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner query(@javax.annotation.Nonnull String query) { + this.query = query; + return this; + } + + /** + * Get query + * @return query + */ + @javax.annotation.Nonnull + public String getQuery() { + return query; + } + + public void setQuery(@javax.annotation.Nonnull String query) { + this.query = query; + } + + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner operator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * Get operator + * @return operator + */ + @javax.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Get values + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.annotation.Nullable List values) { + this.values = values; + } + + + public AlertTriggerParamsAlertPayloadConditionsConditionsInner useRegexp(@javax.annotation.Nullable Boolean useRegexp) { + this.useRegexp = useRegexp; + return this; + } + + /** + * Get useRegexp + * @return useRegexp + */ + @javax.annotation.Nullable + public Boolean getUseRegexp() { + return useRegexp; + } + + public void setUseRegexp(@javax.annotation.Nullable Boolean useRegexp) { + this.useRegexp = useRegexp; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AlertTriggerParamsAlertPayloadConditionsConditionsInner alertTriggerParamsAlertPayloadConditionsConditionsInner = (AlertTriggerParamsAlertPayloadConditionsConditionsInner) o; + return Objects.equals(this.query, alertTriggerParamsAlertPayloadConditionsConditionsInner.query) && + Objects.equals(this.operator, alertTriggerParamsAlertPayloadConditionsConditionsInner.operator) && + Objects.equals(this.values, alertTriggerParamsAlertPayloadConditionsConditionsInner.values) && + Objects.equals(this.useRegexp, alertTriggerParamsAlertPayloadConditionsConditionsInner.useRegexp); + } + + @Override + public int hashCode() { + return Objects.hash(query, operator, values, useRegexp); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AlertTriggerParamsAlertPayloadConditionsConditionsInner {\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append(" useRegexp: ").append(toIndentedString(useRegexp)).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("query"); + openapiFields.add("operator"); + openapiFields.add("values"); + openapiFields.add("use_regexp"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("query"); + 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 AlertTriggerParamsAlertPayloadConditionsConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!AlertTriggerParamsAlertPayloadConditionsConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in AlertTriggerParamsAlertPayloadConditionsConditionsInner is not found in the empty JSON string", AlertTriggerParamsAlertPayloadConditionsConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!AlertTriggerParamsAlertPayloadConditionsConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `AlertTriggerParamsAlertPayloadConditionsConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : AlertTriggerParamsAlertPayloadConditionsConditionsInner.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("query").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `query` to be a primitive type in the JSON string but got `%s`", jsonObj.get("query").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")); + // 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 (!AlertTriggerParamsAlertPayloadConditionsConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'AlertTriggerParamsAlertPayloadConditionsConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(AlertTriggerParamsAlertPayloadConditionsConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, AlertTriggerParamsAlertPayloadConditionsConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public AlertTriggerParamsAlertPayloadConditionsConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of AlertTriggerParamsAlertPayloadConditionsConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of AlertTriggerParamsAlertPayloadConditionsConditionsInner + * @throws IOException if the JSON string is invalid with respect to AlertTriggerParamsAlertPayloadConditionsConditionsInner + */ + public static AlertTriggerParamsAlertPayloadConditionsConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, AlertTriggerParamsAlertPayloadConditionsConditionsInner.class); + } + + /** + * Convert an instance of AlertTriggerParamsAlertPayloadConditionsConditionsInner 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/AlertUrgency.java b/src/main/java/com/rootly/client/model/AlertUrgency.java index 5dfef2a8..c111602b 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgency.java +++ b/src/main/java/com/rootly/client/model/AlertUrgency.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * AlertUrgency */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgency { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyList.java b/src/main/java/com/rootly/client/model/AlertUrgencyList.java index d8bab96b..96c098e9 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyList.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertUrgencyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AlertUrgencyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgencyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AlertUrgencyList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AlertUrgencyList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AlertUrgencyList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AlertUrgencyList alertUrgencyList = (AlertUrgencyList) o; return Objects.equals(this.data, alertUrgencyList.data) && - Objects.equals(this.links, alertUrgencyList.links); + Objects.equals(this.links, alertUrgencyList.links) && + Objects.equals(this.meta, alertUrgencyList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AlertUrgencyList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java b/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java index e32f0daf..d64e9c21 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertUrgencyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 02a0fcd7..cfeaaa7f 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertUrgencyResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e69970a9..f757640d 100644 --- a/src/main/java/com/rootly/client/model/AlertsSource.java +++ b/src/main/java/com/rootly/client/model/AlertsSource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +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 java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -51,47 +56,290 @@ /** * AlertsSource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSource { - public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; - @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) - @javax.annotation.Nullable - private String alertUrgencyId; - public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; + /** + * The alert source type + */ + @JsonAdapter(SourceTypeEnum.Adapter.class) + public enum SourceTypeEnum { + EMAIL("email"), + + APP_DYNAMICS("app_dynamics"), + + CATCHPOINT("catchpoint"), + + DATADOG("datadog"), + + DYNATRACE("dynatrace"), + + ALERTMANAGER("alertmanager"), + + GOOGLE_CLOUD("google_cloud"), + + GRAFANA("grafana"), + + SENTRY("sentry"), + + GENERIC_WEBHOOK("generic_webhook"), + + CLOUD_WATCH("cloud_watch"), + + AWS_SNS("aws_sns"), + + CHECKLY("checkly"), + + AZURE("azure"), + + NEW_RELIC("new_relic"), + + SPLUNK("splunk"), + + CHRONOSPHERE("chronosphere"), + + APP_OPTICS("app_optics"), + + BUG_SNAG("bug_snag"), + + HONEYCOMB("honeycomb"), + + MONTE_CARLO("monte_carlo"), + + NAGIOS("nagios"), + + PRTG("prtg"); + + private String value; + + SourceTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SourceTypeEnum fromValue(String value) { + for (SourceTypeEnum b : SourceTypeEnum.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 SourceTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SourceTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SourceTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SourceTypeEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_SOURCE_TYPE = "source_type"; @SerializedName(SERIALIZED_NAME_SOURCE_TYPE) @javax.annotation.Nullable - private String sourceType; + private SourceTypeEnum sourceType; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) + @javax.annotation.Nullable + private String alertUrgencyId; + + public static final String SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY = "deduplicate_alerts_by_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY) + @javax.annotation.Nullable + private Boolean deduplicateAlertsByKey; + + /** + * Kind of deduplication key. + */ + @JsonAdapter(DeduplicationKeyKindEnum.Adapter.class) + public enum DeduplicationKeyKindEnum { + PAYLOAD("payload"); + + private String value; + + DeduplicationKeyKindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DeduplicationKeyKindEnum fromValue(String value) { + for (DeduplicationKeyKindEnum b : DeduplicationKeyKindEnum.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 DeduplicationKeyKindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DeduplicationKeyKindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_KIND = "deduplication_key_kind"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_KIND) + @javax.annotation.Nullable + private DeduplicationKeyKindEnum deduplicationKeyKind; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_PATH = "deduplication_key_path"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_PATH) + @javax.annotation.Nullable + private String deduplicationKeyPath; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP = "deduplication_key_regexp"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP) + @javax.annotation.Nullable + private String deduplicationKeyRegexp; + + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + @javax.annotation.Nullable + private List ownerGroupIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALERT_TEMPLATE_ATTRIBUTES = "alert_template_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_TEMPLATE_ATTRIBUTES) + @javax.annotation.Nullable + private NewAlertsSourceDataAttributesAlertTemplateAttributes 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) + @javax.annotation.Nullable + private List alertSourceUrgencyRulesAttributes = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES = "sourceable_attributes"; + @SerializedName(SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES) + @javax.annotation.Nullable + private NewAlertsSourceDataAttributesSourceableAttributes sourceableAttributes; + + public static final String SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES = "resolution_rule_attributes"; + @SerializedName(SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES) + @javax.annotation.Nullable + private NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes; + + public static final String SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES = "alert_source_fields_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES) + @javax.annotation.Nullable + private List alertSourceFieldsAttributes = new ArrayList<>(); + + /** + * The status of the alert source + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + CONNECTED("connected"), + + SETUP_COMPLETE("setup_complete"), + + SETUP_INCOMPLETE("setup_incomplete"); + + 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) @javax.annotation.Nonnull - private String status; + private StatusEnum status; public static final String SERIALIZED_NAME_SECRET = "secret"; @SerializedName(SERIALIZED_NAME_SECRET) @javax.annotation.Nonnull private String secret; - public static final String SERIALIZED_NAME_WEBHOOK_ENDPOINT = "webhook_endpoint"; - @SerializedName(SERIALIZED_NAME_WEBHOOK_ENDPOINT) - @javax.annotation.Nullable - private String webhookEndpoint; - public static final String SERIALIZED_NAME_EMAIL = "email"; @SerializedName(SERIALIZED_NAME_EMAIL) @javax.annotation.Nullable private String email; - public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) + public static final String SERIALIZED_NAME_WEBHOOK_ENDPOINT = "webhook_endpoint"; + @SerializedName(SERIALIZED_NAME_WEBHOOK_ENDPOINT) @javax.annotation.Nullable - private List ownerGroupIds = new ArrayList<>(); + private String webhookEndpoint; public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @@ -103,38 +351,9 @@ public class AlertsSource { @javax.annotation.Nonnull private String updatedAt; - public static final String SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES = "sourceable_attributes"; - @SerializedName(SERIALIZED_NAME_SOURCEABLE_ATTRIBUTES) - @javax.annotation.Nullable - private Object sourceableAttributes; - - public static final String SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES = "resolution_rule_attributes"; - @SerializedName(SERIALIZED_NAME_RESOLUTION_RULE_ATTRIBUTES) - @javax.annotation.Nullable - private Object resolutionRuleAttributes; - public AlertsSource() { } - public AlertsSource alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { - this.alertUrgencyId = alertUrgencyId; - return this; - } - - /** - * ID for the default alert urgency assigned to this alert source - * @return alertUrgencyId - */ - @javax.annotation.Nullable - public String getAlertUrgencyId() { - return alertUrgencyId; - } - - public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { - this.alertUrgencyId = alertUrgencyId; - } - - public AlertsSource name(@javax.annotation.Nonnull String name) { this.name = name; return this; @@ -154,7 +373,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public AlertsSource sourceType(@javax.annotation.Nullable String sourceType) { + public AlertsSource sourceType(@javax.annotation.Nullable SourceTypeEnum sourceType) { this.sourceType = sourceType; return this; } @@ -164,88 +383,107 @@ public AlertsSource sourceType(@javax.annotation.Nullable String sourceType) { * @return sourceType */ @javax.annotation.Nullable - public String getSourceType() { + public SourceTypeEnum getSourceType() { return sourceType; } - public void setSourceType(@javax.annotation.Nullable String sourceType) { + public void setSourceType(@javax.annotation.Nullable SourceTypeEnum sourceType) { this.sourceType = sourceType; } - public AlertsSource status(@javax.annotation.Nonnull String status) { - this.status = status; + public AlertsSource alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; return this; } /** - * The current status of the alert source - * @return status + * ID for the default alert urgency assigned to this alert source + * @return alertUrgencyId */ - @javax.annotation.Nonnull - public String getStatus() { - return status; + @javax.annotation.Nullable + public String getAlertUrgencyId() { + return alertUrgencyId; } - public void setStatus(@javax.annotation.Nonnull String status) { - this.status = status; + public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; } - public AlertsSource secret(@javax.annotation.Nonnull String secret) { - this.secret = secret; + public AlertsSource deduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; return this; } /** - * A secret key used to authenticate incoming requests to this alerts source - * @return secret + * Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. + * @return deduplicateAlertsByKey */ - @javax.annotation.Nonnull - public String getSecret() { - return secret; + @javax.annotation.Nullable + public Boolean getDeduplicateAlertsByKey() { + return deduplicateAlertsByKey; } - public void setSecret(@javax.annotation.Nonnull String secret) { - this.secret = secret; + public void setDeduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; } - public AlertsSource webhookEndpoint(@javax.annotation.Nullable String webhookEndpoint) { - this.webhookEndpoint = webhookEndpoint; + public AlertsSource deduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; return this; } /** - * The URL endpoint of the alert source - * @return webhookEndpoint + * Kind of deduplication key. + * @return deduplicationKeyKind */ @javax.annotation.Nullable - public String getWebhookEndpoint() { - return webhookEndpoint; + public DeduplicationKeyKindEnum getDeduplicationKeyKind() { + return deduplicationKeyKind; } - public void setWebhookEndpoint(@javax.annotation.Nullable String webhookEndpoint) { - this.webhookEndpoint = webhookEndpoint; + public void setDeduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; } - public AlertsSource email(@javax.annotation.Nullable String email) { - this.email = email; + public AlertsSource deduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; return this; } /** - * The email address of the alert source - * @return email + * Path to deduplication key. This is a JSON Path to extract the deduplication key from the request body. + * @return deduplicationKeyPath */ @javax.annotation.Nullable - public String getEmail() { - return email; + public String getDeduplicationKeyPath() { + return deduplicationKeyPath; } - public void setEmail(@javax.annotation.Nullable String email) { - this.email = email; + public void setDeduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; + } + + + public AlertsSource deduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; + return this; + } + + /** + * Regular expression to extract key from value found at key path. + * @return deduplicationKeyRegexp + */ + @javax.annotation.Nullable + public String getDeduplicationKeyRegexp() { + return deduplicationKeyRegexp; + } + + public void setDeduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; } @@ -276,82 +514,231 @@ public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupI } - public AlertsSource createdAt(@javax.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public AlertsSource alertTemplateAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesAlertTemplateAttributes alertTemplateAttributes) { + this.alertTemplateAttributes = alertTemplateAttributes; return this; } /** - * Date of creation - * @return createdAt + * Get alertTemplateAttributes + * @return alertTemplateAttributes */ - @javax.annotation.Nonnull - public String getCreatedAt() { - return createdAt; + @javax.annotation.Nullable + public NewAlertsSourceDataAttributesAlertTemplateAttributes getAlertTemplateAttributes() { + return alertTemplateAttributes; } - public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; + public void setAlertTemplateAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesAlertTemplateAttributes alertTemplateAttributes) { + this.alertTemplateAttributes = alertTemplateAttributes; } - public AlertsSource updatedAt(@javax.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public AlertsSource alertSourceUrgencyRulesAttributes(@javax.annotation.Nullable List alertSourceUrgencyRulesAttributes) { + this.alertSourceUrgencyRulesAttributes = alertSourceUrgencyRulesAttributes; + return this; + } + + public AlertsSource addAlertSourceUrgencyRulesAttributesItem(NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner alertSourceUrgencyRulesAttributesItem) { + if (this.alertSourceUrgencyRulesAttributes == null) { + this.alertSourceUrgencyRulesAttributes = new ArrayList<>(); + } + this.alertSourceUrgencyRulesAttributes.add(alertSourceUrgencyRulesAttributesItem); return this; } /** - * Date of last update - * @return updatedAt + * List of rules that define the conditions under which the alert urgency will be set automatically based on the alert payload + * @return alertSourceUrgencyRulesAttributes */ - @javax.annotation.Nonnull - public String getUpdatedAt() { - return updatedAt; + @javax.annotation.Nullable + public List getAlertSourceUrgencyRulesAttributes() { + return alertSourceUrgencyRulesAttributes; } - public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public void setAlertSourceUrgencyRulesAttributes(@javax.annotation.Nullable List alertSourceUrgencyRulesAttributes) { + this.alertSourceUrgencyRulesAttributes = alertSourceUrgencyRulesAttributes; } - public AlertsSource sourceableAttributes(@javax.annotation.Nullable Object sourceableAttributes) { + public AlertsSource sourceableAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesSourceableAttributes sourceableAttributes) { this.sourceableAttributes = sourceableAttributes; return this; } /** - * Additional attributes specific to certain alert sources (e.g., generic_webhook), encapsulating source-specific configurations or details + * Get sourceableAttributes * @return sourceableAttributes */ @javax.annotation.Nullable - public Object getSourceableAttributes() { + public NewAlertsSourceDataAttributesSourceableAttributes getSourceableAttributes() { return sourceableAttributes; } - public void setSourceableAttributes(@javax.annotation.Nullable Object sourceableAttributes) { + public void setSourceableAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesSourceableAttributes sourceableAttributes) { this.sourceableAttributes = sourceableAttributes; } - public AlertsSource resolutionRuleAttributes(@javax.annotation.Nullable Object resolutionRuleAttributes) { + public AlertsSource resolutionRuleAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes) { this.resolutionRuleAttributes = resolutionRuleAttributes; return this; } /** - * Additional attributes for email alerts source + * Get resolutionRuleAttributes * @return resolutionRuleAttributes */ @javax.annotation.Nullable - public Object getResolutionRuleAttributes() { + public NewAlertsSourceDataAttributesResolutionRuleAttributes getResolutionRuleAttributes() { return resolutionRuleAttributes; } - public void setResolutionRuleAttributes(@javax.annotation.Nullable Object resolutionRuleAttributes) { + public void setResolutionRuleAttributes(@javax.annotation.Nullable NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes) { this.resolutionRuleAttributes = resolutionRuleAttributes; } + public AlertsSource alertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + return this; + } + + public AlertsSource addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { + if (this.alertSourceFieldsAttributes == null) { + this.alertSourceFieldsAttributes = new ArrayList<>(); + } + this.alertSourceFieldsAttributes.add(alertSourceFieldsAttributesItem); + return this; + } + + /** + * 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. + * @return alertSourceFieldsAttributes + */ + @javax.annotation.Nullable + public List getAlertSourceFieldsAttributes() { + return alertSourceFieldsAttributes; + } + + public void setAlertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + } + + + public AlertsSource status(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * The status of the alert source + * @return status + */ + @javax.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public AlertsSource secret(@javax.annotation.Nonnull String secret) { + this.secret = secret; + return this; + } + + /** + * The secret used to authenticate non-email alert sources + * @return secret + */ + @javax.annotation.Nonnull + public String getSecret() { + return secret; + } + + public void setSecret(@javax.annotation.Nonnull String secret) { + this.secret = secret; + } + + + public AlertsSource email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * The email generated for email alert sources + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public AlertsSource webhookEndpoint(@javax.annotation.Nullable String webhookEndpoint) { + this.webhookEndpoint = webhookEndpoint; + return this; + } + + /** + * The webhook URL generated for non-email alert sources + * @return webhookEndpoint + */ + @javax.annotation.Nullable + public String getWebhookEndpoint() { + return webhookEndpoint; + } + + public void setWebhookEndpoint(@javax.annotation.Nullable String webhookEndpoint) { + this.webhookEndpoint = webhookEndpoint; + } + + + public AlertsSource createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public AlertsSource updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + @Override public boolean equals(Object o) { @@ -362,18 +749,25 @@ public boolean equals(Object o) { return false; } AlertsSource alertsSource = (AlertsSource) o; - return Objects.equals(this.alertUrgencyId, alertsSource.alertUrgencyId) && - Objects.equals(this.name, alertsSource.name) && + return Objects.equals(this.name, alertsSource.name) && Objects.equals(this.sourceType, alertsSource.sourceType) && + Objects.equals(this.alertUrgencyId, alertsSource.alertUrgencyId) && + Objects.equals(this.deduplicateAlertsByKey, alertsSource.deduplicateAlertsByKey) && + Objects.equals(this.deduplicationKeyKind, alertsSource.deduplicationKeyKind) && + Objects.equals(this.deduplicationKeyPath, alertsSource.deduplicationKeyPath) && + Objects.equals(this.deduplicationKeyRegexp, alertsSource.deduplicationKeyRegexp) && + Objects.equals(this.ownerGroupIds, alertsSource.ownerGroupIds) && + Objects.equals(this.alertTemplateAttributes, alertsSource.alertTemplateAttributes) && + Objects.equals(this.alertSourceUrgencyRulesAttributes, alertsSource.alertSourceUrgencyRulesAttributes) && + Objects.equals(this.sourceableAttributes, alertsSource.sourceableAttributes) && + Objects.equals(this.resolutionRuleAttributes, alertsSource.resolutionRuleAttributes) && + Objects.equals(this.alertSourceFieldsAttributes, alertsSource.alertSourceFieldsAttributes) && Objects.equals(this.status, alertsSource.status) && Objects.equals(this.secret, alertsSource.secret) && - Objects.equals(this.webhookEndpoint, alertsSource.webhookEndpoint) && Objects.equals(this.email, alertsSource.email) && - Objects.equals(this.ownerGroupIds, alertsSource.ownerGroupIds) && + Objects.equals(this.webhookEndpoint, alertsSource.webhookEndpoint) && Objects.equals(this.createdAt, alertsSource.createdAt) && - Objects.equals(this.updatedAt, alertsSource.updatedAt) && - Objects.equals(this.sourceableAttributes, alertsSource.sourceableAttributes) && - Objects.equals(this.resolutionRuleAttributes, alertsSource.resolutionRuleAttributes); + Objects.equals(this.updatedAt, alertsSource.updatedAt); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -382,7 +776,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(alertUrgencyId, name, sourceType, status, secret, webhookEndpoint, email, ownerGroupIds, createdAt, updatedAt, sourceableAttributes, resolutionRuleAttributes); + return Objects.hash(name, sourceType, alertUrgencyId, deduplicateAlertsByKey, deduplicationKeyKind, deduplicationKeyPath, deduplicationKeyRegexp, ownerGroupIds, alertTemplateAttributes, alertSourceUrgencyRulesAttributes, sourceableAttributes, resolutionRuleAttributes, alertSourceFieldsAttributes, status, secret, email, webhookEndpoint, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -396,18 +790,25 @@ private static int hashCodeNullable(JsonNullable a) { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AlertsSource {\n"); - sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" sourceType: ").append(toIndentedString(sourceType)).append("\n"); + sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" deduplicateAlertsByKey: ").append(toIndentedString(deduplicateAlertsByKey)).append("\n"); + sb.append(" deduplicationKeyKind: ").append(toIndentedString(deduplicationKeyKind)).append("\n"); + sb.append(" deduplicationKeyPath: ").append(toIndentedString(deduplicationKeyPath)).append("\n"); + sb.append(" deduplicationKeyRegexp: ").append(toIndentedString(deduplicationKeyRegexp)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" alertTemplateAttributes: ").append(toIndentedString(alertTemplateAttributes)).append("\n"); + sb.append(" alertSourceUrgencyRulesAttributes: ").append(toIndentedString(alertSourceUrgencyRulesAttributes)).append("\n"); + sb.append(" sourceableAttributes: ").append(toIndentedString(sourceableAttributes)).append("\n"); + sb.append(" resolutionRuleAttributes: ").append(toIndentedString(resolutionRuleAttributes)).append("\n"); + sb.append(" alertSourceFieldsAttributes: ").append(toIndentedString(alertSourceFieldsAttributes)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); - sb.append(" webhookEndpoint: ").append(toIndentedString(webhookEndpoint)).append("\n"); sb.append(" email: ").append(toIndentedString(email)).append("\n"); - sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" webhookEndpoint: ").append(toIndentedString(webhookEndpoint)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); - sb.append(" sourceableAttributes: ").append(toIndentedString(sourceableAttributes)).append("\n"); - sb.append(" resolutionRuleAttributes: ").append(toIndentedString(resolutionRuleAttributes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -430,18 +831,25 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("alert_urgency_id"); openapiFields.add("name"); openapiFields.add("source_type"); + openapiFields.add("alert_urgency_id"); + openapiFields.add("deduplicate_alerts_by_key"); + openapiFields.add("deduplication_key_kind"); + openapiFields.add("deduplication_key_path"); + openapiFields.add("deduplication_key_regexp"); + openapiFields.add("owner_group_ids"); + openapiFields.add("alert_template_attributes"); + openapiFields.add("alert_source_urgency_rules_attributes"); + openapiFields.add("sourceable_attributes"); + openapiFields.add("resolution_rule_attributes"); + openapiFields.add("alert_source_fields_attributes"); openapiFields.add("status"); openapiFields.add("secret"); - openapiFields.add("webhook_endpoint"); openapiFields.add("email"); - openapiFields.add("owner_group_ids"); + openapiFields.add("webhook_endpoint"); openapiFields.add("created_at"); openapiFields.add("updated_at"); - openapiFields.add("sourceable_attributes"); - openapiFields.add("resolution_rule_attributes"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -480,30 +888,89 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - 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("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("source_type") != null && !jsonObj.get("source_type").isJsonNull()) && !jsonObj.get("source_type").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `source_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("source_type").toString())); } + // validate the optional field `source_type` + if (jsonObj.get("source_type") != null && !jsonObj.get("source_type").isJsonNull()) { + SourceTypeEnum.validateJsonElement(jsonObj.get("source_type")); + } + 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("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) && !jsonObj.get("deduplication_key_kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_kind").toString())); + } + // validate the optional field `deduplication_key_kind` + if (jsonObj.get("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) { + DeduplicationKeyKindEnum.validateJsonElement(jsonObj.get("deduplication_key_kind")); + } + if ((jsonObj.get("deduplication_key_path") != null && !jsonObj.get("deduplication_key_path").isJsonNull()) && !jsonObj.get("deduplication_key_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_path").toString())); + } + if ((jsonObj.get("deduplication_key_regexp") != null && !jsonObj.get("deduplication_key_regexp").isJsonNull()) && !jsonObj.get("deduplication_key_regexp").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_regexp` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_regexp").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 `alert_template_attributes` + if (jsonObj.get("alert_template_attributes") != null && !jsonObj.get("alert_template_attributes").isJsonNull()) { + NewAlertsSourceDataAttributesAlertTemplateAttributes.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"); + if (jsonArrayalertSourceUrgencyRulesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_source_urgency_rules_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_source_urgency_rules_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_source_urgency_rules_attributes").toString())); + } + + // validate the optional field `alert_source_urgency_rules_attributes` (array) + for (int i = 0; i < jsonArrayalertSourceUrgencyRulesAttributes.size(); i++) { + NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.validateJsonElement(jsonArrayalertSourceUrgencyRulesAttributes.get(i)); + }; + } + } + // validate the optional field `sourceable_attributes` + if (jsonObj.get("sourceable_attributes") != null && !jsonObj.get("sourceable_attributes").isJsonNull()) { + NewAlertsSourceDataAttributesSourceableAttributes.validateJsonElement(jsonObj.get("sourceable_attributes")); + } + // 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")); + } + if (jsonObj.get("alert_source_fields_attributes") != null && !jsonObj.get("alert_source_fields_attributes").isJsonNull()) { + JsonArray jsonArrayalertSourceFieldsAttributes = jsonObj.getAsJsonArray("alert_source_fields_attributes"); + if (jsonArrayalertSourceFieldsAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_source_fields_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_source_fields_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_source_fields_attributes").toString())); + } + + // validate the optional field `alert_source_fields_attributes` (array) + for (int i = 0; i < jsonArrayalertSourceFieldsAttributes.size(); i++) { + NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); + }; + } + } 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("secret").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `secret` to be a primitive type in the JSON string but got `%s`", jsonObj.get("secret").toString())); } - if ((jsonObj.get("webhook_endpoint") != null && !jsonObj.get("webhook_endpoint").isJsonNull()) && !jsonObj.get("webhook_endpoint").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `webhook_endpoint` to be a primitive type in the JSON string but got `%s`", jsonObj.get("webhook_endpoint").toString())); - } if ((jsonObj.get("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); } - // 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("webhook_endpoint") != null && !jsonObj.get("webhook_endpoint").isJsonNull()) && !jsonObj.get("webhook_endpoint").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `webhook_endpoint` to be a primitive type in the JSON string but got `%s`", jsonObj.get("webhook_endpoint").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/AlertsSourceList.java b/src/main/java/com/rootly/client/model/AlertsSourceList.java index a3aad7e9..805d74be 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceList.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertsSourceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AlertsSourceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSourceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AlertsSourceList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AlertsSourceList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AlertsSourceList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AlertsSourceList alertsSourceList = (AlertsSourceList) o; return Objects.equals(this.data, alertsSourceList.data) && - Objects.equals(this.links, alertsSourceList.links); + Objects.equals(this.links, alertsSourceList.links) && + Objects.equals(this.meta, alertsSourceList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AlertsSourceList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AlertsSourceResponse.java b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java index f6c99123..f56cf644 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceResponse.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertsSourceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fb80fc19..751d4148 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AlertsSourceResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ApiKey.java b/src/main/java/com/rootly/client/model/ApiKey.java new file mode 100644 index 00000000..9e184e7b --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKey.java @@ -0,0 +1,555 @@ +/* + * 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; + +/** + * ApiKey + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKey { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * The kind of the API key + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PERSONAL("personal"), + + TEAM("team"), + + ORGANIZATION("organization"); + + 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) + @javax.annotation.Nonnull + private KindEnum kind; + + public static final String SERIALIZED_NAME_ROLE_ID = "role_id"; + @SerializedName(SERIALIZED_NAME_ROLE_ID) + @javax.annotation.Nullable + private String roleId; + + public static final String SERIALIZED_NAME_ON_CALL_ROLE_ID = "on_call_role_id"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLE_ID) + @javax.annotation.Nullable + private String onCallRoleId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nullable + private String expiresAt; + + public static final String SERIALIZED_NAME_LAST_USED_AT = "last_used_at"; + @SerializedName(SERIALIZED_NAME_LAST_USED_AT) + @javax.annotation.Nullable + private String lastUsedAt; + + public static final String SERIALIZED_NAME_GRACE_PERIOD_ENDS_AT = "grace_period_ends_at"; + @SerializedName(SERIALIZED_NAME_GRACE_PERIOD_ENDS_AT) + @javax.annotation.Nullable + private String gracePeriodEndsAt; + + public ApiKey() { + } + + public ApiKey name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the API key + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public ApiKey description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the API key + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public ApiKey kind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the API key + * @return kind + */ + @javax.annotation.Nonnull + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + } + + + public ApiKey roleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + return this; + } + + /** + * The role ID + * @return roleId + */ + @javax.annotation.Nullable + public String getRoleId() { + return roleId; + } + + public void setRoleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + } + + + public ApiKey onCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + return this; + } + + /** + * The on-call role ID + * @return onCallRoleId + */ + @javax.annotation.Nullable + public String getOnCallRoleId() { + return onCallRoleId; + } + + public void setOnCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + } + + + public ApiKey createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public ApiKey updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public ApiKey expiresAt(@javax.annotation.Nullable String expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * Expiration date + * @return expiresAt + */ + @javax.annotation.Nullable + public String getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nullable String expiresAt) { + this.expiresAt = expiresAt; + } + + + public ApiKey lastUsedAt(@javax.annotation.Nullable String lastUsedAt) { + this.lastUsedAt = lastUsedAt; + return this; + } + + /** + * Date of last use + * @return lastUsedAt + */ + @javax.annotation.Nullable + public String getLastUsedAt() { + return lastUsedAt; + } + + public void setLastUsedAt(@javax.annotation.Nullable String lastUsedAt) { + this.lastUsedAt = lastUsedAt; + } + + + public ApiKey gracePeriodEndsAt(@javax.annotation.Nullable String gracePeriodEndsAt) { + this.gracePeriodEndsAt = gracePeriodEndsAt; + return this; + } + + /** + * Grace period end date + * @return gracePeriodEndsAt + */ + @javax.annotation.Nullable + public String getGracePeriodEndsAt() { + return gracePeriodEndsAt; + } + + public void setGracePeriodEndsAt(@javax.annotation.Nullable String gracePeriodEndsAt) { + this.gracePeriodEndsAt = gracePeriodEndsAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKey apiKey = (ApiKey) o; + return Objects.equals(this.name, apiKey.name) && + Objects.equals(this.description, apiKey.description) && + Objects.equals(this.kind, apiKey.kind) && + Objects.equals(this.roleId, apiKey.roleId) && + Objects.equals(this.onCallRoleId, apiKey.onCallRoleId) && + Objects.equals(this.createdAt, apiKey.createdAt) && + Objects.equals(this.updatedAt, apiKey.updatedAt) && + Objects.equals(this.expiresAt, apiKey.expiresAt) && + Objects.equals(this.lastUsedAt, apiKey.lastUsedAt) && + Objects.equals(this.gracePeriodEndsAt, apiKey.gracePeriodEndsAt); + } + + 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, description, kind, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt); + } + + 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 ApiKey {\n"); + 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(" roleId: ").append(toIndentedString(roleId)).append("\n"); + sb.append(" onCallRoleId: ").append(toIndentedString(onCallRoleId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append(" lastUsedAt: ").append(toIndentedString(lastUsedAt)).append("\n"); + sb.append(" gracePeriodEndsAt: ").append(toIndentedString(gracePeriodEndsAt)).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("kind"); + openapiFields.add("role_id"); + openapiFields.add("on_call_role_id"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("expires_at"); + openapiFields.add("last_used_at"); + openapiFields.add("grace_period_ends_at"); + + // 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"); + } + + /** + * 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 ApiKey + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKey.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKey is not found in the empty JSON string", ApiKey.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKey.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKey` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKey.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("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 required field `kind` + KindEnum.validateJsonElement(jsonObj.get("kind")); + 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())); + } + if ((jsonObj.get("on_call_role_id") != null && !jsonObj.get("on_call_role_id").isJsonNull()) && !jsonObj.get("on_call_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("on_call_role_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("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())); + } + if ((jsonObj.get("expires_at") != null && !jsonObj.get("expires_at").isJsonNull()) && !jsonObj.get("expires_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `expires_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("expires_at").toString())); + } + if ((jsonObj.get("last_used_at") != null && !jsonObj.get("last_used_at").isJsonNull()) && !jsonObj.get("last_used_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `last_used_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("last_used_at").toString())); + } + if ((jsonObj.get("grace_period_ends_at") != null && !jsonObj.get("grace_period_ends_at").isJsonNull()) && !jsonObj.get("grace_period_ends_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `grace_period_ends_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("grace_period_ends_at").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKey.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKey' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKey.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKey value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKey read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKey given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKey + * @throws IOException if the JSON string is invalid with respect to ApiKey + */ + public static ApiKey fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKey.class); + } + + /** + * Convert an instance of ApiKey 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/ApiKeyList.java b/src/main/java/com/rootly/client/model/ApiKeyList.java new file mode 100644 index 00000000..ebb39e15 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyList.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 com.rootly.client.model.ApiKeyResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * ApiKeyList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public ApiKeyList() { + } + + public ApiKeyList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public ApiKeyList addDataItem(ApiKeyResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public ApiKeyList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public ApiKeyList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyList apiKeyList = (ApiKeyList) o; + return Objects.equals(this.data, apiKeyList.data) && + Objects.equals(this.links, apiKeyList.links) && + Objects.equals(this.meta, apiKeyList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiKeyList {\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("}"); + 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"); + + // 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 ApiKeyList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyList is not found in the empty JSON string", ApiKeyList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyList.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++) { + ApiKeyResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKeyList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyList given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyList + * @throws IOException if the JSON string is invalid with respect to ApiKeyList + */ + public static ApiKeyList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyList.class); + } + + /** + * Convert an instance of ApiKeyList 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/ApiKeyResponse.java b/src/main/java/com/rootly/client/model/ApiKeyResponse.java new file mode 100644 index 00000000..7f0c67ee --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyResponse.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.ApiKeyResponseData; +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; + +/** + * ApiKeyResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private ApiKeyResponseData data; + + public ApiKeyResponse() { + } + + public ApiKeyResponse data(@javax.annotation.Nonnull ApiKeyResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public ApiKeyResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull ApiKeyResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyResponse apiKeyResponse = (ApiKeyResponse) o; + return Objects.equals(this.data, apiKeyResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiKeyResponse {\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 ApiKeyResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyResponse is not found in the empty JSON string", ApiKeyResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyResponse.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` + ApiKeyResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKeyResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyResponse + * @throws IOException if the JSON string is invalid with respect to ApiKeyResponse + */ + public static ApiKeyResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyResponse.class); + } + + /** + * Convert an instance of ApiKeyResponse 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/ApiKeyResponseData.java b/src/main/java/com/rootly/client/model/ApiKeyResponseData.java new file mode 100644 index 00000000..8e1d968e --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyResponseData.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.ApiKey; +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; + +/** + * ApiKeyResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + API_KEYS("api_keys"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private ApiKey attributes; + + public ApiKeyResponseData() { + } + + public ApiKeyResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the API key + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public ApiKeyResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public ApiKeyResponseData attributes(@javax.annotation.Nonnull ApiKey attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public ApiKey getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull ApiKey attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyResponseData apiKeyResponseData = (ApiKeyResponseData) o; + return Objects.equals(this.id, apiKeyResponseData.id) && + Objects.equals(this.type, apiKeyResponseData.type) && + Objects.equals(this.attributes, apiKeyResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiKeyResponseData {\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 ApiKeyResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyResponseData is not found in the empty JSON string", ApiKeyResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyResponseData.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` + ApiKey.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKeyResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyResponseData + * @throws IOException if the JSON string is invalid with respect to ApiKeyResponseData + */ + public static ApiKeyResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyResponseData.class); + } + + /** + * Convert an instance of ApiKeyResponseData 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/ApiKeyWithTokenResponse.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java new file mode 100644 index 00000000..76415da5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.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.ApiKeyWithTokenResponseData; +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; + +/** + * ApiKeyWithTokenResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyWithTokenResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private ApiKeyWithTokenResponseData data; + + public ApiKeyWithTokenResponse() { + } + + public ApiKeyWithTokenResponse data(@javax.annotation.Nonnull ApiKeyWithTokenResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public ApiKeyWithTokenResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull ApiKeyWithTokenResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyWithTokenResponse apiKeyWithTokenResponse = (ApiKeyWithTokenResponse) o; + return Objects.equals(this.data, apiKeyWithTokenResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiKeyWithTokenResponse {\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 ApiKeyWithTokenResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyWithTokenResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyWithTokenResponse is not found in the empty JSON string", ApiKeyWithTokenResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyWithTokenResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyWithTokenResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyWithTokenResponse.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` + ApiKeyWithTokenResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKeyWithTokenResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyWithTokenResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyWithTokenResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyWithTokenResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyWithTokenResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyWithTokenResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyWithTokenResponse + * @throws IOException if the JSON string is invalid with respect to ApiKeyWithTokenResponse + */ + public static ApiKeyWithTokenResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyWithTokenResponse.class); + } + + /** + * Convert an instance of ApiKeyWithTokenResponse 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/ApiKeyWithTokenResponseData.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.java new file mode 100644 index 00000000..9c8e8c29 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseData.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.ApiKeyWithTokenResponseDataAttributes; +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; + +/** + * ApiKeyWithTokenResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyWithTokenResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + API_KEYS("api_keys"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private ApiKeyWithTokenResponseDataAttributes attributes; + + public ApiKeyWithTokenResponseData() { + } + + public ApiKeyWithTokenResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the API key + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public ApiKeyWithTokenResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public ApiKeyWithTokenResponseData attributes(@javax.annotation.Nonnull ApiKeyWithTokenResponseDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public ApiKeyWithTokenResponseDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull ApiKeyWithTokenResponseDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyWithTokenResponseData apiKeyWithTokenResponseData = (ApiKeyWithTokenResponseData) o; + return Objects.equals(this.id, apiKeyWithTokenResponseData.id) && + Objects.equals(this.type, apiKeyWithTokenResponseData.type) && + Objects.equals(this.attributes, apiKeyWithTokenResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ApiKeyWithTokenResponseData {\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 ApiKeyWithTokenResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyWithTokenResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyWithTokenResponseData is not found in the empty JSON string", ApiKeyWithTokenResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyWithTokenResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyWithTokenResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyWithTokenResponseData.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` + ApiKeyWithTokenResponseDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ApiKeyWithTokenResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyWithTokenResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyWithTokenResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyWithTokenResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyWithTokenResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyWithTokenResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyWithTokenResponseData + * @throws IOException if the JSON string is invalid with respect to ApiKeyWithTokenResponseData + */ + public static ApiKeyWithTokenResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyWithTokenResponseData.class); + } + + /** + * Convert an instance of ApiKeyWithTokenResponseData 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/ApiKeyWithTokenResponseDataAttributes.java b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java new file mode 100644 index 00000000..3c37d0b9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributes.java @@ -0,0 +1,586 @@ +/* + * 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; + +/** + * ApiKeyWithTokenResponseDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ApiKeyWithTokenResponseDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * The kind of the API key + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PERSONAL("personal"), + + TEAM("team"), + + ORGANIZATION("organization"); + + 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) + @javax.annotation.Nonnull + private KindEnum kind; + + public static final String SERIALIZED_NAME_ROLE_ID = "role_id"; + @SerializedName(SERIALIZED_NAME_ROLE_ID) + @javax.annotation.Nullable + private String roleId; + + public static final String SERIALIZED_NAME_ON_CALL_ROLE_ID = "on_call_role_id"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLE_ID) + @javax.annotation.Nullable + private String onCallRoleId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nullable + private String expiresAt; + + public static final String SERIALIZED_NAME_LAST_USED_AT = "last_used_at"; + @SerializedName(SERIALIZED_NAME_LAST_USED_AT) + @javax.annotation.Nullable + private String lastUsedAt; + + public static final String SERIALIZED_NAME_GRACE_PERIOD_ENDS_AT = "grace_period_ends_at"; + @SerializedName(SERIALIZED_NAME_GRACE_PERIOD_ENDS_AT) + @javax.annotation.Nullable + private String gracePeriodEndsAt; + + public static final String SERIALIZED_NAME_TOKEN = "token"; + @SerializedName(SERIALIZED_NAME_TOKEN) + @javax.annotation.Nonnull + private String token; + + public ApiKeyWithTokenResponseDataAttributes() { + } + + public ApiKeyWithTokenResponseDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the API key + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public ApiKeyWithTokenResponseDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the API key + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public ApiKeyWithTokenResponseDataAttributes kind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the API key + * @return kind + */ + @javax.annotation.Nonnull + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + } + + + public ApiKeyWithTokenResponseDataAttributes roleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + return this; + } + + /** + * The role ID + * @return roleId + */ + @javax.annotation.Nullable + public String getRoleId() { + return roleId; + } + + public void setRoleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + } + + + public ApiKeyWithTokenResponseDataAttributes onCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + return this; + } + + /** + * The on-call role ID + * @return onCallRoleId + */ + @javax.annotation.Nullable + public String getOnCallRoleId() { + return onCallRoleId; + } + + public void setOnCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + } + + + public ApiKeyWithTokenResponseDataAttributes createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public ApiKeyWithTokenResponseDataAttributes updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public ApiKeyWithTokenResponseDataAttributes expiresAt(@javax.annotation.Nullable String expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * Expiration date + * @return expiresAt + */ + @javax.annotation.Nullable + public String getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nullable String expiresAt) { + this.expiresAt = expiresAt; + } + + + public ApiKeyWithTokenResponseDataAttributes lastUsedAt(@javax.annotation.Nullable String lastUsedAt) { + this.lastUsedAt = lastUsedAt; + return this; + } + + /** + * Date of last use + * @return lastUsedAt + */ + @javax.annotation.Nullable + public String getLastUsedAt() { + return lastUsedAt; + } + + public void setLastUsedAt(@javax.annotation.Nullable String lastUsedAt) { + this.lastUsedAt = lastUsedAt; + } + + + public ApiKeyWithTokenResponseDataAttributes gracePeriodEndsAt(@javax.annotation.Nullable String gracePeriodEndsAt) { + this.gracePeriodEndsAt = gracePeriodEndsAt; + return this; + } + + /** + * Grace period end date + * @return gracePeriodEndsAt + */ + @javax.annotation.Nullable + public String getGracePeriodEndsAt() { + return gracePeriodEndsAt; + } + + public void setGracePeriodEndsAt(@javax.annotation.Nullable String gracePeriodEndsAt) { + this.gracePeriodEndsAt = gracePeriodEndsAt; + } + + + public ApiKeyWithTokenResponseDataAttributes token(@javax.annotation.Nonnull String token) { + this.token = token; + return this; + } + + /** + * The API key token (only shown once) + * @return token + */ + @javax.annotation.Nonnull + public String getToken() { + return token; + } + + public void setToken(@javax.annotation.Nonnull String token) { + this.token = token; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ApiKeyWithTokenResponseDataAttributes apiKeyWithTokenResponseDataAttributes = (ApiKeyWithTokenResponseDataAttributes) o; + return Objects.equals(this.name, apiKeyWithTokenResponseDataAttributes.name) && + Objects.equals(this.description, apiKeyWithTokenResponseDataAttributes.description) && + Objects.equals(this.kind, apiKeyWithTokenResponseDataAttributes.kind) && + Objects.equals(this.roleId, apiKeyWithTokenResponseDataAttributes.roleId) && + Objects.equals(this.onCallRoleId, apiKeyWithTokenResponseDataAttributes.onCallRoleId) && + Objects.equals(this.createdAt, apiKeyWithTokenResponseDataAttributes.createdAt) && + Objects.equals(this.updatedAt, apiKeyWithTokenResponseDataAttributes.updatedAt) && + Objects.equals(this.expiresAt, apiKeyWithTokenResponseDataAttributes.expiresAt) && + Objects.equals(this.lastUsedAt, apiKeyWithTokenResponseDataAttributes.lastUsedAt) && + Objects.equals(this.gracePeriodEndsAt, apiKeyWithTokenResponseDataAttributes.gracePeriodEndsAt) && + Objects.equals(this.token, apiKeyWithTokenResponseDataAttributes.token); + } + + 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, description, kind, roleId, onCallRoleId, createdAt, updatedAt, expiresAt, lastUsedAt, gracePeriodEndsAt, token); + } + + 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 ApiKeyWithTokenResponseDataAttributes {\n"); + 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(" roleId: ").append(toIndentedString(roleId)).append("\n"); + sb.append(" onCallRoleId: ").append(toIndentedString(onCallRoleId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append(" lastUsedAt: ").append(toIndentedString(lastUsedAt)).append("\n"); + sb.append(" gracePeriodEndsAt: ").append(toIndentedString(gracePeriodEndsAt)).append("\n"); + sb.append(" token: ").append(toIndentedString(token)).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("kind"); + openapiFields.add("role_id"); + openapiFields.add("on_call_role_id"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("expires_at"); + openapiFields.add("last_used_at"); + openapiFields.add("grace_period_ends_at"); + openapiFields.add("token"); + + // 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("token"); + } + + /** + * 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 ApiKeyWithTokenResponseDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ApiKeyWithTokenResponseDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ApiKeyWithTokenResponseDataAttributes is not found in the empty JSON string", ApiKeyWithTokenResponseDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ApiKeyWithTokenResponseDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ApiKeyWithTokenResponseDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : ApiKeyWithTokenResponseDataAttributes.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("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 required field `kind` + KindEnum.validateJsonElement(jsonObj.get("kind")); + 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())); + } + if ((jsonObj.get("on_call_role_id") != null && !jsonObj.get("on_call_role_id").isJsonNull()) && !jsonObj.get("on_call_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("on_call_role_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("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())); + } + if ((jsonObj.get("expires_at") != null && !jsonObj.get("expires_at").isJsonNull()) && !jsonObj.get("expires_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `expires_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("expires_at").toString())); + } + if ((jsonObj.get("last_used_at") != null && !jsonObj.get("last_used_at").isJsonNull()) && !jsonObj.get("last_used_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `last_used_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("last_used_at").toString())); + } + if ((jsonObj.get("grace_period_ends_at") != null && !jsonObj.get("grace_period_ends_at").isJsonNull()) && !jsonObj.get("grace_period_ends_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `grace_period_ends_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("grace_period_ends_at").toString())); + } + 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 (!ApiKeyWithTokenResponseDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ApiKeyWithTokenResponseDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ApiKeyWithTokenResponseDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ApiKeyWithTokenResponseDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ApiKeyWithTokenResponseDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ApiKeyWithTokenResponseDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of ApiKeyWithTokenResponseDataAttributes + * @throws IOException if the JSON string is invalid with respect to ApiKeyWithTokenResponseDataAttributes + */ + public static ApiKeyWithTokenResponseDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ApiKeyWithTokenResponseDataAttributes.class); + } + + /** + * Convert an instance of ApiKeyWithTokenResponseDataAttributes 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/ArchiveMicrosoftTeamsChannelsTaskParams.java b/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java index ea148319..f1fa9cc2 100644 --- a/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java +++ b/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * ArchiveMicrosoftTeamsChannelsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ac0d8729..418b6588 100644 --- a/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java +++ b/src/main/java/com/rootly/client/model/ArchiveSlackChannelsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * ArchiveSlackChannelsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ArchiveSlackChannelsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AssignRoleToUser.java b/src/main/java/com/rootly/client/model/AssignRoleToUser.java index f6febbab..3a5df8e7 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUser.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AssignRoleToUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 265fa3f9..b2f204c7 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUserData.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUserData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AssignRoleToUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 18c60e37..3b35de66 100644 --- a/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AssignRoleToUserDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * AssignRoleToUserDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 007686d4..955db0b2 100644 --- a/src/main/java/com/rootly/client/model/AttachAlert.java +++ b/src/main/java/com/rootly/client/model/AttachAlert.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AttachAlert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 780b59a6..730588fc 100644 --- a/src/main/java/com/rootly/client/model/AttachAlertData.java +++ b/src/main/java/com/rootly/client/model/AttachAlertData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AttachAlertData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9fec1e42..e1449c69 100644 --- a/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/AttachAlertDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * AttachAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f90db81b..0ade91fc 100644 --- a/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java +++ b/src/main/java/com/rootly/client/model/AttachDatadogDashboardsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * AttachDatadogDashboardsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/Audit.java b/src/main/java/com/rootly/client/model/Audit.java index c783b5d4..6b4fe897 100644 --- a/src/main/java/com/rootly/client/model/Audit.java +++ b/src/main/java/com/rootly/client/model/Audit.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * Audit */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Audit { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @@ -61,8 +61,22 @@ public class Audit { */ @JsonAdapter(ItemTypeEnum.Adapter.class) public enum ItemTypeEnum { + ALERT_ROUTE("AlertRoute"), + + ALERT_ROUTING_RULE("AlertRoutingRule"), + + ALERTS_SOURCE("Alerts::Source"), + API_KEY("ApiKey"), + CATALOG("Catalog"), + + CATALOG_ENTITY("CatalogEntity"), + + CATALOG_ENTITY_PROPERTY("CatalogEntityProperty"), + + CATALOG_FIELD("CatalogField"), + CAUSE("Cause"), CUSTOM_FIELD("CustomField"), @@ -73,6 +87,10 @@ public enum ItemTypeEnum { DASHBOARD("Dashboard"), + EDGE_CONNECTOR("EdgeConnector"), + + EDGE_CONNECTOR_ACTION("EdgeConnector::Action"), + ENVIRONMENT("Environment"), ESCALATION_POLICY("EscalationPolicy"), @@ -93,10 +111,14 @@ public enum ItemTypeEnum { GROUP("Group"), + GROUP_USER("GroupUser"), + HEARTBEAT("Heartbeat"), INCIDENT("Incident"), + LOGIN_ACTIVITY("LoginActivity"), + INCIDENT_ACTION_ITEM("IncidentActionItem"), INCIDENT_EVENT("IncidentEvent"), @@ -105,6 +127,8 @@ public enum ItemTypeEnum { INCIDENT_FORM_FIELD_SELECTION_USER("IncidentFormFieldSelectionUser"), + INCIDENT_PERMISSION_SET("IncidentPermissionSet"), + INCIDENT_POST_MORTEM("IncidentPostMortem"), INCIDENT_ROLE_ASSIGNMENT("IncidentRoleAssignment"), @@ -117,8 +141,34 @@ public enum ItemTypeEnum { INCIDENT_TYPE("IncidentType"), + INTEGRATIONS_DATADOG_ACCOUNT("Integrations::DatadogAccount"), + + INTEGRATIONS_GITHUB_ACCOUNT("Integrations::GithubAccount"), + + INTEGRATIONS_GOOGLE_MEET_ACCOUNT("Integrations::GoogleMeetAccount"), + + INTEGRATIONS_JIRA_ACCOUNT("Integrations::JiraAccount"), + + INTEGRATIONS_MICROSOFT_TEAMS_ACCOUNT("Integrations::MicrosoftTeamsAccount"), + + INTEGRATIONS_OPSGENIE_ACCOUNT("Integrations::OpsgenieAccount"), + + INTEGRATIONS_PAGERDUTY_ACCOUNT("Integrations::PagerdutyAccount"), + + INTEGRATIONS_SERVICE_NOW_ACCOUNT("Integrations::ServiceNowAccount"), + + INTEGRATIONS_SLACK_ACCOUNT("Integrations::SlackAccount"), + + INTEGRATIONS_STATUS_PAGE_IO_ACCOUNT("Integrations::StatusPageIoAccount"), + + INTEGRATIONS_ZENDESK_ACCOUNT("Integrations::ZendeskAccount"), + + INTEGRATIONS_ZOOM_ACCOUNT("Integrations::ZoomAccount"), + LIVE_CALL_ROUTER("LiveCallRouter"), + MEMBERSHIP("Membership"), + ON_CALL_ROLE("OnCallRole"), PLAYBOOK("Playbook"), @@ -129,6 +179,8 @@ public enum ItemTypeEnum { SCHEDULE("Schedule"), + SECRET("Secret"), + SERVICE("Service"), SEVERITY("Severity"), @@ -183,6 +235,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private ItemTypeEnum itemType; + public static final String SERIALIZED_NAME_ITEM_TYPE_DISPLAY = "item_type_display"; + @SerializedName(SERIALIZED_NAME_ITEM_TYPE_DISPLAY) + @javax.annotation.Nullable + private String itemTypeDisplay; + public static final String SERIALIZED_NAME_OBJECT = "object"; @SerializedName(SERIALIZED_NAME_OBJECT) @javax.annotation.Nullable @@ -254,6 +311,25 @@ public void setItemType(@javax.annotation.Nullable ItemTypeEnum itemType) { } + public Audit itemTypeDisplay(@javax.annotation.Nullable String itemTypeDisplay) { + this.itemTypeDisplay = itemTypeDisplay; + return this; + } + + /** + * Human-friendly display name for the item type + * @return itemTypeDisplay + */ + @javax.annotation.Nullable + public String getItemTypeDisplay() { + return itemTypeDisplay; + } + + public void setItemTypeDisplay(@javax.annotation.Nullable String itemTypeDisplay) { + this.itemTypeDisplay = itemTypeDisplay; + } + + public Audit _object(@javax.annotation.Nullable Object _object) { this._object = _object; return this; @@ -380,6 +456,7 @@ public boolean equals(Object o) { Audit audit = (Audit) o; return Objects.equals(this.event, audit.event) && Objects.equals(this.itemType, audit.itemType) && + Objects.equals(this.itemTypeDisplay, audit.itemTypeDisplay) && Objects.equals(this._object, audit._object) && Objects.equals(this.objectChanges, audit.objectChanges) && Objects.equals(this.userId, audit.userId) && @@ -394,7 +471,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(event, itemType, _object, objectChanges, userId, createdAt, itemId, id); + return Objects.hash(event, itemType, itemTypeDisplay, _object, objectChanges, userId, createdAt, itemId, id); } private static int hashCodeNullable(JsonNullable a) { @@ -410,6 +487,7 @@ public String toString() { sb.append("class Audit {\n"); sb.append(" event: ").append(toIndentedString(event)).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"); sb.append(" objectChanges: ").append(toIndentedString(objectChanges)).append("\n"); sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); @@ -440,6 +518,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("event"); openapiFields.add("item_type"); + openapiFields.add("item_type_display"); openapiFields.add("object"); openapiFields.add("object_changes"); openapiFields.add("user_id"); @@ -491,6 +570,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("item_type") != null && !jsonObj.get("item_type").isJsonNull()) { ItemTypeEnum.validateJsonElement(jsonObj.get("item_type")); } + if ((jsonObj.get("item_type_display") != null && !jsonObj.get("item_type_display").isJsonNull()) && !jsonObj.get("item_type_display").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `item_type_display` to be a primitive type in the JSON string but got `%s`", jsonObj.get("item_type_display").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/AuditsList.java b/src/main/java/com/rootly/client/model/AuditsList.java index 5ed1a0f4..a1f9fc82 100644 --- a/src/main/java/com/rootly/client/model/AuditsList.java +++ b/src/main/java/com/rootly/client/model/AuditsList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AuditsListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AuditsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuditsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AuditsList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AuditsList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AuditsList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AuditsList auditsList = (AuditsList) o; return Objects.equals(this.data, auditsList.data) && - Objects.equals(this.links, auditsList.links); + Objects.equals(this.links, auditsList.links) && + Objects.equals(this.meta, auditsList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AuditsList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AuditsListDataInner.java b/src/main/java/com/rootly/client/model/AuditsListDataInner.java index 46560473..289ec49c 100644 --- a/src/main/java/com/rootly/client/model/AuditsListDataInner.java +++ b/src/main/java/com/rootly/client/model/AuditsListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AuditsListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0b8766c8..be3c8020 100644 --- a/src/main/java/com/rootly/client/model/Authorization.java +++ b/src/main/java/com/rootly/client/model/Authorization.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * Authorization */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d0893bc1..5efe986b 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationList.java +++ b/src/main/java/com/rootly/client/model/AuthorizationList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AuthorizationResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * AuthorizationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AuthorizationList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class AuthorizationList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public AuthorizationList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public AuthorizationList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } AuthorizationList authorizationList = (AuthorizationList) o; return Objects.equals(this.data, authorizationList.data) && - Objects.equals(this.links, authorizationList.links); + Objects.equals(this.links, authorizationList.links) && + Objects.equals(this.meta, authorizationList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class AuthorizationList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/AuthorizationResponse.java b/src/main/java/com/rootly/client/model/AuthorizationResponse.java index 6d012386..a038f3e1 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationResponse.java +++ b/src/main/java/com/rootly/client/model/AuthorizationResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AuthorizationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7873e2b0..d1e2e0c7 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationResponseData.java +++ b/src/main/java/com/rootly/client/model/AuthorizationResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AuthorizationResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 aafb8626..6ff51457 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AutoAssignRoleOpsgenieTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b6546978..30fa47b5 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * AutoAssignRolePagerdutyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRolePagerdutyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java index 08265fb4..5d32e9fd 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java index cc5e7b64..0914aae3 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * AutoAssignRoleVictorOpsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..8fd72db1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/BuiltinField.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 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; + +/** + * BuiltinField + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class BuiltinField { + /** + * Gets or Sets fieldSource + */ + @JsonAdapter(FieldSourceEnum.Adapter.class) + public enum FieldSourceEnum { + BUILTIN("builtin"); + + private String value; + + FieldSourceEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FieldSourceEnum fromValue(String value) { + for (FieldSourceEnum b : FieldSourceEnum.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 FieldSourceEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FieldSourceEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FieldSourceEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FieldSourceEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FIELD_SOURCE = "field_source"; + @SerializedName(SERIALIZED_NAME_FIELD_SOURCE) + @javax.annotation.Nonnull + private FieldSourceEnum fieldSource; + + public static final String SERIALIZED_NAME_FIELD_KEY = "field_key"; + @SerializedName(SERIALIZED_NAME_FIELD_KEY) + @javax.annotation.Nonnull + private String fieldKey; + + public BuiltinField() { + } + + public BuiltinField fieldSource(@javax.annotation.Nonnull FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; + return this; + } + + /** + * Get fieldSource + * @return fieldSource + */ + @javax.annotation.Nonnull + public FieldSourceEnum getFieldSource() { + return fieldSource; + } + + public void setFieldSource(@javax.annotation.Nonnull FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; + } + + + public BuiltinField fieldKey(@javax.annotation.Nonnull String fieldKey) { + this.fieldKey = fieldKey; + return this; + } + + /** + * Key identifying the builtin field + * @return fieldKey + */ + @javax.annotation.Nonnull + public String getFieldKey() { + return fieldKey; + } + + public void setFieldKey(@javax.annotation.Nonnull String fieldKey) { + this.fieldKey = fieldKey; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BuiltinField builtinField = (BuiltinField) o; + return Objects.equals(this.fieldSource, builtinField.fieldSource) && + Objects.equals(this.fieldKey, builtinField.fieldKey); + } + + @Override + public int hashCode() { + return Objects.hash(fieldSource, fieldKey); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BuiltinField {\n"); + sb.append(" fieldSource: ").append(toIndentedString(fieldSource)).append("\n"); + sb.append(" fieldKey: ").append(toIndentedString(fieldKey)).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_source"); + openapiFields.add("field_key"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("field_source"); + openapiRequiredFields.add("field_key"); + } + + /** + * 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 BuiltinField + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!BuiltinField.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in BuiltinField is not found in the empty JSON string", BuiltinField.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!BuiltinField.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `BuiltinField` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : BuiltinField.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("field_source").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_source").toString())); + } + // validate the required field `field_source` + FieldSourceEnum.validateJsonElement(jsonObj.get("field_source")); + if (!jsonObj.get("field_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_key").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!BuiltinField.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'BuiltinField' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(BuiltinField.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, BuiltinField value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public BuiltinField read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of BuiltinField given an JSON string + * + * @param jsonString JSON string + * @return An instance of BuiltinField + * @throws IOException if the JSON string is invalid with respect to BuiltinField + */ + public static BuiltinField fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, BuiltinField.class); + } + + /** + * Convert an instance of BuiltinField 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/CallPeopleTaskParams.java b/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java index 8d5ee7ea..0c69f52b 100644 --- a/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java +++ b/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * CallPeopleTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 713c8537..12617b64 100644 --- a/src/main/java/com/rootly/client/model/CancelIncident.java +++ b/src/main/java/com/rootly/client/model/CancelIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CancelIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 581cad58..2486547b 100644 --- a/src/main/java/com/rootly/client/model/CancelIncidentData.java +++ b/src/main/java/com/rootly/client/model/CancelIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CancelIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CancelIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java index 73ec06c6..89a0c01e 100644 --- a/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CancelIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 adeb2a70..9161c0e2 100644 --- a/src/main/java/com/rootly/client/model/Catalog.java +++ b/src/main/java/com/rootly/client/model/Catalog.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * Catalog */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..fe540db9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplate.java @@ -0,0 +1,661 @@ +/* + * 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.CatalogChecklistTemplateFieldsInner; +import com.rootly.client.model.CatalogChecklistTemplateOwnersInner; +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; + +/** + * CatalogChecklistTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplate { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * The catalog type + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + SERVICE("Service"), + + FUNCTIONALITY("Functionality"), + + ENVIRONMENT("Environment"), + + GROUP("Group"), + + CAUSE("Cause"), + + INCIDENT_TYPE("IncidentType"), + + CATALOG("Catalog"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nonnull + private CatalogTypeEnum catalogType; + + /** + * The scope type + */ + @JsonAdapter(ScopeTypeEnum.Adapter.class) + public enum ScopeTypeEnum { + TEAM("Team"), + + CATALOG("Catalog"); + + private String value; + + ScopeTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopeTypeEnum fromValue(String value) { + for (ScopeTypeEnum b : ScopeTypeEnum.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 ScopeTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopeTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopeTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopeTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPE_TYPE = "scope_type"; + @SerializedName(SERIALIZED_NAME_SCOPE_TYPE) + @javax.annotation.Nonnull + private ScopeTypeEnum scopeType; + + public static final String SERIALIZED_NAME_SCOPE_ID = "scope_id"; + @SerializedName(SERIALIZED_NAME_SCOPE_ID) + @javax.annotation.Nonnull + private String scopeId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_FIELDS = "fields"; + @SerializedName(SERIALIZED_NAME_FIELDS) + @javax.annotation.Nullable + private List fields; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + @javax.annotation.Nullable + private List owners; + + public CatalogChecklistTemplate() { + } + + public CatalogChecklistTemplate name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the checklist template + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CatalogChecklistTemplate slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the checklist template + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CatalogChecklistTemplate description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the checklist template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CatalogChecklistTemplate catalogType(@javax.annotation.Nonnull CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The catalog type + * @return catalogType + */ + @javax.annotation.Nonnull + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nonnull CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + + public CatalogChecklistTemplate scopeType(@javax.annotation.Nonnull ScopeTypeEnum scopeType) { + this.scopeType = scopeType; + return this; + } + + /** + * The scope type + * @return scopeType + */ + @javax.annotation.Nonnull + public ScopeTypeEnum getScopeType() { + return scopeType; + } + + public void setScopeType(@javax.annotation.Nonnull ScopeTypeEnum scopeType) { + this.scopeType = scopeType; + } + + + public CatalogChecklistTemplate scopeId(@javax.annotation.Nonnull String scopeId) { + this.scopeId = scopeId; + return this; + } + + /** + * The scope ID + * @return scopeId + */ + @javax.annotation.Nonnull + public String getScopeId() { + return scopeId; + } + + public void setScopeId(@javax.annotation.Nonnull String scopeId) { + this.scopeId = scopeId; + } + + + public CatalogChecklistTemplate createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CatalogChecklistTemplate updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public CatalogChecklistTemplate fields(@javax.annotation.Nullable List fields) { + this.fields = fields; + return this; + } + + public CatalogChecklistTemplate addFieldsItem(CatalogChecklistTemplateFieldsInner fieldsItem) { + if (this.fields == null) { + this.fields = new ArrayList<>(); + } + this.fields.add(fieldsItem); + return this; + } + + /** + * Template fields in position order + * @return fields + */ + @javax.annotation.Nullable + public List getFields() { + return fields; + } + + public void setFields(@javax.annotation.Nullable List fields) { + this.fields = fields; + } + + + public CatalogChecklistTemplate owners(@javax.annotation.Nullable List owners) { + this.owners = owners; + return this; + } + + public CatalogChecklistTemplate addOwnersItem(CatalogChecklistTemplateOwnersInner ownersItem) { + if (this.owners == null) { + this.owners = new ArrayList<>(); + } + this.owners.add(ownersItem); + return this; + } + + /** + * Template owners + * @return owners + */ + @javax.annotation.Nullable + public List getOwners() { + return owners; + } + + public void setOwners(@javax.annotation.Nullable List owners) { + this.owners = owners; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplate catalogChecklistTemplate = (CatalogChecklistTemplate) o; + return Objects.equals(this.name, catalogChecklistTemplate.name) && + Objects.equals(this.slug, catalogChecklistTemplate.slug) && + Objects.equals(this.description, catalogChecklistTemplate.description) && + Objects.equals(this.catalogType, catalogChecklistTemplate.catalogType) && + Objects.equals(this.scopeType, catalogChecklistTemplate.scopeType) && + Objects.equals(this.scopeId, catalogChecklistTemplate.scopeId) && + Objects.equals(this.createdAt, catalogChecklistTemplate.createdAt) && + Objects.equals(this.updatedAt, catalogChecklistTemplate.updatedAt) && + Objects.equals(this.fields, catalogChecklistTemplate.fields) && + Objects.equals(this.owners, catalogChecklistTemplate.owners); + } + + 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, slug, description, catalogType, scopeType, scopeId, createdAt, updatedAt, fields, owners); + } + + 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 CatalogChecklistTemplate {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).append("\n"); + sb.append(" scopeType: ").append(toIndentedString(scopeType)).append("\n"); + sb.append(" scopeId: ").append(toIndentedString(scopeId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).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("slug"); + openapiFields.add("description"); + openapiFields.add("catalog_type"); + openapiFields.add("scope_type"); + openapiFields.add("scope_id"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("fields"); + openapiFields.add("owners"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("catalog_type"); + openapiRequiredFields.add("scope_type"); + openapiRequiredFields.add("scope_id"); + 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 CatalogChecklistTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplate is not found in the empty JSON string", CatalogChecklistTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogChecklistTemplate.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("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("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("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the required field `catalog_type` + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + if (!jsonObj.get("scope_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope_type").toString())); + } + // validate the required field `scope_type` + ScopeTypeEnum.validateJsonElement(jsonObj.get("scope_type")); + if (!jsonObj.get("scope_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope_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("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())); + } + if (jsonObj.get("fields") != null && !jsonObj.get("fields").isJsonNull()) { + JsonArray jsonArrayfields = jsonObj.getAsJsonArray("fields"); + if (jsonArrayfields != null) { + // ensure the json data is an array + if (!jsonObj.get("fields").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `fields` to be an array in the JSON string but got `%s`", jsonObj.get("fields").toString())); + } + + // validate the optional field `fields` (array) + for (int i = 0; i < jsonArrayfields.size(); i++) { + CatalogChecklistTemplateFieldsInner.validateJsonElement(jsonArrayfields.get(i)); + }; + } + } + if (jsonObj.get("owners") != null && !jsonObj.get("owners").isJsonNull()) { + JsonArray jsonArrayowners = jsonObj.getAsJsonArray("owners"); + if (jsonArrayowners != null) { + // ensure the json data is an array + if (!jsonObj.get("owners").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owners` to be an array in the JSON string but got `%s`", jsonObj.get("owners").toString())); + } + + // validate the optional field `owners` (array) + for (int i = 0; i < jsonArrayowners.size(); i++) { + CatalogChecklistTemplateOwnersInner.validateJsonElement(jsonArrayowners.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplate + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplate + */ + public static CatalogChecklistTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplate.class); + } + + /** + * Convert an instance of CatalogChecklistTemplate 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/CatalogChecklistTemplateFieldsInner.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.java new file mode 100644 index 00000000..d5449c0a --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInner.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 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; + +/** + * CatalogChecklistTemplateFieldsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplateFieldsInner { + /** + * Source of the field + */ + @JsonAdapter(FieldSourceEnum.Adapter.class) + public enum FieldSourceEnum { + BUILTIN("builtin"), + + CUSTOM("custom"); + + private String value; + + FieldSourceEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static FieldSourceEnum fromValue(String value) { + for (FieldSourceEnum b : FieldSourceEnum.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 FieldSourceEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public FieldSourceEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return FieldSourceEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + FieldSourceEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_FIELD_SOURCE = "field_source"; + @SerializedName(SERIALIZED_NAME_FIELD_SOURCE) + @javax.annotation.Nullable + private FieldSourceEnum fieldSource; + + public static final String SERIALIZED_NAME_FIELD_KEY = "field_key"; + @SerializedName(SERIALIZED_NAME_FIELD_KEY) + @javax.annotation.Nullable + private String fieldKey; + + public static final String SERIALIZED_NAME_CATALOG_PROPERTY_ID = "catalog_property_id"; + @SerializedName(SERIALIZED_NAME_CATALOG_PROPERTY_ID) + @javax.annotation.Nullable + private String catalogPropertyId; + + public CatalogChecklistTemplateFieldsInner() { + } + + public CatalogChecklistTemplateFieldsInner fieldSource(@javax.annotation.Nullable FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; + return this; + } + + /** + * Source of the field + * @return fieldSource + */ + @javax.annotation.Nullable + public FieldSourceEnum getFieldSource() { + return fieldSource; + } + + public void setFieldSource(@javax.annotation.Nullable FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; + } + + + public CatalogChecklistTemplateFieldsInner fieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; + return this; + } + + /** + * Key identifying the field + * @return fieldKey + */ + @javax.annotation.Nullable + public String getFieldKey() { + return fieldKey; + } + + public void setFieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; + } + + + public CatalogChecklistTemplateFieldsInner catalogPropertyId(@javax.annotation.Nullable String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + return this; + } + + /** + * ID of the catalog property for custom fields + * @return catalogPropertyId + */ + @javax.annotation.Nullable + public String getCatalogPropertyId() { + return catalogPropertyId; + } + + public void setCatalogPropertyId(@javax.annotation.Nullable String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplateFieldsInner catalogChecklistTemplateFieldsInner = (CatalogChecklistTemplateFieldsInner) o; + return Objects.equals(this.fieldSource, catalogChecklistTemplateFieldsInner.fieldSource) && + Objects.equals(this.fieldKey, catalogChecklistTemplateFieldsInner.fieldKey) && + Objects.equals(this.catalogPropertyId, catalogChecklistTemplateFieldsInner.catalogPropertyId); + } + + 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(fieldSource, fieldKey, catalogPropertyId); + } + + 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 CatalogChecklistTemplateFieldsInner {\n"); + sb.append(" fieldSource: ").append(toIndentedString(fieldSource)).append("\n"); + sb.append(" fieldKey: ").append(toIndentedString(fieldKey)).append("\n"); + sb.append(" catalogPropertyId: ").append(toIndentedString(catalogPropertyId)).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_source"); + openapiFields.add("field_key"); + openapiFields.add("catalog_property_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 CatalogChecklistTemplateFieldsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplateFieldsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplateFieldsInner is not found in the empty JSON string", CatalogChecklistTemplateFieldsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplateFieldsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplateFieldsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("field_source") != null && !jsonObj.get("field_source").isJsonNull()) && !jsonObj.get("field_source").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_source").toString())); + } + // validate the optional field `field_source` + if (jsonObj.get("field_source") != null && !jsonObj.get("field_source").isJsonNull()) { + FieldSourceEnum.validateJsonElement(jsonObj.get("field_source")); + } + if ((jsonObj.get("field_key") != null && !jsonObj.get("field_key").isJsonNull()) && !jsonObj.get("field_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_key").toString())); + } + if ((jsonObj.get("catalog_property_id") != null && !jsonObj.get("catalog_property_id").isJsonNull()) && !jsonObj.get("catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_property_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplateFieldsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplateFieldsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplateFieldsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplateFieldsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplateFieldsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplateFieldsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplateFieldsInner + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplateFieldsInner + */ + public static CatalogChecklistTemplateFieldsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplateFieldsInner.class); + } + + /** + * Convert an instance of CatalogChecklistTemplateFieldsInner 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/CatalogChecklistTemplateList.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java new file mode 100644 index 00000000..9b6fd0f8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java @@ -0,0 +1,296 @@ +/* + * 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.CatalogChecklistTemplateResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CatalogChecklistTemplateList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplateList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CatalogChecklistTemplateList() { + } + + public CatalogChecklistTemplateList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CatalogChecklistTemplateList addDataItem(CatalogChecklistTemplateResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CatalogChecklistTemplateList links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CatalogChecklistTemplateList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplateList catalogChecklistTemplateList = (CatalogChecklistTemplateList) o; + return Objects.equals(this.data, catalogChecklistTemplateList.data) && + Objects.equals(this.links, catalogChecklistTemplateList.links) && + Objects.equals(this.meta, catalogChecklistTemplateList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogChecklistTemplateList {\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("}"); + 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"); + + // 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 CatalogChecklistTemplateList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplateList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplateList is not found in the empty JSON string", CatalogChecklistTemplateList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplateList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplateList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogChecklistTemplateList.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++) { + CatalogChecklistTemplateResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplateList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplateList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplateList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplateList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplateList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplateList given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplateList + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplateList + */ + public static CatalogChecklistTemplateList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplateList.class); + } + + /** + * Convert an instance of CatalogChecklistTemplateList 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/CatalogChecklistTemplateOwnersInner.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.java new file mode 100644 index 00000000..6667105f --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInner.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 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; + +/** + * CatalogChecklistTemplateOwnersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplateOwnersInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Type of owner + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + FIELD("field"), + + USER("user"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public CatalogChecklistTemplateOwnersInner() { + } + + public CatalogChecklistTemplateOwnersInner id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * User ID for user owners, or field key for field owners + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CatalogChecklistTemplateOwnersInner type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Type of owner + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplateOwnersInner catalogChecklistTemplateOwnersInner = (CatalogChecklistTemplateOwnersInner) o; + return Objects.equals(this.id, catalogChecklistTemplateOwnersInner.id) && + Objects.equals(this.type, catalogChecklistTemplateOwnersInner.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogChecklistTemplateOwnersInner {\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(); + } + + /** + * 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 CatalogChecklistTemplateOwnersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplateOwnersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplateOwnersInner is not found in the empty JSON string", CatalogChecklistTemplateOwnersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplateOwnersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplateOwnersInner` 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("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")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplateOwnersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplateOwnersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplateOwnersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplateOwnersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplateOwnersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplateOwnersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplateOwnersInner + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplateOwnersInner + */ + public static CatalogChecklistTemplateOwnersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplateOwnersInner.class); + } + + /** + * Convert an instance of CatalogChecklistTemplateOwnersInner 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/CatalogChecklistTemplateResponse.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java new file mode 100644 index 00000000..15dd410c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.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.CatalogChecklistTemplateResponseData; +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; + +/** + * CatalogChecklistTemplateResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplateResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CatalogChecklistTemplateResponseData data; + + public CatalogChecklistTemplateResponse() { + } + + public CatalogChecklistTemplateResponse data(@javax.annotation.Nonnull CatalogChecklistTemplateResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CatalogChecklistTemplateResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CatalogChecklistTemplateResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplateResponse catalogChecklistTemplateResponse = (CatalogChecklistTemplateResponse) o; + return Objects.equals(this.data, catalogChecklistTemplateResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogChecklistTemplateResponse {\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 CatalogChecklistTemplateResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplateResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplateResponse is not found in the empty JSON string", CatalogChecklistTemplateResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplateResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplateResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogChecklistTemplateResponse.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` + CatalogChecklistTemplateResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplateResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplateResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplateResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplateResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplateResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplateResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplateResponse + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplateResponse + */ + public static CatalogChecklistTemplateResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplateResponse.class); + } + + /** + * Convert an instance of CatalogChecklistTemplateResponse 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/CatalogChecklistTemplateResponseData.java b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.java new file mode 100644 index 00000000..6e31ca82 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponseData.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.CatalogChecklistTemplate; +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; + +/** + * CatalogChecklistTemplateResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogChecklistTemplateResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_CHECKLIST_TEMPLATES("catalog_checklist_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CatalogChecklistTemplate attributes; + + public CatalogChecklistTemplateResponseData() { + } + + public CatalogChecklistTemplateResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the checklist template + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CatalogChecklistTemplateResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CatalogChecklistTemplateResponseData attributes(@javax.annotation.Nonnull CatalogChecklistTemplate attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CatalogChecklistTemplate getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CatalogChecklistTemplate attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogChecklistTemplateResponseData catalogChecklistTemplateResponseData = (CatalogChecklistTemplateResponseData) o; + return Objects.equals(this.id, catalogChecklistTemplateResponseData.id) && + Objects.equals(this.type, catalogChecklistTemplateResponseData.type) && + Objects.equals(this.attributes, catalogChecklistTemplateResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogChecklistTemplateResponseData {\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 CatalogChecklistTemplateResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogChecklistTemplateResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogChecklistTemplateResponseData is not found in the empty JSON string", CatalogChecklistTemplateResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogChecklistTemplateResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogChecklistTemplateResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogChecklistTemplateResponseData.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` + CatalogChecklistTemplate.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogChecklistTemplateResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogChecklistTemplateResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogChecklistTemplateResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogChecklistTemplateResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogChecklistTemplateResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogChecklistTemplateResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogChecklistTemplateResponseData + * @throws IOException if the JSON string is invalid with respect to CatalogChecklistTemplateResponseData + */ + public static CatalogChecklistTemplateResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogChecklistTemplateResponseData.class); + } + + /** + * Convert an instance of CatalogChecklistTemplateResponseData 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/CatalogEntity.java b/src/main/java/com/rootly/client/model/CatalogEntity.java index f2ad1a86..1178c952 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntity.java +++ b/src/main/java/com/rootly/client/model/CatalogEntity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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 @@ /** * CatalogEntity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntity { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +69,11 @@ public class CatalogEntity { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_BACKSTAGE_ID = "backstage_id"; + @SerializedName(SERIALIZED_NAME_BACKSTAGE_ID) + @javax.annotation.Nullable + private String backstageId; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -76,6 +84,11 @@ public class CatalogEntity { @javax.annotation.Nonnull private String updatedAt; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public CatalogEntity() { } @@ -136,6 +149,25 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public CatalogEntity backstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + return this; + } + + /** + * The Backstage entity ID this catalog entity is linked to. + * @return backstageId + */ + @javax.annotation.Nullable + public String getBackstageId() { + return backstageId; + } + + public void setBackstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + } + + public CatalogEntity createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -174,6 +206,33 @@ public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { } + public CatalogEntity properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public CatalogEntity addPropertiesItem(NewCatalogEntityDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this catalog entity + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -187,8 +246,10 @@ public boolean equals(Object o) { return Objects.equals(this.name, catalogEntity.name) && Objects.equals(this.description, catalogEntity.description) && Objects.equals(this.position, catalogEntity.position) && + Objects.equals(this.backstageId, catalogEntity.backstageId) && Objects.equals(this.createdAt, catalogEntity.createdAt) && - Objects.equals(this.updatedAt, catalogEntity.updatedAt); + Objects.equals(this.updatedAt, catalogEntity.updatedAt) && + Objects.equals(this.properties, catalogEntity.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -197,7 +258,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, position, createdAt, updatedAt); + return Objects.hash(name, description, position, backstageId, createdAt, updatedAt, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -214,8 +275,10 @@ public String toString() { 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(" backstageId: ").append(toIndentedString(backstageId)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -241,8 +304,10 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("backstage_id"); openapiFields.add("created_at"); openapiFields.add("updated_at"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -286,12 +351,29 @@ 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("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("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())); } + 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++) { + NewCatalogEntityDataAttributesPropertiesInner.validateJsonElement(jsonArrayproperties.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java new file mode 100644 index 00000000..01bc8a96 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklist.java @@ -0,0 +1,695 @@ +/* + * 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.CatalogEntityChecklistChecklistFieldsInner; +import com.rootly.client.model.CatalogEntityChecklistChecklistOwnersInner; +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; + +/** + * CatalogEntityChecklist + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String catalogChecklistTemplateId; + + /** + * The type of the auditable entity + */ + @JsonAdapter(AuditableTypeEnum.Adapter.class) + public enum AuditableTypeEnum { + SERVICE("Service"), + + FUNCTIONALITY("Functionality"), + + ENVIRONMENT("Environment"), + + GROUP("Group"), + + CAUSE("Cause"), + + INCIDENT_TYPE("IncidentType"), + + CATALOG_ENTITY("CatalogEntity"); + + private String value; + + AuditableTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AuditableTypeEnum fromValue(String value) { + for (AuditableTypeEnum b : AuditableTypeEnum.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 AuditableTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AuditableTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AuditableTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AuditableTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AUDITABLE_TYPE = "auditable_type"; + @SerializedName(SERIALIZED_NAME_AUDITABLE_TYPE) + @javax.annotation.Nonnull + private AuditableTypeEnum auditableType; + + public static final String SERIALIZED_NAME_AUDITABLE_ID = "auditable_id"; + @SerializedName(SERIALIZED_NAME_AUDITABLE_ID) + @javax.annotation.Nonnull + private String auditableId; + + /** + * The status of the checklist + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + TRIGGERED("triggered"), + + IN_PROGRESS("in_progress"), + + COMPLETED("completed"), + + 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) + @javax.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_STARTED_AT = "started_at"; + @SerializedName(SERIALIZED_NAME_STARTED_AT) + @javax.annotation.Nullable + private String startedAt; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + @javax.annotation.Nullable + private String completedAt; + + public static final String SERIALIZED_NAME_COMPLETED_BY_USER_ID = "completed_by_user_id"; + @SerializedName(SERIALIZED_NAME_COMPLETED_BY_USER_ID) + @javax.annotation.Nullable + private String completedByUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_CHECKLIST_FIELDS = "checklist_fields"; + @SerializedName(SERIALIZED_NAME_CHECKLIST_FIELDS) + @javax.annotation.Nullable + private List checklistFields; + + public static final String SERIALIZED_NAME_CHECKLIST_OWNERS = "checklist_owners"; + @SerializedName(SERIALIZED_NAME_CHECKLIST_OWNERS) + @javax.annotation.Nullable + private List checklistOwners; + + public CatalogEntityChecklist() { + } + + public CatalogEntityChecklist catalogChecklistTemplateId(@javax.annotation.Nonnull String catalogChecklistTemplateId) { + this.catalogChecklistTemplateId = catalogChecklistTemplateId; + return this; + } + + /** + * The ID of the checklist template + * @return catalogChecklistTemplateId + */ + @javax.annotation.Nonnull + public String getCatalogChecklistTemplateId() { + return catalogChecklistTemplateId; + } + + public void setCatalogChecklistTemplateId(@javax.annotation.Nonnull String catalogChecklistTemplateId) { + this.catalogChecklistTemplateId = catalogChecklistTemplateId; + } + + + public CatalogEntityChecklist auditableType(@javax.annotation.Nonnull AuditableTypeEnum auditableType) { + this.auditableType = auditableType; + return this; + } + + /** + * The type of the auditable entity + * @return auditableType + */ + @javax.annotation.Nonnull + public AuditableTypeEnum getAuditableType() { + return auditableType; + } + + public void setAuditableType(@javax.annotation.Nonnull AuditableTypeEnum auditableType) { + this.auditableType = auditableType; + } + + + public CatalogEntityChecklist auditableId(@javax.annotation.Nonnull String auditableId) { + this.auditableId = auditableId; + return this; + } + + /** + * The ID of the auditable entity + * @return auditableId + */ + @javax.annotation.Nonnull + public String getAuditableId() { + return auditableId; + } + + public void setAuditableId(@javax.annotation.Nonnull String auditableId) { + this.auditableId = auditableId; + } + + + public CatalogEntityChecklist status(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * The status of the checklist + * @return status + */ + @javax.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public CatalogEntityChecklist startedAt(@javax.annotation.Nullable String startedAt) { + this.startedAt = startedAt; + return this; + } + + /** + * When the checklist was started + * @return startedAt + */ + @javax.annotation.Nullable + public String getStartedAt() { + return startedAt; + } + + public void setStartedAt(@javax.annotation.Nullable String startedAt) { + this.startedAt = startedAt; + } + + + public CatalogEntityChecklist completedAt(@javax.annotation.Nullable String completedAt) { + this.completedAt = completedAt; + return this; + } + + /** + * When the checklist was completed + * @return completedAt + */ + @javax.annotation.Nullable + public String getCompletedAt() { + return completedAt; + } + + public void setCompletedAt(@javax.annotation.Nullable String completedAt) { + this.completedAt = completedAt; + } + + + public CatalogEntityChecklist completedByUserId(@javax.annotation.Nullable String completedByUserId) { + this.completedByUserId = completedByUserId; + return this; + } + + /** + * The ID of the user who completed the checklist + * @return completedByUserId + */ + @javax.annotation.Nullable + public String getCompletedByUserId() { + return completedByUserId; + } + + public void setCompletedByUserId(@javax.annotation.Nullable String completedByUserId) { + this.completedByUserId = completedByUserId; + } + + + public CatalogEntityChecklist createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CatalogEntityChecklist updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public CatalogEntityChecklist checklistFields(@javax.annotation.Nullable List checklistFields) { + this.checklistFields = checklistFields; + return this; + } + + public CatalogEntityChecklist addChecklistFieldsItem(CatalogEntityChecklistChecklistFieldsInner checklistFieldsItem) { + if (this.checklistFields == null) { + this.checklistFields = new ArrayList<>(); + } + this.checklistFields.add(checklistFieldsItem); + return this; + } + + /** + * Checklist fields + * @return checklistFields + */ + @javax.annotation.Nullable + public List getChecklistFields() { + return checklistFields; + } + + public void setChecklistFields(@javax.annotation.Nullable List checklistFields) { + this.checklistFields = checklistFields; + } + + + public CatalogEntityChecklist checklistOwners(@javax.annotation.Nullable List checklistOwners) { + this.checklistOwners = checklistOwners; + return this; + } + + public CatalogEntityChecklist addChecklistOwnersItem(CatalogEntityChecklistChecklistOwnersInner checklistOwnersItem) { + if (this.checklistOwners == null) { + this.checklistOwners = new ArrayList<>(); + } + this.checklistOwners.add(checklistOwnersItem); + return this; + } + + /** + * Checklist owners + * @return checklistOwners + */ + @javax.annotation.Nullable + public List getChecklistOwners() { + return checklistOwners; + } + + public void setChecklistOwners(@javax.annotation.Nullable List checklistOwners) { + this.checklistOwners = checklistOwners; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklist catalogEntityChecklist = (CatalogEntityChecklist) o; + return Objects.equals(this.catalogChecklistTemplateId, catalogEntityChecklist.catalogChecklistTemplateId) && + Objects.equals(this.auditableType, catalogEntityChecklist.auditableType) && + Objects.equals(this.auditableId, catalogEntityChecklist.auditableId) && + Objects.equals(this.status, catalogEntityChecklist.status) && + Objects.equals(this.startedAt, catalogEntityChecklist.startedAt) && + Objects.equals(this.completedAt, catalogEntityChecklist.completedAt) && + Objects.equals(this.completedByUserId, catalogEntityChecklist.completedByUserId) && + Objects.equals(this.createdAt, catalogEntityChecklist.createdAt) && + Objects.equals(this.updatedAt, catalogEntityChecklist.updatedAt) && + Objects.equals(this.checklistFields, catalogEntityChecklist.checklistFields) && + Objects.equals(this.checklistOwners, catalogEntityChecklist.checklistOwners); + } + + 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(catalogChecklistTemplateId, auditableType, auditableId, status, startedAt, completedAt, completedByUserId, createdAt, updatedAt, checklistFields, checklistOwners); + } + + 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 CatalogEntityChecklist {\n"); + sb.append(" catalogChecklistTemplateId: ").append(toIndentedString(catalogChecklistTemplateId)).append("\n"); + sb.append(" auditableType: ").append(toIndentedString(auditableType)).append("\n"); + sb.append(" auditableId: ").append(toIndentedString(auditableId)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).append("\n"); + sb.append(" completedByUserId: ").append(toIndentedString(completedByUserId)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" checklistFields: ").append(toIndentedString(checklistFields)).append("\n"); + sb.append(" checklistOwners: ").append(toIndentedString(checklistOwners)).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("catalog_checklist_template_id"); + openapiFields.add("auditable_type"); + openapiFields.add("auditable_id"); + openapiFields.add("status"); + openapiFields.add("started_at"); + openapiFields.add("completed_at"); + openapiFields.add("completed_by_user_id"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("checklist_fields"); + openapiFields.add("checklist_owners"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("catalog_checklist_template_id"); + openapiRequiredFields.add("auditable_type"); + openapiRequiredFields.add("auditable_id"); + 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 CatalogEntityChecklist + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklist.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklist is not found in the empty JSON string", CatalogEntityChecklist.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklist.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklist` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogEntityChecklist.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("catalog_checklist_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_checklist_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_checklist_template_id").toString())); + } + if (!jsonObj.get("auditable_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `auditable_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auditable_type").toString())); + } + // validate the required field `auditable_type` + AuditableTypeEnum.validateJsonElement(jsonObj.get("auditable_type")); + if (!jsonObj.get("auditable_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `auditable_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auditable_id").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("started_at") != null && !jsonObj.get("started_at").isJsonNull()) && !jsonObj.get("started_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `started_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("started_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("completed_by_user_id") != null && !jsonObj.get("completed_by_user_id").isJsonNull()) && !jsonObj.get("completed_by_user_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completed_by_user_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completed_by_user_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("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())); + } + if (jsonObj.get("checklist_fields") != null && !jsonObj.get("checklist_fields").isJsonNull()) { + JsonArray jsonArraychecklistFields = jsonObj.getAsJsonArray("checklist_fields"); + if (jsonArraychecklistFields != null) { + // ensure the json data is an array + if (!jsonObj.get("checklist_fields").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `checklist_fields` to be an array in the JSON string but got `%s`", jsonObj.get("checklist_fields").toString())); + } + + // validate the optional field `checklist_fields` (array) + for (int i = 0; i < jsonArraychecklistFields.size(); i++) { + CatalogEntityChecklistChecklistFieldsInner.validateJsonElement(jsonArraychecklistFields.get(i)); + }; + } + } + if (jsonObj.get("checklist_owners") != null && !jsonObj.get("checklist_owners").isJsonNull()) { + JsonArray jsonArraychecklistOwners = jsonObj.getAsJsonArray("checklist_owners"); + if (jsonArraychecklistOwners != null) { + // ensure the json data is an array + if (!jsonObj.get("checklist_owners").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `checklist_owners` to be an array in the JSON string but got `%s`", jsonObj.get("checklist_owners").toString())); + } + + // validate the optional field `checklist_owners` (array) + for (int i = 0; i < jsonArraychecklistOwners.size(); i++) { + CatalogEntityChecklistChecklistOwnersInner.validateJsonElement(jsonArraychecklistOwners.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklist.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklist' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklist.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklist value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklist read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklist given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklist + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklist + */ + public static CatalogEntityChecklist fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklist.class); + } + + /** + * Convert an instance of CatalogEntityChecklist 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/CatalogEntityChecklistChecklistFieldsInner.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.java new file mode 100644 index 00000000..7aa5ee75 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInner.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.CatalogEntityChecklistChecklistFieldsInnerData; +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; + +/** + * CatalogEntityChecklistChecklistFieldsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistChecklistFieldsInner { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private CatalogEntityChecklistChecklistFieldsInnerData data; + + public CatalogEntityChecklistChecklistFieldsInner() { + } + + public CatalogEntityChecklistChecklistFieldsInner data(@javax.annotation.Nullable CatalogEntityChecklistChecklistFieldsInnerData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public CatalogEntityChecklistChecklistFieldsInnerData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable CatalogEntityChecklistChecklistFieldsInnerData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistFieldsInner catalogEntityChecklistChecklistFieldsInner = (CatalogEntityChecklistChecklistFieldsInner) o; + return Objects.equals(this.data, catalogEntityChecklistChecklistFieldsInner.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistChecklistFieldsInner {\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 CatalogEntityChecklistChecklistFieldsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistFieldsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistFieldsInner is not found in the empty JSON string", CatalogEntityChecklistChecklistFieldsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistFieldsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistFieldsInner` 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()) { + CatalogEntityChecklistChecklistFieldsInnerData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistChecklistFieldsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistFieldsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistFieldsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistFieldsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistFieldsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistFieldsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistFieldsInner + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistFieldsInner + */ + public static CatalogEntityChecklistChecklistFieldsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistFieldsInner.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistFieldsInner 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/CatalogEntityChecklistChecklistFieldsInnerData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java new file mode 100644 index 00000000..4a72382a --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerData.java @@ -0,0 +1,322 @@ +/* + * 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.CatalogEntityChecklistChecklistFieldsInnerDataAttributes; +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; + +/** + * CatalogEntityChecklistChecklistFieldsInnerData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistChecklistFieldsInnerData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_ENTITY_CHECKLIST_FIELDS("catalog_entity_checklist_fields"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private CatalogEntityChecklistChecklistFieldsInnerDataAttributes attributes; + + public CatalogEntityChecklistChecklistFieldsInnerData() { + } + + public CatalogEntityChecklistChecklistFieldsInnerData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the checklist field + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CatalogEntityChecklistChecklistFieldsInnerData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public CatalogEntityChecklistChecklistFieldsInnerData attributes(@javax.annotation.Nullable CatalogEntityChecklistChecklistFieldsInnerDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable CatalogEntityChecklistChecklistFieldsInnerDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistFieldsInnerData catalogEntityChecklistChecklistFieldsInnerData = (CatalogEntityChecklistChecklistFieldsInnerData) o; + return Objects.equals(this.id, catalogEntityChecklistChecklistFieldsInnerData.id) && + Objects.equals(this.type, catalogEntityChecklistChecklistFieldsInnerData.type) && + Objects.equals(this.attributes, catalogEntityChecklistChecklistFieldsInnerData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistChecklistFieldsInnerData {\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(); + } + + /** + * 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 CatalogEntityChecklistChecklistFieldsInnerData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistFieldsInnerData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistFieldsInnerData is not found in the empty JSON string", CatalogEntityChecklistChecklistFieldsInnerData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistFieldsInnerData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistFieldsInnerData` 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("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()) { + CatalogEntityChecklistChecklistFieldsInnerDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistChecklistFieldsInnerData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistFieldsInnerData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistFieldsInnerData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistFieldsInnerData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistFieldsInnerData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistFieldsInnerData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistFieldsInnerData + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistFieldsInnerData + */ + public static CatalogEntityChecklistChecklistFieldsInnerData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistFieldsInnerData.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistFieldsInnerData 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/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java new file mode 100644 index 00000000..ac02106a --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributes.java @@ -0,0 +1,452 @@ +/* + * 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; + +/** + * CatalogEntityChecklistChecklistFieldsInnerDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String catalogEntityChecklistId; + + public static final String SERIALIZED_NAME_CATALOG_CHECKLIST_TEMPLATE_FIELD_ID = "catalog_checklist_template_field_id"; + @SerializedName(SERIALIZED_NAME_CATALOG_CHECKLIST_TEMPLATE_FIELD_ID) + @javax.annotation.Nullable + private String catalogChecklistTemplateFieldId; + + public static final String SERIALIZED_NAME_FIELD_KEY = "field_key"; + @SerializedName(SERIALIZED_NAME_FIELD_KEY) + @javax.annotation.Nullable + private String fieldKey; + + public static final String SERIALIZED_NAME_CHECKED = "checked"; + @SerializedName(SERIALIZED_NAME_CHECKED) + @javax.annotation.Nullable + private Boolean checked; + + public static final String SERIALIZED_NAME_VALUE_SNAPSHOT = "value_snapshot"; + @SerializedName(SERIALIZED_NAME_VALUE_SNAPSHOT) + @javax.annotation.Nullable + private Object valueSnapshot; + + public static final String SERIALIZED_NAME_COMPLETED_BY_USER_ID = "completed_by_user_id"; + @SerializedName(SERIALIZED_NAME_COMPLETED_BY_USER_ID) + @javax.annotation.Nullable + private String completedByUserId; + + public static final String SERIALIZED_NAME_COMPLETED_AT = "completed_at"; + @SerializedName(SERIALIZED_NAME_COMPLETED_AT) + @javax.annotation.Nullable + private String completedAt; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes() { + } + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes catalogEntityChecklistId(@javax.annotation.Nullable String catalogEntityChecklistId) { + this.catalogEntityChecklistId = catalogEntityChecklistId; + return this; + } + + /** + * The ID of the parent checklist + * @return catalogEntityChecklistId + */ + @javax.annotation.Nullable + public String getCatalogEntityChecklistId() { + return catalogEntityChecklistId; + } + + public void setCatalogEntityChecklistId(@javax.annotation.Nullable String catalogEntityChecklistId) { + this.catalogEntityChecklistId = catalogEntityChecklistId; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes catalogChecklistTemplateFieldId(@javax.annotation.Nullable String catalogChecklistTemplateFieldId) { + this.catalogChecklistTemplateFieldId = catalogChecklistTemplateFieldId; + return this; + } + + /** + * The ID of the template field + * @return catalogChecklistTemplateFieldId + */ + @javax.annotation.Nullable + public String getCatalogChecklistTemplateFieldId() { + return catalogChecklistTemplateFieldId; + } + + public void setCatalogChecklistTemplateFieldId(@javax.annotation.Nullable String catalogChecklistTemplateFieldId) { + this.catalogChecklistTemplateFieldId = catalogChecklistTemplateFieldId; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes fieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; + return this; + } + + /** + * The field key + * @return fieldKey + */ + @javax.annotation.Nullable + public String getFieldKey() { + return fieldKey; + } + + public void setFieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes checked(@javax.annotation.Nullable Boolean checked) { + this.checked = checked; + return this; + } + + /** + * Whether the field is checked + * @return checked + */ + @javax.annotation.Nullable + public Boolean getChecked() { + return checked; + } + + public void setChecked(@javax.annotation.Nullable Boolean checked) { + this.checked = checked; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes valueSnapshot(@javax.annotation.Nullable Object valueSnapshot) { + this.valueSnapshot = valueSnapshot; + return this; + } + + /** + * The value snapshot at time of checking + * @return valueSnapshot + */ + @javax.annotation.Nullable + public Object getValueSnapshot() { + return valueSnapshot; + } + + public void setValueSnapshot(@javax.annotation.Nullable Object valueSnapshot) { + this.valueSnapshot = valueSnapshot; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes completedByUserId(@javax.annotation.Nullable String completedByUserId) { + this.completedByUserId = completedByUserId; + return this; + } + + /** + * The ID of the user who checked the field + * @return completedByUserId + */ + @javax.annotation.Nullable + public String getCompletedByUserId() { + return completedByUserId; + } + + public void setCompletedByUserId(@javax.annotation.Nullable String completedByUserId) { + this.completedByUserId = completedByUserId; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes completedAt(@javax.annotation.Nullable String completedAt) { + this.completedAt = completedAt; + return this; + } + + /** + * When the field was checked + * @return completedAt + */ + @javax.annotation.Nullable + public String getCompletedAt() { + return completedAt; + } + + public void setCompletedAt(@javax.annotation.Nullable String completedAt) { + this.completedAt = completedAt; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistFieldsInnerDataAttributes catalogEntityChecklistChecklistFieldsInnerDataAttributes = (CatalogEntityChecklistChecklistFieldsInnerDataAttributes) o; + return Objects.equals(this.catalogEntityChecklistId, catalogEntityChecklistChecklistFieldsInnerDataAttributes.catalogEntityChecklistId) && + Objects.equals(this.catalogChecklistTemplateFieldId, catalogEntityChecklistChecklistFieldsInnerDataAttributes.catalogChecklistTemplateFieldId) && + Objects.equals(this.fieldKey, catalogEntityChecklistChecklistFieldsInnerDataAttributes.fieldKey) && + Objects.equals(this.checked, catalogEntityChecklistChecklistFieldsInnerDataAttributes.checked) && + Objects.equals(this.valueSnapshot, catalogEntityChecklistChecklistFieldsInnerDataAttributes.valueSnapshot) && + Objects.equals(this.completedByUserId, catalogEntityChecklistChecklistFieldsInnerDataAttributes.completedByUserId) && + Objects.equals(this.completedAt, catalogEntityChecklistChecklistFieldsInnerDataAttributes.completedAt) && + Objects.equals(this.createdAt, catalogEntityChecklistChecklistFieldsInnerDataAttributes.createdAt) && + Objects.equals(this.updatedAt, catalogEntityChecklistChecklistFieldsInnerDataAttributes.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(catalogEntityChecklistId, catalogChecklistTemplateFieldId, fieldKey, checked, valueSnapshot, completedByUserId, completedAt, 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 CatalogEntityChecklistChecklistFieldsInnerDataAttributes {\n"); + sb.append(" catalogEntityChecklistId: ").append(toIndentedString(catalogEntityChecklistId)).append("\n"); + sb.append(" catalogChecklistTemplateFieldId: ").append(toIndentedString(catalogChecklistTemplateFieldId)).append("\n"); + sb.append(" fieldKey: ").append(toIndentedString(fieldKey)).append("\n"); + sb.append(" checked: ").append(toIndentedString(checked)).append("\n"); + sb.append(" valueSnapshot: ").append(toIndentedString(valueSnapshot)).append("\n"); + sb.append(" completedByUserId: ").append(toIndentedString(completedByUserId)).append("\n"); + sb.append(" completedAt: ").append(toIndentedString(completedAt)).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("catalog_entity_checklist_id"); + openapiFields.add("catalog_checklist_template_field_id"); + openapiFields.add("field_key"); + openapiFields.add("checked"); + openapiFields.add("value_snapshot"); + openapiFields.add("completed_by_user_id"); + openapiFields.add("completed_at"); + 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 CatalogEntityChecklistChecklistFieldsInnerDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistFieldsInnerDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistFieldsInnerDataAttributes is not found in the empty JSON string", CatalogEntityChecklistChecklistFieldsInnerDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistFieldsInnerDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistFieldsInnerDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("catalog_entity_checklist_id") != null && !jsonObj.get("catalog_entity_checklist_id").isJsonNull()) && !jsonObj.get("catalog_entity_checklist_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_entity_checklist_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_entity_checklist_id").toString())); + } + if ((jsonObj.get("catalog_checklist_template_field_id") != null && !jsonObj.get("catalog_checklist_template_field_id").isJsonNull()) && !jsonObj.get("catalog_checklist_template_field_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_checklist_template_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_checklist_template_field_id").toString())); + } + if ((jsonObj.get("field_key") != null && !jsonObj.get("field_key").isJsonNull()) && !jsonObj.get("field_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_key").toString())); + } + if ((jsonObj.get("completed_by_user_id") != null && !jsonObj.get("completed_by_user_id").isJsonNull()) && !jsonObj.get("completed_by_user_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completed_by_user_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completed_by_user_id").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("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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!CatalogEntityChecklistChecklistFieldsInnerDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistFieldsInnerDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistFieldsInnerDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistFieldsInnerDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistFieldsInnerDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistFieldsInnerDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistFieldsInnerDataAttributes + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistFieldsInnerDataAttributes + */ + public static CatalogEntityChecklistChecklistFieldsInnerDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistFieldsInnerDataAttributes.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistFieldsInnerDataAttributes 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/CatalogEntityChecklistChecklistOwnersInner.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.java new file mode 100644 index 00000000..5eb9081c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInner.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.CatalogEntityChecklistChecklistOwnersInnerData; +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; + +/** + * CatalogEntityChecklistChecklistOwnersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistChecklistOwnersInner { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private CatalogEntityChecklistChecklistOwnersInnerData data; + + public CatalogEntityChecklistChecklistOwnersInner() { + } + + public CatalogEntityChecklistChecklistOwnersInner data(@javax.annotation.Nullable CatalogEntityChecklistChecklistOwnersInnerData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public CatalogEntityChecklistChecklistOwnersInnerData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable CatalogEntityChecklistChecklistOwnersInnerData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistOwnersInner catalogEntityChecklistChecklistOwnersInner = (CatalogEntityChecklistChecklistOwnersInner) o; + return Objects.equals(this.data, catalogEntityChecklistChecklistOwnersInner.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistChecklistOwnersInner {\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 CatalogEntityChecklistChecklistOwnersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistOwnersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistOwnersInner is not found in the empty JSON string", CatalogEntityChecklistChecklistOwnersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistOwnersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistOwnersInner` 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()) { + CatalogEntityChecklistChecklistOwnersInnerData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistChecklistOwnersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistOwnersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistOwnersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistOwnersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistOwnersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistOwnersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistOwnersInner + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistOwnersInner + */ + public static CatalogEntityChecklistChecklistOwnersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistOwnersInner.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistOwnersInner 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/CatalogEntityChecklistChecklistOwnersInnerData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java new file mode 100644 index 00000000..b436e0b1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerData.java @@ -0,0 +1,322 @@ +/* + * 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.CatalogEntityChecklistChecklistOwnersInnerDataAttributes; +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; + +/** + * CatalogEntityChecklistChecklistOwnersInnerData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistChecklistOwnersInnerData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_ENTITY_CHECKLIST_OWNERS("catalog_entity_checklist_owners"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private CatalogEntityChecklistChecklistOwnersInnerDataAttributes attributes; + + public CatalogEntityChecklistChecklistOwnersInnerData() { + } + + public CatalogEntityChecklistChecklistOwnersInnerData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the checklist owner + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CatalogEntityChecklistChecklistOwnersInnerData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public CatalogEntityChecklistChecklistOwnersInnerData attributes(@javax.annotation.Nullable CatalogEntityChecklistChecklistOwnersInnerDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable CatalogEntityChecklistChecklistOwnersInnerDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistOwnersInnerData catalogEntityChecklistChecklistOwnersInnerData = (CatalogEntityChecklistChecklistOwnersInnerData) o; + return Objects.equals(this.id, catalogEntityChecklistChecklistOwnersInnerData.id) && + Objects.equals(this.type, catalogEntityChecklistChecklistOwnersInnerData.type) && + Objects.equals(this.attributes, catalogEntityChecklistChecklistOwnersInnerData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistChecklistOwnersInnerData {\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(); + } + + /** + * 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 CatalogEntityChecklistChecklistOwnersInnerData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistOwnersInnerData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistOwnersInnerData is not found in the empty JSON string", CatalogEntityChecklistChecklistOwnersInnerData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistOwnersInnerData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistOwnersInnerData` 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("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()) { + CatalogEntityChecklistChecklistOwnersInnerDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistChecklistOwnersInnerData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistOwnersInnerData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistOwnersInnerData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistOwnersInnerData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistOwnersInnerData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistOwnersInnerData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistOwnersInnerData + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistOwnersInnerData + */ + public static CatalogEntityChecklistChecklistOwnersInnerData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistOwnersInnerData.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistOwnersInnerData 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/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java new file mode 100644 index 00000000..d90c0773 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributes.java @@ -0,0 +1,296 @@ +/* + * 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; + +/** + * CatalogEntityChecklistChecklistOwnersInnerDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String catalogEntityChecklistId; + + public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) + @javax.annotation.Nullable + private String ownerUserId; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes() { + } + + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes catalogEntityChecklistId(@javax.annotation.Nullable String catalogEntityChecklistId) { + this.catalogEntityChecklistId = catalogEntityChecklistId; + return this; + } + + /** + * The ID of the parent checklist + * @return catalogEntityChecklistId + */ + @javax.annotation.Nullable + public String getCatalogEntityChecklistId() { + return catalogEntityChecklistId; + } + + public void setCatalogEntityChecklistId(@javax.annotation.Nullable String catalogEntityChecklistId) { + this.catalogEntityChecklistId = catalogEntityChecklistId; + } + + + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes ownerUserId(@javax.annotation.Nullable String ownerUserId) { + this.ownerUserId = ownerUserId; + return this; + } + + /** + * The ID of the owner user + * @return ownerUserId + */ + @javax.annotation.Nullable + public String getOwnerUserId() { + return ownerUserId; + } + + public void setOwnerUserId(@javax.annotation.Nullable String ownerUserId) { + this.ownerUserId = ownerUserId; + } + + + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistChecklistOwnersInnerDataAttributes catalogEntityChecklistChecklistOwnersInnerDataAttributes = (CatalogEntityChecklistChecklistOwnersInnerDataAttributes) o; + return Objects.equals(this.catalogEntityChecklistId, catalogEntityChecklistChecklistOwnersInnerDataAttributes.catalogEntityChecklistId) && + Objects.equals(this.ownerUserId, catalogEntityChecklistChecklistOwnersInnerDataAttributes.ownerUserId) && + Objects.equals(this.createdAt, catalogEntityChecklistChecklistOwnersInnerDataAttributes.createdAt) && + Objects.equals(this.updatedAt, catalogEntityChecklistChecklistOwnersInnerDataAttributes.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(catalogEntityChecklistId, ownerUserId, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistChecklistOwnersInnerDataAttributes {\n"); + sb.append(" catalogEntityChecklistId: ").append(toIndentedString(catalogEntityChecklistId)).append("\n"); + sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).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("catalog_entity_checklist_id"); + openapiFields.add("owner_user_id"); + 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 CatalogEntityChecklistChecklistOwnersInnerDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistChecklistOwnersInnerDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistChecklistOwnersInnerDataAttributes is not found in the empty JSON string", CatalogEntityChecklistChecklistOwnersInnerDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistChecklistOwnersInnerDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistChecklistOwnersInnerDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("catalog_entity_checklist_id") != null && !jsonObj.get("catalog_entity_checklist_id").isJsonNull()) && !jsonObj.get("catalog_entity_checklist_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_entity_checklist_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_entity_checklist_id").toString())); + } + if ((jsonObj.get("owner_user_id") != null && !jsonObj.get("owner_user_id").isJsonNull()) && !jsonObj.get("owner_user_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `owner_user_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("owner_user_id").toString())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!CatalogEntityChecklistChecklistOwnersInnerDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistChecklistOwnersInnerDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistChecklistOwnersInnerDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistChecklistOwnersInnerDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistChecklistOwnersInnerDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistChecklistOwnersInnerDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistChecklistOwnersInnerDataAttributes + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistChecklistOwnersInnerDataAttributes + */ + public static CatalogEntityChecklistChecklistOwnersInnerDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistChecklistOwnersInnerDataAttributes.class); + } + + /** + * Convert an instance of CatalogEntityChecklistChecklistOwnersInnerDataAttributes 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/CatalogEntityChecklistList.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java new file mode 100644 index 00000000..c634cfb2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java @@ -0,0 +1,296 @@ +/* + * 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.CatalogEntityChecklistResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CatalogEntityChecklistList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CatalogEntityChecklistList() { + } + + public CatalogEntityChecklistList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CatalogEntityChecklistList addDataItem(CatalogEntityChecklistResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CatalogEntityChecklistList links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CatalogEntityChecklistList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistList catalogEntityChecklistList = (CatalogEntityChecklistList) o; + return Objects.equals(this.data, catalogEntityChecklistList.data) && + Objects.equals(this.links, catalogEntityChecklistList.links) && + Objects.equals(this.meta, catalogEntityChecklistList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistList {\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("}"); + 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"); + + // 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 CatalogEntityChecklistList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistList is not found in the empty JSON string", CatalogEntityChecklistList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogEntityChecklistList.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++) { + CatalogEntityChecklistResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistList given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistList + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistList + */ + public static CatalogEntityChecklistList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistList.class); + } + + /** + * Convert an instance of CatalogEntityChecklistList 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/CatalogEntityChecklistResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java new file mode 100644 index 00000000..a2e97b03 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.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.CatalogEntityChecklistResponseData; +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; + +/** + * CatalogEntityChecklistResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CatalogEntityChecklistResponseData data; + + public CatalogEntityChecklistResponse() { + } + + public CatalogEntityChecklistResponse data(@javax.annotation.Nonnull CatalogEntityChecklistResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CatalogEntityChecklistResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CatalogEntityChecklistResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistResponse catalogEntityChecklistResponse = (CatalogEntityChecklistResponse) o; + return Objects.equals(this.data, catalogEntityChecklistResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistResponse {\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 CatalogEntityChecklistResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistResponse is not found in the empty JSON string", CatalogEntityChecklistResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogEntityChecklistResponse.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` + CatalogEntityChecklistResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistResponse + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistResponse + */ + public static CatalogEntityChecklistResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistResponse.class); + } + + /** + * Convert an instance of CatalogEntityChecklistResponse 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/CatalogEntityChecklistResponseData.java b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.java new file mode 100644 index 00000000..45b383fa --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponseData.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.CatalogEntityChecklist; +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; + +/** + * CatalogEntityChecklistResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogEntityChecklistResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_ENTITY_CHECKLISTS("catalog_entity_checklists"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CatalogEntityChecklist attributes; + + public CatalogEntityChecklistResponseData() { + } + + public CatalogEntityChecklistResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the entity checklist + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CatalogEntityChecklistResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CatalogEntityChecklistResponseData attributes(@javax.annotation.Nonnull CatalogEntityChecklist attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CatalogEntityChecklist getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CatalogEntityChecklist attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogEntityChecklistResponseData catalogEntityChecklistResponseData = (CatalogEntityChecklistResponseData) o; + return Objects.equals(this.id, catalogEntityChecklistResponseData.id) && + Objects.equals(this.type, catalogEntityChecklistResponseData.type) && + Objects.equals(this.attributes, catalogEntityChecklistResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogEntityChecklistResponseData {\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 CatalogEntityChecklistResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogEntityChecklistResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogEntityChecklistResponseData is not found in the empty JSON string", CatalogEntityChecklistResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogEntityChecklistResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogEntityChecklistResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogEntityChecklistResponseData.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` + CatalogEntityChecklist.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogEntityChecklistResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogEntityChecklistResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogEntityChecklistResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogEntityChecklistResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogEntityChecklistResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogEntityChecklistResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogEntityChecklistResponseData + * @throws IOException if the JSON string is invalid with respect to CatalogEntityChecklistResponseData + */ + public static CatalogEntityChecklistResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogEntityChecklistResponseData.class); + } + + /** + * Convert an instance of CatalogEntityChecklistResponseData 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/CatalogEntityList.java b/src/main/java/com/rootly/client/model/CatalogEntityList.java index 0e30ba00..d723d989 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogEntityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CatalogEntityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CatalogEntityList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CatalogEntityList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CatalogEntityList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CatalogEntityList catalogEntityList = (CatalogEntityList) o; return Objects.equals(this.data, catalogEntityList.data) && - Objects.equals(this.links, catalogEntityList.links); + Objects.equals(this.links, catalogEntityList.links) && + Objects.equals(this.meta, catalogEntityList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CatalogEntityList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CatalogEntityProperty.java b/src/main/java/com/rootly/client/model/CatalogEntityProperty.java index b5c04ea7..b3df15bf 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityProperty.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,9 +46,11 @@ import com.rootly.client.JSON; /** - * CatalogEntityProperty + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. + * @deprecated */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@Deprecated +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -67,7 +69,9 @@ public class CatalogEntityProperty { public enum KeyEnum { TEXT("text"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + SLACK("slack"); private String value; diff --git a/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java b/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java index e1468a0b..a38047ff 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogEntityPropertyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -50,9 +51,11 @@ import com.rootly.client.JSON; /** - * CatalogEntityPropertyList + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. + * @deprecated */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@Deprecated +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityPropertyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +67,11 @@ public class CatalogEntityPropertyList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CatalogEntityPropertyList() { } @@ -113,6 +121,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CatalogEntityPropertyList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +151,13 @@ public boolean equals(Object o) { } CatalogEntityPropertyList catalogEntityPropertyList = (CatalogEntityPropertyList) o; return Objects.equals(this.data, catalogEntityPropertyList.data) && - Objects.equals(this.links, catalogEntityPropertyList.links); + Objects.equals(this.links, catalogEntityPropertyList.links) && + Objects.equals(this.meta, catalogEntityPropertyList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +166,7 @@ public String toString() { sb.append("class CatalogEntityPropertyList {\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("}"); return sb.toString(); } @@ -162,11 +191,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +240,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java index 8b05993e..a65c2881 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,9 +47,11 @@ import com.rootly.client.JSON; /** - * CatalogEntityPropertyResponse + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. + * @deprecated */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@Deprecated +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 677a11e2..37203767 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogEntityPropertyResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogEntityPropertyResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -112,6 +112,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private TypeEnum type; public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @Deprecated @SerializedName(SERIALIZED_NAME_ATTRIBUTES) @javax.annotation.Nonnull private CatalogEntityProperty attributes; @@ -157,6 +158,7 @@ public void setType(@javax.annotation.Nonnull TypeEnum type) { } + @Deprecated public CatalogEntityPropertyResponseData attributes(@javax.annotation.Nonnull CatalogEntityProperty attributes) { this.attributes = attributes; return this; @@ -165,12 +167,15 @@ public CatalogEntityPropertyResponseData attributes(@javax.annotation.Nonnull Ca /** * Get attributes * @return attributes + * @deprecated */ + @Deprecated @javax.annotation.Nonnull public CatalogEntityProperty getAttributes() { return attributes; } + @Deprecated public void setAttributes(@javax.annotation.Nonnull CatalogEntityProperty attributes) { this.attributes = attributes; } diff --git a/src/main/java/com/rootly/client/model/CatalogEntityResponse.java b/src/main/java/com/rootly/client/model/CatalogEntityResponse.java index 367f8a9f..428cfc7d 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogEntityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 12f33004..d61077af 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogEntityResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 31c1f7bb..c1005a16 100644 --- a/src/main/java/com/rootly/client/model/CatalogField.java +++ b/src/main/java/com/rootly/client/model/CatalogField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,11 +49,11 @@ /** * CatalogField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String catalogId; public static final String SERIALIZED_NAME_NAME = "name"; @@ -63,7 +63,7 @@ public class CatalogField { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; /** @@ -138,6 +138,78 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the field belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -151,7 +223,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public CatalogField() { } - public CatalogField catalogId(@javax.annotation.Nonnull String catalogId) { + public CatalogField catalogId(@javax.annotation.Nullable String catalogId) { this.catalogId = catalogId; return this; } @@ -160,12 +232,12 @@ public CatalogField catalogId(@javax.annotation.Nonnull String catalogId) { * Get catalogId * @return catalogId */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getCatalogId() { return catalogId; } - public void setCatalogId(@javax.annotation.Nonnull String catalogId) { + public void setCatalogId(@javax.annotation.Nullable String catalogId) { this.catalogId = catalogId; } @@ -189,7 +261,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public CatalogField slug(@javax.annotation.Nonnull String slug) { + public CatalogField slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -198,12 +270,12 @@ public CatalogField slug(@javax.annotation.Nonnull String slug) { * Get slug * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -284,6 +356,44 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public CatalogField required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the field is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public CatalogField catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the field belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + public CatalogField createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -339,6 +449,8 @@ public boolean equals(Object o) { Objects.equals(this.kindCatalogId, catalogField.kindCatalogId) && Objects.equals(this.multiple, catalogField.multiple) && Objects.equals(this.position, catalogField.position) && + Objects.equals(this.required, catalogField.required) && + Objects.equals(this.catalogType, catalogField.catalogType) && Objects.equals(this.createdAt, catalogField.createdAt) && Objects.equals(this.updatedAt, catalogField.updatedAt); } @@ -349,7 +461,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(catalogId, name, slug, kind, kindCatalogId, multiple, position, createdAt, updatedAt); + return Objects.hash(catalogId, name, slug, kind, kindCatalogId, multiple, position, required, catalogType, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -370,6 +482,8 @@ public String toString() { sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); sb.append(" multiple: ").append(toIndentedString(multiple)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -401,6 +515,8 @@ private String toIndentedString(Object o) { openapiFields.add("kind_catalog_id"); openapiFields.add("multiple"); openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -408,7 +524,6 @@ private String toIndentedString(Object o) { openapiRequiredFields = new HashSet(); openapiRequiredFields.add("catalog_id"); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("kind"); openapiRequiredFields.add("multiple"); openapiRequiredFields.add("position"); @@ -444,13 +559,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if (!jsonObj.get("catalog_id").isJsonPrimitive()) { + if ((jsonObj.get("catalog_id") != null && !jsonObj.get("catalog_id").isJsonNull()) && !jsonObj.get("catalog_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_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("slug").isJsonPrimitive()) { + 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("kind").isJsonPrimitive()) { @@ -461,6 +576,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } 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/CatalogFieldList.java b/src/main/java/com/rootly/client/model/CatalogFieldList.java index 50960d08..90fd4915 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldList.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CatalogFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CatalogFieldList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CatalogFieldList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CatalogFieldList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CatalogFieldList catalogFieldList = (CatalogFieldList) o; return Objects.equals(this.data, catalogFieldList.data) && - Objects.equals(this.links, catalogFieldList.links); + Objects.equals(this.links, catalogFieldList.links) && + Objects.equals(this.meta, catalogFieldList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CatalogFieldList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CatalogFieldResponse.java b/src/main/java/com/rootly/client/model/CatalogFieldResponse.java index f6866abb..b7aa7a3d 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ef1b58b6..9f5dc20e 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogFieldResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogFieldResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -61,7 +61,7 @@ public class CatalogFieldResponseData { */ @JsonAdapter(TypeEnum.Adapter.class) public enum TypeEnum { - CATALOG_FIELDS("catalog_fields"); + CATALOG_PROPERTIES("catalog_properties"); private String value; diff --git a/src/main/java/com/rootly/client/model/CatalogList.java b/src/main/java/com/rootly/client/model/CatalogList.java index f3cd6ad3..1479664e 100644 --- a/src/main/java/com/rootly/client/model/CatalogList.java +++ b/src/main/java/com/rootly/client/model/CatalogList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CatalogList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CatalogList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CatalogList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CatalogList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CatalogList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CatalogList catalogList = (CatalogList) o; return Objects.equals(this.data, catalogList.data) && - Objects.equals(this.links, catalogList.links); + Objects.equals(this.links, catalogList.links) && + Objects.equals(this.meta, catalogList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CatalogList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CatalogProperty.java b/src/main/java/com/rootly/client/model/CatalogProperty.java new file mode 100644 index 00000000..bf1155ed --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogProperty.java @@ -0,0 +1,643 @@ +/* + * 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; + +/** + * CatalogProperty + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String catalogId; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + /** + * Gets or Sets kind + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + TEXT("text"), + + REFERENCE("reference"); + + 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) + @javax.annotation.Nonnull + private KindEnum kind; + + public static final String SERIALIZED_NAME_KIND_CATALOG_ID = "kind_catalog_id"; + @SerializedName(SERIALIZED_NAME_KIND_CATALOG_ID) + @javax.annotation.Nullable + private String kindCatalogId; + + public static final String SERIALIZED_NAME_MULTIPLE = "multiple"; + @SerializedName(SERIALIZED_NAME_MULTIPLE) + @javax.annotation.Nonnull + private Boolean multiple; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the property belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public CatalogProperty() { + } + + public CatalogProperty catalogId(@javax.annotation.Nullable String catalogId) { + this.catalogId = catalogId; + return this; + } + + /** + * Get catalogId + * @return catalogId + */ + @javax.annotation.Nullable + public String getCatalogId() { + return catalogId; + } + + public void setCatalogId(@javax.annotation.Nullable String catalogId) { + this.catalogId = catalogId; + } + + + public CatalogProperty name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CatalogProperty slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * Get slug + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CatalogProperty kind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Get kind + * @return kind + */ + @javax.annotation.Nonnull + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + } + + + public CatalogProperty kindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + return this; + } + + /** + * Restricts values to items of specified catalog. + * @return kindCatalogId + */ + @javax.annotation.Nullable + public String getKindCatalogId() { + return kindCatalogId; + } + + public void setKindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + } + + + public CatalogProperty multiple(@javax.annotation.Nonnull Boolean multiple) { + this.multiple = multiple; + return this; + } + + /** + * Whether the attribute accepts multiple values. + * @return multiple + */ + @javax.annotation.Nonnull + public Boolean getMultiple() { + return multiple; + } + + public void setMultiple(@javax.annotation.Nonnull Boolean multiple) { + this.multiple = multiple; + } + + + public CatalogProperty position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Default position of the item when displayed in a list. + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public CatalogProperty required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the property is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public CatalogProperty catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the property belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + + public CatalogProperty createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CatalogProperty updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + CatalogProperty catalogProperty = (CatalogProperty) o; + return Objects.equals(this.catalogId, catalogProperty.catalogId) && + Objects.equals(this.name, catalogProperty.name) && + Objects.equals(this.slug, catalogProperty.slug) && + Objects.equals(this.kind, catalogProperty.kind) && + Objects.equals(this.kindCatalogId, catalogProperty.kindCatalogId) && + Objects.equals(this.multiple, catalogProperty.multiple) && + Objects.equals(this.position, catalogProperty.position) && + Objects.equals(this.required, catalogProperty.required) && + Objects.equals(this.catalogType, catalogProperty.catalogType) && + Objects.equals(this.createdAt, catalogProperty.createdAt) && + Objects.equals(this.updatedAt, catalogProperty.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(catalogId, name, slug, kind, kindCatalogId, multiple, position, required, catalogType, 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 CatalogProperty {\n"); + sb.append(" catalogId: ").append(toIndentedString(catalogId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); + sb.append(" multiple: ").append(toIndentedString(multiple)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).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("catalog_id"); + openapiFields.add("name"); + openapiFields.add("slug"); + openapiFields.add("kind"); + openapiFields.add("kind_catalog_id"); + openapiFields.add("multiple"); + openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("catalog_id"); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("kind"); + openapiRequiredFields.add("multiple"); + openapiRequiredFields.add("position"); + 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 CatalogProperty + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogProperty.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogProperty is not found in the empty JSON string", CatalogProperty.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogProperty.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogProperty` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogProperty.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("catalog_id") != null && !jsonObj.get("catalog_id").isJsonNull()) && !jsonObj.get("catalog_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_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("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("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 required field `kind` + KindEnum.validateJsonElement(jsonObj.get("kind")); + if ((jsonObj.get("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); + } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } + 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 (!CatalogProperty.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogProperty' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogProperty.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogProperty value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogProperty read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogProperty given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogProperty + * @throws IOException if the JSON string is invalid with respect to CatalogProperty + */ + public static CatalogProperty fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogProperty.class); + } + + /** + * Convert an instance of CatalogProperty 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/CatalogPropertyList.java b/src/main/java/com/rootly/client/model/CatalogPropertyList.java new file mode 100644 index 00000000..aee90e53 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogPropertyList.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 com.rootly.client.model.CatalogPropertyResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CatalogPropertyList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogPropertyList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public CatalogPropertyList() { + } + + public CatalogPropertyList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CatalogPropertyList addDataItem(CatalogPropertyResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CatalogPropertyList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public CatalogPropertyList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogPropertyList catalogPropertyList = (CatalogPropertyList) o; + return Objects.equals(this.data, catalogPropertyList.data) && + Objects.equals(this.links, catalogPropertyList.links) && + Objects.equals(this.meta, catalogPropertyList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogPropertyList {\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("}"); + 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"); + + // 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 CatalogPropertyList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogPropertyList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogPropertyList is not found in the empty JSON string", CatalogPropertyList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogPropertyList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogPropertyList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogPropertyList.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++) { + CatalogPropertyResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogPropertyList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogPropertyList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogPropertyList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogPropertyList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogPropertyList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogPropertyList given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogPropertyList + * @throws IOException if the JSON string is invalid with respect to CatalogPropertyList + */ + public static CatalogPropertyList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogPropertyList.class); + } + + /** + * Convert an instance of CatalogPropertyList 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/CatalogPropertyResponse.java b/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java new file mode 100644 index 00000000..96d16817 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogPropertyResponse.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.CatalogPropertyResponseData; +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; + +/** + * CatalogPropertyResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogPropertyResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CatalogPropertyResponseData data; + + public CatalogPropertyResponse() { + } + + public CatalogPropertyResponse data(@javax.annotation.Nonnull CatalogPropertyResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CatalogPropertyResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CatalogPropertyResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogPropertyResponse catalogPropertyResponse = (CatalogPropertyResponse) o; + return Objects.equals(this.data, catalogPropertyResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogPropertyResponse {\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 CatalogPropertyResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogPropertyResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogPropertyResponse is not found in the empty JSON string", CatalogPropertyResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogPropertyResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogPropertyResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogPropertyResponse.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` + CatalogPropertyResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogPropertyResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogPropertyResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogPropertyResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogPropertyResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogPropertyResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogPropertyResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogPropertyResponse + * @throws IOException if the JSON string is invalid with respect to CatalogPropertyResponse + */ + public static CatalogPropertyResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogPropertyResponse.class); + } + + /** + * Convert an instance of CatalogPropertyResponse 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/CatalogPropertyResponseData.java b/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.java new file mode 100644 index 00000000..5e64a422 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CatalogPropertyResponseData.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.CatalogProperty; +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; + +/** + * CatalogPropertyResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CatalogPropertyResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_PROPERTIES("catalog_properties"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CatalogProperty attributes; + + public CatalogPropertyResponseData() { + } + + public CatalogPropertyResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the catalog_property + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CatalogPropertyResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CatalogPropertyResponseData attributes(@javax.annotation.Nonnull CatalogProperty attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CatalogProperty getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CatalogProperty attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CatalogPropertyResponseData catalogPropertyResponseData = (CatalogPropertyResponseData) o; + return Objects.equals(this.id, catalogPropertyResponseData.id) && + Objects.equals(this.type, catalogPropertyResponseData.type) && + Objects.equals(this.attributes, catalogPropertyResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CatalogPropertyResponseData {\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 CatalogPropertyResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CatalogPropertyResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CatalogPropertyResponseData is not found in the empty JSON string", CatalogPropertyResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CatalogPropertyResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CatalogPropertyResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CatalogPropertyResponseData.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` + CatalogProperty.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CatalogPropertyResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CatalogPropertyResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CatalogPropertyResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CatalogPropertyResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CatalogPropertyResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CatalogPropertyResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CatalogPropertyResponseData + * @throws IOException if the JSON string is invalid with respect to CatalogPropertyResponseData + */ + public static CatalogPropertyResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CatalogPropertyResponseData.class); + } + + /** + * Convert an instance of CatalogPropertyResponseData 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/CatalogResponse.java b/src/main/java/com/rootly/client/model/CatalogResponse.java index d181fb6a..fc088b25 100644 --- a/src/main/java/com/rootly/client/model/CatalogResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 307b061a..df087d40 100644 --- a/src/main/java/com/rootly/client/model/CatalogResponseData.java +++ b/src/main/java/com/rootly/client/model/CatalogResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CatalogResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 444be53e..cd3b877f 100644 --- a/src/main/java/com/rootly/client/model/Cause.java +++ b/src/main/java/com/rootly/client/model/Cause.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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 @@ /** * Cause */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Cause { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -71,6 +74,11 @@ public class Cause { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -160,6 +168,33 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public Cause properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public Cause addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this cause. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public Cause createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -212,6 +247,7 @@ public boolean equals(Object o) { Objects.equals(this.slug, cause.slug) && Objects.equals(this.description, cause.description) && Objects.equals(this.position, cause.position) && + Objects.equals(this.properties, cause.properties) && Objects.equals(this.createdAt, cause.createdAt) && Objects.equals(this.updatedAt, cause.updatedAt); } @@ -222,7 +258,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, position, createdAt, updatedAt); + return Objects.hash(name, slug, description, position, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -240,6 +276,7 @@ public String toString() { sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).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("}"); @@ -268,6 +305,7 @@ private String toIndentedString(Object o) { openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -315,6 +353,20 @@ 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("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())); } diff --git a/src/main/java/com/rootly/client/model/CauseList.java b/src/main/java/com/rootly/client/model/CauseList.java index d8cd882d..63bc6168 100644 --- a/src/main/java/com/rootly/client/model/CauseList.java +++ b/src/main/java/com/rootly/client/model/CauseList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CauseResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CauseList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CauseList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CauseList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CauseList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CauseList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CauseList causeList = (CauseList) o; return Objects.equals(this.data, causeList.data) && - Objects.equals(this.links, causeList.links); + Objects.equals(this.links, causeList.links) && + Objects.equals(this.meta, causeList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CauseList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CauseResponse.java b/src/main/java/com/rootly/client/model/CauseResponse.java index d444df53..ee65b280 100644 --- a/src/main/java/com/rootly/client/model/CauseResponse.java +++ b/src/main/java/com/rootly/client/model/CauseResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CauseResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f26738a8..a1dc601e 100644 --- a/src/main/java/com/rootly/client/model/CauseResponseData.java +++ b/src/main/java/com/rootly/client/model/CauseResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CauseResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ChangeSlackChannelPrivacyTaskParams.java b/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java index 600d3164..69239770 100644 --- a/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java +++ b/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ChangeSlackChannelPrivacyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ChangeSlackChannelPrivacyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroup.java b/src/main/java/com/rootly/client/model/CommunicationsGroup.java new file mode 100644 index 00000000..4a94ee64 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroup.java @@ -0,0 +1,728 @@ +/* + * 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.CommunicationsGroupCommunicationExternalGroupMembersInner; +import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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; + +/** + * CommunicationsGroup + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroup { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nonnull + private String communicationTypeId; + + public static final String SERIALIZED_NAME_IS_PRIVATE = "is_private"; + @SerializedName(SERIALIZED_NAME_IS_PRIVATE) + @javax.annotation.Nonnull + private Boolean isPrivate; + + /** + * Condition type + */ + @JsonAdapter(ConditionTypeEnum.Adapter.class) + public enum ConditionTypeEnum { + ANY("any"), + + ALL("all"); + + 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) + @javax.annotation.Nonnull + private ConditionTypeEnum conditionType; + + public static final String SERIALIZED_NAME_SMS_CHANNEL = "sms_channel"; + @SerializedName(SERIALIZED_NAME_SMS_CHANNEL) + @javax.annotation.Nonnull + private Boolean smsChannel; + + public static final String SERIALIZED_NAME_EMAIL_CHANNEL = "email_channel"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANNEL) + @javax.annotation.Nonnull + private Boolean emailChannel; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS = "communication_group_conditions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS) + @javax.annotation.Nullable + private List communicationGroupConditions; + + public static final String SERIALIZED_NAME_MEMBER_IDS = "member_ids"; + @SerializedName(SERIALIZED_NAME_MEMBER_IDS) + @javax.annotation.Nullable + private List memberIds; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_IDS = "slack_channel_ids"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_IDS) + @javax.annotation.Nullable + private List slackChannelIds; + + public static final String SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS = "communication_external_group_members"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS) + @javax.annotation.Nullable + private List communicationExternalGroupMembers; + + public CommunicationsGroup() { + } + + public CommunicationsGroup name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications group + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CommunicationsGroup slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the communications group + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CommunicationsGroup description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications group + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CommunicationsGroup communicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nonnull + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public CommunicationsGroup isPrivate(@javax.annotation.Nonnull Boolean isPrivate) { + this.isPrivate = isPrivate; + return this; + } + + /** + * Whether the group is private + * @return isPrivate + */ + @javax.annotation.Nonnull + public Boolean getIsPrivate() { + return isPrivate; + } + + public void setIsPrivate(@javax.annotation.Nonnull Boolean isPrivate) { + this.isPrivate = isPrivate; + } + + + public CommunicationsGroup conditionType(@javax.annotation.Nonnull ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + return this; + } + + /** + * Condition type + * @return conditionType + */ + @javax.annotation.Nonnull + public ConditionTypeEnum getConditionType() { + return conditionType; + } + + public void setConditionType(@javax.annotation.Nonnull ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + } + + + public CommunicationsGroup smsChannel(@javax.annotation.Nonnull Boolean smsChannel) { + this.smsChannel = smsChannel; + return this; + } + + /** + * SMS channel enabled + * @return smsChannel + */ + @javax.annotation.Nonnull + public Boolean getSmsChannel() { + return smsChannel; + } + + public void setSmsChannel(@javax.annotation.Nonnull Boolean smsChannel) { + this.smsChannel = smsChannel; + } + + + public CommunicationsGroup emailChannel(@javax.annotation.Nonnull Boolean emailChannel) { + this.emailChannel = emailChannel; + return this; + } + + /** + * Email channel enabled + * @return emailChannel + */ + @javax.annotation.Nonnull + public Boolean getEmailChannel() { + return emailChannel; + } + + public void setEmailChannel(@javax.annotation.Nonnull Boolean emailChannel) { + this.emailChannel = emailChannel; + } + + + public CommunicationsGroup createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CommunicationsGroup updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public CommunicationsGroup communicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + return this; + } + + public CommunicationsGroup addCommunicationGroupConditionsItem(NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner communicationGroupConditionsItem) { + if (this.communicationGroupConditions == null) { + this.communicationGroupConditions = new ArrayList<>(); + } + this.communicationGroupConditions.add(communicationGroupConditionsItem); + return this; + } + + /** + * Group conditions attributes + * @return communicationGroupConditions + */ + @javax.annotation.Nullable + public List getCommunicationGroupConditions() { + return communicationGroupConditions; + } + + public void setCommunicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + } + + + public CommunicationsGroup memberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + return this; + } + + public CommunicationsGroup addMemberIdsItem(Integer memberIdsItem) { + if (this.memberIds == null) { + this.memberIds = new ArrayList<>(); + } + this.memberIds.add(memberIdsItem); + return this; + } + + /** + * Array of member user IDs + * @return memberIds + */ + @javax.annotation.Nullable + public List getMemberIds() { + return memberIds; + } + + public void setMemberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + } + + + public CommunicationsGroup slackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + return this; + } + + public CommunicationsGroup addSlackChannelIdsItem(String slackChannelIdsItem) { + if (this.slackChannelIds == null) { + this.slackChannelIds = new ArrayList<>(); + } + this.slackChannelIds.add(slackChannelIdsItem); + return this; + } + + /** + * Array of Slack channel IDs + * @return slackChannelIds + */ + @javax.annotation.Nullable + public List getSlackChannelIds() { + return slackChannelIds; + } + + public void setSlackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + } + + + public CommunicationsGroup communicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + return this; + } + + public CommunicationsGroup addCommunicationExternalGroupMembersItem(CommunicationsGroupCommunicationExternalGroupMembersInner communicationExternalGroupMembersItem) { + if (this.communicationExternalGroupMembers == null) { + this.communicationExternalGroupMembers = new ArrayList<>(); + } + this.communicationExternalGroupMembers.add(communicationExternalGroupMembersItem); + return this; + } + + /** + * External group members + * @return communicationExternalGroupMembers + */ + @javax.annotation.Nullable + public List getCommunicationExternalGroupMembers() { + return communicationExternalGroupMembers; + } + + public void setCommunicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroup communicationsGroup = (CommunicationsGroup) o; + return Objects.equals(this.name, communicationsGroup.name) && + Objects.equals(this.slug, communicationsGroup.slug) && + Objects.equals(this.description, communicationsGroup.description) && + Objects.equals(this.communicationTypeId, communicationsGroup.communicationTypeId) && + Objects.equals(this.isPrivate, communicationsGroup.isPrivate) && + Objects.equals(this.conditionType, communicationsGroup.conditionType) && + Objects.equals(this.smsChannel, communicationsGroup.smsChannel) && + Objects.equals(this.emailChannel, communicationsGroup.emailChannel) && + Objects.equals(this.createdAt, communicationsGroup.createdAt) && + Objects.equals(this.updatedAt, communicationsGroup.updatedAt) && + Objects.equals(this.communicationGroupConditions, communicationsGroup.communicationGroupConditions) && + Objects.equals(this.memberIds, communicationsGroup.memberIds) && + Objects.equals(this.slackChannelIds, communicationsGroup.slackChannelIds) && + Objects.equals(this.communicationExternalGroupMembers, communicationsGroup.communicationExternalGroupMembers); + } + + 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, slug, description, communicationTypeId, isPrivate, conditionType, smsChannel, emailChannel, createdAt, updatedAt, communicationGroupConditions, memberIds, slackChannelIds, communicationExternalGroupMembers); + } + + 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 CommunicationsGroup {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" isPrivate: ").append(toIndentedString(isPrivate)).append("\n"); + sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" smsChannel: ").append(toIndentedString(smsChannel)).append("\n"); + sb.append(" emailChannel: ").append(toIndentedString(emailChannel)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" communicationGroupConditions: ").append(toIndentedString(communicationGroupConditions)).append("\n"); + sb.append(" memberIds: ").append(toIndentedString(memberIds)).append("\n"); + sb.append(" slackChannelIds: ").append(toIndentedString(slackChannelIds)).append("\n"); + sb.append(" communicationExternalGroupMembers: ").append(toIndentedString(communicationExternalGroupMembers)).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("slug"); + openapiFields.add("description"); + openapiFields.add("communication_type_id"); + openapiFields.add("is_private"); + openapiFields.add("condition_type"); + openapiFields.add("sms_channel"); + openapiFields.add("email_channel"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("communication_group_conditions"); + openapiFields.add("member_ids"); + openapiFields.add("slack_channel_ids"); + openapiFields.add("communication_external_group_members"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("communication_type_id"); + openapiRequiredFields.add("is_private"); + openapiRequiredFields.add("condition_type"); + openapiRequiredFields.add("sms_channel"); + openapiRequiredFields.add("email_channel"); + 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 CommunicationsGroup + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroup.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroup is not found in the empty JSON string", CommunicationsGroup.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroup.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroup` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsGroup.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("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("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("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + 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())); + } + // validate the required field `condition_type` + ConditionTypeEnum.validateJsonElement(jsonObj.get("condition_type")); + 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())); + } + if (jsonObj.get("communication_group_conditions") != null && !jsonObj.get("communication_group_conditions").isJsonNull()) { + JsonArray jsonArraycommunicationGroupConditions = jsonObj.getAsJsonArray("communication_group_conditions"); + if (jsonArraycommunicationGroupConditions != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_group_conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_group_conditions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_group_conditions").toString())); + } + + // validate the optional field `communication_group_conditions` (array) + for (int i = 0; i < jsonArraycommunicationGroupConditions.size(); i++) { + NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.validateJsonElement(jsonArraycommunicationGroupConditions.get(i)); + }; + } + } + // ensure the optional json data is an array if present + if (jsonObj.get("member_ids") != null && !jsonObj.get("member_ids").isJsonNull() && !jsonObj.get("member_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `member_ids` to be an array in the JSON string but got `%s`", jsonObj.get("member_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("slack_channel_ids") != null && !jsonObj.get("slack_channel_ids").isJsonNull() && !jsonObj.get("slack_channel_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_ids` to be an array in the JSON string but got `%s`", jsonObj.get("slack_channel_ids").toString())); + } + if (jsonObj.get("communication_external_group_members") != null && !jsonObj.get("communication_external_group_members").isJsonNull()) { + JsonArray jsonArraycommunicationExternalGroupMembers = jsonObj.getAsJsonArray("communication_external_group_members"); + if (jsonArraycommunicationExternalGroupMembers != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_external_group_members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_external_group_members` to be an array in the JSON string but got `%s`", jsonObj.get("communication_external_group_members").toString())); + } + + // validate the optional field `communication_external_group_members` (array) + for (int i = 0; i < jsonArraycommunicationExternalGroupMembers.size(); i++) { + CommunicationsGroupCommunicationExternalGroupMembersInner.validateJsonElement(jsonArraycommunicationExternalGroupMembers.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroup.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroup' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroup.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroup value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroup read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroup given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroup + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroup + */ + public static CommunicationsGroup fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroup.class); + } + + /** + * Convert an instance of CommunicationsGroup 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/CommunicationsGroupCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java new file mode 100644 index 00000000..cd2816a4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java @@ -0,0 +1,296 @@ +/* + * 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; + +/** + * CommunicationsGroupCommunicationExternalGroupMembersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroupCommunicationExternalGroupMembersInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + @javax.annotation.Nullable + private String phoneNumber; + + public CommunicationsGroupCommunicationExternalGroupMembersInner() { + } + + public CommunicationsGroupCommunicationExternalGroupMembersInner id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the external group member + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CommunicationsGroupCommunicationExternalGroupMembersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Name of the external member + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public CommunicationsGroupCommunicationExternalGroupMembersInner email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Email of the external member + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public CommunicationsGroupCommunicationExternalGroupMembersInner phoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Phone number of the external member + * @return phoneNumber + */ + @javax.annotation.Nullable + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroupCommunicationExternalGroupMembersInner communicationsGroupCommunicationExternalGroupMembersInner = (CommunicationsGroupCommunicationExternalGroupMembersInner) o; + return Objects.equals(this.id, communicationsGroupCommunicationExternalGroupMembersInner.id) && + Objects.equals(this.name, communicationsGroupCommunicationExternalGroupMembersInner.name) && + Objects.equals(this.email, communicationsGroupCommunicationExternalGroupMembersInner.email) && + Objects.equals(this.phoneNumber, communicationsGroupCommunicationExternalGroupMembersInner.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, email, phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsGroupCommunicationExternalGroupMembersInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).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"); + openapiFields.add("email"); + openapiFields.add("phone_number"); + + // 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 CommunicationsGroupCommunicationExternalGroupMembersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroupCommunicationExternalGroupMembersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroupCommunicationExternalGroupMembersInner is not found in the empty JSON string", CommunicationsGroupCommunicationExternalGroupMembersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroupCommunicationExternalGroupMembersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroupCommunicationExternalGroupMembersInner` 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("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("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); + } + if ((jsonObj.get("phone_number") != null && !jsonObj.get("phone_number").isJsonNull()) && !jsonObj.get("phone_number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone_number").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroupCommunicationExternalGroupMembersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroupCommunicationExternalGroupMembersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroupCommunicationExternalGroupMembersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroupCommunicationExternalGroupMembersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroupCommunicationExternalGroupMembersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroupCommunicationExternalGroupMembersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroupCommunicationExternalGroupMembersInner + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroupCommunicationExternalGroupMembersInner + */ + public static CommunicationsGroupCommunicationExternalGroupMembersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroupCommunicationExternalGroupMembersInner.class); + } + + /** + * Convert an instance of CommunicationsGroupCommunicationExternalGroupMembersInner 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 new file mode 100644 index 00000000..23acd886 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.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.CommunicationsGroupResponseData; +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; + +/** + * CommunicationsGroupResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroupResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CommunicationsGroupResponseData data; + + public CommunicationsGroupResponse() { + } + + public CommunicationsGroupResponse data(@javax.annotation.Nonnull CommunicationsGroupResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CommunicationsGroupResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CommunicationsGroupResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroupResponse communicationsGroupResponse = (CommunicationsGroupResponse) o; + return Objects.equals(this.data, communicationsGroupResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsGroupResponse {\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 CommunicationsGroupResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroupResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroupResponse is not found in the empty JSON string", CommunicationsGroupResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroupResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroupResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsGroupResponse.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` + CommunicationsGroupResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroupResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroupResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroupResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroupResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroupResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroupResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroupResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroupResponse + */ + public static CommunicationsGroupResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroupResponse.class); + } + + /** + * Convert an instance of CommunicationsGroupResponse 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/CommunicationsGroupResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.java new file mode 100644 index 00000000..f47d3df6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupResponseData.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.CommunicationsGroup; +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; + +/** + * CommunicationsGroupResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroupResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_GROUPS("communications_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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CommunicationsGroup attributes; + + public CommunicationsGroupResponseData() { + } + + public CommunicationsGroupResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the communications group + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CommunicationsGroupResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CommunicationsGroupResponseData attributes(@javax.annotation.Nonnull CommunicationsGroup attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CommunicationsGroup getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CommunicationsGroup attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroupResponseData communicationsGroupResponseData = (CommunicationsGroupResponseData) o; + return Objects.equals(this.id, communicationsGroupResponseData.id) && + Objects.equals(this.type, communicationsGroupResponseData.type) && + Objects.equals(this.attributes, communicationsGroupResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsGroupResponseData {\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 CommunicationsGroupResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroupResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroupResponseData is not found in the empty JSON string", CommunicationsGroupResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroupResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroupResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsGroupResponseData.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` + CommunicationsGroup.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroupResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroupResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroupResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroupResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroupResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroupResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroupResponseData + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroupResponseData + */ + public static CommunicationsGroupResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroupResponseData.class); + } + + /** + * Convert an instance of CommunicationsGroupResponseData 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/CommunicationsGroupsResponse.java b/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java new file mode 100644 index 00000000..30a24113 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java @@ -0,0 +1,296 @@ +/* + * 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.CommunicationsGroupResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CommunicationsGroupsResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsGroupsResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CommunicationsGroupsResponse() { + } + + public CommunicationsGroupsResponse data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CommunicationsGroupsResponse addDataItem(CommunicationsGroupResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CommunicationsGroupsResponse links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CommunicationsGroupsResponse meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsGroupsResponse communicationsGroupsResponse = (CommunicationsGroupsResponse) o; + return Objects.equals(this.data, communicationsGroupsResponse.data) && + Objects.equals(this.links, communicationsGroupsResponse.links) && + Objects.equals(this.meta, communicationsGroupsResponse.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsGroupsResponse {\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("}"); + 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"); + + // 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 CommunicationsGroupsResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsGroupsResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsGroupsResponse is not found in the empty JSON string", CommunicationsGroupsResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsGroupsResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsGroupsResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsGroupsResponse.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++) { + CommunicationsGroupResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsGroupsResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsGroupsResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsGroupsResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsGroupsResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsGroupsResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsGroupsResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsGroupsResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsGroupsResponse + */ + public static CommunicationsGroupsResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsGroupsResponse.class); + } + + /** + * Convert an instance of CommunicationsGroupsResponse 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/CommunicationsStage.java b/src/main/java/com/rootly/client/model/CommunicationsStage.java new file mode 100644 index 00000000..af461bee --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsStage.java @@ -0,0 +1,376 @@ +/* + * 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; + +/** + * CommunicationsStage + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsStage { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public CommunicationsStage() { + } + + public CommunicationsStage name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications stage + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CommunicationsStage slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the communications stage + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CommunicationsStage description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications stage + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CommunicationsStage position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications stage + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public CommunicationsStage createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CommunicationsStage updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + CommunicationsStage communicationsStage = (CommunicationsStage) o; + return Objects.equals(this.name, communicationsStage.name) && + Objects.equals(this.slug, communicationsStage.slug) && + Objects.equals(this.description, communicationsStage.description) && + Objects.equals(this.position, communicationsStage.position) && + Objects.equals(this.createdAt, communicationsStage.createdAt) && + Objects.equals(this.updatedAt, communicationsStage.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(name, slug, description, position, 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 CommunicationsStage {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("slug"); + openapiFields.add("description"); + openapiFields.add("position"); + 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("position"); + 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 CommunicationsStage + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsStage.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsStage is not found in the empty JSON string", CommunicationsStage.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsStage.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsStage` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsStage.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("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("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("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 (!CommunicationsStage.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsStage' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsStage.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsStage value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsStage read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsStage given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsStage + * @throws IOException if the JSON string is invalid with respect to CommunicationsStage + */ + public static CommunicationsStage fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsStage.class); + } + + /** + * Convert an instance of CommunicationsStage 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/CommunicationsStageResponse.java b/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java new file mode 100644 index 00000000..15f0d560 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsStageResponse.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.CommunicationsStageResponseData; +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; + +/** + * CommunicationsStageResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsStageResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CommunicationsStageResponseData data; + + public CommunicationsStageResponse() { + } + + public CommunicationsStageResponse data(@javax.annotation.Nonnull CommunicationsStageResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CommunicationsStageResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CommunicationsStageResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsStageResponse communicationsStageResponse = (CommunicationsStageResponse) o; + return Objects.equals(this.data, communicationsStageResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsStageResponse {\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 CommunicationsStageResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsStageResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsStageResponse is not found in the empty JSON string", CommunicationsStageResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsStageResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsStageResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsStageResponse.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` + CommunicationsStageResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsStageResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsStageResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsStageResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsStageResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsStageResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsStageResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsStageResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsStageResponse + */ + public static CommunicationsStageResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsStageResponse.class); + } + + /** + * Convert an instance of CommunicationsStageResponse 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/CommunicationsStageResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.java new file mode 100644 index 00000000..d9d3dca6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsStageResponseData.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.CommunicationsStage; +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; + +/** + * CommunicationsStageResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsStageResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_STAGES("communications_stages"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CommunicationsStage attributes; + + public CommunicationsStageResponseData() { + } + + public CommunicationsStageResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the communications stage + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CommunicationsStageResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CommunicationsStageResponseData attributes(@javax.annotation.Nonnull CommunicationsStage attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CommunicationsStage getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CommunicationsStage attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsStageResponseData communicationsStageResponseData = (CommunicationsStageResponseData) o; + return Objects.equals(this.id, communicationsStageResponseData.id) && + Objects.equals(this.type, communicationsStageResponseData.type) && + Objects.equals(this.attributes, communicationsStageResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsStageResponseData {\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 CommunicationsStageResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsStageResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsStageResponseData is not found in the empty JSON string", CommunicationsStageResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsStageResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsStageResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsStageResponseData.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` + CommunicationsStage.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsStageResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsStageResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsStageResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsStageResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsStageResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsStageResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsStageResponseData + * @throws IOException if the JSON string is invalid with respect to CommunicationsStageResponseData + */ + public static CommunicationsStageResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsStageResponseData.class); + } + + /** + * Convert an instance of CommunicationsStageResponseData 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/CommunicationsStagesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java new file mode 100644 index 00000000..ed14f13d --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java @@ -0,0 +1,296 @@ +/* + * 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.CommunicationsStageResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CommunicationsStagesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsStagesResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CommunicationsStagesResponse() { + } + + public CommunicationsStagesResponse data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CommunicationsStagesResponse addDataItem(CommunicationsStageResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CommunicationsStagesResponse links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CommunicationsStagesResponse meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsStagesResponse communicationsStagesResponse = (CommunicationsStagesResponse) o; + return Objects.equals(this.data, communicationsStagesResponse.data) && + Objects.equals(this.links, communicationsStagesResponse.links) && + Objects.equals(this.meta, communicationsStagesResponse.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsStagesResponse {\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("}"); + 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"); + + // 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 CommunicationsStagesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsStagesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsStagesResponse is not found in the empty JSON string", CommunicationsStagesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsStagesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsStagesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsStagesResponse.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++) { + CommunicationsStageResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsStagesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsStagesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsStagesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsStagesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsStagesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsStagesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsStagesResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsStagesResponse + */ + public static CommunicationsStagesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsStagesResponse.class); + } + + /** + * Convert an instance of CommunicationsStagesResponse 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/CommunicationsTemplate.java b/src/main/java/com/rootly/client/model/CommunicationsTemplate.java new file mode 100644 index 00000000..b56d49cf --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplate.java @@ -0,0 +1,490 @@ +/* + * 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.CommunicationsTemplateCommunicationTemplateStagesInner; +import com.rootly.client.model.CommunicationsTemplateCommunicationType; +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; + +/** + * CommunicationsTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplate { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nullable + private String communicationTypeId; + + public static final String SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES = "communication_template_stages"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES) + @javax.annotation.Nullable + private List communicationTemplateStages; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE = "communication_type"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE) + @javax.annotation.Nullable + private CommunicationsTemplateCommunicationType communicationType; + + public CommunicationsTemplate() { + } + + public CommunicationsTemplate name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications template + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CommunicationsTemplate slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the communications template + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CommunicationsTemplate description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CommunicationsTemplate position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications template + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public CommunicationsTemplate createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CommunicationsTemplate updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + } + + + public CommunicationsTemplate communicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nullable + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public CommunicationsTemplate communicationTemplateStages(@javax.annotation.Nullable List communicationTemplateStages) { + this.communicationTemplateStages = communicationTemplateStages; + return this; + } + + public CommunicationsTemplate addCommunicationTemplateStagesItem(CommunicationsTemplateCommunicationTemplateStagesInner communicationTemplateStagesItem) { + if (this.communicationTemplateStages == null) { + this.communicationTemplateStages = new ArrayList<>(); + } + this.communicationTemplateStages.add(communicationTemplateStagesItem); + return this; + } + + /** + * Communication template stages + * @return communicationTemplateStages + */ + @javax.annotation.Nullable + public List getCommunicationTemplateStages() { + return communicationTemplateStages; + } + + public void setCommunicationTemplateStages(@javax.annotation.Nullable List communicationTemplateStages) { + this.communicationTemplateStages = communicationTemplateStages; + } + + + public CommunicationsTemplate communicationType(@javax.annotation.Nullable CommunicationsTemplateCommunicationType communicationType) { + this.communicationType = communicationType; + return this; + } + + /** + * Get communicationType + * @return communicationType + */ + @javax.annotation.Nullable + public CommunicationsTemplateCommunicationType getCommunicationType() { + return communicationType; + } + + public void setCommunicationType(@javax.annotation.Nullable CommunicationsTemplateCommunicationType communicationType) { + this.communicationType = communicationType; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplate communicationsTemplate = (CommunicationsTemplate) o; + return Objects.equals(this.name, communicationsTemplate.name) && + Objects.equals(this.slug, communicationsTemplate.slug) && + Objects.equals(this.description, communicationsTemplate.description) && + Objects.equals(this.position, communicationsTemplate.position) && + Objects.equals(this.createdAt, communicationsTemplate.createdAt) && + Objects.equals(this.updatedAt, communicationsTemplate.updatedAt) && + Objects.equals(this.communicationTypeId, communicationsTemplate.communicationTypeId) && + Objects.equals(this.communicationTemplateStages, communicationsTemplate.communicationTemplateStages) && + Objects.equals(this.communicationType, communicationsTemplate.communicationType); + } + + 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, slug, description, position, createdAt, updatedAt, communicationTypeId, communicationTemplateStages, communicationType); + } + + 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 CommunicationsTemplate {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" communicationTemplateStages: ").append(toIndentedString(communicationTemplateStages)).append("\n"); + sb.append(" communicationType: ").append(toIndentedString(communicationType)).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("slug"); + openapiFields.add("description"); + openapiFields.add("position"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("communication_type_id"); + openapiFields.add("communication_template_stages"); + openapiFields.add("communication_type"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("position"); + 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 CommunicationsTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplate is not found in the empty JSON string", CommunicationsTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTemplate.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("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("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("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())); + } + if ((jsonObj.get("communication_type_id") != null && !jsonObj.get("communication_type_id").isJsonNull()) && !jsonObj.get("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + if (jsonObj.get("communication_template_stages") != null && !jsonObj.get("communication_template_stages").isJsonNull()) { + JsonArray jsonArraycommunicationTemplateStages = jsonObj.getAsJsonArray("communication_template_stages"); + if (jsonArraycommunicationTemplateStages != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_template_stages").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_template_stages` to be an array in the JSON string but got `%s`", jsonObj.get("communication_template_stages").toString())); + } + + // validate the optional field `communication_template_stages` (array) + for (int i = 0; i < jsonArraycommunicationTemplateStages.size(); i++) { + CommunicationsTemplateCommunicationTemplateStagesInner.validateJsonElement(jsonArraycommunicationTemplateStages.get(i)); + }; + } + } + // validate the optional field `communication_type` + if (jsonObj.get("communication_type") != null && !jsonObj.get("communication_type").isJsonNull()) { + CommunicationsTemplateCommunicationType.validateJsonElement(jsonObj.get("communication_type")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplate + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplate + */ + public static CommunicationsTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplate.class); + } + + /** + * Convert an instance of CommunicationsTemplate 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/CommunicationsTemplateCommunicationTemplateStagesInner.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.java new file mode 100644 index 00000000..63378db9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInner.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.CommunicationsTemplateCommunicationTemplateStagesInnerData; +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; + +/** + * CommunicationsTemplateCommunicationTemplateStagesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateCommunicationTemplateStagesInner { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private CommunicationsTemplateCommunicationTemplateStagesInnerData data; + + public CommunicationsTemplateCommunicationTemplateStagesInner() { + } + + public CommunicationsTemplateCommunicationTemplateStagesInner data(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public CommunicationsTemplateCommunicationTemplateStagesInnerData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationTemplateStagesInner communicationsTemplateCommunicationTemplateStagesInner = (CommunicationsTemplateCommunicationTemplateStagesInner) o; + return Objects.equals(this.data, communicationsTemplateCommunicationTemplateStagesInner.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateCommunicationTemplateStagesInner {\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 CommunicationsTemplateCommunicationTemplateStagesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationTemplateStagesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationTemplateStagesInner is not found in the empty JSON string", CommunicationsTemplateCommunicationTemplateStagesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationTemplateStagesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationTemplateStagesInner` 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()) { + CommunicationsTemplateCommunicationTemplateStagesInnerData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationTemplateStagesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationTemplateStagesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationTemplateStagesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationTemplateStagesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationTemplateStagesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationTemplateStagesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationTemplateStagesInner + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationTemplateStagesInner + */ + public static CommunicationsTemplateCommunicationTemplateStagesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationTemplateStagesInner.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationTemplateStagesInner 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/CommunicationsTemplateCommunicationTemplateStagesInnerData.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java new file mode 100644 index 00000000..306d3636 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerData.java @@ -0,0 +1,322 @@ +/* + * 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.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes; +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; + +/** + * CommunicationsTemplateCommunicationTemplateStagesInnerData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateCommunicationTemplateStagesInnerData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TEMPLATE_STAGES("communications_template_stages"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes attributes; + + public CommunicationsTemplateCommunicationTemplateStagesInnerData() { + } + + public CommunicationsTemplateCommunicationTemplateStagesInnerData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the communication template stage + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerData attributes(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationTemplateStagesInnerData communicationsTemplateCommunicationTemplateStagesInnerData = (CommunicationsTemplateCommunicationTemplateStagesInnerData) o; + return Objects.equals(this.id, communicationsTemplateCommunicationTemplateStagesInnerData.id) && + Objects.equals(this.type, communicationsTemplateCommunicationTemplateStagesInnerData.type) && + Objects.equals(this.attributes, communicationsTemplateCommunicationTemplateStagesInnerData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateCommunicationTemplateStagesInnerData {\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(); + } + + /** + * 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 CommunicationsTemplateCommunicationTemplateStagesInnerData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationTemplateStagesInnerData is not found in the empty JSON string", CommunicationsTemplateCommunicationTemplateStagesInnerData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationTemplateStagesInnerData` 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("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()) { + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationTemplateStagesInnerData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationTemplateStagesInnerData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationTemplateStagesInnerData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationTemplateStagesInnerData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationTemplateStagesInnerData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationTemplateStagesInnerData + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationTemplateStagesInnerData + */ + public static CommunicationsTemplateCommunicationTemplateStagesInnerData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationTemplateStagesInnerData.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationTemplateStagesInnerData 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/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java new file mode 100644 index 00000000..2054400c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.java @@ -0,0 +1,432 @@ +/* + * 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.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage; +import com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate; +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; + +/** + * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String emailBody; + + public static final String SERIALIZED_NAME_EMAIL_SUBJECT = "email_subject"; + @SerializedName(SERIALIZED_NAME_EMAIL_SUBJECT) + @javax.annotation.Nullable + private String emailSubject; + + public static final String SERIALIZED_NAME_SLACK_CONTENT = "slack_content"; + @SerializedName(SERIALIZED_NAME_SLACK_CONTENT) + @javax.annotation.Nullable + private String slackContent; + + public static final String SERIALIZED_NAME_SMS_CONTENT = "sms_content"; + @SerializedName(SERIALIZED_NAME_SMS_CONTENT) + @javax.annotation.Nullable + private String smsContent; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public static final String SERIALIZED_NAME_COMMUNICATION_STAGE = "communication_stage"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_STAGE) + @javax.annotation.Nullable + private CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage communicationStage; + + public static final String SERIALIZED_NAME_COMMUNICATION_TEMPLATE = "communication_template"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TEMPLATE) + @javax.annotation.Nullable + private CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate communicationTemplate; + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes() { + } + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes emailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + return this; + } + + /** + * Email body for the stage + * @return emailBody + */ + @javax.annotation.Nullable + public String getEmailBody() { + return emailBody; + } + + public void setEmailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes emailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + return this; + } + + /** + * Email subject for the stage + * @return emailSubject + */ + @javax.annotation.Nullable + public String getEmailSubject() { + return emailSubject; + } + + public void setEmailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes slackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + return this; + } + + /** + * Slack content for the stage + * @return slackContent + */ + @javax.annotation.Nullable + public String getSlackContent() { + return slackContent; + } + + public void setSlackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes smsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + return this; + } + + /** + * SMS content for the stage + * @return smsContent + */ + @javax.annotation.Nullable + public String getSmsContent() { + return smsContent; + } + + public void setSmsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes communicationStage(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage communicationStage) { + this.communicationStage = communicationStage; + return this; + } + + /** + * Get communicationStage + * @return communicationStage + */ + @javax.annotation.Nullable + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage getCommunicationStage() { + return communicationStage; + } + + public void setCommunicationStage(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage communicationStage) { + this.communicationStage = communicationStage; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes communicationTemplate(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate communicationTemplate) { + this.communicationTemplate = communicationTemplate; + return this; + } + + /** + * Get communicationTemplate + * @return communicationTemplate + */ + @javax.annotation.Nullable + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate getCommunicationTemplate() { + return communicationTemplate; + } + + public void setCommunicationTemplate(@javax.annotation.Nullable CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate communicationTemplate) { + this.communicationTemplate = communicationTemplate; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes communicationsTemplateCommunicationTemplateStagesInnerDataAttributes = (CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes) o; + return Objects.equals(this.emailBody, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.emailBody) && + Objects.equals(this.emailSubject, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.emailSubject) && + Objects.equals(this.slackContent, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.slackContent) && + Objects.equals(this.smsContent, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.smsContent) && + Objects.equals(this.createdAt, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.createdAt) && + Objects.equals(this.updatedAt, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.updatedAt) && + Objects.equals(this.communicationStage, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.communicationStage) && + Objects.equals(this.communicationTemplate, communicationsTemplateCommunicationTemplateStagesInnerDataAttributes.communicationTemplate); + } + + 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(emailBody, emailSubject, slackContent, smsContent, createdAt, updatedAt, communicationStage, communicationTemplate); + } + + 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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes {\n"); + sb.append(" emailBody: ").append(toIndentedString(emailBody)).append("\n"); + sb.append(" emailSubject: ").append(toIndentedString(emailSubject)).append("\n"); + sb.append(" slackContent: ").append(toIndentedString(slackContent)).append("\n"); + sb.append(" smsContent: ").append(toIndentedString(smsContent)).append("\n"); + sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); + sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" communicationStage: ").append(toIndentedString(communicationStage)).append("\n"); + sb.append(" communicationTemplate: ").append(toIndentedString(communicationTemplate)).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_body"); + openapiFields.add("email_subject"); + openapiFields.add("slack_content"); + openapiFields.add("sms_content"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + openapiFields.add("communication_stage"); + openapiFields.add("communication_template"); + + // 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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes is not found in the empty JSON string", CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("email_body") != null && !jsonObj.get("email_body").isJsonNull()) && !jsonObj.get("email_body").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_body").toString())); + } + if ((jsonObj.get("email_subject") != null && !jsonObj.get("email_subject").isJsonNull()) && !jsonObj.get("email_subject").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_subject` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_subject").toString())); + } + if ((jsonObj.get("slack_content") != null && !jsonObj.get("slack_content").isJsonNull()) && !jsonObj.get("slack_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_content").toString())); + } + if ((jsonObj.get("sms_content") != null && !jsonObj.get("sms_content").isJsonNull()) && !jsonObj.get("sms_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sms_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sms_content").toString())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 `communication_stage` + if (jsonObj.get("communication_stage") != null && !jsonObj.get("communication_stage").isJsonNull()) { + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.validateJsonElement(jsonObj.get("communication_stage")); + } + // validate the optional field `communication_template` + if (jsonObj.get("communication_template") != null && !jsonObj.get("communication_template").isJsonNull()) { + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.validateJsonElement(jsonObj.get("communication_template")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + */ + public static CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes 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/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.java new file mode 100644 index 00000000..abb5833b --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.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; + +/** + * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage() { + } + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * The communication stage ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The communication stage name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage = (CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage) o; + return Objects.equals(this.id, communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.id) && + Objects.equals(this.name, communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage {\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(); + } + + /** + * 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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage is not found in the empty JSON string", CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + */ + public static CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage 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/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.java new file mode 100644 index 00000000..8d70023f --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.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; + +/** + * CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate() { + } + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * The communication template ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The communication template name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate = (CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate) o; + return Objects.equals(this.id, communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.id) && + Objects.equals(this.name, communicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate {\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(); + } + + /** + * 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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate is not found in the empty JSON string", CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + */ + public static CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate 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/CommunicationsTemplateCommunicationType.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.java new file mode 100644 index 00000000..8199218b --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateCommunicationType.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; + +/** + * CommunicationsTemplateCommunicationType + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateCommunicationType { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CommunicationsTemplateCommunicationType() { + } + + public CommunicationsTemplateCommunicationType id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the communication type + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CommunicationsTemplateCommunicationType name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Name of the communication type + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateCommunicationType communicationsTemplateCommunicationType = (CommunicationsTemplateCommunicationType) o; + return Objects.equals(this.id, communicationsTemplateCommunicationType.id) && + Objects.equals(this.name, communicationsTemplateCommunicationType.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateCommunicationType {\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(); + } + + /** + * 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 CommunicationsTemplateCommunicationType + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateCommunicationType.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateCommunicationType is not found in the empty JSON string", CommunicationsTemplateCommunicationType.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateCommunicationType.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateCommunicationType` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateCommunicationType.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateCommunicationType' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateCommunicationType.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateCommunicationType value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateCommunicationType read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateCommunicationType given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateCommunicationType + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateCommunicationType + */ + public static CommunicationsTemplateCommunicationType fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateCommunicationType.class); + } + + /** + * Convert an instance of CommunicationsTemplateCommunicationType 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/CommunicationsTemplateResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java new file mode 100644 index 00000000..f547bda6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.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.CommunicationsTemplateResponseData; +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; + +/** + * CommunicationsTemplateResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CommunicationsTemplateResponseData data; + + public CommunicationsTemplateResponse() { + } + + public CommunicationsTemplateResponse data(@javax.annotation.Nonnull CommunicationsTemplateResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CommunicationsTemplateResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CommunicationsTemplateResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateResponse communicationsTemplateResponse = (CommunicationsTemplateResponse) o; + return Objects.equals(this.data, communicationsTemplateResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateResponse {\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 CommunicationsTemplateResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateResponse is not found in the empty JSON string", CommunicationsTemplateResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTemplateResponse.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` + CommunicationsTemplateResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateResponse + */ + public static CommunicationsTemplateResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateResponse.class); + } + + /** + * Convert an instance of CommunicationsTemplateResponse 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/CommunicationsTemplateResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.java new file mode 100644 index 00000000..ab28087b --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponseData.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.CommunicationsTemplate; +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; + +/** + * CommunicationsTemplateResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplateResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TEMPLATES("communications_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CommunicationsTemplate attributes; + + public CommunicationsTemplateResponseData() { + } + + public CommunicationsTemplateResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the communications template + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CommunicationsTemplateResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CommunicationsTemplateResponseData attributes(@javax.annotation.Nonnull CommunicationsTemplate attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CommunicationsTemplate getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CommunicationsTemplate attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplateResponseData communicationsTemplateResponseData = (CommunicationsTemplateResponseData) o; + return Objects.equals(this.id, communicationsTemplateResponseData.id) && + Objects.equals(this.type, communicationsTemplateResponseData.type) && + Objects.equals(this.attributes, communicationsTemplateResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplateResponseData {\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 CommunicationsTemplateResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplateResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplateResponseData is not found in the empty JSON string", CommunicationsTemplateResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplateResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplateResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTemplateResponseData.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` + CommunicationsTemplate.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplateResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplateResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplateResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplateResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplateResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplateResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplateResponseData + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplateResponseData + */ + public static CommunicationsTemplateResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplateResponseData.class); + } + + /** + * Convert an instance of CommunicationsTemplateResponseData 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/CommunicationsTemplatesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java new file mode 100644 index 00000000..d4e77ddf --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java @@ -0,0 +1,296 @@ +/* + * 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.CommunicationsTemplateResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CommunicationsTemplatesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTemplatesResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CommunicationsTemplatesResponse() { + } + + public CommunicationsTemplatesResponse data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CommunicationsTemplatesResponse addDataItem(CommunicationsTemplateResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CommunicationsTemplatesResponse links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CommunicationsTemplatesResponse meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTemplatesResponse communicationsTemplatesResponse = (CommunicationsTemplatesResponse) o; + return Objects.equals(this.data, communicationsTemplatesResponse.data) && + Objects.equals(this.links, communicationsTemplatesResponse.links) && + Objects.equals(this.meta, communicationsTemplatesResponse.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTemplatesResponse {\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("}"); + 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"); + + // 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 CommunicationsTemplatesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTemplatesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTemplatesResponse is not found in the empty JSON string", CommunicationsTemplatesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTemplatesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTemplatesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTemplatesResponse.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++) { + CommunicationsTemplateResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTemplatesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTemplatesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTemplatesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTemplatesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTemplatesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTemplatesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTemplatesResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsTemplatesResponse + */ + public static CommunicationsTemplatesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTemplatesResponse.class); + } + + /** + * Convert an instance of CommunicationsTemplatesResponse 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/CommunicationsType.java b/src/main/java/com/rootly/client/model/CommunicationsType.java new file mode 100644 index 00000000..3ecd44de --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsType.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; + +/** + * CommunicationsType + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsType { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COLOR = "color"; + @SerializedName(SERIALIZED_NAME_COLOR) + @javax.annotation.Nullable + private String color; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nonnull + private Integer position; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public CommunicationsType() { + } + + public CommunicationsType name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications type + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CommunicationsType slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the communications type + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public CommunicationsType description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications type + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CommunicationsType color(@javax.annotation.Nullable String color) { + this.color = color; + return this; + } + + /** + * The color of the communications type + * @return color + */ + @javax.annotation.Nullable + public String getColor() { + return color; + } + + public void setColor(@javax.annotation.Nullable String color) { + this.color = color; + } + + + public CommunicationsType position(@javax.annotation.Nonnull Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications type + * @return position + */ + @javax.annotation.Nonnull + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nonnull Integer position) { + this.position = position; + } + + + public CommunicationsType createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public CommunicationsType updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + CommunicationsType communicationsType = (CommunicationsType) o; + return Objects.equals(this.name, communicationsType.name) && + Objects.equals(this.slug, communicationsType.slug) && + Objects.equals(this.description, communicationsType.description) && + Objects.equals(this.color, communicationsType.color) && + Objects.equals(this.position, communicationsType.position) && + Objects.equals(this.createdAt, communicationsType.createdAt) && + Objects.equals(this.updatedAt, communicationsType.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(name, slug, description, color, position, 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 CommunicationsType {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" color: ").append(toIndentedString(color)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("slug"); + openapiFields.add("description"); + openapiFields.add("color"); + openapiFields.add("position"); + 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("color"); + openapiRequiredFields.add("position"); + 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 CommunicationsType + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsType.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsType is not found in the empty JSON string", CommunicationsType.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsType.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsType` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsType.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("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("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("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("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 (!CommunicationsType.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsType' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsType.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsType value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsType read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsType given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsType + * @throws IOException if the JSON string is invalid with respect to CommunicationsType + */ + public static CommunicationsType fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsType.class); + } + + /** + * Convert an instance of CommunicationsType 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/CommunicationsTypeResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java new file mode 100644 index 00000000..2c367408 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.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.CommunicationsTypeResponseData; +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; + +/** + * CommunicationsTypeResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTypeResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CommunicationsTypeResponseData data; + + public CommunicationsTypeResponse() { + } + + public CommunicationsTypeResponse data(@javax.annotation.Nonnull CommunicationsTypeResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CommunicationsTypeResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CommunicationsTypeResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTypeResponse communicationsTypeResponse = (CommunicationsTypeResponse) o; + return Objects.equals(this.data, communicationsTypeResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTypeResponse {\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 CommunicationsTypeResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTypeResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTypeResponse is not found in the empty JSON string", CommunicationsTypeResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTypeResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTypeResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTypeResponse.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` + CommunicationsTypeResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTypeResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTypeResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTypeResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTypeResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTypeResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTypeResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTypeResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsTypeResponse + */ + public static CommunicationsTypeResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTypeResponse.class); + } + + /** + * Convert an instance of CommunicationsTypeResponse 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/CommunicationsTypeResponseData.java b/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.java new file mode 100644 index 00000000..4bb6346c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTypeResponseData.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.CommunicationsType; +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; + +/** + * CommunicationsTypeResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTypeResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TYPES("communications_types"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CommunicationsType attributes; + + public CommunicationsTypeResponseData() { + } + + public CommunicationsTypeResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the communications type + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public CommunicationsTypeResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CommunicationsTypeResponseData attributes(@javax.annotation.Nonnull CommunicationsType attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CommunicationsType getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CommunicationsType attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTypeResponseData communicationsTypeResponseData = (CommunicationsTypeResponseData) o; + return Objects.equals(this.id, communicationsTypeResponseData.id) && + Objects.equals(this.type, communicationsTypeResponseData.type) && + Objects.equals(this.attributes, communicationsTypeResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTypeResponseData {\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 CommunicationsTypeResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTypeResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTypeResponseData is not found in the empty JSON string", CommunicationsTypeResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTypeResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTypeResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTypeResponseData.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` + CommunicationsType.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTypeResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTypeResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTypeResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTypeResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTypeResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTypeResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTypeResponseData + * @throws IOException if the JSON string is invalid with respect to CommunicationsTypeResponseData + */ + public static CommunicationsTypeResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTypeResponseData.class); + } + + /** + * Convert an instance of CommunicationsTypeResponseData 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/CommunicationsTypesResponse.java b/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java new file mode 100644 index 00000000..aa562f41 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java @@ -0,0 +1,296 @@ +/* + * 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.CommunicationsTypeResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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; + +/** + * CommunicationsTypesResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CommunicationsTypesResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nullable + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public CommunicationsTypesResponse() { + } + + public CommunicationsTypesResponse data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public CommunicationsTypesResponse addDataItem(CommunicationsTypeResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public CommunicationsTypesResponse links(@javax.annotation.Nullable Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nullable + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nullable Links links) { + this.links = links; + } + + + public CommunicationsTypesResponse meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CommunicationsTypesResponse communicationsTypesResponse = (CommunicationsTypesResponse) o; + return Objects.equals(this.data, communicationsTypesResponse.data) && + Objects.equals(this.links, communicationsTypesResponse.links) && + Objects.equals(this.meta, communicationsTypesResponse.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CommunicationsTypesResponse {\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("}"); + 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"); + + // 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 CommunicationsTypesResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CommunicationsTypesResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CommunicationsTypesResponse is not found in the empty JSON string", CommunicationsTypesResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CommunicationsTypesResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CommunicationsTypesResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CommunicationsTypesResponse.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++) { + CommunicationsTypeResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `links` + if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { + Links.validateJsonElement(jsonObj.get("links")); + } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CommunicationsTypesResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CommunicationsTypesResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CommunicationsTypesResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CommunicationsTypesResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CommunicationsTypesResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CommunicationsTypesResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of CommunicationsTypesResponse + * @throws IOException if the JSON string is invalid with respect to CommunicationsTypesResponse + */ + public static CommunicationsTypesResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CommunicationsTypesResponse.class); + } + + /** + * Convert an instance of CommunicationsTypesResponse 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/CreateAirtableTableRecordTaskParams.java b/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java index 2c5b87ef..42f9a026 100644 --- a/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAirtableTableRecordTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * CreateAirtableTableRecordTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..cec48f5c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParams.java @@ -0,0 +1,359 @@ +/* + * 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.CreateAnthropicChatCompletionTaskParamsModel; +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; + +/** + * CreateAnthropicChatCompletionTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateAnthropicChatCompletionTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_ANTHROPIC_CHAT_COMPLETION_TASK("create_anthropic_chat_completion_task"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + @javax.annotation.Nonnull + private CreateAnthropicChatCompletionTaskParamsModel model; + + public static final String SERIALIZED_NAME_SYSTEM_PROMPT = "system_prompt"; + @SerializedName(SERIALIZED_NAME_SYSTEM_PROMPT) + @javax.annotation.Nullable + private String systemPrompt; + + public static final String SERIALIZED_NAME_PROMPT = "prompt"; + @SerializedName(SERIALIZED_NAME_PROMPT) + @javax.annotation.Nonnull + private String prompt; + + public CreateAnthropicChatCompletionTaskParams() { + } + + public CreateAnthropicChatCompletionTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateAnthropicChatCompletionTaskParams model(@javax.annotation.Nonnull CreateAnthropicChatCompletionTaskParamsModel model) { + this.model = model; + return this; + } + + /** + * Get model + * @return model + */ + @javax.annotation.Nonnull + public CreateAnthropicChatCompletionTaskParamsModel getModel() { + return model; + } + + public void setModel(@javax.annotation.Nonnull CreateAnthropicChatCompletionTaskParamsModel model) { + this.model = model; + } + + + public CreateAnthropicChatCompletionTaskParams systemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + return this; + } + + /** + * The system prompt to send to Anthropic (optional) + * @return systemPrompt + */ + @javax.annotation.Nullable + public String getSystemPrompt() { + return systemPrompt; + } + + public void setSystemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + } + + + public CreateAnthropicChatCompletionTaskParams prompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + return this; + } + + /** + * The prompt to send to Anthropic + * @return prompt + */ + @javax.annotation.Nonnull + public String getPrompt() { + return prompt; + } + + public void setPrompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateAnthropicChatCompletionTaskParams createAnthropicChatCompletionTaskParams = (CreateAnthropicChatCompletionTaskParams) o; + return Objects.equals(this.taskType, createAnthropicChatCompletionTaskParams.taskType) && + Objects.equals(this.model, createAnthropicChatCompletionTaskParams.model) && + Objects.equals(this.systemPrompt, createAnthropicChatCompletionTaskParams.systemPrompt) && + Objects.equals(this.prompt, createAnthropicChatCompletionTaskParams.prompt); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, model, systemPrompt, prompt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateAnthropicChatCompletionTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" systemPrompt: ").append(toIndentedString(systemPrompt)).append("\n"); + sb.append(" prompt: ").append(toIndentedString(prompt)).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("model"); + openapiFields.add("system_prompt"); + openapiFields.add("prompt"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("model"); + openapiRequiredFields.add("prompt"); + } + + /** + * 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 CreateAnthropicChatCompletionTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateAnthropicChatCompletionTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateAnthropicChatCompletionTaskParams is not found in the empty JSON string", CreateAnthropicChatCompletionTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateAnthropicChatCompletionTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateAnthropicChatCompletionTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateAnthropicChatCompletionTaskParams.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 `model` + CreateAnthropicChatCompletionTaskParamsModel.validateJsonElement(jsonObj.get("model")); + if ((jsonObj.get("system_prompt") != null && !jsonObj.get("system_prompt").isJsonNull()) && !jsonObj.get("system_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `system_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("system_prompt").toString())); + } + if (!jsonObj.get("prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prompt").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateAnthropicChatCompletionTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateAnthropicChatCompletionTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateAnthropicChatCompletionTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateAnthropicChatCompletionTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateAnthropicChatCompletionTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateAnthropicChatCompletionTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateAnthropicChatCompletionTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateAnthropicChatCompletionTaskParams + */ + public static CreateAnthropicChatCompletionTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateAnthropicChatCompletionTaskParams.class); + } + + /** + * Convert an instance of CreateAnthropicChatCompletionTaskParams 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/CreateAnthropicChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.java new file mode 100644 index 00000000..0be83128 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModel.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; + +/** + * The Anthropic model. eg: claude-3-5-sonnet-20241022 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateAnthropicChatCompletionTaskParamsModel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateAnthropicChatCompletionTaskParamsModel() { + } + + public CreateAnthropicChatCompletionTaskParamsModel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateAnthropicChatCompletionTaskParamsModel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateAnthropicChatCompletionTaskParamsModel createAnthropicChatCompletionTaskParamsModel = (CreateAnthropicChatCompletionTaskParamsModel) o; + return Objects.equals(this.id, createAnthropicChatCompletionTaskParamsModel.id) && + Objects.equals(this.name, createAnthropicChatCompletionTaskParamsModel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateAnthropicChatCompletionTaskParamsModel {\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(); + } + + /** + * 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 CreateAnthropicChatCompletionTaskParamsModel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateAnthropicChatCompletionTaskParamsModel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateAnthropicChatCompletionTaskParamsModel is not found in the empty JSON string", CreateAnthropicChatCompletionTaskParamsModel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateAnthropicChatCompletionTaskParamsModel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateAnthropicChatCompletionTaskParamsModel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateAnthropicChatCompletionTaskParamsModel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateAnthropicChatCompletionTaskParamsModel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateAnthropicChatCompletionTaskParamsModel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateAnthropicChatCompletionTaskParamsModel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateAnthropicChatCompletionTaskParamsModel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateAnthropicChatCompletionTaskParamsModel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateAnthropicChatCompletionTaskParamsModel + * @throws IOException if the JSON string is invalid with respect to CreateAnthropicChatCompletionTaskParamsModel + */ + public static CreateAnthropicChatCompletionTaskParamsModel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateAnthropicChatCompletionTaskParamsModel.class); + } + + /** + * Convert an instance of CreateAnthropicChatCompletionTaskParamsModel 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/CreateAsanaSubtaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java index 7ee241e5..5a9ea78b 100644 --- a/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAsanaSubtaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateAsanaSubtaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e4f51bdc..2cf14507 100644 --- a/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateAsanaTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateAsanaTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c5ee0033..061579c2 100644 --- a/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * CreateClickupTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 edcd180f..4b35e6bc 100644 --- a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateCodaPageTaskParamsTemplate; import java.io.IOException; import java.util.Arrays; @@ -49,7 +50,7 @@ /** * CreateCodaPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateCodaPageTaskParams { /** * Gets or Sets taskType @@ -141,6 +142,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String folderId; + public static final String SERIALIZED_NAME_DOC = "doc"; + @SerializedName(SERIALIZED_NAME_DOC) + @javax.annotation.Nullable + private CreateCodaPageTaskParamsDoc doc; + public CreateCodaPageTaskParams() { } @@ -296,6 +302,25 @@ public void setFolderId(@javax.annotation.Nullable String folderId) { } + public CreateCodaPageTaskParams doc(@javax.annotation.Nullable CreateCodaPageTaskParamsDoc doc) { + this.doc = doc; + return this; + } + + /** + * Get doc + * @return doc + */ + @javax.annotation.Nullable + public CreateCodaPageTaskParamsDoc getDoc() { + return doc; + } + + public void setDoc(@javax.annotation.Nullable CreateCodaPageTaskParamsDoc doc) { + this.doc = doc; + } + + @Override public boolean equals(Object o) { @@ -313,12 +338,13 @@ public boolean equals(Object o) { Objects.equals(this.subtitle, createCodaPageTaskParams.subtitle) && Objects.equals(this.content, createCodaPageTaskParams.content) && Objects.equals(this.template, createCodaPageTaskParams.template) && - Objects.equals(this.folderId, createCodaPageTaskParams.folderId); + Objects.equals(this.folderId, createCodaPageTaskParams.folderId) && + Objects.equals(this.doc, createCodaPageTaskParams.doc); } @Override public int hashCode() { - return Objects.hash(taskType, postMortemTemplateId, markPostMortemAsPublished, title, subtitle, content, template, folderId); + return Objects.hash(taskType, postMortemTemplateId, markPostMortemAsPublished, title, subtitle, content, template, folderId, doc); } @Override @@ -333,6 +359,7 @@ public String toString() { sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" template: ").append(toIndentedString(template)).append("\n"); sb.append(" folderId: ").append(toIndentedString(folderId)).append("\n"); + sb.append(" doc: ").append(toIndentedString(doc)).append("\n"); sb.append("}"); return sb.toString(); } @@ -363,6 +390,7 @@ private String toIndentedString(Object o) { openapiFields.add("content"); openapiFields.add("template"); openapiFields.add("folder_id"); + openapiFields.add("doc"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -423,6 +451,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("folder_id") != null && !jsonObj.get("folder_id").isJsonNull()) && !jsonObj.get("folder_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `folder_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("folder_id").toString())); } + // validate the optional field `doc` + if (jsonObj.get("doc") != null && !jsonObj.get("doc").isJsonNull()) { + CreateCodaPageTaskParamsDoc.validateJsonElement(jsonObj.get("doc")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.java new file mode 100644 index 00000000..9d9fa9e2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsDoc.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; + +/** + * The Coda doc object with id and name + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateCodaPageTaskParamsDoc { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateCodaPageTaskParamsDoc() { + } + + public CreateCodaPageTaskParamsDoc id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateCodaPageTaskParamsDoc name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateCodaPageTaskParamsDoc createCodaPageTaskParamsDoc = (CreateCodaPageTaskParamsDoc) o; + return Objects.equals(this.id, createCodaPageTaskParamsDoc.id) && + Objects.equals(this.name, createCodaPageTaskParamsDoc.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateCodaPageTaskParamsDoc {\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(); + } + + /** + * 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 CreateCodaPageTaskParamsDoc + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateCodaPageTaskParamsDoc.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateCodaPageTaskParamsDoc is not found in the empty JSON string", CreateCodaPageTaskParamsDoc.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateCodaPageTaskParamsDoc.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateCodaPageTaskParamsDoc` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateCodaPageTaskParamsDoc.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateCodaPageTaskParamsDoc' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateCodaPageTaskParamsDoc.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateCodaPageTaskParamsDoc value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateCodaPageTaskParamsDoc read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateCodaPageTaskParamsDoc given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateCodaPageTaskParamsDoc + * @throws IOException if the JSON string is invalid with respect to CreateCodaPageTaskParamsDoc + */ + public static CreateCodaPageTaskParamsDoc fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateCodaPageTaskParamsDoc.class); + } + + /** + * Convert an instance of CreateCodaPageTaskParamsDoc 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/CreateCodaPageTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java index 122da6c6..2d5cf8ef 100644 --- a/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreateCodaPageTaskParamsTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 70ade075..0abe45ae 100644 --- a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * CreateConfluencePageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8f1aec53..738c2842 100644 --- a/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java +++ b/src/main/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * Specify integration id if you have more than one Confluence instance */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c4fc67b0..f134e3e8 100644 --- a/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateDatadogNotebookTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateDatadogNotebookTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f807a1d0..32cca1ba 100644 --- a/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateDropboxPaperPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateDropboxPaperPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..700d96b3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequest.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.CreateEdgeConnectorActionRequestAction; +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; + +/** + * CreateEdgeConnectorActionRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorActionRequest { + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + @javax.annotation.Nullable + private CreateEdgeConnectorActionRequestAction action; + + public CreateEdgeConnectorActionRequest() { + } + + public CreateEdgeConnectorActionRequest action(@javax.annotation.Nullable CreateEdgeConnectorActionRequestAction action) { + this.action = action; + return this; + } + + /** + * Get action + * @return action + */ + @javax.annotation.Nullable + public CreateEdgeConnectorActionRequestAction getAction() { + return action; + } + + public void setAction(@javax.annotation.Nullable CreateEdgeConnectorActionRequestAction action) { + this.action = action; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest = (CreateEdgeConnectorActionRequest) o; + return Objects.equals(this.action, createEdgeConnectorActionRequest.action); + } + + @Override + public int hashCode() { + return Objects.hash(action); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorActionRequest {\n"); + sb.append(" action: ").append(toIndentedString(action)).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("action"); + + // 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 CreateEdgeConnectorActionRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorActionRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorActionRequest is not found in the empty JSON string", CreateEdgeConnectorActionRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorActionRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorActionRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `action` + if (jsonObj.get("action") != null && !jsonObj.get("action").isJsonNull()) { + CreateEdgeConnectorActionRequestAction.validateJsonElement(jsonObj.get("action")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorActionRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorActionRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorActionRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorActionRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorActionRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorActionRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorActionRequest + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorActionRequest + */ + public static CreateEdgeConnectorActionRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorActionRequest.class); + } + + /** + * Convert an instance of CreateEdgeConnectorActionRequest 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/CreateEdgeConnectorActionRequestAction.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java new file mode 100644 index 00000000..25f869bd --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestAction.java @@ -0,0 +1,331 @@ +/* + * 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.CreateEdgeConnectorActionRequestActionMetadata; +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; + +/** + * CreateEdgeConnectorActionRequestAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorActionRequestAction { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + /** + * Action type + */ + @JsonAdapter(ActionTypeEnum.Adapter.class) + public enum ActionTypeEnum { + SCRIPT("script"), + + HTTP("http"); + + private String value; + + ActionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionTypeEnum fromValue(String value) { + for (ActionTypeEnum b : ActionTypeEnum.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 ActionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ActionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ACTION_TYPE = "action_type"; + @SerializedName(SERIALIZED_NAME_ACTION_TYPE) + @javax.annotation.Nonnull + private ActionTypeEnum actionType; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + @javax.annotation.Nullable + private CreateEdgeConnectorActionRequestActionMetadata metadata; + + public CreateEdgeConnectorActionRequestAction() { + } + + public CreateEdgeConnectorActionRequestAction name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Action name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CreateEdgeConnectorActionRequestAction actionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + return this; + } + + /** + * Action type + * @return actionType + */ + @javax.annotation.Nonnull + public ActionTypeEnum getActionType() { + return actionType; + } + + public void setActionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + } + + + public CreateEdgeConnectorActionRequestAction metadata(@javax.annotation.Nullable CreateEdgeConnectorActionRequestActionMetadata metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + */ + @javax.annotation.Nullable + public CreateEdgeConnectorActionRequestActionMetadata getMetadata() { + return metadata; + } + + public void setMetadata(@javax.annotation.Nullable CreateEdgeConnectorActionRequestActionMetadata metadata) { + this.metadata = metadata; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorActionRequestAction createEdgeConnectorActionRequestAction = (CreateEdgeConnectorActionRequestAction) o; + return Objects.equals(this.name, createEdgeConnectorActionRequestAction.name) && + Objects.equals(this.actionType, createEdgeConnectorActionRequestAction.actionType) && + Objects.equals(this.metadata, createEdgeConnectorActionRequestAction.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(name, actionType, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorActionRequestAction {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).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("action_type"); + openapiFields.add("metadata"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("action_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 CreateEdgeConnectorActionRequestAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorActionRequestAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorActionRequestAction is not found in the empty JSON string", CreateEdgeConnectorActionRequestAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorActionRequestAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorActionRequestAction` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateEdgeConnectorActionRequestAction.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("action_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action_type").toString())); + } + // validate the required field `action_type` + ActionTypeEnum.validateJsonElement(jsonObj.get("action_type")); + // validate the optional field `metadata` + if (jsonObj.get("metadata") != null && !jsonObj.get("metadata").isJsonNull()) { + CreateEdgeConnectorActionRequestActionMetadata.validateJsonElement(jsonObj.get("metadata")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorActionRequestAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorActionRequestAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorActionRequestAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorActionRequestAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorActionRequestAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorActionRequestAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorActionRequestAction + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorActionRequestAction + */ + public static CreateEdgeConnectorActionRequestAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorActionRequestAction.class); + } + + /** + * Convert an instance of CreateEdgeConnectorActionRequestAction 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/CreateEdgeConnectorActionRequestActionMetadata.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java new file mode 100644 index 00000000..6a65550e --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadata.java @@ -0,0 +1,285 @@ +/* + * 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.CreateEdgeConnectorActionRequestActionMetadataParametersInner; +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; + +/** + * CreateEdgeConnectorActionRequestActionMetadata + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorActionRequestActionMetadata { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_TIMEOUT = "timeout"; + @SerializedName(SERIALIZED_NAME_TIMEOUT) + @javax.annotation.Nullable + private Integer timeout; + + public static final String SERIALIZED_NAME_PARAMETERS = "parameters"; + @SerializedName(SERIALIZED_NAME_PARAMETERS) + @javax.annotation.Nullable + private List parameters = new ArrayList<>(); + + public CreateEdgeConnectorActionRequestActionMetadata() { + } + + public CreateEdgeConnectorActionRequestActionMetadata description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CreateEdgeConnectorActionRequestActionMetadata timeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + return this; + } + + /** + * Get timeout + * @return timeout + */ + @javax.annotation.Nullable + public Integer getTimeout() { + return timeout; + } + + public void setTimeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + } + + + public CreateEdgeConnectorActionRequestActionMetadata parameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + return this; + } + + public CreateEdgeConnectorActionRequestActionMetadata addParametersItem(CreateEdgeConnectorActionRequestActionMetadataParametersInner parametersItem) { + if (this.parameters == null) { + this.parameters = new ArrayList<>(); + } + this.parameters.add(parametersItem); + return this; + } + + /** + * Get parameters + * @return parameters + */ + @javax.annotation.Nullable + public List getParameters() { + return parameters; + } + + public void setParameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorActionRequestActionMetadata createEdgeConnectorActionRequestActionMetadata = (CreateEdgeConnectorActionRequestActionMetadata) o; + return Objects.equals(this.description, createEdgeConnectorActionRequestActionMetadata.description) && + Objects.equals(this.timeout, createEdgeConnectorActionRequestActionMetadata.timeout) && + Objects.equals(this.parameters, createEdgeConnectorActionRequestActionMetadata.parameters); + } + + @Override + public int hashCode() { + return Objects.hash(description, timeout, parameters); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorActionRequestActionMetadata {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" timeout: ").append(toIndentedString(timeout)).append("\n"); + sb.append(" parameters: ").append(toIndentedString(parameters)).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("description"); + openapiFields.add("timeout"); + openapiFields.add("parameters"); + + // 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 CreateEdgeConnectorActionRequestActionMetadata + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorActionRequestActionMetadata.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorActionRequestActionMetadata is not found in the empty JSON string", CreateEdgeConnectorActionRequestActionMetadata.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorActionRequestActionMetadata.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorActionRequestActionMetadata` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + 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("parameters") != null && !jsonObj.get("parameters").isJsonNull()) { + JsonArray jsonArrayparameters = jsonObj.getAsJsonArray("parameters"); + if (jsonArrayparameters != null) { + // ensure the json data is an array + if (!jsonObj.get("parameters").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `parameters` to be an array in the JSON string but got `%s`", jsonObj.get("parameters").toString())); + } + + // validate the optional field `parameters` (array) + for (int i = 0; i < jsonArrayparameters.size(); i++) { + CreateEdgeConnectorActionRequestActionMetadataParametersInner.validateJsonElement(jsonArrayparameters.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorActionRequestActionMetadata.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorActionRequestActionMetadata' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorActionRequestActionMetadata.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorActionRequestActionMetadata value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorActionRequestActionMetadata read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorActionRequestActionMetadata given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorActionRequestActionMetadata + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorActionRequestActionMetadata + */ + public static CreateEdgeConnectorActionRequestActionMetadata fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorActionRequestActionMetadata.class); + } + + /** + * Convert an instance of CreateEdgeConnectorActionRequestActionMetadata 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/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java new file mode 100644 index 00000000..4ae420cc --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInner.java @@ -0,0 +1,392 @@ +/* + * 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; + +/** + * CreateEdgeConnectorActionRequestActionMetadataParametersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorActionRequestActionMetadataParametersInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STRING("string"), + + NUMBER("number"), + + BOOLEAN("boolean"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + @javax.annotation.Nullable + private List options = new ArrayList<>(); + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner() { + } + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Get required + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner options(@javax.annotation.Nullable List options) { + this.options = options; + return this; + } + + public CreateEdgeConnectorActionRequestActionMetadataParametersInner addOptionsItem(String optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Get options + * @return options + */ + @javax.annotation.Nullable + public List getOptions() { + return options; + } + + public void setOptions(@javax.annotation.Nullable List options) { + this.options = options; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorActionRequestActionMetadataParametersInner createEdgeConnectorActionRequestActionMetadataParametersInner = (CreateEdgeConnectorActionRequestActionMetadataParametersInner) o; + return Objects.equals(this.name, createEdgeConnectorActionRequestActionMetadataParametersInner.name) && + Objects.equals(this.type, createEdgeConnectorActionRequestActionMetadataParametersInner.type) && + Objects.equals(this.required, createEdgeConnectorActionRequestActionMetadataParametersInner.required) && + Objects.equals(this.description, createEdgeConnectorActionRequestActionMetadataParametersInner.description) && + Objects.equals(this.options, createEdgeConnectorActionRequestActionMetadataParametersInner.options); + } + + @Override + public int hashCode() { + return Objects.hash(name, type, required, description, options); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorActionRequestActionMetadataParametersInner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).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("type"); + openapiFields.add("required"); + openapiFields.add("description"); + openapiFields.add("options"); + + // 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 CreateEdgeConnectorActionRequestActionMetadataParametersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorActionRequestActionMetadataParametersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorActionRequestActionMetadataParametersInner is not found in the empty JSON string", CreateEdgeConnectorActionRequestActionMetadataParametersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorActionRequestActionMetadataParametersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorActionRequestActionMetadataParametersInner` 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("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")); + } + 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("options") != null && !jsonObj.get("options").isJsonNull() && !jsonObj.get("options").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `options` to be an array in the JSON string but got `%s`", jsonObj.get("options").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorActionRequestActionMetadataParametersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorActionRequestActionMetadataParametersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorActionRequestActionMetadataParametersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorActionRequestActionMetadataParametersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorActionRequestActionMetadataParametersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorActionRequestActionMetadataParametersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorActionRequestActionMetadataParametersInner + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorActionRequestActionMetadataParametersInner + */ + public static CreateEdgeConnectorActionRequestActionMetadataParametersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorActionRequestActionMetadataParametersInner.class); + } + + /** + * Convert an instance of CreateEdgeConnectorActionRequestActionMetadataParametersInner 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/CreateEdgeConnectorRequest.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.java new file mode 100644 index 00000000..ff20af4c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequest.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.CreateEdgeConnectorRequestData; +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; + +/** + * CreateEdgeConnectorRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorRequest { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private CreateEdgeConnectorRequestData data; + + public CreateEdgeConnectorRequest() { + } + + public CreateEdgeConnectorRequest data(@javax.annotation.Nonnull CreateEdgeConnectorRequestData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public CreateEdgeConnectorRequestData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull CreateEdgeConnectorRequestData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorRequest createEdgeConnectorRequest = (CreateEdgeConnectorRequest) o; + return Objects.equals(this.data, createEdgeConnectorRequest.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorRequest {\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 CreateEdgeConnectorRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorRequest is not found in the empty JSON string", CreateEdgeConnectorRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateEdgeConnectorRequest.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` + CreateEdgeConnectorRequestData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorRequest + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorRequest + */ + public static CreateEdgeConnectorRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorRequest.class); + } + + /** + * Convert an instance of CreateEdgeConnectorRequest 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/CreateEdgeConnectorRequestData.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.java new file mode 100644 index 00000000..a7cbb4ba --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestData.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.CreateEdgeConnectorRequestDataAttributes; +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; + +/** + * CreateEdgeConnectorRequestData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorRequestData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + EDGE_CONNECTORS("edge_connectors"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private CreateEdgeConnectorRequestDataAttributes attributes; + + public CreateEdgeConnectorRequestData() { + } + + public CreateEdgeConnectorRequestData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public CreateEdgeConnectorRequestData attributes(@javax.annotation.Nonnull CreateEdgeConnectorRequestDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public CreateEdgeConnectorRequestDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull CreateEdgeConnectorRequestDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorRequestData createEdgeConnectorRequestData = (CreateEdgeConnectorRequestData) o; + return Objects.equals(this.type, createEdgeConnectorRequestData.type) && + Objects.equals(this.attributes, createEdgeConnectorRequestData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorRequestData {\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 CreateEdgeConnectorRequestData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorRequestData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorRequestData is not found in the empty JSON string", CreateEdgeConnectorRequestData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorRequestData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorRequestData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateEdgeConnectorRequestData.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` + CreateEdgeConnectorRequestDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorRequestData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorRequestData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorRequestData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorRequestData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorRequestData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorRequestData given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorRequestData + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorRequestData + */ + public static CreateEdgeConnectorRequestData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorRequestData.class); + } + + /** + * Convert an instance of CreateEdgeConnectorRequestData 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/CreateEdgeConnectorRequestDataAttributes.java b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java new file mode 100644 index 00000000..94d860f9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.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.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; + +/** + * CreateEdgeConnectorRequestDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateEdgeConnectorRequestDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * Connector status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + PAUSED("paused"); + + 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) + @javax.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_SUBSCRIPTIONS = "subscriptions"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTIONS) + @javax.annotation.Nullable + private List subscriptions = new ArrayList<>(); + + public CreateEdgeConnectorRequestDataAttributes() { + } + + public CreateEdgeConnectorRequestDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Connector name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public CreateEdgeConnectorRequestDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Connector description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CreateEdgeConnectorRequestDataAttributes status(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * Connector status + * @return status + */ + @javax.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public CreateEdgeConnectorRequestDataAttributes subscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + return this; + } + + public CreateEdgeConnectorRequestDataAttributes addSubscriptionsItem(String subscriptionsItem) { + if (this.subscriptions == null) { + this.subscriptions = new ArrayList<>(); + } + this.subscriptions.add(subscriptionsItem); + return this; + } + + /** + * Array of event types to subscribe to + * @return subscriptions + */ + @javax.annotation.Nullable + public List getSubscriptions() { + return subscriptions; + } + + public void setSubscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateEdgeConnectorRequestDataAttributes createEdgeConnectorRequestDataAttributes = (CreateEdgeConnectorRequestDataAttributes) o; + return Objects.equals(this.name, createEdgeConnectorRequestDataAttributes.name) && + Objects.equals(this.description, createEdgeConnectorRequestDataAttributes.description) && + Objects.equals(this.status, createEdgeConnectorRequestDataAttributes.status) && + Objects.equals(this.subscriptions, createEdgeConnectorRequestDataAttributes.subscriptions); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, status, subscriptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateEdgeConnectorRequestDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + 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("}"); + 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("status"); + openapiFields.add("subscriptions"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + 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 CreateEdgeConnectorRequestDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateEdgeConnectorRequestDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateEdgeConnectorRequestDataAttributes is not found in the empty JSON string", CreateEdgeConnectorRequestDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateEdgeConnectorRequestDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateEdgeConnectorRequestDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateEdgeConnectorRequestDataAttributes.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") != 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")); + } + // ensure the optional json data is an array if present + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateEdgeConnectorRequestDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateEdgeConnectorRequestDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateEdgeConnectorRequestDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateEdgeConnectorRequestDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateEdgeConnectorRequestDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateEdgeConnectorRequestDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateEdgeConnectorRequestDataAttributes + * @throws IOException if the JSON string is invalid with respect to CreateEdgeConnectorRequestDataAttributes + */ + public static CreateEdgeConnectorRequestDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateEdgeConnectorRequestDataAttributes.class); + } + + /** + * Convert an instance of CreateEdgeConnectorRequestDataAttributes 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/CreateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java index 31b8ad71..bee35c84 100644 --- a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,8 +20,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.CreateGithubIssueTaskParamsIssueType; 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; @@ -49,7 +53,7 @@ /** * CreateGithubIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGithubIssueTaskParams { /** * Gets or Sets taskType @@ -121,6 +125,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private AddActionItemTaskParamsPostToSlackChannelsInner repository; + public static final String SERIALIZED_NAME_LABELS = "labels"; + @SerializedName(SERIALIZED_NAME_LABELS) + @javax.annotation.Nullable + private List labels = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ISSUE_TYPE = "issue_type"; + @SerializedName(SERIALIZED_NAME_ISSUE_TYPE) + @javax.annotation.Nullable + private CreateGithubIssueTaskParamsIssueType issueType; + + public static final String SERIALIZED_NAME_PARENT_ISSUE_NUMBER = "parent_issue_number"; + @SerializedName(SERIALIZED_NAME_PARENT_ISSUE_NUMBER) + @javax.annotation.Nullable + private String parentIssueNumber; + public CreateGithubIssueTaskParams() { } @@ -200,6 +219,71 @@ public void setRepository(@javax.annotation.Nonnull AddActionItemTaskParamsPostT } + public CreateGithubIssueTaskParams labels(@javax.annotation.Nullable List labels) { + this.labels = labels; + return this; + } + + public CreateGithubIssueTaskParams addLabelsItem(AddActionItemTaskParamsPostToSlackChannelsInner labelsItem) { + if (this.labels == null) { + this.labels = new ArrayList<>(); + } + this.labels.add(labelsItem); + return this; + } + + /** + * The issue labels + * @return labels + */ + @javax.annotation.Nullable + public List getLabels() { + return labels; + } + + public void setLabels(@javax.annotation.Nullable List labels) { + this.labels = labels; + } + + + public CreateGithubIssueTaskParams issueType(@javax.annotation.Nullable CreateGithubIssueTaskParamsIssueType issueType) { + this.issueType = issueType; + return this; + } + + /** + * Get issueType + * @return issueType + */ + @javax.annotation.Nullable + public CreateGithubIssueTaskParamsIssueType getIssueType() { + return issueType; + } + + public void setIssueType(@javax.annotation.Nullable CreateGithubIssueTaskParamsIssueType issueType) { + this.issueType = issueType; + } + + + public CreateGithubIssueTaskParams parentIssueNumber(@javax.annotation.Nullable String parentIssueNumber) { + this.parentIssueNumber = parentIssueNumber; + return this; + } + + /** + * The parent issue number for sub-issue linking + * @return parentIssueNumber + */ + @javax.annotation.Nullable + public String getParentIssueNumber() { + return parentIssueNumber; + } + + public void setParentIssueNumber(@javax.annotation.Nullable String parentIssueNumber) { + this.parentIssueNumber = parentIssueNumber; + } + + @Override public boolean equals(Object o) { @@ -213,12 +297,26 @@ public boolean equals(Object o) { return Objects.equals(this.taskType, createGithubIssueTaskParams.taskType) && Objects.equals(this.title, createGithubIssueTaskParams.title) && Objects.equals(this.body, createGithubIssueTaskParams.body) && - Objects.equals(this.repository, createGithubIssueTaskParams.repository); + Objects.equals(this.repository, createGithubIssueTaskParams.repository) && + Objects.equals(this.labels, createGithubIssueTaskParams.labels) && + Objects.equals(this.issueType, createGithubIssueTaskParams.issueType) && + Objects.equals(this.parentIssueNumber, createGithubIssueTaskParams.parentIssueNumber); + } + + 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, title, body, repository); + return Objects.hash(taskType, title, body, repository, labels, issueType, parentIssueNumber); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -229,6 +327,9 @@ public String toString() { sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" body: ").append(toIndentedString(body)).append("\n"); sb.append(" repository: ").append(toIndentedString(repository)).append("\n"); + sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); + sb.append(" issueType: ").append(toIndentedString(issueType)).append("\n"); + sb.append(" parentIssueNumber: ").append(toIndentedString(parentIssueNumber)).append("\n"); sb.append("}"); return sb.toString(); } @@ -255,6 +356,9 @@ private String toIndentedString(Object o) { openapiFields.add("title"); openapiFields.add("body"); openapiFields.add("repository"); + openapiFields.add("labels"); + openapiFields.add("issue_type"); + openapiFields.add("parent_issue_number"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -305,6 +409,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `repository` AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonObj.get("repository")); + if (jsonObj.get("labels") != null && !jsonObj.get("labels").isJsonNull()) { + JsonArray jsonArraylabels = jsonObj.getAsJsonArray("labels"); + if (jsonArraylabels != null) { + // ensure the json data is an array + if (!jsonObj.get("labels").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `labels` to be an array in the JSON string but got `%s`", jsonObj.get("labels").toString())); + } + + // validate the optional field `labels` (array) + for (int i = 0; i < jsonArraylabels.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArraylabels.get(i)); + }; + } + } + // validate the optional field `issue_type` + if (jsonObj.get("issue_type") != null && !jsonObj.get("issue_type").isJsonNull()) { + CreateGithubIssueTaskParamsIssueType.validateJsonElement(jsonObj.get("issue_type")); + } + if ((jsonObj.get("parent_issue_number") != null && !jsonObj.get("parent_issue_number").isJsonNull()) && !jsonObj.get("parent_issue_number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `parent_issue_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("parent_issue_number").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.java new file mode 100644 index 00000000..73e0b0b7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueType.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; + +/** + * The issue type + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateGithubIssueTaskParamsIssueType { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateGithubIssueTaskParamsIssueType() { + } + + public CreateGithubIssueTaskParamsIssueType id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateGithubIssueTaskParamsIssueType name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateGithubIssueTaskParamsIssueType createGithubIssueTaskParamsIssueType = (CreateGithubIssueTaskParamsIssueType) o; + return Objects.equals(this.id, createGithubIssueTaskParamsIssueType.id) && + Objects.equals(this.name, createGithubIssueTaskParamsIssueType.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateGithubIssueTaskParamsIssueType {\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(); + } + + /** + * 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 CreateGithubIssueTaskParamsIssueType + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateGithubIssueTaskParamsIssueType.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateGithubIssueTaskParamsIssueType is not found in the empty JSON string", CreateGithubIssueTaskParamsIssueType.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateGithubIssueTaskParamsIssueType.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateGithubIssueTaskParamsIssueType` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateGithubIssueTaskParamsIssueType.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateGithubIssueTaskParamsIssueType' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateGithubIssueTaskParamsIssueType.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateGithubIssueTaskParamsIssueType value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateGithubIssueTaskParamsIssueType read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateGithubIssueTaskParamsIssueType given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateGithubIssueTaskParamsIssueType + * @throws IOException if the JSON string is invalid with respect to CreateGithubIssueTaskParamsIssueType + */ + public static CreateGithubIssueTaskParamsIssueType fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateGithubIssueTaskParamsIssueType.class); + } + + /** + * Convert an instance of CreateGithubIssueTaskParamsIssueType 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/CreateGitlabIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java index f07f03d8..39bb4965 100644 --- a/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGitlabIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateGitlabIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 61a35f4b..93e206ce 100644 --- a/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoToMeetingTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateGoToMeetingTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1d10f208..587d16cd 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateGoogleCalendarEventTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/CreateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java index c785b342..26c2ed55 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateGoogleDocsPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 af64fce2..7d153f00 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateGoogleDocsPermissionsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..3973d9a7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParams.java @@ -0,0 +1,359 @@ +/* + * 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.CreateGoogleGeminiChatCompletionTaskParamsModel; +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; + +/** + * CreateGoogleGeminiChatCompletionTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateGoogleGeminiChatCompletionTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_GOOGLE_GEMINI_CHAT_COMPLETION_TASK("create_google_gemini_chat_completion_task"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + @javax.annotation.Nonnull + private CreateGoogleGeminiChatCompletionTaskParamsModel model; + + public static final String SERIALIZED_NAME_SYSTEM_PROMPT = "system_prompt"; + @SerializedName(SERIALIZED_NAME_SYSTEM_PROMPT) + @javax.annotation.Nullable + private String systemPrompt; + + public static final String SERIALIZED_NAME_PROMPT = "prompt"; + @SerializedName(SERIALIZED_NAME_PROMPT) + @javax.annotation.Nonnull + private String prompt; + + public CreateGoogleGeminiChatCompletionTaskParams() { + } + + public CreateGoogleGeminiChatCompletionTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateGoogleGeminiChatCompletionTaskParams model(@javax.annotation.Nonnull CreateGoogleGeminiChatCompletionTaskParamsModel model) { + this.model = model; + return this; + } + + /** + * Get model + * @return model + */ + @javax.annotation.Nonnull + public CreateGoogleGeminiChatCompletionTaskParamsModel getModel() { + return model; + } + + public void setModel(@javax.annotation.Nonnull CreateGoogleGeminiChatCompletionTaskParamsModel model) { + this.model = model; + } + + + public CreateGoogleGeminiChatCompletionTaskParams systemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + return this; + } + + /** + * The system prompt to send to Gemini (optional) + * @return systemPrompt + */ + @javax.annotation.Nullable + public String getSystemPrompt() { + return systemPrompt; + } + + public void setSystemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + } + + + public CreateGoogleGeminiChatCompletionTaskParams prompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + return this; + } + + /** + * The prompt to send to Gemini + * @return prompt + */ + @javax.annotation.Nonnull + public String getPrompt() { + return prompt; + } + + public void setPrompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateGoogleGeminiChatCompletionTaskParams createGoogleGeminiChatCompletionTaskParams = (CreateGoogleGeminiChatCompletionTaskParams) o; + return Objects.equals(this.taskType, createGoogleGeminiChatCompletionTaskParams.taskType) && + Objects.equals(this.model, createGoogleGeminiChatCompletionTaskParams.model) && + Objects.equals(this.systemPrompt, createGoogleGeminiChatCompletionTaskParams.systemPrompt) && + Objects.equals(this.prompt, createGoogleGeminiChatCompletionTaskParams.prompt); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, model, systemPrompt, prompt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateGoogleGeminiChatCompletionTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" systemPrompt: ").append(toIndentedString(systemPrompt)).append("\n"); + sb.append(" prompt: ").append(toIndentedString(prompt)).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("model"); + openapiFields.add("system_prompt"); + openapiFields.add("prompt"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("model"); + openapiRequiredFields.add("prompt"); + } + + /** + * 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 CreateGoogleGeminiChatCompletionTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateGoogleGeminiChatCompletionTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateGoogleGeminiChatCompletionTaskParams is not found in the empty JSON string", CreateGoogleGeminiChatCompletionTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateGoogleGeminiChatCompletionTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateGoogleGeminiChatCompletionTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateGoogleGeminiChatCompletionTaskParams.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 `model` + CreateGoogleGeminiChatCompletionTaskParamsModel.validateJsonElement(jsonObj.get("model")); + if ((jsonObj.get("system_prompt") != null && !jsonObj.get("system_prompt").isJsonNull()) && !jsonObj.get("system_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `system_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("system_prompt").toString())); + } + if (!jsonObj.get("prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prompt").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateGoogleGeminiChatCompletionTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateGoogleGeminiChatCompletionTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleGeminiChatCompletionTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateGoogleGeminiChatCompletionTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateGoogleGeminiChatCompletionTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateGoogleGeminiChatCompletionTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateGoogleGeminiChatCompletionTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateGoogleGeminiChatCompletionTaskParams + */ + public static CreateGoogleGeminiChatCompletionTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateGoogleGeminiChatCompletionTaskParams.class); + } + + /** + * Convert an instance of CreateGoogleGeminiChatCompletionTaskParams 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/CreateGoogleGeminiChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.java new file mode 100644 index 00000000..5d14a8ef --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModel.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; + +/** + * The Gemini model. eg: gemini-2.0-flash + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateGoogleGeminiChatCompletionTaskParamsModel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateGoogleGeminiChatCompletionTaskParamsModel() { + } + + public CreateGoogleGeminiChatCompletionTaskParamsModel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateGoogleGeminiChatCompletionTaskParamsModel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateGoogleGeminiChatCompletionTaskParamsModel createGoogleGeminiChatCompletionTaskParamsModel = (CreateGoogleGeminiChatCompletionTaskParamsModel) o; + return Objects.equals(this.id, createGoogleGeminiChatCompletionTaskParamsModel.id) && + Objects.equals(this.name, createGoogleGeminiChatCompletionTaskParamsModel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateGoogleGeminiChatCompletionTaskParamsModel {\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(); + } + + /** + * 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 CreateGoogleGeminiChatCompletionTaskParamsModel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateGoogleGeminiChatCompletionTaskParamsModel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateGoogleGeminiChatCompletionTaskParamsModel is not found in the empty JSON string", CreateGoogleGeminiChatCompletionTaskParamsModel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateGoogleGeminiChatCompletionTaskParamsModel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateGoogleGeminiChatCompletionTaskParamsModel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateGoogleGeminiChatCompletionTaskParamsModel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateGoogleGeminiChatCompletionTaskParamsModel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleGeminiChatCompletionTaskParamsModel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateGoogleGeminiChatCompletionTaskParamsModel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateGoogleGeminiChatCompletionTaskParamsModel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateGoogleGeminiChatCompletionTaskParamsModel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateGoogleGeminiChatCompletionTaskParamsModel + * @throws IOException if the JSON string is invalid with respect to CreateGoogleGeminiChatCompletionTaskParamsModel + */ + public static CreateGoogleGeminiChatCompletionTaskParamsModel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateGoogleGeminiChatCompletionTaskParamsModel.class); + } + + /** + * Convert an instance of CreateGoogleGeminiChatCompletionTaskParamsModel 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/CreateGoogleMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java index d064203c..565d3950 100644 --- a/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateGoogleMeetingTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateGoogleMeetingTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleMeetingTaskParams { /** * Gets or Sets taskType @@ -185,6 +185,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Boolean recordMeeting; + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + */ + @JsonAdapter(RecordingModeEnum.Adapter.class) + public enum RecordingModeEnum { + SPEAKER_VIEW("speaker_view"), + + GALLERY_VIEW("gallery_view"), + + GALLERY_VIEW_V2("gallery_view_v2"), + + AUDIO_ONLY("audio_only"); + + private String value; + + RecordingModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecordingModeEnum fromValue(String value) { + for (RecordingModeEnum b : RecordingModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecordingModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecordingModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecordingModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RecordingModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RECORDING_MODE = "recording_mode"; + @SerializedName(SERIALIZED_NAME_RECORDING_MODE) + @javax.annotation.Nullable + private RecordingModeEnum recordingMode; + public static final String SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE = "post_to_incident_timeline"; @SerializedName(SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE) @javax.annotation.Nullable @@ -293,6 +354,25 @@ public void setRecordMeeting(@javax.annotation.Nullable Boolean recordMeeting) { } + public CreateGoogleMeetingTaskParams recordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + return this; + } + + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + * @return recordingMode + */ + @javax.annotation.Nullable + public RecordingModeEnum getRecordingMode() { + return recordingMode; + } + + public void setRecordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + } + + public CreateGoogleMeetingTaskParams postToIncidentTimeline(@javax.annotation.Nullable Boolean postToIncidentTimeline) { this.postToIncidentTimeline = postToIncidentTimeline; return this; @@ -354,6 +434,7 @@ public boolean equals(Object o) { Objects.equals(this.description, createGoogleMeetingTaskParams.description) && Objects.equals(this.conferenceSolutionKey, createGoogleMeetingTaskParams.conferenceSolutionKey) && Objects.equals(this.recordMeeting, createGoogleMeetingTaskParams.recordMeeting) && + Objects.equals(this.recordingMode, createGoogleMeetingTaskParams.recordingMode) && Objects.equals(this.postToIncidentTimeline, createGoogleMeetingTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, createGoogleMeetingTaskParams.postToSlackChannels); } @@ -364,7 +445,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, summary, description, conferenceSolutionKey, recordMeeting, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, summary, description, conferenceSolutionKey, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels); } private static int hashCodeNullable(JsonNullable a) { @@ -383,6 +464,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" conferenceSolutionKey: ").append(toIndentedString(conferenceSolutionKey)).append("\n"); sb.append(" recordMeeting: ").append(toIndentedString(recordMeeting)).append("\n"); + 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("}"); @@ -412,6 +494,7 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("conference_solution_key"); openapiFields.add("record_meeting"); + openapiFields.add("recording_mode"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); @@ -469,6 +552,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("conference_solution_key") != null && !jsonObj.get("conference_solution_key").isJsonNull()) { ConferenceSolutionKeyEnum.validateJsonElement(jsonObj.get("conference_solution_key")); } + if ((jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) && !jsonObj.get("recording_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `recording_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("recording_mode").toString())); + } + // validate the optional field `recording_mode` + if (jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) { + RecordingModeEnum.validateJsonElement(jsonObj.get("recording_mode")); + } if (jsonObj.get("post_to_slack_channels") != null && !jsonObj.get("post_to_slack_channels").isJsonNull()) { JsonArray jsonArraypostToSlackChannels = jsonObj.getAsJsonArray("post_to_slack_channels"); if (jsonArraypostToSlackChannels != null) { diff --git a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java index 7e6b0439..a84bbb1e 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * CreateIncidentPostmortemTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bbdd29b9..79e89e73 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * Retrospective template to use */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7346fca9..e1b99746 100644 --- a/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * CreateIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateIncidentTaskParams { /** * Gets or Sets taskType @@ -278,7 +278,7 @@ public CreateIncidentTaskParams addServiceIdsItem(String serviceIdsItem) { } /** - * Get serviceIds + * Array of service UUIDs * @return serviceIds */ @javax.annotation.Nullable @@ -305,7 +305,7 @@ public CreateIncidentTaskParams addFunctionalityIdsItem(String functionalityIdsI } /** - * Get functionalityIds + * Array of functionality UUIDs * @return functionalityIds */ @javax.annotation.Nullable @@ -359,7 +359,7 @@ public CreateIncidentTaskParams addGroupIdsItem(String groupIdsItem) { } /** - * Get groupIds + * Array of group/team UUIDs * @return groupIds */ @javax.annotation.Nullable @@ -397,7 +397,7 @@ public CreateIncidentTaskParams customFieldsMapping(@javax.annotation.Nullable S } /** - * Custom field mappings. Can contain liquid markup and need to be valid JSON + * Custom field mappings. Can contain liquid markup and need to be valid JSON. Use 'services', 'functionalities', or 'groups' keys with arrays of names/slugs for name/slug lookup * @return customFieldsMapping */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java index 901450d8..30cdba93 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * CreateJiraIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 78121f43..e6e217e4 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * Specify integration id if you have more than one Jira instance */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0f1c13d0..c0b38edb 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueType.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The issue type id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 38c14029..e04ed889 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriority.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The priority id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 dbf2b260..e2f5fad4 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java +++ b/src/main/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The status id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cf39f312..aa4f79c4 100644 --- a/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateJiraSubtaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * CreateJiraSubtaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..915345f7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateJsmopsAlertTaskParams.java @@ -0,0 +1,665 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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; + +/** + * CreateJsmopsAlertTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateJsmopsAlertTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_JSMOPS_ALERT("create_jsmops_alert"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @javax.annotation.Nonnull + private String message; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_TEAMS = "teams"; + @SerializedName(SERIALIZED_NAME_TEAMS) + @javax.annotation.Nullable + private List teams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USERS = "users"; + @SerializedName(SERIALIZED_NAME_USERS) + @javax.annotation.Nullable + private List users = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SCHEDULES = "schedules"; + @SerializedName(SERIALIZED_NAME_SCHEDULES) + @javax.annotation.Nullable + private List schedules = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ESCALATIONS = "escalations"; + @SerializedName(SERIALIZED_NAME_ESCALATIONS) + @javax.annotation.Nullable + private List escalations = new ArrayList<>(); + + /** + * Gets or Sets priority + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + P3("P3"), + + P1("P1"), + + P2("P2"), + + P32("P3"), + + P4("P4"), + + P5("P5"), + + AUTO("auto"); + + 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) + @javax.annotation.Nullable + private PriorityEnum priority = PriorityEnum.P3; + + public static final String SERIALIZED_NAME_DETAILS = "details"; + @SerializedName(SERIALIZED_NAME_DETAILS) + @javax.annotation.Nullable + private String details; + + public CreateJsmopsAlertTaskParams() { + } + + public CreateJsmopsAlertTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateJsmopsAlertTaskParams message(@javax.annotation.Nonnull String message) { + this.message = message; + return this; + } + + /** + * Message of the alert + * @return message + */ + @javax.annotation.Nonnull + public String getMessage() { + return message; + } + + public void setMessage(@javax.annotation.Nonnull String message) { + this.message = message; + } + + + public CreateJsmopsAlertTaskParams description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Description field of the alert that is generally used to provide a detailed information about the alert + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public CreateJsmopsAlertTaskParams teams(@javax.annotation.Nullable List teams) { + this.teams = teams; + return this; + } + + public CreateJsmopsAlertTaskParams addTeamsItem(AddActionItemTaskParamsPostToSlackChannelsInner teamsItem) { + if (this.teams == null) { + this.teams = new ArrayList<>(); + } + this.teams.add(teamsItem); + return this; + } + + /** + * Get teams + * @return teams + */ + @javax.annotation.Nullable + public List getTeams() { + return teams; + } + + public void setTeams(@javax.annotation.Nullable List teams) { + this.teams = teams; + } + + + public CreateJsmopsAlertTaskParams users(@javax.annotation.Nullable List users) { + this.users = users; + return this; + } + + public CreateJsmopsAlertTaskParams addUsersItem(AddActionItemTaskParamsPostToSlackChannelsInner usersItem) { + if (this.users == null) { + this.users = new ArrayList<>(); + } + this.users.add(usersItem); + return this; + } + + /** + * Get users + * @return users + */ + @javax.annotation.Nullable + public List getUsers() { + return users; + } + + public void setUsers(@javax.annotation.Nullable List users) { + this.users = users; + } + + + public CreateJsmopsAlertTaskParams schedules(@javax.annotation.Nullable List schedules) { + this.schedules = schedules; + return this; + } + + public CreateJsmopsAlertTaskParams addSchedulesItem(AddActionItemTaskParamsPostToSlackChannelsInner schedulesItem) { + if (this.schedules == null) { + this.schedules = new ArrayList<>(); + } + this.schedules.add(schedulesItem); + return this; + } + + /** + * Get schedules + * @return schedules + */ + @javax.annotation.Nullable + public List getSchedules() { + return schedules; + } + + public void setSchedules(@javax.annotation.Nullable List schedules) { + this.schedules = schedules; + } + + + public CreateJsmopsAlertTaskParams escalations(@javax.annotation.Nullable List escalations) { + this.escalations = escalations; + return this; + } + + public CreateJsmopsAlertTaskParams addEscalationsItem(AddActionItemTaskParamsPostToSlackChannelsInner escalationsItem) { + if (this.escalations == null) { + this.escalations = new ArrayList<>(); + } + this.escalations.add(escalationsItem); + return this; + } + + /** + * Get escalations + * @return escalations + */ + @javax.annotation.Nullable + public List getEscalations() { + return escalations; + } + + public void setEscalations(@javax.annotation.Nullable List escalations) { + this.escalations = escalations; + } + + + public CreateJsmopsAlertTaskParams priority(@javax.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * Get priority + * @return priority + */ + @javax.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@javax.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + public CreateJsmopsAlertTaskParams details(@javax.annotation.Nullable String details) { + this.details = details; + return this; + } + + /** + * Details payload. Can contain liquid markup and need to be valid JSON + * @return details + */ + @javax.annotation.Nullable + public String getDetails() { + return details; + } + + public void setDetails(@javax.annotation.Nullable String details) { + this.details = details; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateJsmopsAlertTaskParams createJsmopsAlertTaskParams = (CreateJsmopsAlertTaskParams) o; + return Objects.equals(this.taskType, createJsmopsAlertTaskParams.taskType) && + Objects.equals(this.message, createJsmopsAlertTaskParams.message) && + Objects.equals(this.description, createJsmopsAlertTaskParams.description) && + Objects.equals(this.teams, createJsmopsAlertTaskParams.teams) && + Objects.equals(this.users, createJsmopsAlertTaskParams.users) && + Objects.equals(this.schedules, createJsmopsAlertTaskParams.schedules) && + Objects.equals(this.escalations, createJsmopsAlertTaskParams.escalations) && + Objects.equals(this.priority, createJsmopsAlertTaskParams.priority) && + Objects.equals(this.details, createJsmopsAlertTaskParams.details); + } + + 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, message, description, teams, users, schedules, escalations, priority, details); + } + + 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 CreateJsmopsAlertTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" teams: ").append(toIndentedString(teams)).append("\n"); + sb.append(" users: ").append(toIndentedString(users)).append("\n"); + sb.append(" schedules: ").append(toIndentedString(schedules)).append("\n"); + sb.append(" escalations: ").append(toIndentedString(escalations)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" details: ").append(toIndentedString(details)).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("message"); + openapiFields.add("description"); + openapiFields.add("teams"); + openapiFields.add("users"); + openapiFields.add("schedules"); + openapiFields.add("escalations"); + openapiFields.add("priority"); + openapiFields.add("details"); + + // 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 CreateJsmopsAlertTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateJsmopsAlertTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateJsmopsAlertTaskParams is not found in the empty JSON string", CreateJsmopsAlertTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateJsmopsAlertTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateJsmopsAlertTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateJsmopsAlertTaskParams.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")); + } + 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())); + } + 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("teams") != null && !jsonObj.get("teams").isJsonNull()) { + JsonArray jsonArrayteams = jsonObj.getAsJsonArray("teams"); + if (jsonArrayteams != null) { + // ensure the json data is an array + if (!jsonObj.get("teams").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `teams` to be an array in the JSON string but got `%s`", jsonObj.get("teams").toString())); + } + + // validate the optional field `teams` (array) + for (int i = 0; i < jsonArrayteams.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayteams.get(i)); + }; + } + } + if (jsonObj.get("users") != null && !jsonObj.get("users").isJsonNull()) { + JsonArray jsonArrayusers = jsonObj.getAsJsonArray("users"); + if (jsonArrayusers != null) { + // ensure the json data is an array + if (!jsonObj.get("users").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `users` to be an array in the JSON string but got `%s`", jsonObj.get("users").toString())); + } + + // validate the optional field `users` (array) + for (int i = 0; i < jsonArrayusers.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayusers.get(i)); + }; + } + } + if (jsonObj.get("schedules") != null && !jsonObj.get("schedules").isJsonNull()) { + JsonArray jsonArrayschedules = jsonObj.getAsJsonArray("schedules"); + if (jsonArrayschedules != null) { + // ensure the json data is an array + if (!jsonObj.get("schedules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `schedules` to be an array in the JSON string but got `%s`", jsonObj.get("schedules").toString())); + } + + // validate the optional field `schedules` (array) + for (int i = 0; i < jsonArrayschedules.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayschedules.get(i)); + }; + } + } + if (jsonObj.get("escalations") != null && !jsonObj.get("escalations").isJsonNull()) { + JsonArray jsonArrayescalations = jsonObj.getAsJsonArray("escalations"); + if (jsonArrayescalations != null) { + // ensure the json data is an array + if (!jsonObj.get("escalations").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `escalations` to be an array in the JSON string but got `%s`", jsonObj.get("escalations").toString())); + } + + // validate the optional field `escalations` (array) + for (int i = 0; i < jsonArrayescalations.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayescalations.get(i)); + }; + } + } + 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("details") != null && !jsonObj.get("details").isJsonNull()) && !jsonObj.get("details").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `details` to be a primitive type in the JSON string but got `%s`", jsonObj.get("details").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateJsmopsAlertTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateJsmopsAlertTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateJsmopsAlertTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateJsmopsAlertTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateJsmopsAlertTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateJsmopsAlertTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateJsmopsAlertTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateJsmopsAlertTaskParams + */ + public static CreateJsmopsAlertTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateJsmopsAlertTaskParams.class); + } + + /** + * Convert an instance of CreateJsmopsAlertTaskParams 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/CreateLinearIssueCommentTaskParams.java b/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java index 572bd97d..669ff4f7 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueCommentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreateLinearIssueCommentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6b30b6a4..a18ca866 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -55,7 +55,7 @@ /** * CreateLinearIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c204a2e2..d5c14b28 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsProject.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The project id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a0bff899..1ed5b5b7 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsState.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The state id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c9a2d9ac..b0037914 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeam.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The team id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 56f68df3..4a02107f 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * CreateLinearSubtaskIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4452cd24..3b2995fa 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateMicrosoftTeamsChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..304e9c8c --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParams.java @@ -0,0 +1,444 @@ +/* + * 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.CreateMicrosoftTeamsChatTaskParamsMembersInner; +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; + +/** + * CreateMicrosoftTeamsChatTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateMicrosoftTeamsChatTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_MICROSOFT_TEAMS_CHAT("create_microsoft_teams_chat"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_TOPIC = "topic"; + @SerializedName(SERIALIZED_NAME_TOPIC) + @javax.annotation.Nullable + private String topic; + + /** + * Type of chat to create + */ + @JsonAdapter(ChatTypeEnum.Adapter.class) + public enum ChatTypeEnum { + GROUP("group"), + + ONE_ON_ONE("oneOnOne"); + + private String value; + + ChatTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ChatTypeEnum fromValue(String value) { + for (ChatTypeEnum b : ChatTypeEnum.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 ChatTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ChatTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ChatTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ChatTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CHAT_TYPE = "chat_type"; + @SerializedName(SERIALIZED_NAME_CHAT_TYPE) + @javax.annotation.Nullable + private ChatTypeEnum chatType = ChatTypeEnum.GROUP; + + public static final String SERIALIZED_NAME_MEMBERS = "members"; + @SerializedName(SERIALIZED_NAME_MEMBERS) + @javax.annotation.Nonnull + private List members = new ArrayList<>(); + + public CreateMicrosoftTeamsChatTaskParams() { + } + + public CreateMicrosoftTeamsChatTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateMicrosoftTeamsChatTaskParams topic(@javax.annotation.Nullable String topic) { + this.topic = topic; + return this; + } + + /** + * Chat topic (only for group chats) + * @return topic + */ + @javax.annotation.Nullable + public String getTopic() { + return topic; + } + + public void setTopic(@javax.annotation.Nullable String topic) { + this.topic = topic; + } + + + public CreateMicrosoftTeamsChatTaskParams chatType(@javax.annotation.Nullable ChatTypeEnum chatType) { + this.chatType = chatType; + return this; + } + + /** + * Type of chat to create + * @return chatType + */ + @javax.annotation.Nullable + public ChatTypeEnum getChatType() { + return chatType; + } + + public void setChatType(@javax.annotation.Nullable ChatTypeEnum chatType) { + this.chatType = chatType; + } + + + public CreateMicrosoftTeamsChatTaskParams members(@javax.annotation.Nonnull List members) { + this.members = members; + return this; + } + + public CreateMicrosoftTeamsChatTaskParams addMembersItem(CreateMicrosoftTeamsChatTaskParamsMembersInner membersItem) { + if (this.members == null) { + this.members = new ArrayList<>(); + } + this.members.add(membersItem); + return this; + } + + /** + * Array of members to include in the chat + * @return members + */ + @javax.annotation.Nonnull + public List getMembers() { + return members; + } + + public void setMembers(@javax.annotation.Nonnull List members) { + this.members = members; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMicrosoftTeamsChatTaskParams createMicrosoftTeamsChatTaskParams = (CreateMicrosoftTeamsChatTaskParams) o; + return Objects.equals(this.taskType, createMicrosoftTeamsChatTaskParams.taskType) && + Objects.equals(this.topic, createMicrosoftTeamsChatTaskParams.topic) && + Objects.equals(this.chatType, createMicrosoftTeamsChatTaskParams.chatType) && + Objects.equals(this.members, createMicrosoftTeamsChatTaskParams.members); + } + + 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, topic, chatType, members); + } + + 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 CreateMicrosoftTeamsChatTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" topic: ").append(toIndentedString(topic)).append("\n"); + sb.append(" chatType: ").append(toIndentedString(chatType)).append("\n"); + sb.append(" members: ").append(toIndentedString(members)).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("topic"); + openapiFields.add("chat_type"); + openapiFields.add("members"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("members"); + } + + /** + * 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 CreateMicrosoftTeamsChatTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateMicrosoftTeamsChatTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateMicrosoftTeamsChatTaskParams is not found in the empty JSON string", CreateMicrosoftTeamsChatTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateMicrosoftTeamsChatTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateMicrosoftTeamsChatTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateMicrosoftTeamsChatTaskParams.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")); + } + if ((jsonObj.get("topic") != null && !jsonObj.get("topic").isJsonNull()) && !jsonObj.get("topic").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `topic` to be a primitive type in the JSON string but got `%s`", jsonObj.get("topic").toString())); + } + if ((jsonObj.get("chat_type") != null && !jsonObj.get("chat_type").isJsonNull()) && !jsonObj.get("chat_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `chat_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("chat_type").toString())); + } + // validate the optional field `chat_type` + if (jsonObj.get("chat_type") != null && !jsonObj.get("chat_type").isJsonNull()) { + ChatTypeEnum.validateJsonElement(jsonObj.get("chat_type")); + } + // ensure the json data is an array + if (!jsonObj.get("members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `members` to be an array in the JSON string but got `%s`", jsonObj.get("members").toString())); + } + + JsonArray jsonArraymembers = jsonObj.getAsJsonArray("members"); + // validate the required field `members` (array) + for (int i = 0; i < jsonArraymembers.size(); i++) { + CreateMicrosoftTeamsChatTaskParamsMembersInner.validateJsonElement(jsonArraymembers.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateMicrosoftTeamsChatTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateMicrosoftTeamsChatTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChatTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateMicrosoftTeamsChatTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateMicrosoftTeamsChatTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateMicrosoftTeamsChatTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateMicrosoftTeamsChatTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateMicrosoftTeamsChatTaskParams + */ + public static CreateMicrosoftTeamsChatTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateMicrosoftTeamsChatTaskParams.class); + } + + /** + * Convert an instance of CreateMicrosoftTeamsChatTaskParams 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/CreateMicrosoftTeamsChatTaskParamsMembersInner.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.java new file mode 100644 index 00000000..d0500ca9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInner.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; + +/** + * CreateMicrosoftTeamsChatTaskParamsMembersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateMicrosoftTeamsChatTaskParamsMembersInner { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateMicrosoftTeamsChatTaskParamsMembersInner() { + } + + public CreateMicrosoftTeamsChatTaskParamsMembersInner email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Get email + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public CreateMicrosoftTeamsChatTaskParamsMembersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMicrosoftTeamsChatTaskParamsMembersInner createMicrosoftTeamsChatTaskParamsMembersInner = (CreateMicrosoftTeamsChatTaskParamsMembersInner) o; + return Objects.equals(this.email, createMicrosoftTeamsChatTaskParamsMembersInner.email) && + Objects.equals(this.name, createMicrosoftTeamsChatTaskParamsMembersInner.name); + } + + @Override + public int hashCode() { + return Objects.hash(email, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMicrosoftTeamsChatTaskParamsMembersInner {\n"); + sb.append(" email: ").append(toIndentedString(email)).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("email"); + openapiFields.add("name"); + + // 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 CreateMicrosoftTeamsChatTaskParamsMembersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateMicrosoftTeamsChatTaskParamsMembersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateMicrosoftTeamsChatTaskParamsMembersInner is not found in the empty JSON string", CreateMicrosoftTeamsChatTaskParamsMembersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateMicrosoftTeamsChatTaskParamsMembersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateMicrosoftTeamsChatTaskParamsMembersInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); + } + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateMicrosoftTeamsChatTaskParamsMembersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateMicrosoftTeamsChatTaskParamsMembersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChatTaskParamsMembersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateMicrosoftTeamsChatTaskParamsMembersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateMicrosoftTeamsChatTaskParamsMembersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateMicrosoftTeamsChatTaskParamsMembersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateMicrosoftTeamsChatTaskParamsMembersInner + * @throws IOException if the JSON string is invalid with respect to CreateMicrosoftTeamsChatTaskParamsMembersInner + */ + public static CreateMicrosoftTeamsChatTaskParamsMembersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateMicrosoftTeamsChatTaskParamsMembersInner.class); + } + + /** + * Convert an instance of CreateMicrosoftTeamsChatTaskParamsMembersInner 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/CreateMicrosoftTeamsMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java index afb7ec78..3c24ec62 100644 --- a/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -24,6 +24,7 @@ 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; @@ -51,7 +52,7 @@ /** * CreateMicrosoftTeamsMeetingTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateMicrosoftTeamsMeetingTaskParams { /** * Gets or Sets taskType @@ -123,6 +124,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Boolean recordMeeting; + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + */ + @JsonAdapter(RecordingModeEnum.Adapter.class) + public enum RecordingModeEnum { + SPEAKER_VIEW("speaker_view"), + + GALLERY_VIEW("gallery_view"), + + GALLERY_VIEW_V2("gallery_view_v2"), + + AUDIO_ONLY("audio_only"); + + private String value; + + RecordingModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecordingModeEnum fromValue(String value) { + for (RecordingModeEnum b : RecordingModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecordingModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecordingModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecordingModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RecordingModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RECORDING_MODE = "recording_mode"; + @SerializedName(SERIALIZED_NAME_RECORDING_MODE) + @javax.annotation.Nullable + private RecordingModeEnum recordingMode; + public static final String SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE = "post_to_incident_timeline"; @SerializedName(SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE) @javax.annotation.Nullable @@ -212,6 +274,25 @@ public void setRecordMeeting(@javax.annotation.Nullable Boolean recordMeeting) { } + public CreateMicrosoftTeamsMeetingTaskParams recordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + return this; + } + + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + * @return recordingMode + */ + @javax.annotation.Nullable + public RecordingModeEnum getRecordingMode() { + return recordingMode; + } + + public void setRecordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + } + + public CreateMicrosoftTeamsMeetingTaskParams postToIncidentTimeline(@javax.annotation.Nullable Boolean postToIncidentTimeline) { this.postToIncidentTimeline = postToIncidentTimeline; return this; @@ -272,13 +353,25 @@ public boolean equals(Object o) { Objects.equals(this.name, createMicrosoftTeamsMeetingTaskParams.name) && Objects.equals(this.subject, createMicrosoftTeamsMeetingTaskParams.subject) && Objects.equals(this.recordMeeting, createMicrosoftTeamsMeetingTaskParams.recordMeeting) && + Objects.equals(this.recordingMode, createMicrosoftTeamsMeetingTaskParams.recordingMode) && Objects.equals(this.postToIncidentTimeline, createMicrosoftTeamsMeetingTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, createMicrosoftTeamsMeetingTaskParams.postToSlackChannels); } + 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, name, subject, recordMeeting, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, name, subject, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -289,6 +382,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" subject: ").append(toIndentedString(subject)).append("\n"); sb.append(" recordMeeting: ").append(toIndentedString(recordMeeting)).append("\n"); + 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("}"); @@ -317,6 +411,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("subject"); openapiFields.add("record_meeting"); + openapiFields.add("recording_mode"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); @@ -367,6 +462,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("subject").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `subject` to be a primitive type in the JSON string but got `%s`", jsonObj.get("subject").toString())); } + if ((jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) && !jsonObj.get("recording_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `recording_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("recording_mode").toString())); + } + // validate the optional field `recording_mode` + if (jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) { + RecordingModeEnum.validateJsonElement(jsonObj.get("recording_mode")); + } if (jsonObj.get("post_to_slack_channels") != null && !jsonObj.get("post_to_slack_channels").isJsonNull()) { JsonArray jsonArraypostToSlackChannels = jsonObj.getAsJsonArray("post_to_slack_channels"); if (jsonArraypostToSlackChannels != null) { diff --git a/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java new file mode 100644 index 00000000..d0d533c4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParams.java @@ -0,0 +1,446 @@ +/* + * 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.CreateMistralChatCompletionTaskParamsModel; +import java.io.IOException; +import java.math.BigDecimal; +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; + +/** + * CreateMistralChatCompletionTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateMistralChatCompletionTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_MISTRAL_CHAT_COMPLETION_TASK("create_mistral_chat_completion_task"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + @javax.annotation.Nonnull + private CreateMistralChatCompletionTaskParamsModel model; + + public static final String SERIALIZED_NAME_SYSTEM_PROMPT = "system_prompt"; + @SerializedName(SERIALIZED_NAME_SYSTEM_PROMPT) + @javax.annotation.Nullable + private String systemPrompt; + + public static final String SERIALIZED_NAME_PROMPT = "prompt"; + @SerializedName(SERIALIZED_NAME_PROMPT) + @javax.annotation.Nonnull + private String prompt; + + public static final String SERIALIZED_NAME_TEMPERATURE = "temperature"; + @SerializedName(SERIALIZED_NAME_TEMPERATURE) + @javax.annotation.Nullable + private BigDecimal temperature; + + public static final String SERIALIZED_NAME_MAX_TOKENS = "max_tokens"; + @SerializedName(SERIALIZED_NAME_MAX_TOKENS) + @javax.annotation.Nullable + private Integer maxTokens; + + public static final String SERIALIZED_NAME_TOP_P = "top_p"; + @SerializedName(SERIALIZED_NAME_TOP_P) + @javax.annotation.Nullable + private BigDecimal topP; + + public CreateMistralChatCompletionTaskParams() { + } + + public CreateMistralChatCompletionTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateMistralChatCompletionTaskParams model(@javax.annotation.Nonnull CreateMistralChatCompletionTaskParamsModel model) { + this.model = model; + return this; + } + + /** + * Get model + * @return model + */ + @javax.annotation.Nonnull + public CreateMistralChatCompletionTaskParamsModel getModel() { + return model; + } + + public void setModel(@javax.annotation.Nonnull CreateMistralChatCompletionTaskParamsModel model) { + this.model = model; + } + + + public CreateMistralChatCompletionTaskParams systemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + return this; + } + + /** + * The system prompt to send to Mistral (optional) + * @return systemPrompt + */ + @javax.annotation.Nullable + public String getSystemPrompt() { + return systemPrompt; + } + + public void setSystemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + } + + + public CreateMistralChatCompletionTaskParams prompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + return this; + } + + /** + * The prompt to send to Mistral + * @return prompt + */ + @javax.annotation.Nonnull + public String getPrompt() { + return prompt; + } + + public void setPrompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + } + + + public CreateMistralChatCompletionTaskParams temperature(@javax.annotation.Nullable BigDecimal temperature) { + this.temperature = temperature; + return this; + } + + /** + * Sampling temperature (0.0-1.5). Higher values make output more random. + * minimum: 0.0 + * maximum: 1.5 + * @return temperature + */ + @javax.annotation.Nullable + public BigDecimal getTemperature() { + return temperature; + } + + public void setTemperature(@javax.annotation.Nullable BigDecimal temperature) { + this.temperature = temperature; + } + + + public CreateMistralChatCompletionTaskParams maxTokens(@javax.annotation.Nullable Integer maxTokens) { + this.maxTokens = maxTokens; + return this; + } + + /** + * Maximum number of tokens to generate + * minimum: 1 + * @return maxTokens + */ + @javax.annotation.Nullable + public Integer getMaxTokens() { + return maxTokens; + } + + public void setMaxTokens(@javax.annotation.Nullable Integer maxTokens) { + this.maxTokens = maxTokens; + } + + + public CreateMistralChatCompletionTaskParams topP(@javax.annotation.Nullable BigDecimal topP) { + this.topP = topP; + return this; + } + + /** + * Nucleus sampling parameter (0.0-1.0) + * minimum: 0.0 + * maximum: 1.0 + * @return topP + */ + @javax.annotation.Nullable + public BigDecimal getTopP() { + return topP; + } + + public void setTopP(@javax.annotation.Nullable BigDecimal topP) { + this.topP = topP; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMistralChatCompletionTaskParams createMistralChatCompletionTaskParams = (CreateMistralChatCompletionTaskParams) o; + return Objects.equals(this.taskType, createMistralChatCompletionTaskParams.taskType) && + Objects.equals(this.model, createMistralChatCompletionTaskParams.model) && + Objects.equals(this.systemPrompt, createMistralChatCompletionTaskParams.systemPrompt) && + Objects.equals(this.prompt, createMistralChatCompletionTaskParams.prompt) && + Objects.equals(this.temperature, createMistralChatCompletionTaskParams.temperature) && + Objects.equals(this.maxTokens, createMistralChatCompletionTaskParams.maxTokens) && + Objects.equals(this.topP, createMistralChatCompletionTaskParams.topP); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, model, systemPrompt, prompt, temperature, maxTokens, topP); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMistralChatCompletionTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" systemPrompt: ").append(toIndentedString(systemPrompt)).append("\n"); + sb.append(" prompt: ").append(toIndentedString(prompt)).append("\n"); + sb.append(" temperature: ").append(toIndentedString(temperature)).append("\n"); + sb.append(" maxTokens: ").append(toIndentedString(maxTokens)).append("\n"); + sb.append(" topP: ").append(toIndentedString(topP)).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("model"); + openapiFields.add("system_prompt"); + openapiFields.add("prompt"); + openapiFields.add("temperature"); + openapiFields.add("max_tokens"); + openapiFields.add("top_p"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("model"); + openapiRequiredFields.add("prompt"); + } + + /** + * 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 CreateMistralChatCompletionTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateMistralChatCompletionTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateMistralChatCompletionTaskParams is not found in the empty JSON string", CreateMistralChatCompletionTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateMistralChatCompletionTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateMistralChatCompletionTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateMistralChatCompletionTaskParams.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 `model` + CreateMistralChatCompletionTaskParamsModel.validateJsonElement(jsonObj.get("model")); + if ((jsonObj.get("system_prompt") != null && !jsonObj.get("system_prompt").isJsonNull()) && !jsonObj.get("system_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `system_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("system_prompt").toString())); + } + if (!jsonObj.get("prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prompt").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateMistralChatCompletionTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateMistralChatCompletionTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateMistralChatCompletionTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateMistralChatCompletionTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateMistralChatCompletionTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateMistralChatCompletionTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateMistralChatCompletionTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateMistralChatCompletionTaskParams + */ + public static CreateMistralChatCompletionTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateMistralChatCompletionTaskParams.class); + } + + /** + * Convert an instance of CreateMistralChatCompletionTaskParams 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/CreateMistralChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.java new file mode 100644 index 00000000..bdf464f1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModel.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; + +/** + * The Mistral model. eg: mistral-large-latest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateMistralChatCompletionTaskParamsModel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateMistralChatCompletionTaskParamsModel() { + } + + public CreateMistralChatCompletionTaskParamsModel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateMistralChatCompletionTaskParamsModel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateMistralChatCompletionTaskParamsModel createMistralChatCompletionTaskParamsModel = (CreateMistralChatCompletionTaskParamsModel) o; + return Objects.equals(this.id, createMistralChatCompletionTaskParamsModel.id) && + Objects.equals(this.name, createMistralChatCompletionTaskParamsModel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateMistralChatCompletionTaskParamsModel {\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(); + } + + /** + * 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 CreateMistralChatCompletionTaskParamsModel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateMistralChatCompletionTaskParamsModel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateMistralChatCompletionTaskParamsModel is not found in the empty JSON string", CreateMistralChatCompletionTaskParamsModel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateMistralChatCompletionTaskParamsModel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateMistralChatCompletionTaskParamsModel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateMistralChatCompletionTaskParamsModel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateMistralChatCompletionTaskParamsModel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateMistralChatCompletionTaskParamsModel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateMistralChatCompletionTaskParamsModel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateMistralChatCompletionTaskParamsModel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateMistralChatCompletionTaskParamsModel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateMistralChatCompletionTaskParamsModel + * @throws IOException if the JSON string is invalid with respect to CreateMistralChatCompletionTaskParamsModel + */ + public static CreateMistralChatCompletionTaskParamsModel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateMistralChatCompletionTaskParamsModel.class); + } + + /** + * Convert an instance of CreateMistralChatCompletionTaskParamsModel 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/CreateMotionTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java index b3ab7086..5fd465b4 100644 --- a/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateMotionTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 df4f1c58..174a11ef 100644 --- a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateNotionPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateNotionPageTaskParams { /** * Gets or Sets taskType @@ -121,6 +121,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String postMortemTemplateId; + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + public static final String SERIALIZED_NAME_MARK_POST_MORTEM_AS_PUBLISHED = "mark_post_mortem_as_published"; @SerializedName(SERIALIZED_NAME_MARK_POST_MORTEM_AS_PUBLISHED) @javax.annotation.Nullable @@ -215,6 +220,25 @@ public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortem } + public CreateNotionPageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * Custom page content with liquid templating support. When provided, only this content will be rendered (no default sections) + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + public CreateNotionPageTaskParams markPostMortemAsPublished(@javax.annotation.Nullable Boolean markPostMortemAsPublished) { this.markPostMortemAsPublished = markPostMortemAsPublished; return this; @@ -286,6 +310,7 @@ public boolean equals(Object o) { Objects.equals(this.title, createNotionPageTaskParams.title) && Objects.equals(this.parentPage, createNotionPageTaskParams.parentPage) && Objects.equals(this.postMortemTemplateId, createNotionPageTaskParams.postMortemTemplateId) && + Objects.equals(this.content, createNotionPageTaskParams.content) && Objects.equals(this.markPostMortemAsPublished, createNotionPageTaskParams.markPostMortemAsPublished) && Objects.equals(this.showTimelineAsTable, createNotionPageTaskParams.showTimelineAsTable) && Objects.equals(this.showActionItemsAsTable, createNotionPageTaskParams.showActionItemsAsTable); @@ -293,7 +318,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(taskType, title, parentPage, postMortemTemplateId, markPostMortemAsPublished, showTimelineAsTable, showActionItemsAsTable); + return Objects.hash(taskType, title, parentPage, postMortemTemplateId, content, markPostMortemAsPublished, showTimelineAsTable, showActionItemsAsTable); } @Override @@ -304,6 +329,7 @@ public String toString() { sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" parentPage: ").append(toIndentedString(parentPage)).append("\n"); sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" markPostMortemAsPublished: ").append(toIndentedString(markPostMortemAsPublished)).append("\n"); sb.append(" showTimelineAsTable: ").append(toIndentedString(showTimelineAsTable)).append("\n"); sb.append(" showActionItemsAsTable: ").append(toIndentedString(showActionItemsAsTable)).append("\n"); @@ -333,6 +359,7 @@ private String toIndentedString(Object o) { openapiFields.add("title"); openapiFields.add("parent_page"); openapiFields.add("post_mortem_template_id"); + openapiFields.add("content"); openapiFields.add("mark_post_mortem_as_published"); openapiFields.add("show_timeline_as_table"); openapiFields.add("show_action_items_as_table"); @@ -386,6 +413,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").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())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java index d47d459f..78e317db 100644 --- a/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java +++ b/src/main/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPage.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The parent page id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..4b18e3e0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParams.java @@ -0,0 +1,624 @@ +/* + * 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.CreateOpenaiChatCompletionTaskParamsModel; +import java.io.IOException; +import java.math.BigDecimal; +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; + +/** + * CreateOpenaiChatCompletionTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateOpenaiChatCompletionTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + OPENAI_CHAT_COMPLETION("openai_chat_completion"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + @javax.annotation.Nonnull + private CreateOpenaiChatCompletionTaskParamsModel model; + + public static final String SERIALIZED_NAME_SYSTEM_PROMPT = "system_prompt"; + @SerializedName(SERIALIZED_NAME_SYSTEM_PROMPT) + @javax.annotation.Nullable + private String systemPrompt; + + public static final String SERIALIZED_NAME_PROMPT = "prompt"; + @SerializedName(SERIALIZED_NAME_PROMPT) + @javax.annotation.Nonnull + private String prompt; + + public static final String SERIALIZED_NAME_TEMPERATURE = "temperature"; + @SerializedName(SERIALIZED_NAME_TEMPERATURE) + @javax.annotation.Nullable + private BigDecimal temperature; + + public static final String SERIALIZED_NAME_MAX_TOKENS = "max_tokens"; + @SerializedName(SERIALIZED_NAME_MAX_TOKENS) + @javax.annotation.Nullable + private Integer maxTokens; + + public static final String SERIALIZED_NAME_TOP_P = "top_p"; + @SerializedName(SERIALIZED_NAME_TOP_P) + @javax.annotation.Nullable + private BigDecimal topP; + + /** + * Constrains effort on reasoning for GPT-5 and o-series models + */ + @JsonAdapter(ReasoningEffortEnum.Adapter.class) + public enum ReasoningEffortEnum { + MINIMAL("minimal"), + + LOW("low"), + + MEDIUM("medium"), + + HIGH("high"); + + private String value; + + ReasoningEffortEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ReasoningEffortEnum fromValue(String value) { + for (ReasoningEffortEnum b : ReasoningEffortEnum.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 ReasoningEffortEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ReasoningEffortEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ReasoningEffortEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ReasoningEffortEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_REASONING_EFFORT = "reasoning_effort"; + @SerializedName(SERIALIZED_NAME_REASONING_EFFORT) + @javax.annotation.Nullable + private ReasoningEffortEnum reasoningEffort; + + /** + * Summary of the reasoning performed by the model for GPT-5 and o-series models + */ + @JsonAdapter(ReasoningSummaryEnum.Adapter.class) + public enum ReasoningSummaryEnum { + AUTO("auto"), + + CONCISE("concise"), + + DETAILED("detailed"); + + private String value; + + ReasoningSummaryEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ReasoningSummaryEnum fromValue(String value) { + for (ReasoningSummaryEnum b : ReasoningSummaryEnum.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 ReasoningSummaryEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ReasoningSummaryEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ReasoningSummaryEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ReasoningSummaryEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_REASONING_SUMMARY = "reasoning_summary"; + @SerializedName(SERIALIZED_NAME_REASONING_SUMMARY) + @javax.annotation.Nullable + private ReasoningSummaryEnum reasoningSummary; + + public CreateOpenaiChatCompletionTaskParams() { + } + + public CreateOpenaiChatCompletionTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateOpenaiChatCompletionTaskParams model(@javax.annotation.Nonnull CreateOpenaiChatCompletionTaskParamsModel model) { + this.model = model; + return this; + } + + /** + * Get model + * @return model + */ + @javax.annotation.Nonnull + public CreateOpenaiChatCompletionTaskParamsModel getModel() { + return model; + } + + public void setModel(@javax.annotation.Nonnull CreateOpenaiChatCompletionTaskParamsModel model) { + this.model = model; + } + + + public CreateOpenaiChatCompletionTaskParams systemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + return this; + } + + /** + * The system prompt to send to OpenAI (optional) + * @return systemPrompt + */ + @javax.annotation.Nullable + public String getSystemPrompt() { + return systemPrompt; + } + + public void setSystemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + } + + + public CreateOpenaiChatCompletionTaskParams prompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + return this; + } + + /** + * The prompt to send to OpenAI + * @return prompt + */ + @javax.annotation.Nonnull + public String getPrompt() { + return prompt; + } + + public void setPrompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + } + + + public CreateOpenaiChatCompletionTaskParams temperature(@javax.annotation.Nullable BigDecimal temperature) { + this.temperature = temperature; + return this; + } + + /** + * Controls randomness in the response. Higher values make output more random + * minimum: 0.0 + * maximum: 2.0 + * @return temperature + */ + @javax.annotation.Nullable + public BigDecimal getTemperature() { + return temperature; + } + + public void setTemperature(@javax.annotation.Nullable BigDecimal temperature) { + this.temperature = temperature; + } + + + public CreateOpenaiChatCompletionTaskParams maxTokens(@javax.annotation.Nullable Integer maxTokens) { + this.maxTokens = maxTokens; + return this; + } + + /** + * Maximum number of tokens to generate in the response + * minimum: 1 + * @return maxTokens + */ + @javax.annotation.Nullable + public Integer getMaxTokens() { + return maxTokens; + } + + public void setMaxTokens(@javax.annotation.Nullable Integer maxTokens) { + this.maxTokens = maxTokens; + } + + + public CreateOpenaiChatCompletionTaskParams topP(@javax.annotation.Nullable BigDecimal topP) { + this.topP = topP; + return this; + } + + /** + * Controls diversity via nucleus sampling. Lower values make output more focused + * minimum: 0.0 + * maximum: 1.0 + * @return topP + */ + @javax.annotation.Nullable + public BigDecimal getTopP() { + return topP; + } + + public void setTopP(@javax.annotation.Nullable BigDecimal topP) { + this.topP = topP; + } + + + public CreateOpenaiChatCompletionTaskParams reasoningEffort(@javax.annotation.Nullable ReasoningEffortEnum reasoningEffort) { + this.reasoningEffort = reasoningEffort; + return this; + } + + /** + * Constrains effort on reasoning for GPT-5 and o-series models + * @return reasoningEffort + */ + @javax.annotation.Nullable + public ReasoningEffortEnum getReasoningEffort() { + return reasoningEffort; + } + + public void setReasoningEffort(@javax.annotation.Nullable ReasoningEffortEnum reasoningEffort) { + this.reasoningEffort = reasoningEffort; + } + + + public CreateOpenaiChatCompletionTaskParams reasoningSummary(@javax.annotation.Nullable ReasoningSummaryEnum reasoningSummary) { + this.reasoningSummary = reasoningSummary; + return this; + } + + /** + * Summary of the reasoning performed by the model for GPT-5 and o-series models + * @return reasoningSummary + */ + @javax.annotation.Nullable + public ReasoningSummaryEnum getReasoningSummary() { + return reasoningSummary; + } + + public void setReasoningSummary(@javax.annotation.Nullable ReasoningSummaryEnum reasoningSummary) { + this.reasoningSummary = reasoningSummary; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateOpenaiChatCompletionTaskParams createOpenaiChatCompletionTaskParams = (CreateOpenaiChatCompletionTaskParams) o; + return Objects.equals(this.taskType, createOpenaiChatCompletionTaskParams.taskType) && + Objects.equals(this.model, createOpenaiChatCompletionTaskParams.model) && + Objects.equals(this.systemPrompt, createOpenaiChatCompletionTaskParams.systemPrompt) && + Objects.equals(this.prompt, createOpenaiChatCompletionTaskParams.prompt) && + Objects.equals(this.temperature, createOpenaiChatCompletionTaskParams.temperature) && + Objects.equals(this.maxTokens, createOpenaiChatCompletionTaskParams.maxTokens) && + Objects.equals(this.topP, createOpenaiChatCompletionTaskParams.topP) && + Objects.equals(this.reasoningEffort, createOpenaiChatCompletionTaskParams.reasoningEffort) && + Objects.equals(this.reasoningSummary, createOpenaiChatCompletionTaskParams.reasoningSummary); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, model, systemPrompt, prompt, temperature, maxTokens, topP, reasoningEffort, reasoningSummary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateOpenaiChatCompletionTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" systemPrompt: ").append(toIndentedString(systemPrompt)).append("\n"); + sb.append(" prompt: ").append(toIndentedString(prompt)).append("\n"); + sb.append(" temperature: ").append(toIndentedString(temperature)).append("\n"); + sb.append(" maxTokens: ").append(toIndentedString(maxTokens)).append("\n"); + sb.append(" topP: ").append(toIndentedString(topP)).append("\n"); + sb.append(" reasoningEffort: ").append(toIndentedString(reasoningEffort)).append("\n"); + sb.append(" reasoningSummary: ").append(toIndentedString(reasoningSummary)).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("model"); + openapiFields.add("system_prompt"); + openapiFields.add("prompt"); + openapiFields.add("temperature"); + openapiFields.add("max_tokens"); + openapiFields.add("top_p"); + openapiFields.add("reasoning_effort"); + openapiFields.add("reasoning_summary"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("model"); + openapiRequiredFields.add("prompt"); + } + + /** + * 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 CreateOpenaiChatCompletionTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateOpenaiChatCompletionTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateOpenaiChatCompletionTaskParams is not found in the empty JSON string", CreateOpenaiChatCompletionTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateOpenaiChatCompletionTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateOpenaiChatCompletionTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateOpenaiChatCompletionTaskParams.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 `model` + CreateOpenaiChatCompletionTaskParamsModel.validateJsonElement(jsonObj.get("model")); + if ((jsonObj.get("system_prompt") != null && !jsonObj.get("system_prompt").isJsonNull()) && !jsonObj.get("system_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `system_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("system_prompt").toString())); + } + if (!jsonObj.get("prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prompt").toString())); + } + if ((jsonObj.get("reasoning_effort") != null && !jsonObj.get("reasoning_effort").isJsonNull()) && !jsonObj.get("reasoning_effort").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `reasoning_effort` to be a primitive type in the JSON string but got `%s`", jsonObj.get("reasoning_effort").toString())); + } + // validate the optional field `reasoning_effort` + if (jsonObj.get("reasoning_effort") != null && !jsonObj.get("reasoning_effort").isJsonNull()) { + ReasoningEffortEnum.validateJsonElement(jsonObj.get("reasoning_effort")); + } + if ((jsonObj.get("reasoning_summary") != null && !jsonObj.get("reasoning_summary").isJsonNull()) && !jsonObj.get("reasoning_summary").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `reasoning_summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("reasoning_summary").toString())); + } + // validate the optional field `reasoning_summary` + if (jsonObj.get("reasoning_summary") != null && !jsonObj.get("reasoning_summary").isJsonNull()) { + ReasoningSummaryEnum.validateJsonElement(jsonObj.get("reasoning_summary")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateOpenaiChatCompletionTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateOpenaiChatCompletionTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateOpenaiChatCompletionTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateOpenaiChatCompletionTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateOpenaiChatCompletionTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateOpenaiChatCompletionTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateOpenaiChatCompletionTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateOpenaiChatCompletionTaskParams + */ + public static CreateOpenaiChatCompletionTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateOpenaiChatCompletionTaskParams.class); + } + + /** + * Convert an instance of CreateOpenaiChatCompletionTaskParams 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/CreateOpenaiChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.java new file mode 100644 index 00000000..0760127f --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModel.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; + +/** + * The OpenAI model. eg: gpt-5-nano + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateOpenaiChatCompletionTaskParamsModel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateOpenaiChatCompletionTaskParamsModel() { + } + + public CreateOpenaiChatCompletionTaskParamsModel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateOpenaiChatCompletionTaskParamsModel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateOpenaiChatCompletionTaskParamsModel createOpenaiChatCompletionTaskParamsModel = (CreateOpenaiChatCompletionTaskParamsModel) o; + return Objects.equals(this.id, createOpenaiChatCompletionTaskParamsModel.id) && + Objects.equals(this.name, createOpenaiChatCompletionTaskParamsModel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateOpenaiChatCompletionTaskParamsModel {\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(); + } + + /** + * 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 CreateOpenaiChatCompletionTaskParamsModel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateOpenaiChatCompletionTaskParamsModel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateOpenaiChatCompletionTaskParamsModel is not found in the empty JSON string", CreateOpenaiChatCompletionTaskParamsModel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateOpenaiChatCompletionTaskParamsModel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateOpenaiChatCompletionTaskParamsModel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateOpenaiChatCompletionTaskParamsModel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateOpenaiChatCompletionTaskParamsModel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateOpenaiChatCompletionTaskParamsModel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateOpenaiChatCompletionTaskParamsModel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateOpenaiChatCompletionTaskParamsModel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateOpenaiChatCompletionTaskParamsModel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateOpenaiChatCompletionTaskParamsModel + * @throws IOException if the JSON string is invalid with respect to CreateOpenaiChatCompletionTaskParamsModel + */ + public static CreateOpenaiChatCompletionTaskParamsModel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateOpenaiChatCompletionTaskParamsModel.class); + } + + /** + * Convert an instance of CreateOpenaiChatCompletionTaskParamsModel 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/CreateOpsgenieAlertTaskParams.java b/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java index fbf6af23..dfa8638d 100644 --- a/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateOpsgenieAlertTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateOpsgenieAlertTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8702bee3..9a76f354 100644 --- a/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateOutlookEventTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * CreateOutlookEventTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateOutlookEventTaskParams { /** * Gets or Sets taskType @@ -154,6 +154,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Boolean excludeWeekends; + public static final String SERIALIZED_NAME_ENABLE_ONLINE_MEETING = "enable_online_meeting"; + @SerializedName(SERIALIZED_NAME_ENABLE_ONLINE_MEETING) + @javax.annotation.Nullable + private Boolean enableOnlineMeeting; + public static final String SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE = "post_to_incident_timeline"; @SerializedName(SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE) @javax.annotation.Nullable @@ -367,6 +372,25 @@ public void setExcludeWeekends(@javax.annotation.Nullable Boolean excludeWeekend } + public CreateOutlookEventTaskParams enableOnlineMeeting(@javax.annotation.Nullable Boolean enableOnlineMeeting) { + this.enableOnlineMeeting = enableOnlineMeeting; + return this; + } + + /** + * Enable Microsoft Teams online meeting + * @return enableOnlineMeeting + */ + @javax.annotation.Nullable + public Boolean getEnableOnlineMeeting() { + return enableOnlineMeeting; + } + + public void setEnableOnlineMeeting(@javax.annotation.Nullable Boolean enableOnlineMeeting) { + this.enableOnlineMeeting = enableOnlineMeeting; + } + + public CreateOutlookEventTaskParams postToIncidentTimeline(@javax.annotation.Nullable Boolean postToIncidentTimeline) { this.postToIncidentTimeline = postToIncidentTimeline; return this; @@ -433,6 +457,7 @@ public boolean equals(Object o) { Objects.equals(this.summary, createOutlookEventTaskParams.summary) && Objects.equals(this.description, createOutlookEventTaskParams.description) && Objects.equals(this.excludeWeekends, createOutlookEventTaskParams.excludeWeekends) && + Objects.equals(this.enableOnlineMeeting, createOutlookEventTaskParams.enableOnlineMeeting) && Objects.equals(this.postToIncidentTimeline, createOutlookEventTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, createOutlookEventTaskParams.postToSlackChannels); } @@ -443,7 +468,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, calendar, attendees, timeZone, daysUntilMeeting, timeOfMeeting, meetingDuration, summary, description, excludeWeekends, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, calendar, attendees, timeZone, daysUntilMeeting, timeOfMeeting, meetingDuration, summary, description, excludeWeekends, enableOnlineMeeting, postToIncidentTimeline, postToSlackChannels); } private static int hashCodeNullable(JsonNullable a) { @@ -467,6 +492,7 @@ public String toString() { sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" excludeWeekends: ").append(toIndentedString(excludeWeekends)).append("\n"); + sb.append(" enableOnlineMeeting: ").append(toIndentedString(enableOnlineMeeting)).append("\n"); sb.append(" postToIncidentTimeline: ").append(toIndentedString(postToIncidentTimeline)).append("\n"); sb.append(" postToSlackChannels: ").append(toIndentedString(postToSlackChannels)).append("\n"); sb.append("}"); @@ -501,6 +527,7 @@ private String toIndentedString(Object o) { openapiFields.add("summary"); openapiFields.add("description"); openapiFields.add("exclude_weekends"); + openapiFields.add("enable_online_meeting"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); diff --git a/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java b/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java index 9f493ec5..a0ba01f5 100644 --- a/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreatePagerdutyStatusUpdateTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e8b13ff5..0b451f4d 100644 --- a/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreatePagertreeAlertTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * CreatePagertreeAlertTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 745f6eea..d02827d6 100644 --- a/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateQuipPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreateQuipPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6759d0e4..a3cedfaf 100644 --- a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * CreateServiceNowIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c44c7dda..b6530ca8 100644 --- a/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java +++ b/src/main/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletion.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The completion id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3160b580..f74a99e7 100644 --- a/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateSharepointPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateSharepointPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ffe69bd4..f2a08816 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreateShortcutStoryTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutStoryTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java index 63b580c2..7d58e012 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateShortcutTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/CreateSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java index 69c872b7..b0da5ade 100644 --- a/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CreateSlackChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java b/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java new file mode 100644 index 00000000..ceb39d2b --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.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 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; + +/** + * CreateSubIncidentTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateSubIncidentTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_SUB_INCIDENT("create_sub_incident"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nonnull + private String title; + + public static final String SERIALIZED_NAME_SUMMARY = "summary"; + @SerializedName(SERIALIZED_NAME_SUMMARY) + @javax.annotation.Nullable + private String summary; + + public CreateSubIncidentTaskParams() { + } + + public CreateSubIncidentTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateSubIncidentTaskParams title(@javax.annotation.Nonnull String title) { + this.title = title; + return this; + } + + /** + * The sub incident title + * @return title + */ + @javax.annotation.Nonnull + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nonnull String title) { + this.title = title; + } + + + public CreateSubIncidentTaskParams summary(@javax.annotation.Nullable String summary) { + this.summary = summary; + return this; + } + + /** + * The sub incident summary + * @return summary + */ + @javax.annotation.Nullable + public String getSummary() { + return summary; + } + + public void setSummary(@javax.annotation.Nullable String summary) { + this.summary = summary; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateSubIncidentTaskParams createSubIncidentTaskParams = (CreateSubIncidentTaskParams) o; + return Objects.equals(this.taskType, createSubIncidentTaskParams.taskType) && + Objects.equals(this.title, createSubIncidentTaskParams.title) && + Objects.equals(this.summary, createSubIncidentTaskParams.summary); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, title, summary); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateSubIncidentTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" summary: ").append(toIndentedString(summary)).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("title"); + openapiFields.add("summary"); + + // 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 CreateSubIncidentTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateSubIncidentTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateSubIncidentTaskParams is not found in the empty JSON string", CreateSubIncidentTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateSubIncidentTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateSubIncidentTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateSubIncidentTaskParams.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")); + } + 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateSubIncidentTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateSubIncidentTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateSubIncidentTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateSubIncidentTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateSubIncidentTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateSubIncidentTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateSubIncidentTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateSubIncidentTaskParams + */ + public static CreateSubIncidentTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateSubIncidentTaskParams.class); + } + + /** + * Convert an instance of CreateSubIncidentTaskParams 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/CreateTrelloCardTaskParams.java b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java index b824c84b..d2c7910e 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -54,7 +54,7 @@ /** * CreateTrelloCardTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 849e3238..d3820cc7 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivation.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The archivation id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ec6b06fa..3f9f2eb3 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoard.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The board id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 45b16c43..1bda5c2e 100644 --- a/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java +++ b/src/main/java/com/rootly/client/model/CreateTrelloCardTaskParamsList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * The list id and display name */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..20b7bd3e --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParams.java @@ -0,0 +1,390 @@ +/* + * 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.CreateWatsonxChatCompletionTaskParamsModel; +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; + +/** + * CreateWatsonxChatCompletionTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateWatsonxChatCompletionTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + CREATE_WATSONX_CHAT_COMPLETION_TASK("create_watsonx_chat_completion_task"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_MODEL = "model"; + @SerializedName(SERIALIZED_NAME_MODEL) + @javax.annotation.Nonnull + private CreateWatsonxChatCompletionTaskParamsModel model; + + public static final String SERIALIZED_NAME_SYSTEM_PROMPT = "system_prompt"; + @SerializedName(SERIALIZED_NAME_SYSTEM_PROMPT) + @javax.annotation.Nullable + private String systemPrompt; + + public static final String SERIALIZED_NAME_PROMPT = "prompt"; + @SerializedName(SERIALIZED_NAME_PROMPT) + @javax.annotation.Nonnull + private String prompt; + + public static final String SERIALIZED_NAME_PROJECT_ID = "project_id"; + @SerializedName(SERIALIZED_NAME_PROJECT_ID) + @javax.annotation.Nonnull + private String projectId; + + public CreateWatsonxChatCompletionTaskParams() { + } + + public CreateWatsonxChatCompletionTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public CreateWatsonxChatCompletionTaskParams model(@javax.annotation.Nonnull CreateWatsonxChatCompletionTaskParamsModel model) { + this.model = model; + return this; + } + + /** + * Get model + * @return model + */ + @javax.annotation.Nonnull + public CreateWatsonxChatCompletionTaskParamsModel getModel() { + return model; + } + + public void setModel(@javax.annotation.Nonnull CreateWatsonxChatCompletionTaskParamsModel model) { + this.model = model; + } + + + public CreateWatsonxChatCompletionTaskParams systemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + return this; + } + + /** + * The system prompt to send to WatsonX (optional) + * @return systemPrompt + */ + @javax.annotation.Nullable + public String getSystemPrompt() { + return systemPrompt; + } + + public void setSystemPrompt(@javax.annotation.Nullable String systemPrompt) { + this.systemPrompt = systemPrompt; + } + + + public CreateWatsonxChatCompletionTaskParams prompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + return this; + } + + /** + * The prompt to send to WatsonX + * @return prompt + */ + @javax.annotation.Nonnull + public String getPrompt() { + return prompt; + } + + public void setPrompt(@javax.annotation.Nonnull String prompt) { + this.prompt = prompt; + } + + + public CreateWatsonxChatCompletionTaskParams projectId(@javax.annotation.Nonnull String projectId) { + this.projectId = projectId; + return this; + } + + /** + * Get projectId + * @return projectId + */ + @javax.annotation.Nonnull + public String getProjectId() { + return projectId; + } + + public void setProjectId(@javax.annotation.Nonnull String projectId) { + this.projectId = projectId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWatsonxChatCompletionTaskParams createWatsonxChatCompletionTaskParams = (CreateWatsonxChatCompletionTaskParams) o; + return Objects.equals(this.taskType, createWatsonxChatCompletionTaskParams.taskType) && + Objects.equals(this.model, createWatsonxChatCompletionTaskParams.model) && + Objects.equals(this.systemPrompt, createWatsonxChatCompletionTaskParams.systemPrompt) && + Objects.equals(this.prompt, createWatsonxChatCompletionTaskParams.prompt) && + Objects.equals(this.projectId, createWatsonxChatCompletionTaskParams.projectId); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, model, systemPrompt, prompt, projectId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWatsonxChatCompletionTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" model: ").append(toIndentedString(model)).append("\n"); + sb.append(" systemPrompt: ").append(toIndentedString(systemPrompt)).append("\n"); + sb.append(" prompt: ").append(toIndentedString(prompt)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).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("model"); + openapiFields.add("system_prompt"); + openapiFields.add("prompt"); + openapiFields.add("project_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("model"); + openapiRequiredFields.add("prompt"); + openapiRequiredFields.add("project_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 CreateWatsonxChatCompletionTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateWatsonxChatCompletionTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateWatsonxChatCompletionTaskParams is not found in the empty JSON string", CreateWatsonxChatCompletionTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateWatsonxChatCompletionTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateWatsonxChatCompletionTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : CreateWatsonxChatCompletionTaskParams.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 `model` + CreateWatsonxChatCompletionTaskParamsModel.validateJsonElement(jsonObj.get("model")); + if ((jsonObj.get("system_prompt") != null && !jsonObj.get("system_prompt").isJsonNull()) && !jsonObj.get("system_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `system_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("system_prompt").toString())); + } + if (!jsonObj.get("prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("prompt").toString())); + } + if (!jsonObj.get("project_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `project_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("project_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateWatsonxChatCompletionTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateWatsonxChatCompletionTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateWatsonxChatCompletionTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateWatsonxChatCompletionTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateWatsonxChatCompletionTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateWatsonxChatCompletionTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateWatsonxChatCompletionTaskParams + * @throws IOException if the JSON string is invalid with respect to CreateWatsonxChatCompletionTaskParams + */ + public static CreateWatsonxChatCompletionTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateWatsonxChatCompletionTaskParams.class); + } + + /** + * Convert an instance of CreateWatsonxChatCompletionTaskParams 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/CreateWatsonxChatCompletionTaskParamsModel.java b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.java new file mode 100644 index 00000000..35ff8a4d --- /dev/null +++ b/src/main/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModel.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; + +/** + * The WatsonX model. eg: ibm/granite-3-b8b-instruct + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class CreateWatsonxChatCompletionTaskParamsModel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public CreateWatsonxChatCompletionTaskParamsModel() { + } + + public CreateWatsonxChatCompletionTaskParamsModel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public CreateWatsonxChatCompletionTaskParamsModel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWatsonxChatCompletionTaskParamsModel createWatsonxChatCompletionTaskParamsModel = (CreateWatsonxChatCompletionTaskParamsModel) o; + return Objects.equals(this.id, createWatsonxChatCompletionTaskParamsModel.id) && + Objects.equals(this.name, createWatsonxChatCompletionTaskParamsModel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWatsonxChatCompletionTaskParamsModel {\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(); + } + + /** + * 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 CreateWatsonxChatCompletionTaskParamsModel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!CreateWatsonxChatCompletionTaskParamsModel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in CreateWatsonxChatCompletionTaskParamsModel is not found in the empty JSON string", CreateWatsonxChatCompletionTaskParamsModel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!CreateWatsonxChatCompletionTaskParamsModel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `CreateWatsonxChatCompletionTaskParamsModel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!CreateWatsonxChatCompletionTaskParamsModel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'CreateWatsonxChatCompletionTaskParamsModel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(CreateWatsonxChatCompletionTaskParamsModel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, CreateWatsonxChatCompletionTaskParamsModel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public CreateWatsonxChatCompletionTaskParamsModel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of CreateWatsonxChatCompletionTaskParamsModel given an JSON string + * + * @param jsonString JSON string + * @return An instance of CreateWatsonxChatCompletionTaskParamsModel + * @throws IOException if the JSON string is invalid with respect to CreateWatsonxChatCompletionTaskParamsModel + */ + public static CreateWatsonxChatCompletionTaskParamsModel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, CreateWatsonxChatCompletionTaskParamsModel.class); + } + + /** + * Convert an instance of CreateWatsonxChatCompletionTaskParamsModel 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/CreateWebexMeetingTaskParams.java b/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java index 97a995e7..e1ee2f2a 100644 --- a/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateWebexMeetingTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -24,6 +24,7 @@ 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; @@ -51,7 +52,7 @@ /** * CreateWebexMeetingTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateWebexMeetingTaskParams { /** * Gets or Sets taskType @@ -123,6 +124,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Boolean recordMeeting; + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + */ + @JsonAdapter(RecordingModeEnum.Adapter.class) + public enum RecordingModeEnum { + SPEAKER_VIEW("speaker_view"), + + GALLERY_VIEW("gallery_view"), + + GALLERY_VIEW_V2("gallery_view_v2"), + + AUDIO_ONLY("audio_only"); + + private String value; + + RecordingModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecordingModeEnum fromValue(String value) { + for (RecordingModeEnum b : RecordingModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecordingModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecordingModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecordingModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RecordingModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RECORDING_MODE = "recording_mode"; + @SerializedName(SERIALIZED_NAME_RECORDING_MODE) + @javax.annotation.Nullable + private RecordingModeEnum recordingMode; + public static final String SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE = "post_to_incident_timeline"; @SerializedName(SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE) @javax.annotation.Nullable @@ -212,6 +274,25 @@ public void setRecordMeeting(@javax.annotation.Nullable Boolean recordMeeting) { } + public CreateWebexMeetingTaskParams recordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + return this; + } + + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + * @return recordingMode + */ + @javax.annotation.Nullable + public RecordingModeEnum getRecordingMode() { + return recordingMode; + } + + public void setRecordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + } + + public CreateWebexMeetingTaskParams postToIncidentTimeline(@javax.annotation.Nullable Boolean postToIncidentTimeline) { this.postToIncidentTimeline = postToIncidentTimeline; return this; @@ -272,13 +353,25 @@ public boolean equals(Object o) { Objects.equals(this.topic, createWebexMeetingTaskParams.topic) && Objects.equals(this.password, createWebexMeetingTaskParams.password) && Objects.equals(this.recordMeeting, createWebexMeetingTaskParams.recordMeeting) && + Objects.equals(this.recordingMode, createWebexMeetingTaskParams.recordingMode) && Objects.equals(this.postToIncidentTimeline, createWebexMeetingTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, createWebexMeetingTaskParams.postToSlackChannels); } + 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, topic, password, recordMeeting, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, topic, password, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -289,6 +382,7 @@ public String toString() { sb.append(" topic: ").append(toIndentedString(topic)).append("\n"); sb.append(" password: ").append(toIndentedString(password)).append("\n"); sb.append(" recordMeeting: ").append(toIndentedString(recordMeeting)).append("\n"); + 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("}"); @@ -317,6 +411,7 @@ private String toIndentedString(Object o) { openapiFields.add("topic"); openapiFields.add("password"); openapiFields.add("record_meeting"); + openapiFields.add("recording_mode"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); @@ -366,6 +461,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("password") != null && !jsonObj.get("password").isJsonNull()) && !jsonObj.get("password").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("password").toString())); } + if ((jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) && !jsonObj.get("recording_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `recording_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("recording_mode").toString())); + } + // validate the optional field `recording_mode` + if (jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) { + RecordingModeEnum.validateJsonElement(jsonObj.get("recording_mode")); + } if (jsonObj.get("post_to_slack_channels") != null && !jsonObj.get("post_to_slack_channels").isJsonNull()) { JsonArray jsonArraypostToSlackChannels = jsonObj.getAsJsonArray("post_to_slack_channels"); if (jsonArraypostToSlackChannels != null) { diff --git a/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java b/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java index f28ddbd9..298a21de 100644 --- a/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CreateZendeskJiraLinkTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8eba02f3..09dac7c6 100644 --- a/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZendeskTicketTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * CreateZendeskTicketTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 298417e7..7c9cfaa4 100644 --- a/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateZoomMeetingTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -24,6 +24,7 @@ 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; @@ -51,7 +52,7 @@ /** * CreateZoomMeetingTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateZoomMeetingTaskParams { /** * Gets or Sets taskType @@ -192,6 +193,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Boolean recordMeeting; + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + */ + @JsonAdapter(RecordingModeEnum.Adapter.class) + public enum RecordingModeEnum { + SPEAKER_VIEW("speaker_view"), + + GALLERY_VIEW("gallery_view"), + + GALLERY_VIEW_V2("gallery_view_v2"), + + AUDIO_ONLY("audio_only"); + + private String value; + + RecordingModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RecordingModeEnum fromValue(String value) { + for (RecordingModeEnum b : RecordingModeEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RecordingModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RecordingModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RecordingModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + RecordingModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_RECORDING_MODE = "recording_mode"; + @SerializedName(SERIALIZED_NAME_RECORDING_MODE) + @javax.annotation.Nullable + private RecordingModeEnum recordingMode; + public static final String SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE = "post_to_incident_timeline"; @SerializedName(SERIALIZED_NAME_POST_TO_INCIDENT_TIMELINE) @javax.annotation.Nullable @@ -346,6 +408,25 @@ public void setRecordMeeting(@javax.annotation.Nullable Boolean recordMeeting) { } + public CreateZoomMeetingTaskParams recordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + return this; + } + + /** + * The video layout for the bot's recording (e.g. speaker_view, gallery_view, gallery_view_v2, audio_only) + * @return recordingMode + */ + @javax.annotation.Nullable + public RecordingModeEnum getRecordingMode() { + return recordingMode; + } + + public void setRecordingMode(@javax.annotation.Nullable RecordingModeEnum recordingMode) { + this.recordingMode = recordingMode; + } + + public CreateZoomMeetingTaskParams postToIncidentTimeline(@javax.annotation.Nullable Boolean postToIncidentTimeline) { this.postToIncidentTimeline = postToIncidentTimeline; return this; @@ -409,13 +490,25 @@ public boolean equals(Object o) { Objects.equals(this.alternativeHosts, createZoomMeetingTaskParams.alternativeHosts) && Objects.equals(this.autoRecording, createZoomMeetingTaskParams.autoRecording) && Objects.equals(this.recordMeeting, createZoomMeetingTaskParams.recordMeeting) && + Objects.equals(this.recordingMode, createZoomMeetingTaskParams.recordingMode) && Objects.equals(this.postToIncidentTimeline, createZoomMeetingTaskParams.postToIncidentTimeline) && Objects.equals(this.postToSlackChannels, createZoomMeetingTaskParams.postToSlackChannels); } + 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, topic, password, createAsEmail, alternativeHosts, autoRecording, recordMeeting, postToIncidentTimeline, postToSlackChannels); + return Objects.hash(taskType, topic, password, createAsEmail, alternativeHosts, autoRecording, recordMeeting, recordingMode, postToIncidentTimeline, postToSlackChannels); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -429,6 +522,7 @@ public String toString() { sb.append(" alternativeHosts: ").append(toIndentedString(alternativeHosts)).append("\n"); sb.append(" autoRecording: ").append(toIndentedString(autoRecording)).append("\n"); sb.append(" recordMeeting: ").append(toIndentedString(recordMeeting)).append("\n"); + 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("}"); @@ -460,6 +554,7 @@ private String toIndentedString(Object o) { openapiFields.add("alternative_hosts"); openapiFields.add("auto_recording"); openapiFields.add("record_meeting"); + openapiFields.add("recording_mode"); openapiFields.add("post_to_incident_timeline"); openapiFields.add("post_to_slack_channels"); @@ -523,6 +618,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("auto_recording") != null && !jsonObj.get("auto_recording").isJsonNull()) { AutoRecordingEnum.validateJsonElement(jsonObj.get("auto_recording")); } + if ((jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) && !jsonObj.get("recording_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `recording_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("recording_mode").toString())); + } + // validate the optional field `recording_mode` + if (jsonObj.get("recording_mode") != null && !jsonObj.get("recording_mode").isJsonNull()) { + RecordingModeEnum.validateJsonElement(jsonObj.get("recording_mode")); + } if (jsonObj.get("post_to_slack_channels") != null && !jsonObj.get("post_to_slack_channels").isJsonNull()) { JsonArray jsonArraypostToSlackChannels = jsonObj.getAsJsonArray("post_to_slack_channels"); if (jsonArraypostToSlackChannels != null) { diff --git a/src/main/java/com/rootly/client/model/CustomField.java b/src/main/java/com/rootly/client/model/CustomField.java index 2a5f92c7..ed8adff7 100644 --- a/src/main/java/com/rootly/client/model/CustomField.java +++ b/src/main/java/com/rootly/client/model/CustomField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,10 +20,7 @@ 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; @@ -51,124 +48,18 @@ /** * CustomField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomField { - public static final String SERIALIZED_NAME_LABEL = "label"; - @SerializedName(SERIALIZED_NAME_LABEL) - @javax.annotation.Nonnull - private String label; - - public static final String SERIALIZED_NAME_KIND = "kind"; - @SerializedName(SERIALIZED_NAME_KIND) - @javax.annotation.Nullable - private String kind; - - public static final String SERIALIZED_NAME_ENABLED = "enabled"; - @SerializedName(SERIALIZED_NAME_ENABLED) - @javax.annotation.Nullable - private Boolean enabled; - - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull - private String slug; - - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; - @SerializedName(SERIALIZED_NAME_DESCRIPTION) - @javax.annotation.Nullable - private String description; - - /** - * Where the custom_field is shown - */ - @JsonAdapter(ShownEnum.Adapter.class) - public enum ShownEnum { - INCIDENT_FORM("incident_form"), - - INCIDENT_MITIGATION_FORM("incident_mitigation_form"), - - INCIDENT_RESOLUTION_FORM("incident_resolution_form"), - - INCIDENT_POST_MORTEM_FORM("incident_post_mortem_form"), - - INCIDENT_SLACK_FORM("incident_slack_form"), - - INCIDENT_MITIGATION_SLACK_FORM("incident_mitigation_slack_form"), - - INCIDENT_RESOLUTION_SLACK_FORM("incident_resolution_slack_form"), - - INCIDENT_POST_MORTEM("incident_post_mortem"); - - private String value; - - ShownEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static ShownEnum fromValue(String value) { - for (ShownEnum b : ShownEnum.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 ShownEnum enumeration) throws IOException { - jsonWriter.value(enumeration.getValue()); - } - - @Override - public ShownEnum read(final JsonReader jsonReader) throws IOException { - String value = jsonReader.nextString(); - return ShownEnum.fromValue(value); - } - } - - public static void validateJsonElement(JsonElement jsonElement) throws IOException { - String value = jsonElement.getAsString(); - ShownEnum.fromValue(value); - } - } - - public static final String SERIALIZED_NAME_SHOWN = "shown"; - @SerializedName(SERIALIZED_NAME_SHOWN) - @javax.annotation.Nonnull - private List shown = new ArrayList<>(); - /** - * Where the custom_field is required + * Gets or Sets fieldSource */ - @JsonAdapter(RequiredEnum.Adapter.class) - public enum RequiredEnum { - INCIDENT_FORM("incident_form"), - - INCIDENT_MITIGATION_FORM("incident_mitigation_form"), - - INCIDENT_RESOLUTION_FORM("incident_resolution_form"), - - INCIDENT_POST_MORTEM_FORM("incident_post_mortem_form"), - - INCIDENT_SLACK_FORM("incident_slack_form"), - - INCIDENT_MITIGATION_SLACK_FORM("incident_mitigation_slack_form"), - - INCIDENT_RESOLUTION_SLACK_FORM("incident_resolution_slack_form"); + @JsonAdapter(FieldSourceEnum.Adapter.class) + public enum FieldSourceEnum { + CUSTOM("custom"); private String value; - RequiredEnum(String value) { + FieldSourceEnum(String value) { this.value = value; } @@ -181,8 +72,8 @@ public String toString() { return String.valueOf(value); } - public static RequiredEnum fromValue(String value) { - for (RequiredEnum b : RequiredEnum.values()) { + public static FieldSourceEnum fromValue(String value) { + for (FieldSourceEnum b : FieldSourceEnum.values()) { if (b.value.equals(value)) { return b; } @@ -190,275 +81,97 @@ public static RequiredEnum fromValue(String value) { throw new IllegalArgumentException("Unexpected value '" + value + "'"); } - public static class Adapter extends TypeAdapter { + public static class Adapter extends TypeAdapter { @Override - public void write(final JsonWriter jsonWriter, final RequiredEnum enumeration) throws IOException { + public void write(final JsonWriter jsonWriter, final FieldSourceEnum enumeration) throws IOException { jsonWriter.value(enumeration.getValue()); } @Override - public RequiredEnum read(final JsonReader jsonReader) throws IOException { + public FieldSourceEnum read(final JsonReader jsonReader) throws IOException { String value = jsonReader.nextString(); - return RequiredEnum.fromValue(value); + return FieldSourceEnum.fromValue(value); } } public static void validateJsonElement(JsonElement jsonElement) throws IOException { String value = jsonElement.getAsString(); - RequiredEnum.fromValue(value); + FieldSourceEnum.fromValue(value); } } - public static final String SERIALIZED_NAME_REQUIRED = "required"; - @SerializedName(SERIALIZED_NAME_REQUIRED) - @javax.annotation.Nullable - private List required; - - public static final String SERIALIZED_NAME_DEFAULT = "default"; - @SerializedName(SERIALIZED_NAME_DEFAULT) - @javax.annotation.Nullable - private String _default; - - public static final String SERIALIZED_NAME_POSITION = "position"; - @SerializedName(SERIALIZED_NAME_POSITION) - @javax.annotation.Nonnull - private Integer position; - - public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; - @SerializedName(SERIALIZED_NAME_CREATED_AT) + public static final String SERIALIZED_NAME_FIELD_SOURCE = "field_source"; + @SerializedName(SERIALIZED_NAME_FIELD_SOURCE) @javax.annotation.Nonnull - private String createdAt; + private FieldSourceEnum fieldSource; - public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; - @SerializedName(SERIALIZED_NAME_UPDATED_AT) + public static final String SERIALIZED_NAME_CATALOG_PROPERTY_ID = "catalog_property_id"; + @SerializedName(SERIALIZED_NAME_CATALOG_PROPERTY_ID) @javax.annotation.Nonnull - private String updatedAt; - - public CustomField() { - } - - public CustomField label(@javax.annotation.Nonnull String label) { - this.label = label; - return this; - } - - /** - * The name of the custom_field - * @return label - */ - @javax.annotation.Nonnull - public String getLabel() { - return label; - } - - public void setLabel(@javax.annotation.Nonnull String label) { - this.label = label; - } - - - public CustomField kind(@javax.annotation.Nullable String kind) { - this.kind = kind; - return this; - } - - /** - * The kind of the custom_field - * @return kind - */ - @javax.annotation.Nullable - public String getKind() { - return kind; - } - - public void setKind(@javax.annotation.Nullable String kind) { - this.kind = kind; - } - + private String catalogPropertyId; - public CustomField enabled(@javax.annotation.Nullable Boolean enabled) { - this.enabled = enabled; - return this; - } - - /** - * Whether the custom_field is enabled - * @return enabled - */ + public static final String SERIALIZED_NAME_FIELD_KEY = "field_key"; + @SerializedName(SERIALIZED_NAME_FIELD_KEY) @javax.annotation.Nullable - public Boolean getEnabled() { - return enabled; - } + private String fieldKey; - public void setEnabled(@javax.annotation.Nullable Boolean enabled) { - this.enabled = enabled; + public CustomField() { } - - public CustomField slug(@javax.annotation.Nonnull String slug) { - this.slug = slug; + public CustomField fieldSource(@javax.annotation.Nonnull FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; return this; } /** - * The slug of the custom_field - * @return slug + * Get fieldSource + * @return fieldSource */ @javax.annotation.Nonnull - public String getSlug() { - return slug; + public FieldSourceEnum getFieldSource() { + return fieldSource; } - public void setSlug(@javax.annotation.Nonnull String slug) { - this.slug = slug; + public void setFieldSource(@javax.annotation.Nonnull FieldSourceEnum fieldSource) { + this.fieldSource = fieldSource; } - public CustomField description(@javax.annotation.Nullable String description) { - this.description = description; + public CustomField catalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; return this; } /** - * The description of the custom_field - * @return description - */ - @javax.annotation.Nullable - public String getDescription() { - return description; - } - - public void setDescription(@javax.annotation.Nullable String description) { - this.description = description; - } - - - public CustomField shown(@javax.annotation.Nonnull List shown) { - this.shown = shown; - return this; - } - - public CustomField addShownItem(ShownEnum shownItem) { - if (this.shown == null) { - this.shown = new ArrayList<>(); - } - this.shown.add(shownItem); - return this; - } - - /** - * Get shown - * @return shown + * ID of the catalog property + * @return catalogPropertyId */ @javax.annotation.Nonnull - public List getShown() { - return shown; - } - - public void setShown(@javax.annotation.Nonnull List shown) { - this.shown = shown; - } - - - public CustomField required(@javax.annotation.Nullable List required) { - this.required = required; - return this; - } - - public CustomField addRequiredItem(RequiredEnum requiredItem) { - if (this.required == null) { - this.required = new ArrayList<>(); - } - this.required.add(requiredItem); - return this; - } - - /** - * Get required - * @return required - */ - @javax.annotation.Nullable - public List getRequired() { - return required; + public String getCatalogPropertyId() { + return catalogPropertyId; } - public void setRequired(@javax.annotation.Nullable List required) { - this.required = required; + public void setCatalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; } - public CustomField _default(@javax.annotation.Nullable String _default) { - this._default = _default; + public CustomField fieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; return this; } /** - * The default value for text field kinds - * @return _default + * Ignored for custom fields (auto-derived from catalog property) + * @return fieldKey */ @javax.annotation.Nullable - public String getDefault() { - return _default; - } - - public void setDefault(@javax.annotation.Nullable String _default) { - this._default = _default; - } - - - public CustomField position(@javax.annotation.Nonnull Integer position) { - this.position = position; - return this; + public String getFieldKey() { + return fieldKey; } - /** - * The position of the custom_field - * @return position - */ - @javax.annotation.Nonnull - public Integer getPosition() { - return position; - } - - public void setPosition(@javax.annotation.Nonnull Integer position) { - this.position = position; - } - - - public CustomField createdAt(@javax.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; - return this; - } - - /** - * Date of creation - * @return createdAt - */ - @javax.annotation.Nonnull - public String getCreatedAt() { - return createdAt; - } - - public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { - this.createdAt = createdAt; - } - - - public CustomField updatedAt(@javax.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; - return this; - } - - /** - * Date of last update - * @return updatedAt - */ - @javax.annotation.Nonnull - public String getUpdatedAt() { - return updatedAt; - } - - public void setUpdatedAt(@javax.annotation.Nonnull String updatedAt) { - this.updatedAt = updatedAt; + public void setFieldKey(@javax.annotation.Nullable String fieldKey) { + this.fieldKey = fieldKey; } @@ -472,50 +185,23 @@ public boolean equals(Object o) { return false; } CustomField customField = (CustomField) o; - return Objects.equals(this.label, customField.label) && - Objects.equals(this.kind, customField.kind) && - Objects.equals(this.enabled, customField.enabled) && - Objects.equals(this.slug, customField.slug) && - Objects.equals(this.description, customField.description) && - Objects.equals(this.shown, customField.shown) && - Objects.equals(this.required, customField.required) && - Objects.equals(this._default, customField._default) && - Objects.equals(this.position, customField.position) && - Objects.equals(this.createdAt, customField.createdAt) && - Objects.equals(this.updatedAt, customField.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.fieldSource, customField.fieldSource) && + Objects.equals(this.catalogPropertyId, customField.catalogPropertyId) && + Objects.equals(this.fieldKey, customField.fieldKey); } @Override public int hashCode() { - return Objects.hash(label, kind, enabled, slug, description, shown, required, _default, position, 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(fieldSource, catalogPropertyId, fieldKey); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CustomField {\n"); - sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); - sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); - sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append(" shown: ").append(toIndentedString(shown)).append("\n"); - sb.append(" required: ").append(toIndentedString(required)).append("\n"); - sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); - sb.append(" position: ").append(toIndentedString(position)).append("\n"); - sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); - sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); + sb.append(" fieldSource: ").append(toIndentedString(fieldSource)).append("\n"); + sb.append(" catalogPropertyId: ").append(toIndentedString(catalogPropertyId)).append("\n"); + sb.append(" fieldKey: ").append(toIndentedString(fieldKey)).append("\n"); sb.append("}"); return sb.toString(); } @@ -538,27 +224,14 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); - openapiFields.add("label"); - openapiFields.add("kind"); - openapiFields.add("enabled"); - openapiFields.add("slug"); - openapiFields.add("description"); - openapiFields.add("shown"); - openapiFields.add("required"); - openapiFields.add("default"); - openapiFields.add("position"); - openapiFields.add("created_at"); - openapiFields.add("updated_at"); + openapiFields.add("field_source"); + openapiFields.add("catalog_property_id"); + openapiFields.add("field_key"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); - openapiRequiredFields.add("label"); - openapiRequiredFields.add("slug"); - openapiRequiredFields.add("shown"); - openapiRequiredFields.add("required"); - openapiRequiredFields.add("position"); - openapiRequiredFields.add("created_at"); - openapiRequiredFields.add("updated_at"); + openapiRequiredFields.add("field_source"); + openapiRequiredFields.add("catalog_property_id"); } /** @@ -589,38 +262,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - if (!jsonObj.get("label").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `label` to be a primitive type in the JSON string but got `%s`", jsonObj.get("label").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())); - } - if (!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("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 required json array is present - if (jsonObj.get("shown") == null) { - throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); - } else if (!jsonObj.get("shown").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `shown` to be an array in the JSON string but got `%s`", jsonObj.get("shown").toString())); - } - // ensure the required json array is present - if (jsonObj.get("required") == null) { - throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); - } else if (!jsonObj.get("required").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `required` to be an array in the JSON string but got `%s`", jsonObj.get("required").toString())); - } - if ((jsonObj.get("default") != null && !jsonObj.get("default").isJsonNull()) && !jsonObj.get("default").isJsonPrimitive()) { - throw new IllegalArgumentException(String.format("Expected the field `default` to be a primitive type in the JSON string but got `%s`", jsonObj.get("default").toString())); + if (!jsonObj.get("field_source").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_source` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_source").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())); + // validate the required field `field_source` + FieldSourceEnum.validateJsonElement(jsonObj.get("field_source")); + if (!jsonObj.get("catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_property_id").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())); + if ((jsonObj.get("field_key") != null && !jsonObj.get("field_key").isJsonNull()) && !jsonObj.get("field_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `field_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("field_key").toString())); } } diff --git a/src/main/java/com/rootly/client/model/CustomFieldList.java b/src/main/java/com/rootly/client/model/CustomFieldList.java index 4cd5e2b2..a60e8734 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CustomFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CustomFieldList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CustomFieldList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CustomFieldList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CustomFieldList customFieldList = (CustomFieldList) o; return Objects.equals(this.data, customFieldList.data) && - Objects.equals(this.links, customFieldList.links); + Objects.equals(this.links, customFieldList.links) && + Objects.equals(this.meta, customFieldList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CustomFieldList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CustomFieldOption.java b/src/main/java/com/rootly/client/model/CustomFieldOption.java index bdeca474..e505eeff 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * CustomFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3b8ddc97..78ad162f 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFieldOptionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CustomFieldOptionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFieldOptionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CustomFieldOptionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CustomFieldOptionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CustomFieldOptionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CustomFieldOptionList customFieldOptionList = (CustomFieldOptionList) o; return Objects.equals(this.data, customFieldOptionList.data) && - Objects.equals(this.links, customFieldOptionList.links); + Objects.equals(this.links, customFieldOptionList.links) && + Objects.equals(this.meta, customFieldOptionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CustomFieldOptionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java b/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java index b46fe072..8578fb41 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFieldOptionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a8bf64a9..210db992 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFieldOptionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a92c8842..e542e97d 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0627f6b8..1831bcde 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFieldResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFieldResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9e0af179..63f14110 100644 --- a/src/main/java/com/rootly/client/model/CustomForm.java +++ b/src/main/java/com/rootly/client/model/CustomForm.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomForm */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomForm { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -58,7 +58,7 @@ public class CustomForm { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @@ -108,7 +108,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public CustomForm slug(@javax.annotation.Nonnull String slug) { + public CustomForm slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -117,12 +117,12 @@ public CustomForm slug(@javax.annotation.Nonnull String slug) { * The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -301,7 +301,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("enabled"); openapiRequiredFields.add("command"); openapiRequiredFields.add("created_at"); @@ -339,7 +338,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { diff --git a/src/main/java/com/rootly/client/model/CustomFormList.java b/src/main/java/com/rootly/client/model/CustomFormList.java index bd6ec475..2e11daed 100644 --- a/src/main/java/com/rootly/client/model/CustomFormList.java +++ b/src/main/java/com/rootly/client/model/CustomFormList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFormResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * CustomFormList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CustomFormList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class CustomFormList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public CustomFormList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public CustomFormList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } CustomFormList customFormList = (CustomFormList) o; return Objects.equals(this.data, customFormList.data) && - Objects.equals(this.links, customFormList.links); + Objects.equals(this.links, customFormList.links) && + Objects.equals(this.meta, customFormList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class CustomFormList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/CustomFormResponse.java b/src/main/java/com/rootly/client/model/CustomFormResponse.java index e49164fd..0ebc4fd5 100644 --- a/src/main/java/com/rootly/client/model/CustomFormResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFormResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFormResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8f960076..d913a222 100644 --- a/src/main/java/com/rootly/client/model/CustomFormResponseData.java +++ b/src/main/java/com/rootly/client/model/CustomFormResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * CustomFormResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0bdac055..f378d3cd 100644 --- a/src/main/java/com/rootly/client/model/Dashboard.java +++ b/src/main/java/com/rootly/client/model/Dashboard.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * Dashboard */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3f89f8f4..75c57589 100644 --- a/src/main/java/com/rootly/client/model/DashboardList.java +++ b/src/main/java/com/rootly/client/model/DashboardList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.DashboardResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * DashboardList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class DashboardList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public DashboardList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public DashboardList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } DashboardList dashboardList = (DashboardList) o; return Objects.equals(this.data, dashboardList.data) && - Objects.equals(this.links, dashboardList.links); + Objects.equals(this.links, dashboardList.links) && + Objects.equals(this.meta, dashboardList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class DashboardList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/DashboardPanel.java b/src/main/java/com/rootly/client/model/DashboardPanel.java index c7547627..48ff32e6 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanel.java +++ b/src/main/java/com/rootly/client/model/DashboardPanel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * DashboardPanel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4619c28b..cb4c206e 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelList.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.DashboardPanelResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * DashboardPanelList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class DashboardPanelList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class DashboardPanelList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public DashboardPanelList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public DashboardPanelList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } DashboardPanelList dashboardPanelList = (DashboardPanelList) o; return Objects.equals(this.data, dashboardPanelList.data) && - Objects.equals(this.links, dashboardPanelList.links); + Objects.equals(this.links, dashboardPanelList.links) && + Objects.equals(this.meta, dashboardPanelList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class DashboardPanelList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/DashboardPanelResponse.java b/src/main/java/com/rootly/client/model/DashboardPanelResponse.java index 6338a0cb..7cf997e1 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DashboardPanelResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 528f3e65..e6cdbd66 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DashboardPanelResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 18385fa2..0b4cdeee 100644 --- a/src/main/java/com/rootly/client/model/DashboardResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DashboardResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5ed97994..b53687a5 100644 --- a/src/main/java/com/rootly/client/model/DashboardResponseData.java +++ b/src/main/java/com/rootly/client/model/DashboardResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DashboardResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/DeleteAlertRoute200Response.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java new file mode 100644 index 00000000..4202da4d --- /dev/null +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.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.DeleteAlertRoute200ResponseData; +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; + +/** + * DeleteAlertRoute200Response + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class DeleteAlertRoute200Response { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private DeleteAlertRoute200ResponseData data; + + public DeleteAlertRoute200Response() { + } + + public DeleteAlertRoute200Response data(@javax.annotation.Nullable DeleteAlertRoute200ResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public DeleteAlertRoute200ResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable DeleteAlertRoute200ResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteAlertRoute200Response deleteAlertRoute200Response = (DeleteAlertRoute200Response) o; + return Objects.equals(this.data, deleteAlertRoute200Response.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeleteAlertRoute200Response {\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 DeleteAlertRoute200Response + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DeleteAlertRoute200Response.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in DeleteAlertRoute200Response is not found in the empty JSON string", DeleteAlertRoute200Response.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DeleteAlertRoute200Response.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `DeleteAlertRoute200Response` 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()) { + DeleteAlertRoute200ResponseData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DeleteAlertRoute200Response.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DeleteAlertRoute200Response' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DeleteAlertRoute200Response.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DeleteAlertRoute200Response value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DeleteAlertRoute200Response read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DeleteAlertRoute200Response given an JSON string + * + * @param jsonString JSON string + * @return An instance of DeleteAlertRoute200Response + * @throws IOException if the JSON string is invalid with respect to DeleteAlertRoute200Response + */ + public static DeleteAlertRoute200Response fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DeleteAlertRoute200Response.class); + } + + /** + * Convert an instance of DeleteAlertRoute200Response 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/DeleteAlertRoute200ResponseData.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java new file mode 100644 index 00000000..52b9ec54 --- /dev/null +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseData.java @@ -0,0 +1,268 @@ +/* + * 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.DeleteAlertRoute200ResponseDataAttributes; +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; + +/** + * DeleteAlertRoute200ResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class DeleteAlertRoute200ResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @javax.annotation.Nullable + private String type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private DeleteAlertRoute200ResponseDataAttributes attributes; + + public DeleteAlertRoute200ResponseData() { + } + + public DeleteAlertRoute200ResponseData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public DeleteAlertRoute200ResponseData type(@javax.annotation.Nullable String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public String getType() { + return type; + } + + public void setType(@javax.annotation.Nullable String type) { + this.type = type; + } + + + public DeleteAlertRoute200ResponseData attributes(@javax.annotation.Nullable DeleteAlertRoute200ResponseDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public DeleteAlertRoute200ResponseDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable DeleteAlertRoute200ResponseDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteAlertRoute200ResponseData deleteAlertRoute200ResponseData = (DeleteAlertRoute200ResponseData) o; + return Objects.equals(this.id, deleteAlertRoute200ResponseData.id) && + Objects.equals(this.type, deleteAlertRoute200ResponseData.type) && + Objects.equals(this.attributes, deleteAlertRoute200ResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeleteAlertRoute200ResponseData {\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(); + } + + /** + * 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 DeleteAlertRoute200ResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DeleteAlertRoute200ResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in DeleteAlertRoute200ResponseData is not found in the empty JSON string", DeleteAlertRoute200ResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DeleteAlertRoute200ResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `DeleteAlertRoute200ResponseData` 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("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 `attributes` + if (jsonObj.get("attributes") != null && !jsonObj.get("attributes").isJsonNull()) { + DeleteAlertRoute200ResponseDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DeleteAlertRoute200ResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DeleteAlertRoute200ResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DeleteAlertRoute200ResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DeleteAlertRoute200ResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DeleteAlertRoute200ResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DeleteAlertRoute200ResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of DeleteAlertRoute200ResponseData + * @throws IOException if the JSON string is invalid with respect to DeleteAlertRoute200ResponseData + */ + public static DeleteAlertRoute200ResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DeleteAlertRoute200ResponseData.class); + } + + /** + * Convert an instance of DeleteAlertRoute200ResponseData 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/DeleteAlertRoute200ResponseDataAttributes.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java new file mode 100644 index 00000000..a2229f14 --- /dev/null +++ b/src/main/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributes.java @@ -0,0 +1,203 @@ +/* + * 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; + +/** + * DeleteAlertRoute200ResponseDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class DeleteAlertRoute200ResponseDataAttributes { + public static final String SERIALIZED_NAME_DELETED = "deleted"; + @SerializedName(SERIALIZED_NAME_DELETED) + @javax.annotation.Nullable + private Boolean deleted; + + public DeleteAlertRoute200ResponseDataAttributes() { + } + + public DeleteAlertRoute200ResponseDataAttributes deleted(@javax.annotation.Nullable Boolean deleted) { + this.deleted = deleted; + return this; + } + + /** + * Get deleted + * @return deleted + */ + @javax.annotation.Nullable + public Boolean getDeleted() { + return deleted; + } + + public void setDeleted(@javax.annotation.Nullable Boolean deleted) { + this.deleted = deleted; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeleteAlertRoute200ResponseDataAttributes deleteAlertRoute200ResponseDataAttributes = (DeleteAlertRoute200ResponseDataAttributes) o; + return Objects.equals(this.deleted, deleteAlertRoute200ResponseDataAttributes.deleted); + } + + @Override + public int hashCode() { + return Objects.hash(deleted); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeleteAlertRoute200ResponseDataAttributes {\n"); + sb.append(" deleted: ").append(toIndentedString(deleted)).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("deleted"); + + // 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 DeleteAlertRoute200ResponseDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!DeleteAlertRoute200ResponseDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in DeleteAlertRoute200ResponseDataAttributes is not found in the empty JSON string", DeleteAlertRoute200ResponseDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!DeleteAlertRoute200ResponseDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `DeleteAlertRoute200ResponseDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!DeleteAlertRoute200ResponseDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'DeleteAlertRoute200ResponseDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(DeleteAlertRoute200ResponseDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, DeleteAlertRoute200ResponseDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public DeleteAlertRoute200ResponseDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of DeleteAlertRoute200ResponseDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of DeleteAlertRoute200ResponseDataAttributes + * @throws IOException if the JSON string is invalid with respect to DeleteAlertRoute200ResponseDataAttributes + */ + public static DeleteAlertRoute200ResponseDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, DeleteAlertRoute200ResponseDataAttributes.class); + } + + /** + * Convert an instance of DeleteAlertRoute200ResponseDataAttributes 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/DuplicateIncident.java b/src/main/java/com/rootly/client/model/DuplicateIncident.java index c14285e1..f67c2a81 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncident.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DuplicateIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ffefee5d..f711a47d 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncidentData.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DuplicateIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 90b16a6c..03abdee5 100644 --- a/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/DuplicateIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * DuplicateIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..f7b13201 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnector.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.EdgeConnectorData; +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; + +/** + * EdgeConnector + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnector { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private EdgeConnectorData data; + + public EdgeConnector() { + } + + public EdgeConnector data(@javax.annotation.Nonnull EdgeConnectorData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public EdgeConnectorData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull EdgeConnectorData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EdgeConnector edgeConnector = (EdgeConnector) o; + return Objects.equals(this.data, edgeConnector.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EdgeConnector {\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 EdgeConnector + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnector.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnector is not found in the empty JSON string", EdgeConnector.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnector.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnector` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnector.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` + EdgeConnectorData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnector.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnector' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnector.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnector value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnector read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnector given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnector + * @throws IOException if the JSON string is invalid with respect to EdgeConnector + */ + public static EdgeConnector fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnector.class); + } + + /** + * Convert an instance of EdgeConnector 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/EdgeConnectorAction.java b/src/main/java/com/rootly/client/model/EdgeConnectorAction.java new file mode 100644 index 00000000..57a22728 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorAction.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.EdgeConnectorActionData; +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; + +/** + * EdgeConnectorAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorAction { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private EdgeConnectorActionData data; + + public EdgeConnectorAction() { + } + + public EdgeConnectorAction data(@javax.annotation.Nonnull EdgeConnectorActionData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public EdgeConnectorActionData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull EdgeConnectorActionData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EdgeConnectorAction edgeConnectorAction = (EdgeConnectorAction) o; + return Objects.equals(this.data, edgeConnectorAction.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EdgeConnectorAction {\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 EdgeConnectorAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorAction is not found in the empty JSON string", EdgeConnectorAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorAction` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnectorAction.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` + EdgeConnectorActionData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorAction + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorAction + */ + public static EdgeConnectorAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorAction.class); + } + + /** + * Convert an instance of EdgeConnectorAction 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/EdgeConnectorActionData.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionData.java new file mode 100644 index 00000000..233f140c --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionData.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.EdgeConnectorActionDataAttributes; +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; + +/** + * EdgeConnectorActionData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorActionData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + EDGE_CONNECTOR_ACTIONS("edge_connector_actions"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private UUID id; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private EdgeConnectorActionDataAttributes attributes; + + public EdgeConnectorActionData() { + } + + public EdgeConnectorActionData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public EdgeConnectorActionData id(@javax.annotation.Nonnull UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nonnull + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull UUID id) { + this.id = id; + } + + + public EdgeConnectorActionData attributes(@javax.annotation.Nonnull EdgeConnectorActionDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public EdgeConnectorActionDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull EdgeConnectorActionDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EdgeConnectorActionData edgeConnectorActionData = (EdgeConnectorActionData) o; + return Objects.equals(this.type, edgeConnectorActionData.type) && + Objects.equals(this.id, edgeConnectorActionData.id) && + Objects.equals(this.attributes, edgeConnectorActionData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, id, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EdgeConnectorActionData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).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("id"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("id"); + 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 EdgeConnectorActionData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorActionData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorActionData is not found in the empty JSON string", EdgeConnectorActionData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorActionData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorActionData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnectorActionData.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")); + 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())); + } + // validate the required field `attributes` + EdgeConnectorActionDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorActionData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorActionData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorActionData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorActionData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorActionData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorActionData given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorActionData + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorActionData + */ + public static EdgeConnectorActionData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorActionData.class); + } + + /** + * Convert an instance of EdgeConnectorActionData 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/EdgeConnectorActionDataAttributes.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java new file mode 100644 index 00000000..af036a9e --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributes.java @@ -0,0 +1,638 @@ +/* + * 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.EdgeConnectorActionDataAttributesParametersInner; +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 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; + +/** + * EdgeConnectorActionDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorActionDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + /** + * Action type + */ + @JsonAdapter(ActionTypeEnum.Adapter.class) + public enum ActionTypeEnum { + SCRIPT("script"), + + HTTP("http"); + + private String value; + + ActionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionTypeEnum fromValue(String value) { + for (ActionTypeEnum b : ActionTypeEnum.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 ActionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ActionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ACTION_TYPE = "action_type"; + @SerializedName(SERIALIZED_NAME_ACTION_TYPE) + @javax.annotation.Nonnull + private ActionTypeEnum actionType; + + /** + * Action icon + */ + @JsonAdapter(IconEnum.Adapter.class) + public enum IconEnum { + BOLT("bolt"), + + BOLT_SLASH("bolt-slash"), + + COG("cog"), + + COMMAND_LINE("command-line"), + + CODE_BRACKET("code-bracket"), + + SERVER("server"), + + SERVER_STACK("server-stack"), + + PLAY("play"), + + ARROW_PATH("arrow-path"), + + WRENCH_SCREWDRIVER("wrench-screwdriver"), + + CUBE("cube"), + + ROCKET_LAUNCH("rocket-launch"); + + private String value; + + IconEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IconEnum fromValue(String value) { + for (IconEnum b : IconEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IconEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IconEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IconEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IconEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ICON = "icon"; + @SerializedName(SERIALIZED_NAME_ICON) + @javax.annotation.Nullable + private IconEnum icon; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_TIMEOUT = "timeout"; + @SerializedName(SERIALIZED_NAME_TIMEOUT) + @javax.annotation.Nullable + private Integer timeout; + + public static final String SERIALIZED_NAME_PARAMETERS = "parameters"; + @SerializedName(SERIALIZED_NAME_PARAMETERS) + @javax.annotation.Nullable + private List parameters; + + public static final String SERIALIZED_NAME_LAST_EXECUTED_AT = "last_executed_at"; + @SerializedName(SERIALIZED_NAME_LAST_EXECUTED_AT) + @javax.annotation.Nullable + private OffsetDateTime lastExecutedAt; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private OffsetDateTime updatedAt; + + public EdgeConnectorActionDataAttributes() { + } + + public EdgeConnectorActionDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Action name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public EdgeConnectorActionDataAttributes slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * Action slug + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public EdgeConnectorActionDataAttributes actionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + return this; + } + + /** + * Action type + * @return actionType + */ + @javax.annotation.Nonnull + public ActionTypeEnum getActionType() { + return actionType; + } + + public void setActionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + } + + + public EdgeConnectorActionDataAttributes icon(@javax.annotation.Nullable IconEnum icon) { + this.icon = icon; + return this; + } + + /** + * Action icon + * @return icon + */ + @javax.annotation.Nullable + public IconEnum getIcon() { + return icon; + } + + public void setIcon(@javax.annotation.Nullable IconEnum icon) { + this.icon = icon; + } + + + public EdgeConnectorActionDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Action description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public EdgeConnectorActionDataAttributes timeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + return this; + } + + /** + * Timeout in seconds + * @return timeout + */ + @javax.annotation.Nullable + public Integer getTimeout() { + return timeout; + } + + public void setTimeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + } + + + public EdgeConnectorActionDataAttributes parameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + return this; + } + + public EdgeConnectorActionDataAttributes addParametersItem(EdgeConnectorActionDataAttributesParametersInner parametersItem) { + if (this.parameters == null) { + this.parameters = new ArrayList<>(); + } + this.parameters.add(parametersItem); + return this; + } + + /** + * Parameter definitions + * @return parameters + */ + @javax.annotation.Nullable + public List getParameters() { + return parameters; + } + + public void setParameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + } + + + public EdgeConnectorActionDataAttributes lastExecutedAt(@javax.annotation.Nullable OffsetDateTime lastExecutedAt) { + this.lastExecutedAt = lastExecutedAt; + return this; + } + + /** + * Get lastExecutedAt + * @return lastExecutedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getLastExecutedAt() { + return lastExecutedAt; + } + + public void setLastExecutedAt(@javax.annotation.Nullable OffsetDateTime lastExecutedAt) { + this.lastExecutedAt = lastExecutedAt; + } + + + public EdgeConnectorActionDataAttributes createdAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public EdgeConnectorActionDataAttributes updatedAt(@javax.annotation.Nullable OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + EdgeConnectorActionDataAttributes edgeConnectorActionDataAttributes = (EdgeConnectorActionDataAttributes) o; + return Objects.equals(this.name, edgeConnectorActionDataAttributes.name) && + Objects.equals(this.slug, edgeConnectorActionDataAttributes.slug) && + Objects.equals(this.actionType, edgeConnectorActionDataAttributes.actionType) && + Objects.equals(this.icon, edgeConnectorActionDataAttributes.icon) && + Objects.equals(this.description, edgeConnectorActionDataAttributes.description) && + Objects.equals(this.timeout, edgeConnectorActionDataAttributes.timeout) && + Objects.equals(this.parameters, edgeConnectorActionDataAttributes.parameters) && + Objects.equals(this.lastExecutedAt, edgeConnectorActionDataAttributes.lastExecutedAt) && + Objects.equals(this.createdAt, edgeConnectorActionDataAttributes.createdAt) && + Objects.equals(this.updatedAt, edgeConnectorActionDataAttributes.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(name, slug, actionType, icon, description, timeout, parameters, lastExecutedAt, 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 EdgeConnectorActionDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" icon: ").append(toIndentedString(icon)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" timeout: ").append(toIndentedString(timeout)).append("\n"); + sb.append(" parameters: ").append(toIndentedString(parameters)).append("\n"); + sb.append(" lastExecutedAt: ").append(toIndentedString(lastExecutedAt)).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("slug"); + openapiFields.add("action_type"); + openapiFields.add("icon"); + openapiFields.add("description"); + openapiFields.add("timeout"); + openapiFields.add("parameters"); + openapiFields.add("last_executed_at"); + 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("action_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 EdgeConnectorActionDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorActionDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorActionDataAttributes is not found in the empty JSON string", EdgeConnectorActionDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorActionDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorActionDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnectorActionDataAttributes.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("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("action_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action_type").toString())); + } + // validate the required field `action_type` + ActionTypeEnum.validateJsonElement(jsonObj.get("action_type")); + if ((jsonObj.get("icon") != null && !jsonObj.get("icon").isJsonNull()) && !jsonObj.get("icon").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `icon` to be a primitive type in the JSON string but got `%s`", jsonObj.get("icon").toString())); + } + // validate the optional field `icon` + if (jsonObj.get("icon") != null && !jsonObj.get("icon").isJsonNull()) { + IconEnum.validateJsonElement(jsonObj.get("icon")); + } + 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("parameters") != null && !jsonObj.get("parameters").isJsonNull()) { + JsonArray jsonArrayparameters = jsonObj.getAsJsonArray("parameters"); + if (jsonArrayparameters != null) { + // ensure the json data is an array + if (!jsonObj.get("parameters").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `parameters` to be an array in the JSON string but got `%s`", jsonObj.get("parameters").toString())); + } + + // validate the optional field `parameters` (array) + for (int i = 0; i < jsonArrayparameters.size(); i++) { + EdgeConnectorActionDataAttributesParametersInner.validateJsonElement(jsonArrayparameters.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorActionDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorActionDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorActionDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorActionDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorActionDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorActionDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorActionDataAttributes + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorActionDataAttributes + */ + public static EdgeConnectorActionDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorActionDataAttributes.class); + } + + /** + * Convert an instance of EdgeConnectorActionDataAttributes 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/EdgeConnectorActionDataAttributesParametersInner.java b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.java new file mode 100644 index 00000000..af86c53b --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInner.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 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; + +/** + * EdgeConnectorActionDataAttributesParametersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorActionDataAttributesParametersInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STRING("string"), + + NUMBER("number"), + + BOOLEAN("boolean"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_DEFAULT = "default"; + @SerializedName(SERIALIZED_NAME_DEFAULT) + @javax.annotation.Nullable + private String _default; + + public static final String SERIALIZED_NAME_OPTIONS = "options"; + @SerializedName(SERIALIZED_NAME_OPTIONS) + @javax.annotation.Nullable + private List options; + + public EdgeConnectorActionDataAttributesParametersInner() { + } + + public EdgeConnectorActionDataAttributesParametersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public EdgeConnectorActionDataAttributesParametersInner type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public EdgeConnectorActionDataAttributesParametersInner required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Get required + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public EdgeConnectorActionDataAttributesParametersInner description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public EdgeConnectorActionDataAttributesParametersInner _default(@javax.annotation.Nullable String _default) { + this._default = _default; + return this; + } + + /** + * Default value (any type) + * @return _default + */ + @javax.annotation.Nullable + public String getDefault() { + return _default; + } + + public void setDefault(@javax.annotation.Nullable String _default) { + this._default = _default; + } + + + public EdgeConnectorActionDataAttributesParametersInner options(@javax.annotation.Nullable List options) { + this.options = options; + return this; + } + + public EdgeConnectorActionDataAttributesParametersInner addOptionsItem(String optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Get options + * @return options + */ + @javax.annotation.Nullable + public List getOptions() { + return options; + } + + public void setOptions(@javax.annotation.Nullable List options) { + this.options = options; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EdgeConnectorActionDataAttributesParametersInner edgeConnectorActionDataAttributesParametersInner = (EdgeConnectorActionDataAttributesParametersInner) o; + return Objects.equals(this.name, edgeConnectorActionDataAttributesParametersInner.name) && + Objects.equals(this.type, edgeConnectorActionDataAttributesParametersInner.type) && + Objects.equals(this.required, edgeConnectorActionDataAttributesParametersInner.required) && + Objects.equals(this.description, edgeConnectorActionDataAttributesParametersInner.description) && + Objects.equals(this._default, edgeConnectorActionDataAttributesParametersInner._default) && + Objects.equals(this.options, edgeConnectorActionDataAttributesParametersInner.options); + } + + 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, type, required, description, _default, options); + } + + 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 EdgeConnectorActionDataAttributesParametersInner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); + sb.append(" options: ").append(toIndentedString(options)).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("type"); + openapiFields.add("required"); + openapiFields.add("description"); + openapiFields.add("default"); + openapiFields.add("options"); + + // 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 EdgeConnectorActionDataAttributesParametersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorActionDataAttributesParametersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorActionDataAttributesParametersInner is not found in the empty JSON string", EdgeConnectorActionDataAttributesParametersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorActionDataAttributesParametersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorActionDataAttributesParametersInner` 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("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")); + } + 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("default") != null && !jsonObj.get("default").isJsonNull()) && !jsonObj.get("default").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `default` to be a primitive type in the JSON string but got `%s`", jsonObj.get("default").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("options") != null && !jsonObj.get("options").isJsonNull() && !jsonObj.get("options").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `options` to be an array in the JSON string but got `%s`", jsonObj.get("options").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorActionDataAttributesParametersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorActionDataAttributesParametersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorActionDataAttributesParametersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorActionDataAttributesParametersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorActionDataAttributesParametersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorActionDataAttributesParametersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorActionDataAttributesParametersInner + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorActionDataAttributesParametersInner + */ + public static EdgeConnectorActionDataAttributesParametersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorActionDataAttributesParametersInner.class); + } + + /** + * Convert an instance of EdgeConnectorActionDataAttributesParametersInner 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/EdgeConnectorData.java b/src/main/java/com/rootly/client/model/EdgeConnectorData.java new file mode 100644 index 00000000..a2b7d778 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorData.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.EdgeConnectorDataAttributes; +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; + +/** + * EdgeConnectorData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + EDGE_CONNECTORS("edge_connectors"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private UUID id; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private EdgeConnectorDataAttributes attributes; + + public EdgeConnectorData() { + } + + public EdgeConnectorData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public EdgeConnectorData id(@javax.annotation.Nonnull UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nonnull + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull UUID id) { + this.id = id; + } + + + public EdgeConnectorData attributes(@javax.annotation.Nonnull EdgeConnectorDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public EdgeConnectorDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull EdgeConnectorDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EdgeConnectorData edgeConnectorData = (EdgeConnectorData) o; + return Objects.equals(this.type, edgeConnectorData.type) && + Objects.equals(this.id, edgeConnectorData.id) && + Objects.equals(this.attributes, edgeConnectorData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, id, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EdgeConnectorData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).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("id"); + openapiFields.add("attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("type"); + openapiRequiredFields.add("id"); + 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 EdgeConnectorData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorData is not found in the empty JSON string", EdgeConnectorData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnectorData.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")); + 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())); + } + // validate the required field `attributes` + EdgeConnectorDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorData given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorData + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorData + */ + public static EdgeConnectorData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorData.class); + } + + /** + * Convert an instance of EdgeConnectorData 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/EdgeConnectorDataAttributes.java b/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java new file mode 100644 index 00000000..a50ad434 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java @@ -0,0 +1,626 @@ +/* + * 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.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; + +/** + * EdgeConnectorDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EdgeConnectorDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * Connector status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + PAUSED("paused"); + + 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) + @javax.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_SUBSCRIPTIONS = "subscriptions"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTIONS) + @javax.annotation.Nullable + private List subscriptions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LAST_POLL_AT = "last_poll_at"; + @SerializedName(SERIALIZED_NAME_LAST_POLL_AT) + @javax.annotation.Nullable + private OffsetDateTime lastPollAt; + + public static final String SERIALIZED_NAME_ONLINE = "online"; + @SerializedName(SERIALIZED_NAME_ONLINE) + @javax.annotation.Nullable + private Boolean online; + + public static final String SERIALIZED_NAME_DELIVERIES_COUNT = "deliveries_count"; + @SerializedName(SERIALIZED_NAME_DELIVERIES_COUNT) + @javax.annotation.Nullable + private Integer deliveriesCount; + + public static final String SERIALIZED_NAME_DELIVERIES_QUEUED_COUNT = "deliveries_queued_count"; + @SerializedName(SERIALIZED_NAME_DELIVERIES_QUEUED_COUNT) + @javax.annotation.Nullable + private Integer deliveriesQueuedCount; + + public static final String SERIALIZED_NAME_DELIVERIES_RUNNING_COUNT = "deliveries_running_count"; + @SerializedName(SERIALIZED_NAME_DELIVERIES_RUNNING_COUNT) + @javax.annotation.Nullable + private Integer deliveriesRunningCount; + + public static final String SERIALIZED_NAME_DELIVERIES_COMPLETED_COUNT = "deliveries_completed_count"; + @SerializedName(SERIALIZED_NAME_DELIVERIES_COMPLETED_COUNT) + @javax.annotation.Nullable + private Integer deliveriesCompletedCount; + + public static final String SERIALIZED_NAME_DELIVERIES_FAILED_COUNT = "deliveries_failed_count"; + @SerializedName(SERIALIZED_NAME_DELIVERIES_FAILED_COUNT) + @javax.annotation.Nullable + private Integer deliveriesFailedCount; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private OffsetDateTime updatedAt; + + public EdgeConnectorDataAttributes() { + } + + public EdgeConnectorDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Connector name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public EdgeConnectorDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Connector description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public EdgeConnectorDataAttributes status(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * Connector status + * @return status + */ + @javax.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public EdgeConnectorDataAttributes subscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + return this; + } + + public EdgeConnectorDataAttributes addSubscriptionsItem(String subscriptionsItem) { + if (this.subscriptions == null) { + this.subscriptions = new ArrayList<>(); + } + this.subscriptions.add(subscriptionsItem); + return this; + } + + /** + * Array of event types to subscribe to + * @return subscriptions + */ + @javax.annotation.Nullable + public List getSubscriptions() { + return subscriptions; + } + + public void setSubscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + } + + + public EdgeConnectorDataAttributes lastPollAt(@javax.annotation.Nullable OffsetDateTime lastPollAt) { + this.lastPollAt = lastPollAt; + return this; + } + + /** + * Last time connector polled + * @return lastPollAt + */ + @javax.annotation.Nullable + public OffsetDateTime getLastPollAt() { + return lastPollAt; + } + + public void setLastPollAt(@javax.annotation.Nullable OffsetDateTime lastPollAt) { + this.lastPollAt = lastPollAt; + } + + + public EdgeConnectorDataAttributes online(@javax.annotation.Nullable Boolean online) { + this.online = online; + return this; + } + + /** + * Whether connector is currently online + * @return online + */ + @javax.annotation.Nullable + public Boolean getOnline() { + return online; + } + + public void setOnline(@javax.annotation.Nullable Boolean online) { + this.online = online; + } + + + public EdgeConnectorDataAttributes deliveriesCount(@javax.annotation.Nullable Integer deliveriesCount) { + this.deliveriesCount = deliveriesCount; + return this; + } + + /** + * Total number of deliveries + * @return deliveriesCount + */ + @javax.annotation.Nullable + public Integer getDeliveriesCount() { + return deliveriesCount; + } + + public void setDeliveriesCount(@javax.annotation.Nullable Integer deliveriesCount) { + this.deliveriesCount = deliveriesCount; + } + + + public EdgeConnectorDataAttributes deliveriesQueuedCount(@javax.annotation.Nullable Integer deliveriesQueuedCount) { + this.deliveriesQueuedCount = deliveriesQueuedCount; + return this; + } + + /** + * Number of queued deliveries + * @return deliveriesQueuedCount + */ + @javax.annotation.Nullable + public Integer getDeliveriesQueuedCount() { + return deliveriesQueuedCount; + } + + public void setDeliveriesQueuedCount(@javax.annotation.Nullable Integer deliveriesQueuedCount) { + this.deliveriesQueuedCount = deliveriesQueuedCount; + } + + + public EdgeConnectorDataAttributes deliveriesRunningCount(@javax.annotation.Nullable Integer deliveriesRunningCount) { + this.deliveriesRunningCount = deliveriesRunningCount; + return this; + } + + /** + * Number of running deliveries + * @return deliveriesRunningCount + */ + @javax.annotation.Nullable + public Integer getDeliveriesRunningCount() { + return deliveriesRunningCount; + } + + public void setDeliveriesRunningCount(@javax.annotation.Nullable Integer deliveriesRunningCount) { + this.deliveriesRunningCount = deliveriesRunningCount; + } + + + public EdgeConnectorDataAttributes deliveriesCompletedCount(@javax.annotation.Nullable Integer deliveriesCompletedCount) { + this.deliveriesCompletedCount = deliveriesCompletedCount; + return this; + } + + /** + * Number of completed deliveries + * @return deliveriesCompletedCount + */ + @javax.annotation.Nullable + public Integer getDeliveriesCompletedCount() { + return deliveriesCompletedCount; + } + + public void setDeliveriesCompletedCount(@javax.annotation.Nullable Integer deliveriesCompletedCount) { + this.deliveriesCompletedCount = deliveriesCompletedCount; + } + + + public EdgeConnectorDataAttributes deliveriesFailedCount(@javax.annotation.Nullable Integer deliveriesFailedCount) { + this.deliveriesFailedCount = deliveriesFailedCount; + return this; + } + + /** + * Number of failed deliveries + * @return deliveriesFailedCount + */ + @javax.annotation.Nullable + public Integer getDeliveriesFailedCount() { + return deliveriesFailedCount; + } + + public void setDeliveriesFailedCount(@javax.annotation.Nullable Integer deliveriesFailedCount) { + this.deliveriesFailedCount = deliveriesFailedCount; + } + + + public EdgeConnectorDataAttributes createdAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nullable + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public EdgeConnectorDataAttributes updatedAt(@javax.annotation.Nullable OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + EdgeConnectorDataAttributes edgeConnectorDataAttributes = (EdgeConnectorDataAttributes) o; + return Objects.equals(this.name, edgeConnectorDataAttributes.name) && + Objects.equals(this.description, edgeConnectorDataAttributes.description) && + Objects.equals(this.status, edgeConnectorDataAttributes.status) && + Objects.equals(this.subscriptions, edgeConnectorDataAttributes.subscriptions) && + Objects.equals(this.lastPollAt, edgeConnectorDataAttributes.lastPollAt) && + Objects.equals(this.online, edgeConnectorDataAttributes.online) && + Objects.equals(this.deliveriesCount, edgeConnectorDataAttributes.deliveriesCount) && + Objects.equals(this.deliveriesQueuedCount, edgeConnectorDataAttributes.deliveriesQueuedCount) && + Objects.equals(this.deliveriesRunningCount, edgeConnectorDataAttributes.deliveriesRunningCount) && + Objects.equals(this.deliveriesCompletedCount, edgeConnectorDataAttributes.deliveriesCompletedCount) && + Objects.equals(this.deliveriesFailedCount, edgeConnectorDataAttributes.deliveriesFailedCount) && + Objects.equals(this.createdAt, edgeConnectorDataAttributes.createdAt) && + Objects.equals(this.updatedAt, edgeConnectorDataAttributes.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(name, description, status, subscriptions, lastPollAt, online, deliveriesCount, deliveriesQueuedCount, deliveriesRunningCount, deliveriesCompletedCount, deliveriesFailedCount, 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 EdgeConnectorDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + 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(" lastPollAt: ").append(toIndentedString(lastPollAt)).append("\n"); + sb.append(" online: ").append(toIndentedString(online)).append("\n"); + sb.append(" deliveriesCount: ").append(toIndentedString(deliveriesCount)).append("\n"); + sb.append(" deliveriesQueuedCount: ").append(toIndentedString(deliveriesQueuedCount)).append("\n"); + sb.append(" deliveriesRunningCount: ").append(toIndentedString(deliveriesRunningCount)).append("\n"); + sb.append(" deliveriesCompletedCount: ").append(toIndentedString(deliveriesCompletedCount)).append("\n"); + sb.append(" deliveriesFailedCount: ").append(toIndentedString(deliveriesFailedCount)).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("status"); + openapiFields.add("subscriptions"); + openapiFields.add("last_poll_at"); + openapiFields.add("online"); + openapiFields.add("deliveries_count"); + openapiFields.add("deliveries_queued_count"); + openapiFields.add("deliveries_running_count"); + openapiFields.add("deliveries_completed_count"); + openapiFields.add("deliveries_failed_count"); + 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("status"); + } + + /** + * 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 EdgeConnectorDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EdgeConnectorDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EdgeConnectorDataAttributes is not found in the empty JSON string", EdgeConnectorDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EdgeConnectorDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EdgeConnectorDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : EdgeConnectorDataAttributes.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")); + // ensure the optional json data is an array if present + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EdgeConnectorDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EdgeConnectorDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EdgeConnectorDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EdgeConnectorDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EdgeConnectorDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EdgeConnectorDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of EdgeConnectorDataAttributes + * @throws IOException if the JSON string is invalid with respect to EdgeConnectorDataAttributes + */ + public static EdgeConnectorDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EdgeConnectorDataAttributes.class); + } + + /** + * Convert an instance of EdgeConnectorDataAttributes 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/Environment.java b/src/main/java/com/rootly/client/model/Environment.java index 7a0a4be6..9488ac27 100644 --- a/src/main/java/com/rootly/client/model/Environment.java +++ b/src/main/java/com/rootly/client/model/Environment.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * Environment */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Environment { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -95,6 +96,11 @@ public class Environment { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -284,6 +290,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public Environment addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this environment. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public Environment createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -340,6 +373,7 @@ public boolean equals(Object o) { Objects.equals(this.position, environment.position) && Objects.equals(this.slackChannels, environment.slackChannels) && Objects.equals(this.slackAliases, environment.slackAliases) && + Objects.equals(this.properties, environment.properties) && Objects.equals(this.createdAt, environment.createdAt) && Objects.equals(this.updatedAt, environment.updatedAt); } @@ -350,7 +384,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, notifyEmails, color, position, slackChannels, slackAliases, createdAt, updatedAt); + return Objects.hash(name, slug, description, notifyEmails, color, position, slackChannels, slackAliases, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -372,6 +406,7 @@ public String toString() { sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).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("}"); @@ -404,6 +439,7 @@ private String toIndentedString(Object o) { openapiFields.add("position"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -486,6 +522,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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())); } diff --git a/src/main/java/com/rootly/client/model/EnvironmentList.java b/src/main/java/com/rootly/client/model/EnvironmentList.java index 8a4b91bb..0331ffaf 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentList.java +++ b/src/main/java/com/rootly/client/model/EnvironmentList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EnvironmentResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * EnvironmentList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EnvironmentList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class EnvironmentList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public EnvironmentList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public EnvironmentList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } EnvironmentList environmentList = (EnvironmentList) o; return Objects.equals(this.data, environmentList.data) && - Objects.equals(this.links, environmentList.links); + Objects.equals(this.links, environmentList.links) && + Objects.equals(this.meta, environmentList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class EnvironmentList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/EnvironmentResponse.java b/src/main/java/com/rootly/client/model/EnvironmentResponse.java index a7ea4abf..80e626a1 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentResponse.java +++ b/src/main/java/com/rootly/client/model/EnvironmentResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EnvironmentResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 404a42ac..44b6826a 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentResponseData.java +++ b/src/main/java/com/rootly/client/model/EnvironmentResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EnvironmentResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ErrorsList.java b/src/main/java/com/rootly/client/model/ErrorsList.java index 167a6a63..bda6529e 100644 --- a/src/main/java/com/rootly/client/model/ErrorsList.java +++ b/src/main/java/com/rootly/client/model/ErrorsList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * ErrorsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 119bc908..2289c290 100644 --- a/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java +++ b/src/main/java/com/rootly/client/model/ErrorsListErrorsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ErrorsListErrorsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..a4f63748 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalateAlert.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.EscalateAlertData; +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; + +/** + * EscalateAlert + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EscalateAlert { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private EscalateAlertData data; + + public EscalateAlert() { + } + + public EscalateAlert data(@javax.annotation.Nullable EscalateAlertData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public EscalateAlertData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable EscalateAlertData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalateAlert escalateAlert = (EscalateAlert) o; + return Objects.equals(this.data, escalateAlert.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalateAlert {\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 EscalateAlert + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalateAlert.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalateAlert is not found in the empty JSON string", EscalateAlert.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalateAlert.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalateAlert` 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()) { + EscalateAlertData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalateAlert.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalateAlert' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalateAlert.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalateAlert value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalateAlert read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalateAlert given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalateAlert + * @throws IOException if the JSON string is invalid with respect to EscalateAlert + */ + public static EscalateAlert fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalateAlert.class); + } + + /** + * Convert an instance of EscalateAlert 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/EscalateAlertData.java b/src/main/java/com/rootly/client/model/EscalateAlertData.java new file mode 100644 index 00000000..133a7dd6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalateAlertData.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.EscalateAlertDataAttributes; +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; + +/** + * EscalateAlertData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class EscalateAlertData { + /** + * 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private EscalateAlertDataAttributes attributes; + + public EscalateAlertData() { + } + + public EscalateAlertData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public EscalateAlertData attributes(@javax.annotation.Nullable EscalateAlertDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public EscalateAlertDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable EscalateAlertDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalateAlertData escalateAlertData = (EscalateAlertData) o; + return Objects.equals(this.type, escalateAlertData.type) && + Objects.equals(this.attributes, escalateAlertData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalateAlertData {\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 EscalateAlertData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalateAlertData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalateAlertData is not found in the empty JSON string", EscalateAlertData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalateAlertData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalateAlertData` 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()) { + EscalateAlertDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalateAlertData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalateAlertData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalateAlertData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalateAlertData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalateAlertData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalateAlertData given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalateAlertData + * @throws IOException if the JSON string is invalid with respect to EscalateAlertData + */ + public static EscalateAlertData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalateAlertData.class); + } + + /** + * Convert an instance of EscalateAlertData 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/EscalateAlertDataAttributes.java b/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java new file mode 100644 index 00000000..6a7b7930 --- /dev/null +++ b/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java @@ -0,0 +1,234 @@ +/* + * 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; + +/** + * EscalateAlertDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String escalationPolicyId; + + public static final String SERIALIZED_NAME_ESCALATION_POLICY_LEVEL = "escalation_policy_level"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_LEVEL) + @javax.annotation.Nullable + private Integer escalationPolicyLevel; + + public EscalateAlertDataAttributes() { + } + + public EscalateAlertDataAttributes escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * 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. + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + } + + + public EscalateAlertDataAttributes escalationPolicyLevel(@javax.annotation.Nullable Integer escalationPolicyLevel) { + this.escalationPolicyLevel = escalationPolicyLevel; + return this; + } + + /** + * The escalation policy level to escalate to. If omitted, defaults to the next level (same EP) or level 1 (different EP). + * minimum: 1 + * @return escalationPolicyLevel + */ + @javax.annotation.Nullable + public Integer getEscalationPolicyLevel() { + return escalationPolicyLevel; + } + + public void setEscalationPolicyLevel(@javax.annotation.Nullable Integer escalationPolicyLevel) { + this.escalationPolicyLevel = escalationPolicyLevel; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalateAlertDataAttributes escalateAlertDataAttributes = (EscalateAlertDataAttributes) o; + return Objects.equals(this.escalationPolicyId, escalateAlertDataAttributes.escalationPolicyId) && + Objects.equals(this.escalationPolicyLevel, escalateAlertDataAttributes.escalationPolicyLevel); + } + + @Override + public int hashCode() { + return Objects.hash(escalationPolicyId, escalationPolicyLevel); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalateAlertDataAttributes {\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); + sb.append(" escalationPolicyLevel: ").append(toIndentedString(escalationPolicyLevel)).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("escalation_policy_id"); + openapiFields.add("escalation_policy_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 EscalateAlertDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!EscalateAlertDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in EscalateAlertDataAttributes is not found in the empty JSON string", EscalateAlertDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!EscalateAlertDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `EscalateAlertDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!EscalateAlertDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'EscalateAlertDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(EscalateAlertDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, EscalateAlertDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public EscalateAlertDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of EscalateAlertDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of EscalateAlertDataAttributes + * @throws IOException if the JSON string is invalid with respect to EscalateAlertDataAttributes + */ + public static EscalateAlertDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, EscalateAlertDataAttributes.class); + } + + /** + * Convert an instance of EscalateAlertDataAttributes 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/EscalationPolicy.java b/src/main/java/com/rootly/client/model/EscalationPolicy.java index de5bdfdd..61274444 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicy.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * EscalationPolicy */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicy { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java index a029a6f1..287f41a5 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * EscalationPolicyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -123,7 +123,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY = "paging_strategy_configuration_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy; + private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy = PagingStrategyConfigurationStrategyEnum.DEFAULT; /** * Gets or Sets pagingStrategyConfigurationScheduleStrategy @@ -180,7 +180,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY = "paging_strategy_configuration_schedule_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy; + private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy = PagingStrategyConfigurationScheduleStrategyEnum.ON_CALL_ONLY; public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) @@ -292,7 +292,7 @@ public EscalationPolicyLevel delay(@javax.annotation.Nonnull Integer delay) { } /** - * Delay before notification targets will be alerted. + * Delay before notifying targets in the next Escalation Level. * @return delay */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java index 83e392a2..a65beec7 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyLevelListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * EscalationPolicyLevelList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyLevelList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class EscalationPolicyLevelList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public EscalationPolicyLevelList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public EscalationPolicyLevelList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } EscalationPolicyLevelList escalationPolicyLevelList = (EscalationPolicyLevelList) o; return Objects.equals(this.data, escalationPolicyLevelList.data) && - Objects.equals(this.links, escalationPolicyLevelList.links); + Objects.equals(this.links, escalationPolicyLevelList.links) && + Objects.equals(this.meta, escalationPolicyLevelList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class EscalationPolicyLevelList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java index af9d3918..cd9fed7d 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/EscalationPolicyLevelResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java index d4357da8..49225db3 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d7aef2aa..5e4711c5 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1b5057eb..888de9d6 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * EscalationPolicyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class EscalationPolicyList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public EscalationPolicyList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public EscalationPolicyList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } EscalationPolicyList escalationPolicyList = (EscalationPolicyList) o; return Objects.equals(this.data, escalationPolicyList.data) && - Objects.equals(this.links, escalationPolicyList.links); + Objects.equals(this.links, escalationPolicyList.links) && + Objects.equals(this.meta, escalationPolicyList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class EscalationPolicyList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPath.java b/src/main/java/com/rootly/client/model/EscalationPolicyPath.java index ed318e2c..25703003 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPath.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,11 +19,13 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.EscalationPolicyPathRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; 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; @@ -51,7 +53,7 @@ /** * EscalationPolicyPath */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPath { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -68,11 +70,130 @@ public class EscalationPolicyPath { @javax.annotation.Nonnull private String notificationType; + /** + * The type of escalation path + */ + @JsonAdapter(PathTypeEnum.Adapter.class) + public enum PathTypeEnum { + ESCALATION("escalation"), + + DEFERRAL("deferral"); + + private String value; + + PathTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PathTypeEnum fromValue(String value) { + for (PathTypeEnum b : PathTypeEnum.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 PathTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PathTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PathTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PathTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PATH_TYPE = "path_type"; + @SerializedName(SERIALIZED_NAME_PATH_TYPE) + @javax.annotation.Nullable + private PathTypeEnum pathType; + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) @javax.annotation.Nonnull private String escalationPolicyId; + /** + * What happens after a deferral path finishes + */ + @JsonAdapter(AfterDeferralBehaviorEnum.Adapter.class) + public enum AfterDeferralBehaviorEnum { + RE_EVALUATE("re_evaluate"), + + EXECUTE_PATH("execute_path"); + + private String value; + + AfterDeferralBehaviorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AfterDeferralBehaviorEnum fromValue(String value) { + for (AfterDeferralBehaviorEnum b : AfterDeferralBehaviorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AfterDeferralBehaviorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AfterDeferralBehaviorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR = "after_deferral_behavior"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR) + @javax.annotation.Nullable + private AfterDeferralBehaviorEnum afterDeferralBehavior; + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID = "after_deferral_path_id"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID) + @javax.annotation.Nullable + private String afterDeferralPathId; + /** * How path rules are matched. */ @@ -163,7 +284,673 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_RULES = "rules"; @SerializedName(SERIALIZED_NAME_RULES) @javax.annotation.Nullable - private List rules = new ArrayList<>(); + private List rules = new ArrayList<>(); + + /** + * Time zone used for time restrictions. + */ + @JsonAdapter(TimeRestrictionTimeZoneEnum.Adapter.class) + public enum TimeRestrictionTimeZoneEnum { + 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"), + + AMERICA_MEXICO_CITY2("America/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"), + + AMERICA_LIMA2("America/Lima"), + + 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"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + EUROPE_LONDON2("Europe/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"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + 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"), + + EUROPE_ZURICH2("Europe/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_KIEV("Europe/Kiev"), + + 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"), + + EUROPE_MOSCOW2("Europe/Moscow"), + + 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"), + + ASIA_MUSCAT2("Asia/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"), + + ASIA_ALMATY2("Asia/Almaty"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + ASIA_KARACHI2("Asia/Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + ASIA_KOLKATA2("Asia/Kolkata"), + + MUMBAI("Mumbai"), + + ASIA_KOLKATA3("Asia/Kolkata"), + + NEW_DELHI("New Delhi"), + + ASIA_KOLKATA4("Asia/Kolkata"), + + 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_RANGOON("Asia/Rangoon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + ASIA_BANGKOK2("Asia/Bangkok"), + + 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"), + + ASIA_TOKYO2("Asia/Tokyo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + ASIA_TOKYO3("Asia/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"), + + PACIFIC_AUCKLAND2("Pacific/Auckland"), + + 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"); + + private String value; + + TimeRestrictionTimeZoneEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeRestrictionTimeZoneEnum fromValue(String value) { + for (TimeRestrictionTimeZoneEnum b : TimeRestrictionTimeZoneEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeRestrictionTimeZoneEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeRestrictionTimeZoneEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE = "time_restriction_time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE) + @javax.annotation.Nullable + private TimeRestrictionTimeZoneEnum timeRestrictionTimeZone; + + public static final String SERIALIZED_NAME_TIME_RESTRICTIONS = "time_restrictions"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTIONS) + @javax.annotation.Nullable + private List timeRestrictions = new ArrayList<>(); public EscalationPolicyPath() { } @@ -225,6 +1012,25 @@ public void setNotificationType(@javax.annotation.Nonnull String notificationTyp } + public EscalationPolicyPath pathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + return this; + } + + /** + * The type of escalation path + * @return pathType + */ + @javax.annotation.Nullable + public PathTypeEnum getPathType() { + return pathType; + } + + public void setPathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + } + + public EscalationPolicyPath escalationPolicyId(@javax.annotation.Nonnull String escalationPolicyId) { this.escalationPolicyId = escalationPolicyId; return this; @@ -244,6 +1050,44 @@ public void setEscalationPolicyId(@javax.annotation.Nonnull String escalationPol } + public EscalationPolicyPath afterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + return this; + } + + /** + * What happens after a deferral path finishes + * @return afterDeferralBehavior + */ + @javax.annotation.Nullable + public AfterDeferralBehaviorEnum getAfterDeferralBehavior() { + return afterDeferralBehavior; + } + + public void setAfterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + } + + + public EscalationPolicyPath afterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + return this; + } + + /** + * The escalation path to execute after this deferral path when after_deferral_behavior is execute_path + * @return afterDeferralPathId + */ + @javax.annotation.Nullable + public String getAfterDeferralPathId() { + return afterDeferralPathId; + } + + public void setAfterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + } + + public EscalationPolicyPath matchMode(@javax.annotation.Nullable MatchModeEnum matchMode) { this.matchMode = matchMode; return this; @@ -377,12 +1221,12 @@ public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { } - public EscalationPolicyPath rules(@javax.annotation.Nullable List rules) { + public EscalationPolicyPath rules(@javax.annotation.Nullable List rules) { this.rules = rules; return this; } - public EscalationPolicyPath addRulesItem(EscalationPolicyPathRulesInner rulesItem) { + public EscalationPolicyPath addRulesItem(UpdateEscalationPolicyPathDataAttributesRulesInner rulesItem) { if (this.rules == null) { this.rules = new ArrayList<>(); } @@ -395,15 +1239,61 @@ public EscalationPolicyPath addRulesItem(EscalationPolicyPathRulesInner rulesIte * @return rules */ @javax.annotation.Nullable - public List getRules() { + public List getRules() { return rules; } - public void setRules(@javax.annotation.Nullable List rules) { + public void setRules(@javax.annotation.Nullable List rules) { this.rules = rules; } + public EscalationPolicyPath timeRestrictionTimeZone(@javax.annotation.Nullable TimeRestrictionTimeZoneEnum timeRestrictionTimeZone) { + this.timeRestrictionTimeZone = timeRestrictionTimeZone; + return this; + } + + /** + * Time zone used for time restrictions. + * @return timeRestrictionTimeZone + */ + @javax.annotation.Nullable + public TimeRestrictionTimeZoneEnum getTimeRestrictionTimeZone() { + return timeRestrictionTimeZone; + } + + public void setTimeRestrictionTimeZone(@javax.annotation.Nullable TimeRestrictionTimeZoneEnum timeRestrictionTimeZone) { + this.timeRestrictionTimeZone = timeRestrictionTimeZone; + } + + + public EscalationPolicyPath timeRestrictions(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + return this; + } + + public EscalationPolicyPath addTimeRestrictionsItem(UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner timeRestrictionsItem) { + if (this.timeRestrictions == null) { + this.timeRestrictions = new ArrayList<>(); + } + this.timeRestrictions.add(timeRestrictionsItem); + return this; + } + + /** + * If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. + * @return timeRestrictions + */ + @javax.annotation.Nullable + public List getTimeRestrictions() { + return timeRestrictions; + } + + public void setTimeRestrictions(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + } + + @Override public boolean equals(Object o) { @@ -417,7 +1307,10 @@ public boolean equals(Object o) { return Objects.equals(this.name, escalationPolicyPath.name) && Objects.equals(this._default, escalationPolicyPath._default) && Objects.equals(this.notificationType, escalationPolicyPath.notificationType) && + Objects.equals(this.pathType, escalationPolicyPath.pathType) && Objects.equals(this.escalationPolicyId, escalationPolicyPath.escalationPolicyId) && + Objects.equals(this.afterDeferralBehavior, escalationPolicyPath.afterDeferralBehavior) && + Objects.equals(this.afterDeferralPathId, escalationPolicyPath.afterDeferralPathId) && Objects.equals(this.matchMode, escalationPolicyPath.matchMode) && Objects.equals(this.position, escalationPolicyPath.position) && Objects.equals(this.repeat, escalationPolicyPath.repeat) && @@ -425,12 +1318,25 @@ public boolean equals(Object o) { Objects.equals(this.initialDelay, escalationPolicyPath.initialDelay) && Objects.equals(this.createdAt, escalationPolicyPath.createdAt) && Objects.equals(this.updatedAt, escalationPolicyPath.updatedAt) && - Objects.equals(this.rules, escalationPolicyPath.rules); + Objects.equals(this.rules, escalationPolicyPath.rules) && + Objects.equals(this.timeRestrictionTimeZone, escalationPolicyPath.timeRestrictionTimeZone) && + Objects.equals(this.timeRestrictions, escalationPolicyPath.timeRestrictions); + } + + 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, _default, notificationType, escalationPolicyId, matchMode, position, repeat, repeatCount, initialDelay, createdAt, updatedAt, rules); + return Objects.hash(name, _default, notificationType, pathType, escalationPolicyId, afterDeferralBehavior, afterDeferralPathId, matchMode, position, repeat, repeatCount, initialDelay, createdAt, updatedAt, rules, timeRestrictionTimeZone, timeRestrictions); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -440,7 +1346,10 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append(" pathType: ").append(toIndentedString(pathType)).append("\n"); sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); + sb.append(" afterDeferralBehavior: ").append(toIndentedString(afterDeferralBehavior)).append("\n"); + sb.append(" afterDeferralPathId: ").append(toIndentedString(afterDeferralPathId)).append("\n"); sb.append(" matchMode: ").append(toIndentedString(matchMode)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" repeat: ").append(toIndentedString(repeat)).append("\n"); @@ -449,6 +1358,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(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); + sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -474,7 +1385,10 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("default"); openapiFields.add("notification_type"); + openapiFields.add("path_type"); openapiFields.add("escalation_policy_id"); + openapiFields.add("after_deferral_behavior"); + openapiFields.add("after_deferral_path_id"); openapiFields.add("match_mode"); openapiFields.add("position"); openapiFields.add("repeat"); @@ -483,6 +1397,8 @@ private String toIndentedString(Object o) { openapiFields.add("created_at"); openapiFields.add("updated_at"); openapiFields.add("rules"); + openapiFields.add("time_restriction_time_zone"); + openapiFields.add("time_restrictions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -528,9 +1444,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!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())); } + if ((jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) && !jsonObj.get("path_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `path_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("path_type").toString())); + } + // validate the optional field `path_type` + if (jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) { + PathTypeEnum.validateJsonElement(jsonObj.get("path_type")); + } if (!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("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) && !jsonObj.get("after_deferral_behavior").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_behavior` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_behavior").toString())); + } + // validate the optional field `after_deferral_behavior` + if (jsonObj.get("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) { + AfterDeferralBehaviorEnum.validateJsonElement(jsonObj.get("after_deferral_behavior")); + } + if ((jsonObj.get("after_deferral_path_id") != null && !jsonObj.get("after_deferral_path_id").isJsonNull()) && !jsonObj.get("after_deferral_path_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_path_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_path_id").toString())); + } 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())); } @@ -554,7 +1487,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti // validate the optional field `rules` (array) for (int i = 0; i < jsonArrayrules.size(); i++) { - EscalationPolicyPathRulesInner.validateJsonElement(jsonArrayrules.get(i)); + UpdateEscalationPolicyPathDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + }; + } + } + 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())); + } + // validate the optional field `time_restriction_time_zone` + if (jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) { + TimeRestrictionTimeZoneEnum.validateJsonElement(jsonObj.get("time_restriction_time_zone")); + } + if (jsonObj.get("time_restrictions") != null && !jsonObj.get("time_restrictions").isJsonNull()) { + JsonArray jsonArraytimeRestrictions = jsonObj.getAsJsonArray("time_restrictions"); + if (jsonArraytimeRestrictions != null) { + // ensure the json data is an array + if (!jsonObj.get("time_restrictions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `time_restrictions` to be an array in the JSON string but got `%s`", jsonObj.get("time_restrictions").toString())); + } + + // validate the optional field `time_restrictions` (array) + for (int i = 0; i < jsonArraytimeRestrictions.size(); i++) { + UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.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 842c0504..5358f08a 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyPathListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * EscalationPolicyPathList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPathList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class EscalationPolicyPathList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public EscalationPolicyPathList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public EscalationPolicyPathList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } EscalationPolicyPathList escalationPolicyPathList = (EscalationPolicyPathList) o; return Objects.equals(this.data, escalationPolicyPathList.data) && - Objects.equals(this.links, escalationPolicyPathList.links); + Objects.equals(this.links, escalationPolicyPathList.links) && + Objects.equals(this.meta, escalationPolicyPathList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class EscalationPolicyPathList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java index ee6b82b3..90a6efbc 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyPathListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 34dc666e..3942e58f 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyPathResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ae504c66..587efd06 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyPathResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/EscalationPolicyResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java index 4a5ed0da..0887c4cc 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b907fc00..1f1603d7 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * EscalationPolicyResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3a83e295..58826e43 100644 --- a/src/main/java/com/rootly/client/model/FormField.java +++ b/src/main/java/com/rootly/client/model/FormField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * FormField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormField { /** * The kind of the form field @@ -114,6 +114,8 @@ public enum KindEnum { CLOSED_AT("closed_at"), + CUSTOM_SUB_STATUS("custom_sub_status"), + MANUAL_STARTING_DATETIME_FIELD("manual_starting_datetime_field"); private String value; @@ -252,7 +254,13 @@ public enum ValueKindEnum { USER("user"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + ENVIRONMENT("environment"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"); private String value; @@ -314,7 +322,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @@ -347,6 +355,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private List defaultValues = new ArrayList<>(); + public static final String SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID = "auto_set_by_catalog_property_id"; + @SerializedName(SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID) + @javax.annotation.Nullable + private String autoSetByCatalogPropertyId; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -455,7 +468,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public FormField slug(@javax.annotation.Nonnull String slug) { + public FormField slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -464,12 +477,12 @@ public FormField slug(@javax.annotation.Nonnull String slug) { * The slug of the form field * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -612,6 +625,25 @@ public void setDefaultValues(@javax.annotation.Nonnull List defaultValue } + public FormField autoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + return this; + } + + /** + * Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. + * @return autoSetByCatalogPropertyId + */ + @javax.annotation.Nullable + public String getAutoSetByCatalogPropertyId() { + return autoSetByCatalogPropertyId; + } + + public void setAutoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + } + + public FormField createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -672,6 +704,7 @@ public boolean equals(Object o) { Objects.equals(this.showOnIncidentDetails, formField.showOnIncidentDetails) && Objects.equals(this.enabled, formField.enabled) && Objects.equals(this.defaultValues, formField.defaultValues) && + Objects.equals(this.autoSetByCatalogPropertyId, formField.autoSetByCatalogPropertyId) && Objects.equals(this.createdAt, formField.createdAt) && Objects.equals(this.updatedAt, formField.updatedAt); } @@ -682,7 +715,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, slug, description, shown, required, showOnIncidentDetails, enabled, defaultValues, createdAt, updatedAt); + return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, slug, description, shown, required, showOnIncidentDetails, enabled, defaultValues, autoSetByCatalogPropertyId, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -708,6 +741,7 @@ public String toString() { sb.append(" showOnIncidentDetails: ").append(toIndentedString(showOnIncidentDetails)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" defaultValues: ").append(toIndentedString(defaultValues)).append("\n"); + sb.append(" autoSetByCatalogPropertyId: ").append(toIndentedString(autoSetByCatalogPropertyId)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -744,6 +778,7 @@ private String toIndentedString(Object o) { openapiFields.add("show_on_incident_details"); openapiFields.add("enabled"); openapiFields.add("default_values"); + openapiFields.add("auto_set_by_catalog_property_id"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -753,7 +788,6 @@ private String toIndentedString(Object o) { openapiRequiredFields.add("input_kind"); openapiRequiredFields.add("value_kind"); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("shown"); openapiRequiredFields.add("required"); openapiRequiredFields.add("default_values"); @@ -810,7 +844,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { @@ -834,6 +868,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } else if (!jsonObj.get("default_values").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `default_values` to be an array in the JSON string but got `%s`", jsonObj.get("default_values").toString())); } + if ((jsonObj.get("auto_set_by_catalog_property_id") != null && !jsonObj.get("auto_set_by_catalog_property_id").isJsonNull()) && !jsonObj.get("auto_set_by_catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `auto_set_by_catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auto_set_by_catalog_property_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())); } diff --git a/src/main/java/com/rootly/client/model/FormFieldList.java b/src/main/java/com/rootly/client/model/FormFieldList.java index 3b337c97..9bc05fec 100644 --- a/src/main/java/com/rootly/client/model/FormFieldList.java +++ b/src/main/java/com/rootly/client/model/FormFieldList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormFieldList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormFieldList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormFieldList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormFieldList formFieldList = (FormFieldList) o; return Objects.equals(this.data, formFieldList.data) && - Objects.equals(this.links, formFieldList.links); + Objects.equals(this.links, formFieldList.links) && + Objects.equals(this.meta, formFieldList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormFieldList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormFieldOption.java b/src/main/java/com/rootly/client/model/FormFieldOption.java index ec50e235..285e64ad 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOption.java +++ b/src/main/java/com/rootly/client/model/FormFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,8 +48,13 @@ /** * FormFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOption { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) @javax.annotation.Nullable @@ -88,6 +93,25 @@ public class FormFieldOption { public FormFieldOption() { } + public FormFieldOption id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the form field option + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + public FormFieldOption formFieldId(@javax.annotation.Nullable String formFieldId) { this.formFieldId = formFieldId; return this; @@ -113,7 +137,7 @@ public FormFieldOption value(@javax.annotation.Nonnull String value) { } /** - * The value of the form_field_option + * The value of the form field option * @return value */ @javax.annotation.Nonnull @@ -132,7 +156,7 @@ public FormFieldOption color(@javax.annotation.Nonnull String color) { } /** - * The hex color of the form_field_option + * The hex color of the form field option * @return color */ @javax.annotation.Nonnull @@ -170,7 +194,7 @@ public FormFieldOption position(@javax.annotation.Nonnull Integer position) { } /** - * The position of the form_field_option + * The position of the form field option * @return position */ @javax.annotation.Nonnull @@ -231,7 +255,8 @@ public boolean equals(Object o) { return false; } FormFieldOption formFieldOption = (FormFieldOption) o; - return Objects.equals(this.formFieldId, formFieldOption.formFieldId) && + return Objects.equals(this.id, formFieldOption.id) && + Objects.equals(this.formFieldId, formFieldOption.formFieldId) && Objects.equals(this.value, formFieldOption.value) && Objects.equals(this.color, formFieldOption.color) && Objects.equals(this._default, formFieldOption._default) && @@ -242,13 +267,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(formFieldId, value, color, _default, position, createdAt, updatedAt); + return Objects.hash(id, formFieldId, value, color, _default, position, createdAt, updatedAt); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class FormFieldOption {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" formFieldId: ").append(toIndentedString(formFieldId)).append("\n"); sb.append(" value: ").append(toIndentedString(value)).append("\n"); sb.append(" color: ").append(toIndentedString(color)).append("\n"); @@ -278,6 +304,7 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); openapiFields.add("form_field_id"); openapiFields.add("value"); openapiFields.add("color"); @@ -323,6 +350,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("form_field_id") != null && !jsonObj.get("form_field_id").isJsonNull()) && !jsonObj.get("form_field_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `form_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("form_field_id").toString())); } diff --git a/src/main/java/com/rootly/client/model/FormFieldOptionList.java b/src/main/java/com/rootly/client/model/FormFieldOptionList.java index b68b5276..501acf03 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldOptionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormFieldOptionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOptionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormFieldOptionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormFieldOptionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormFieldOptionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormFieldOptionList formFieldOptionList = (FormFieldOptionList) o; return Objects.equals(this.data, formFieldOptionList.data) && - Objects.equals(this.links, formFieldOptionList.links); + Objects.equals(this.links, formFieldOptionList.links) && + Objects.equals(this.meta, formFieldOptionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormFieldOptionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java b/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java index e5b6546e..e0d551e5 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldOptionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eaac76be..e64e5e64 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldOptionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldOptionResponseData { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -125,7 +125,7 @@ public FormFieldOptionResponseData id(@javax.annotation.Nonnull String id) { } /** - * Unique ID of the form_field_option + * Unique ID of the form field option * @return id */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacement.java b/src/main/java/com/rootly/client/model/FormFieldPlacement.java index 1e80cb80..55b1e90a 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacement.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * FormFieldPlacement */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -189,6 +189,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private PlacementOperatorEnum placementOperator; + public static final String SERIALIZED_NAME_NON_EDITABLE = "non_editable"; + @SerializedName(SERIALIZED_NAME_NON_EDITABLE) + @javax.annotation.Nullable + private Boolean nonEditable; + public FormFieldPlacement() { } @@ -325,6 +330,25 @@ public void setPlacementOperator(@javax.annotation.Nullable PlacementOperatorEnu } + public FormFieldPlacement nonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + return this; + } + + /** + * Whether the field is read-only and cannot be edited by users. + * @return nonEditable + */ + @javax.annotation.Nullable + public Boolean getNonEditable() { + return nonEditable; + } + + public void setNonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + } + + @Override public boolean equals(Object o) { @@ -341,12 +365,13 @@ public boolean equals(Object o) { Objects.equals(this.position, formFieldPlacement.position) && Objects.equals(this.required, formFieldPlacement.required) && Objects.equals(this.requiredOperator, formFieldPlacement.requiredOperator) && - Objects.equals(this.placementOperator, formFieldPlacement.placementOperator); + Objects.equals(this.placementOperator, formFieldPlacement.placementOperator) && + Objects.equals(this.nonEditable, formFieldPlacement.nonEditable); } @Override public int hashCode() { - return Objects.hash(formFieldId, formSetId, form, position, required, requiredOperator, placementOperator); + return Objects.hash(formFieldId, formSetId, form, position, required, requiredOperator, placementOperator, nonEditable); } @Override @@ -360,6 +385,7 @@ public String toString() { sb.append(" required: ").append(toIndentedString(required)).append("\n"); sb.append(" requiredOperator: ").append(toIndentedString(requiredOperator)).append("\n"); sb.append(" placementOperator: ").append(toIndentedString(placementOperator)).append("\n"); + sb.append(" nonEditable: ").append(toIndentedString(nonEditable)).append("\n"); sb.append("}"); return sb.toString(); } @@ -389,6 +415,7 @@ private String toIndentedString(Object o) { openapiFields.add("required"); openapiFields.add("required_operator"); openapiFields.add("placement_operator"); + openapiFields.add("non_editable"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java b/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java index ac052e9f..c5d5cc03 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * FormFieldPlacementCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -131,6 +131,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum ComparisonEnum { EQUAL("equal"), + NOT_EQUAL("not_equal"), + IS_SET("is_set"), IS_NOT_SET("is_not_set"); diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java index 7dbb603c..bf0f0177 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPlacementConditionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormFieldPlacementConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormFieldPlacementConditionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormFieldPlacementConditionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormFieldPlacementConditionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormFieldPlacementConditionList formFieldPlacementConditionList = (FormFieldPlacementConditionList) o; return Objects.equals(this.data, formFieldPlacementConditionList.data) && - Objects.equals(this.links, formFieldPlacementConditionList.links); + Objects.equals(this.links, formFieldPlacementConditionList.links) && + Objects.equals(this.meta, formFieldPlacementConditionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormFieldPlacementConditionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java index 198b9e54..ecec4b56 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPlacementConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e2f35502..6b90a827 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPlacementConditionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e06a348a..8d357e1f 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPlacementResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormFieldPlacementList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPlacementList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormFieldPlacementList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormFieldPlacementList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormFieldPlacementList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormFieldPlacementList formFieldPlacementList = (FormFieldPlacementList) o; return Objects.equals(this.data, formFieldPlacementList.data) && - Objects.equals(this.links, formFieldPlacementList.links); + Objects.equals(this.links, formFieldPlacementList.links) && + Objects.equals(this.meta, formFieldPlacementList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormFieldPlacementList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java b/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java index 4fcd4621..a2daa61c 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPlacementResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a156fcf1..42b8ce3c 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPlacementResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b18094a3..2b8d1572 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/FormFieldPosition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * FormFieldPosition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6a2794a0..43125e2c 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPositionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormFieldPositionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormFieldPositionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormFieldPositionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormFieldPositionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormFieldPositionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormFieldPositionList formFieldPositionList = (FormFieldPositionList) o; return Objects.equals(this.data, formFieldPositionList.data) && - Objects.equals(this.links, formFieldPositionList.links); + Objects.equals(this.links, formFieldPositionList.links) && + Objects.equals(this.meta, formFieldPositionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormFieldPositionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java b/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java index 2a941b09..f60afeb2 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPositionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0d180967..c6691037 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldPositionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8cb8fec1..b6040957 100644 --- a/src/main/java/com/rootly/client/model/FormFieldResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 aa970f70..2738dcf4 100644 --- a/src/main/java/com/rootly/client/model/FormFieldResponseData.java +++ b/src/main/java/com/rootly/client/model/FormFieldResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormFieldResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 095f7b17..c4dff708 100644 --- a/src/main/java/com/rootly/client/model/FormSet.java +++ b/src/main/java/com/rootly/client/model/FormSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * FormSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSet { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -59,7 +59,7 @@ public class FormSet { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_IS_DEFAULT = "is_default"; @@ -104,7 +104,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public FormSet slug(@javax.annotation.Nonnull String slug) { + public FormSet slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -113,12 +113,12 @@ public FormSet slug(@javax.annotation.Nonnull String slug) { * The slug of the form set * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -272,7 +272,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("is_default"); openapiRequiredFields.add("forms"); openapiRequiredFields.add("created_at"); @@ -310,7 +309,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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())); } // ensure the required json array is present diff --git a/src/main/java/com/rootly/client/model/FormSetCondition.java b/src/main/java/com/rootly/client/model/FormSetCondition.java index d267bda4..2226faf0 100644 --- a/src/main/java/com/rootly/client/model/FormSetCondition.java +++ b/src/main/java/com/rootly/client/model/FormSetCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * FormSetCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3b8e6ca3..c31f3ba3 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionList.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormSetConditionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormSetConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormSetConditionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormSetConditionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormSetConditionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormSetConditionList formSetConditionList = (FormSetConditionList) o; return Objects.equals(this.data, formSetConditionList.data) && - Objects.equals(this.links, formSetConditionList.links); + Objects.equals(this.links, formSetConditionList.links) && + Objects.equals(this.meta, formSetConditionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormSetConditionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormSetConditionResponse.java b/src/main/java/com/rootly/client/model/FormSetConditionResponse.java index e8705010..9544a93e 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormSetConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b430807c..1a865a7d 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormSetConditionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7cc06838..f0b55765 100644 --- a/src/main/java/com/rootly/client/model/FormSetList.java +++ b/src/main/java/com/rootly/client/model/FormSetList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormSetResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FormSetList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormSetList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FormSetList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FormSetList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FormSetList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FormSetList formSetList = (FormSetList) o; return Objects.equals(this.data, formSetList.data) && - Objects.equals(this.links, formSetList.links); + Objects.equals(this.links, formSetList.links) && + Objects.equals(this.meta, formSetList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FormSetList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FormSetResponse.java b/src/main/java/com/rootly/client/model/FormSetResponse.java index 055b2c47..b236db40 100644 --- a/src/main/java/com/rootly/client/model/FormSetResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormSetResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e4fa4664..f453a369 100644 --- a/src/main/java/com/rootly/client/model/FormSetResponseData.java +++ b/src/main/java/com/rootly/client/model/FormSetResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FormSetResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d86ab46c..df86cc4f 100644 --- a/src/main/java/com/rootly/client/model/Functionality.java +++ b/src/main/java/com/rootly/client/model/Functionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * Functionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Functionality { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -135,15 +136,20 @@ public class Functionality { @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; + + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @@ -155,6 +161,11 @@ public class Functionality { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -496,57 +507,76 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public Functionality ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public Functionality ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public Functionality addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public Functionality addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this functionality - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public Functionality ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public Functionality ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public Functionality addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public Functionality addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this functionality - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; + } + + + public Functionality escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the functionality + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; } @@ -604,6 +634,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public Functionality addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this functionality. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public Functionality createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -668,10 +725,12 @@ public boolean equals(Object o) { Objects.equals(this.position, functionality.position) && Objects.equals(this.environmentIds, functionality.environmentIds) && Objects.equals(this.serviceIds, functionality.serviceIds) && - Objects.equals(this.ownersGroupIds, functionality.ownersGroupIds) && - Objects.equals(this.ownersUserIds, functionality.ownersUserIds) && + Objects.equals(this.ownerGroupIds, functionality.ownerGroupIds) && + Objects.equals(this.ownerUserIds, functionality.ownerUserIds) && + Objects.equals(this.escalationPolicyId, functionality.escalationPolicyId) && Objects.equals(this.slackChannels, functionality.slackChannels) && Objects.equals(this.slackAliases, functionality.slackAliases) && + Objects.equals(this.properties, functionality.properties) && Objects.equals(this.createdAt, functionality.createdAt) && Objects.equals(this.updatedAt, functionality.updatedAt); } @@ -682,7 +741,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, publicDescription, notifyEmails, color, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, position, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, slackChannels, slackAliases, createdAt, updatedAt); + return Objects.hash(name, slug, description, publicDescription, notifyEmails, color, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, position, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, escalationPolicyId, slackChannels, slackAliases, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -712,10 +771,12 @@ public String toString() { sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).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("}"); @@ -756,10 +817,12 @@ private String toIndentedString(Object o) { openapiFields.add("position"); openapiFields.add("environment_ids"); openapiFields.add("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_ids"); + openapiFields.add("owner_group_ids"); + openapiFields.add("owner_user_ids"); + openapiFields.add("escalation_policy_id"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -847,12 +910,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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("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("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); @@ -882,6 +948,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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())); } diff --git a/src/main/java/com/rootly/client/model/FunctionalityList.java b/src/main/java/com/rootly/client/model/FunctionalityList.java index 735ec3fc..a1a21c2c 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityList.java +++ b/src/main/java/com/rootly/client/model/FunctionalityList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FunctionalityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * FunctionalityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FunctionalityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class FunctionalityList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public FunctionalityList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public FunctionalityList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } FunctionalityList functionalityList = (FunctionalityList) o; return Objects.equals(this.data, functionalityList.data) && - Objects.equals(this.links, functionalityList.links); + Objects.equals(this.links, functionalityList.links) && + Objects.equals(this.meta, functionalityList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class FunctionalityList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/FunctionalityResponse.java b/src/main/java/com/rootly/client/model/FunctionalityResponse.java index c079c905..a7830074 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/FunctionalityResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FunctionalityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9d2732e4..47fde73b 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityResponseData.java +++ b/src/main/java/com/rootly/client/model/FunctionalityResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * FunctionalityResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..e575e0fa --- /dev/null +++ b/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java @@ -0,0 +1,263 @@ +/* + * 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 java.util.UUID; + + + +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; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class GetAlertFieldIdParameter extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(GetAlertFieldIdParameter.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!GetAlertFieldIdParameter.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetAlertFieldIdParameter' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterUUID = gson.getDelegateAdapter(this, TypeToken.get(UUID.class)); + final TypeAdapter adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, GetAlertFieldIdParameter value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `UUID` + if (value.getActualInstance() instanceof UUID) { + JsonElement element = adapterUUID.toJsonTree((UUID)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `String` + if (value.getActualInstance() instanceof String) { + JsonPrimitive primitive = adapterString.toJsonTree((String)value.getActualInstance()).getAsJsonPrimitive(); + elementAdapter.write(out, primitive); + return; + } + throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: String, UUID"); + } + + @Override + public GetAlertFieldIdParameter read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize UUID + try { + // validate the JSON object to see if any exception is thrown + UUID.validateJsonElement(jsonElement); + actualAdapter = adapterUUID; + GetAlertFieldIdParameter ret = new GetAlertFieldIdParameter(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UUID'", e); + } + // deserialize String + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterString; + GetAlertFieldIdParameter ret = new GetAlertFieldIdParameter(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'String'", e); + } + + throw new IOException(String.format("Failed deserialization for GetAlertFieldIdParameter: no class matches result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + } + }.nullSafe(); + } + } + + // store a list of schema names defined in anyOf + public static final Map> schemas = new HashMap>(); + + public GetAlertFieldIdParameter() { + super("anyOf", Boolean.FALSE); + } + + public GetAlertFieldIdParameter(Object o) { + super("anyOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("UUID", UUID.class); + schemas.put("String", String.class); + } + + @Override + public Map> getSchemas() { + return GetAlertFieldIdParameter.schemas; + } + + /** + * Set the instance that matches the anyOf child schema, check + * the instance parameter is valid against the anyOf child schemas: + * String, UUID + * + * It could be an instance of the 'anyOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance instanceof UUID) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof String) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be String, UUID"); + } + + /** + * Get the actual instance, which can be the following: + * String, UUID + * + * @return The actual instance (String, UUID) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `UUID`. If the actual instance is not `UUID`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UUID` + * @throws ClassCastException if the instance is not `UUID` + */ + public UUID getUUID() throws ClassCastException { + return (UUID)super.getActualInstance(); + } + + /** + * Get the actual instance of `String`. If the actual instance is not `String`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `String` + * @throws ClassCastException if the instance is not `String` + */ + public String getString() throws ClassCastException { + return (String)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 GetAlertFieldIdParameter + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + // validate anyOf schemas one by one + ArrayList errorMessages = new ArrayList<>(); + // validate the json string with UUID + try { + UUID.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with String + try { + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + // continue to the next one + } + throw new IOException(String.format("The JSON string is invalid for GetAlertFieldIdParameter with anyOf schemas: String, UUID. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + } + + /** + * Create an instance of GetAlertFieldIdParameter given an JSON string + * + * @param jsonString JSON string + * @return An instance of GetAlertFieldIdParameter + * @throws IOException if the JSON string is invalid with respect to GetAlertFieldIdParameter + */ + public static GetAlertFieldIdParameter fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetAlertFieldIdParameter.class); + } + + /** + * Convert an instance of GetAlertFieldIdParameter 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/GetAlertsTaskParams.java b/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java index ba307074..9bae4ea5 100644 --- a/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetAlertsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * GetAlertsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ba63be14..7e865df2 100644 --- a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * GetGithubCommitsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGithubCommitsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java index 7af72077..051c82b1 100644 --- a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * GetGitlabCommitsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGitlabCommitsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java b/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java index 4aa219b8..37d4cf77 100644 --- a/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * GetPulsesTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1e88c92d..848939b6 100644 --- a/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java +++ b/src/main/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..f7a44d62 --- /dev/null +++ b/src/main/java/com/rootly/client/model/GetTeamIdParameter.java @@ -0,0 +1,263 @@ +/* + * 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 java.util.UUID; + + + +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; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class GetTeamIdParameter extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(GetTeamIdParameter.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!GetTeamIdParameter.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'GetTeamIdParameter' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterUUID = gson.getDelegateAdapter(this, TypeToken.get(UUID.class)); + final TypeAdapter adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, GetTeamIdParameter value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `UUID` + if (value.getActualInstance() instanceof UUID) { + JsonElement element = adapterUUID.toJsonTree((UUID)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `String` + if (value.getActualInstance() instanceof String) { + JsonPrimitive primitive = adapterString.toJsonTree((String)value.getActualInstance()).getAsJsonPrimitive(); + elementAdapter.write(out, primitive); + return; + } + throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: String, UUID"); + } + + @Override + public GetTeamIdParameter read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize UUID + try { + // validate the JSON object to see if any exception is thrown + UUID.validateJsonElement(jsonElement); + actualAdapter = adapterUUID; + GetTeamIdParameter ret = new GetTeamIdParameter(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UUID'", e); + } + // deserialize String + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterString; + GetTeamIdParameter ret = new GetTeamIdParameter(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'String'", e); + } + + throw new IOException(String.format("Failed deserialization for GetTeamIdParameter: no class matches result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + } + }.nullSafe(); + } + } + + // store a list of schema names defined in anyOf + public static final Map> schemas = new HashMap>(); + + public GetTeamIdParameter() { + super("anyOf", Boolean.FALSE); + } + + public GetTeamIdParameter(Object o) { + super("anyOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("UUID", UUID.class); + schemas.put("String", String.class); + } + + @Override + public Map> getSchemas() { + return GetTeamIdParameter.schemas; + } + + /** + * Set the instance that matches the anyOf child schema, check + * the instance parameter is valid against the anyOf child schemas: + * String, UUID + * + * It could be an instance of the 'anyOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance instanceof UUID) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof String) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be String, UUID"); + } + + /** + * Get the actual instance, which can be the following: + * String, UUID + * + * @return The actual instance (String, UUID) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `UUID`. If the actual instance is not `UUID`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UUID` + * @throws ClassCastException if the instance is not `UUID` + */ + public UUID getUUID() throws ClassCastException { + return (UUID)super.getActualInstance(); + } + + /** + * Get the actual instance of `String`. If the actual instance is not `String`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `String` + * @throws ClassCastException if the instance is not `String` + */ + public String getString() throws ClassCastException { + return (String)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 GetTeamIdParameter + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + // validate anyOf schemas one by one + ArrayList errorMessages = new ArrayList<>(); + // validate the json string with UUID + try { + UUID.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with String + try { + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + // continue to the next one + } + throw new IOException(String.format("The JSON string is invalid for GetTeamIdParameter with anyOf schemas: String, UUID. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + } + + /** + * Create an instance of GetTeamIdParameter given an JSON string + * + * @param jsonString JSON string + * @return An instance of GetTeamIdParameter + * @throws IOException if the JSON string is invalid with respect to GetTeamIdParameter + */ + public static GetTeamIdParameter fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, GetTeamIdParameter.class); + } + + /** + * Convert an instance of GetTeamIdParameter 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/Heartbeat.java b/src/main/java/com/rootly/client/model/Heartbeat.java index f539cf55..22b4b84c 100644 --- a/src/main/java/com/rootly/client/model/Heartbeat.java +++ b/src/main/java/com/rootly/client/model/Heartbeat.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * Heartbeat */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Heartbeat { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +66,11 @@ public class Heartbeat { @javax.annotation.Nonnull private String alertSummary; + public static final String SERIALIZED_NAME_ALERT_DESCRIPTION = "alert_description"; + @SerializedName(SERIALIZED_NAME_ALERT_DESCRIPTION) + @javax.annotation.Nullable + private String alertDescription; + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) @javax.annotation.Nullable @@ -81,11 +86,11 @@ public class Heartbeat { */ @JsonAdapter(IntervalUnitEnum.Adapter.class) public enum IntervalUnitEnum { - SECONDS("seconds"), - MINUTES("minutes"), - HOURS("hours"); + HOURS("hours"), + + DAYS("days"); private String value; @@ -141,7 +146,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private String notificationTargetId; /** - * Gets or Sets notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. */ @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) public enum NotificationTargetTypeEnum { @@ -151,7 +156,9 @@ public enum NotificationTargetTypeEnum { SERVICE("Service"), - ESCALATION_POLICY("EscalationPolicy"); + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); private String value; @@ -275,6 +282,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String secret; + public static final String SERIALIZED_NAME_EMAIL_ADDRESS = "email_address"; + @SerializedName(SERIALIZED_NAME_EMAIL_ADDRESS) + @javax.annotation.Nonnull + private String emailAddress; + public static final String SERIALIZED_NAME_LAST_PINGED_AT = "last_pinged_at"; @SerializedName(SERIALIZED_NAME_LAST_PINGED_AT) @javax.annotation.Nullable @@ -355,6 +367,25 @@ public void setAlertSummary(@javax.annotation.Nonnull String alertSummary) { } + public Heartbeat alertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + return this; + } + + /** + * Description of alerts triggered when heartbeat expires. + * @return alertDescription + */ + @javax.annotation.Nullable + public String getAlertDescription() { + return alertDescription; + } + + public void setAlertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + } + + public Heartbeat alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { this.alertUrgencyId = alertUrgencyId; return this; @@ -437,7 +468,7 @@ public Heartbeat notificationTargetType(@javax.annotation.Nonnull NotificationTa } /** - * Get notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. * @return notificationTargetType */ @javax.annotation.Nonnull @@ -526,6 +557,25 @@ public void setSecret(@javax.annotation.Nullable String secret) { } + public Heartbeat emailAddress(@javax.annotation.Nonnull String emailAddress) { + this.emailAddress = emailAddress; + return this; + } + + /** + * Email address to receive heartbeat pings. + * @return emailAddress + */ + @javax.annotation.Nonnull + public String getEmailAddress() { + return emailAddress; + } + + public void setEmailAddress(@javax.annotation.Nonnull String emailAddress) { + this.emailAddress = emailAddress; + } + + public Heartbeat lastPingedAt(@javax.annotation.Nullable String lastPingedAt) { this.lastPingedAt = lastPingedAt; return this; @@ -615,6 +665,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, heartbeat.name) && Objects.equals(this.description, heartbeat.description) && Objects.equals(this.alertSummary, heartbeat.alertSummary) && + Objects.equals(this.alertDescription, heartbeat.alertDescription) && Objects.equals(this.alertUrgencyId, heartbeat.alertUrgencyId) && Objects.equals(this.interval, heartbeat.interval) && Objects.equals(this.intervalUnit, heartbeat.intervalUnit) && @@ -624,6 +675,7 @@ public boolean equals(Object o) { Objects.equals(this.status, heartbeat.status) && Objects.equals(this.pingUrl, heartbeat.pingUrl) && Objects.equals(this.secret, heartbeat.secret) && + Objects.equals(this.emailAddress, heartbeat.emailAddress) && Objects.equals(this.lastPingedAt, heartbeat.lastPingedAt) && Objects.equals(this.expiresAt, heartbeat.expiresAt) && Objects.equals(this.createdAt, heartbeat.createdAt) && @@ -636,7 +688,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, alertSummary, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled, status, pingUrl, secret, lastPingedAt, expiresAt, createdAt, updatedAt); + return Objects.hash(name, description, alertSummary, alertDescription, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled, status, pingUrl, secret, emailAddress, lastPingedAt, expiresAt, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -653,6 +705,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" alertSummary: ").append(toIndentedString(alertSummary)).append("\n"); + sb.append(" alertDescription: ").append(toIndentedString(alertDescription)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); sb.append(" intervalUnit: ").append(toIndentedString(intervalUnit)).append("\n"); @@ -662,6 +715,7 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" pingUrl: ").append(toIndentedString(pingUrl)).append("\n"); sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); sb.append(" lastPingedAt: ").append(toIndentedString(lastPingedAt)).append("\n"); sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); @@ -691,6 +745,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("alert_summary"); + openapiFields.add("alert_description"); openapiFields.add("alert_urgency_id"); openapiFields.add("interval"); openapiFields.add("interval_unit"); @@ -700,6 +755,7 @@ private String toIndentedString(Object o) { openapiFields.add("status"); openapiFields.add("ping_url"); openapiFields.add("secret"); + openapiFields.add("email_address"); openapiFields.add("last_pinged_at"); openapiFields.add("expires_at"); openapiFields.add("created_at"); @@ -715,6 +771,7 @@ private String toIndentedString(Object o) { openapiRequiredFields.add("notification_target_type"); openapiRequiredFields.add("enabled"); openapiRequiredFields.add("status"); + openapiRequiredFields.add("email_address"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -756,6 +813,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("alert_summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `alert_summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_summary").toString())); } + if ((jsonObj.get("alert_description") != null && !jsonObj.get("alert_description").isJsonNull()) && !jsonObj.get("alert_description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_description").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())); } @@ -783,6 +843,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("secret") != null && !jsonObj.get("secret").isJsonNull()) && !jsonObj.get("secret").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `secret` to be a primitive type in the JSON string but got `%s`", jsonObj.get("secret").toString())); } + if (!jsonObj.get("email_address").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_address` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_address").toString())); + } if ((jsonObj.get("last_pinged_at") != null && !jsonObj.get("last_pinged_at").isJsonNull()) && !jsonObj.get("last_pinged_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `last_pinged_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("last_pinged_at").toString())); } diff --git a/src/main/java/com/rootly/client/model/HeartbeatList.java b/src/main/java/com/rootly/client/model/HeartbeatList.java index 1b06876a..396224fb 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatList.java +++ b/src/main/java/com/rootly/client/model/HeartbeatList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.HeartbeatResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * HeartbeatList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HeartbeatList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class HeartbeatList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public HeartbeatList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public HeartbeatList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } HeartbeatList heartbeatList = (HeartbeatList) o; return Objects.equals(this.data, heartbeatList.data) && - Objects.equals(this.links, heartbeatList.links); + Objects.equals(this.links, heartbeatList.links) && + Objects.equals(this.meta, heartbeatList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class HeartbeatList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/HeartbeatResponse.java b/src/main/java/com/rootly/client/model/HeartbeatResponse.java index 8592522a..36dd2520 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatResponse.java +++ b/src/main/java/com/rootly/client/model/HeartbeatResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * HeartbeatResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4bb31e2e..4fc91ff3 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatResponseData.java +++ b/src/main/java/com/rootly/client/model/HeartbeatResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * HeartbeatResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0af7b078..6e6096c0 100644 --- a/src/main/java/com/rootly/client/model/HttpClientTaskParams.java +++ b/src/main/java/com/rootly/client/model/HttpClientTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * HttpClientTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HttpClientTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InTriageIncident.java b/src/main/java/com/rootly/client/model/InTriageIncident.java index 6d4de9d0..b24dd5d2 100644 --- a/src/main/java/com/rootly/client/model/InTriageIncident.java +++ b/src/main/java/com/rootly/client/model/InTriageIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * InTriageIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a7ef0397..01c64392 100644 --- a/src/main/java/com/rootly/client/model/InTriageIncidentData.java +++ b/src/main/java/com/rootly/client/model/InTriageIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * InTriageIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InTriageIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/Incident.java b/src/main/java/com/rootly/client/model/Incident.java index 670b9f5f..a4f76058 100644 --- a/src/main/java/com/rootly/client/model/Incident.java +++ b/src/main/java/com/rootly/client/model/Incident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -22,6 +22,7 @@ import com.rootly.client.model.EnvironmentResponse; import com.rootly.client.model.FunctionalityResponse; import com.rootly.client.model.IncidentTypeResponse; +import com.rootly.client.model.IncidentZoomMeetingGlobalDialInNumbersInner; import com.rootly.client.model.ServiceResponse; import com.rootly.client.model.SeverityResponse; import com.rootly.client.model.TeamResponse; @@ -57,8 +58,18 @@ /** * Incident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Incident { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_SEQUENTIAL_ID = "sequential_id"; + @SerializedName(SERIALIZED_NAME_SEQUENTIAL_ID) + @javax.annotation.Nullable + private Integer sequentialId; + public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @javax.annotation.Nonnull @@ -71,7 +82,7 @@ public class Incident { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_PARENT_INCIDENT_ID = "parent_incident_id"; @@ -94,6 +105,36 @@ public class Incident { @javax.annotation.Nullable private Boolean _private = false; + public static final String SERIALIZED_NAME_SOURCE = "source"; + @SerializedName(SERIALIZED_NAME_SOURCE) + @javax.annotation.Nullable + private String source; + + public static final String SERIALIZED_NAME_STATUS = "status"; + @SerializedName(SERIALIZED_NAME_STATUS) + @javax.annotation.Nullable + private String status; + + public static final String SERIALIZED_NAME_URL = "url"; + @SerializedName(SERIALIZED_NAME_URL) + @javax.annotation.Nullable + private String url; + + public static final String SERIALIZED_NAME_SHORT_URL = "short_url"; + @SerializedName(SERIALIZED_NAME_SHORT_URL) + @javax.annotation.Nullable + private String shortUrl; + + public static final String SERIALIZED_NAME_PUBLIC_TITLE = "public_title"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TITLE) + @javax.annotation.Nullable + private String publicTitle; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + @javax.annotation.Nullable + private Object user; + public static final String SERIALIZED_NAME_SEVERITY = "severity"; @SerializedName(SERIALIZED_NAME_SEVERITY) @javax.annotation.Nullable @@ -144,6 +185,356 @@ public class Incident { @javax.annotation.Nullable private String slackChannelUrl; + public static final String SERIALIZED_NAME_SLACK_CHANNEL_SHORT_URL = "slack_channel_short_url"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_SHORT_URL) + @javax.annotation.Nullable + private String slackChannelShortUrl; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_DEEP_LINK = "slack_channel_deep_link"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_DEEP_LINK) + @javax.annotation.Nullable + private String slackChannelDeepLink; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED = "slack_channel_archived"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED) + @javax.annotation.Nullable + private Boolean slackChannelArchived; + + public static final String SERIALIZED_NAME_SLACK_LAST_MESSAGE_TS = "slack_last_message_ts"; + @SerializedName(SERIALIZED_NAME_SLACK_LAST_MESSAGE_TS) + @javax.annotation.Nullable + private String slackLastMessageTs; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_ID = "zoom_meeting_id"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_ID) + @javax.annotation.Nullable + private String zoomMeetingId; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_START_URL = "zoom_meeting_start_url"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_START_URL) + @javax.annotation.Nullable + private String zoomMeetingStartUrl; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_JOIN_URL = "zoom_meeting_join_url"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_JOIN_URL) + @javax.annotation.Nullable + private String zoomMeetingJoinUrl; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_PASSWORD = "zoom_meeting_password"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_PASSWORD) + @javax.annotation.Nullable + private String zoomMeetingPassword; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_PSTN_PASSWORD = "zoom_meeting_pstn_password"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_PSTN_PASSWORD) + @javax.annotation.Nullable + private String zoomMeetingPstnPassword; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_H323_PASSWORD = "zoom_meeting_h323_password"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_H323_PASSWORD) + @javax.annotation.Nullable + private String zoomMeetingH323Password; + + public static final String SERIALIZED_NAME_ZOOM_MEETING_GLOBAL_DIAL_IN_NUMBERS = "zoom_meeting_global_dial_in_numbers"; + @SerializedName(SERIALIZED_NAME_ZOOM_MEETING_GLOBAL_DIAL_IN_NUMBERS) + @javax.annotation.Nullable + private List zoomMeetingGlobalDialInNumbers; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_ID = "google_drive_id"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_ID) + @javax.annotation.Nullable + private String googleDriveId; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID = "google_drive_parent_id"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID) + @javax.annotation.Nullable + private String googleDriveParentId; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_URL = "google_drive_url"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_URL) + @javax.annotation.Nullable + private String googleDriveUrl; + + public static final String SERIALIZED_NAME_GOOGLE_MEETING_ID = "google_meeting_id"; + @SerializedName(SERIALIZED_NAME_GOOGLE_MEETING_ID) + @javax.annotation.Nullable + private String googleMeetingId; + + public static final String SERIALIZED_NAME_GOOGLE_MEETING_URL = "google_meeting_url"; + @SerializedName(SERIALIZED_NAME_GOOGLE_MEETING_URL) + @javax.annotation.Nullable + private String googleMeetingUrl; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_ID = "jira_issue_id"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_ID) + @javax.annotation.Nullable + private String jiraIssueId; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @javax.annotation.Nullable + private String jiraIssueUrl; + + public static final String SERIALIZED_NAME_GITHUB_ISSUE_ID = "github_issue_id"; + @SerializedName(SERIALIZED_NAME_GITHUB_ISSUE_ID) + @javax.annotation.Nullable + private String githubIssueId; + + public static final String SERIALIZED_NAME_GITHUB_ISSUE_URL = "github_issue_url"; + @SerializedName(SERIALIZED_NAME_GITHUB_ISSUE_URL) + @javax.annotation.Nullable + private String githubIssueUrl; + + public static final String SERIALIZED_NAME_GITLAB_ISSUE_ID = "gitlab_issue_id"; + @SerializedName(SERIALIZED_NAME_GITLAB_ISSUE_ID) + @javax.annotation.Nullable + private String gitlabIssueId; + + public static final String SERIALIZED_NAME_GITLAB_ISSUE_URL = "gitlab_issue_url"; + @SerializedName(SERIALIZED_NAME_GITLAB_ISSUE_URL) + @javax.annotation.Nullable + private String gitlabIssueUrl; + + public static final String SERIALIZED_NAME_ASANA_TASK_ID = "asana_task_id"; + @SerializedName(SERIALIZED_NAME_ASANA_TASK_ID) + @javax.annotation.Nullable + private String asanaTaskId; + + public static final String SERIALIZED_NAME_ASANA_TASK_URL = "asana_task_url"; + @SerializedName(SERIALIZED_NAME_ASANA_TASK_URL) + @javax.annotation.Nullable + private String asanaTaskUrl; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_ID = "linear_issue_id"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_ID) + @javax.annotation.Nullable + private String linearIssueId; + + public static final String SERIALIZED_NAME_LINEAR_ISSUE_URL = "linear_issue_url"; + @SerializedName(SERIALIZED_NAME_LINEAR_ISSUE_URL) + @javax.annotation.Nullable + private String linearIssueUrl; + + public static final String SERIALIZED_NAME_TRELLO_CARD_ID = "trello_card_id"; + @SerializedName(SERIALIZED_NAME_TRELLO_CARD_ID) + @javax.annotation.Nullable + private String trelloCardId; + + public static final String SERIALIZED_NAME_TRELLO_CARD_URL = "trello_card_url"; + @SerializedName(SERIALIZED_NAME_TRELLO_CARD_URL) + @javax.annotation.Nullable + private String trelloCardUrl; + + public static final String SERIALIZED_NAME_ZENDESK_TICKET_ID = "zendesk_ticket_id"; + @SerializedName(SERIALIZED_NAME_ZENDESK_TICKET_ID) + @javax.annotation.Nullable + private String zendeskTicketId; + + public static final String SERIALIZED_NAME_ZENDESK_TICKET_URL = "zendesk_ticket_url"; + @SerializedName(SERIALIZED_NAME_ZENDESK_TICKET_URL) + @javax.annotation.Nullable + private String zendeskTicketUrl; + + public static final String SERIALIZED_NAME_PAGERDUTY_INCIDENT_ID = "pagerduty_incident_id"; + @SerializedName(SERIALIZED_NAME_PAGERDUTY_INCIDENT_ID) + @javax.annotation.Nullable + private String pagerdutyIncidentId; + + public static final String SERIALIZED_NAME_PAGERDUTY_INCIDENT_NUMBER = "pagerduty_incident_number"; + @SerializedName(SERIALIZED_NAME_PAGERDUTY_INCIDENT_NUMBER) + @javax.annotation.Nullable + private String pagerdutyIncidentNumber; + + public static final String SERIALIZED_NAME_PAGERDUTY_INCIDENT_URL = "pagerduty_incident_url"; + @SerializedName(SERIALIZED_NAME_PAGERDUTY_INCIDENT_URL) + @javax.annotation.Nullable + private String pagerdutyIncidentUrl; + + public static final String SERIALIZED_NAME_OPSGENIE_INCIDENT_ID = "opsgenie_incident_id"; + @SerializedName(SERIALIZED_NAME_OPSGENIE_INCIDENT_ID) + @javax.annotation.Nullable + private String opsgenieIncidentId; + + public static final String SERIALIZED_NAME_OPSGENIE_INCIDENT_URL = "opsgenie_incident_url"; + @SerializedName(SERIALIZED_NAME_OPSGENIE_INCIDENT_URL) + @javax.annotation.Nullable + private String opsgenieIncidentUrl; + + public static final String SERIALIZED_NAME_OPSGENIE_ALERT_ID = "opsgenie_alert_id"; + @SerializedName(SERIALIZED_NAME_OPSGENIE_ALERT_ID) + @javax.annotation.Nullable + private String opsgenieAlertId; + + public static final String SERIALIZED_NAME_OPSGENIE_ALERT_URL = "opsgenie_alert_url"; + @SerializedName(SERIALIZED_NAME_OPSGENIE_ALERT_URL) + @javax.annotation.Nullable + private String opsgenieAlertUrl; + + public static final String SERIALIZED_NAME_SERVICE_NOW_INCIDENT_ID = "service_now_incident_id"; + @SerializedName(SERIALIZED_NAME_SERVICE_NOW_INCIDENT_ID) + @javax.annotation.Nullable + private String serviceNowIncidentId; + + public static final String SERIALIZED_NAME_SERVICE_NOW_INCIDENT_KEY = "service_now_incident_key"; + @SerializedName(SERIALIZED_NAME_SERVICE_NOW_INCIDENT_KEY) + @javax.annotation.Nullable + private String serviceNowIncidentKey; + + public static final String SERIALIZED_NAME_SERVICE_NOW_INCIDENT_URL = "service_now_incident_url"; + @SerializedName(SERIALIZED_NAME_SERVICE_NOW_INCIDENT_URL) + @javax.annotation.Nullable + private String serviceNowIncidentUrl; + + public static final String SERIALIZED_NAME_MATTERMOST_CHANNEL_ID = "mattermost_channel_id"; + @SerializedName(SERIALIZED_NAME_MATTERMOST_CHANNEL_ID) + @javax.annotation.Nullable + private String mattermostChannelId; + + public static final String SERIALIZED_NAME_MATTERMOST_CHANNEL_NAME = "mattermost_channel_name"; + @SerializedName(SERIALIZED_NAME_MATTERMOST_CHANNEL_NAME) + @javax.annotation.Nullable + private String mattermostChannelName; + + public static final String SERIALIZED_NAME_MATTERMOST_CHANNEL_URL = "mattermost_channel_url"; + @SerializedName(SERIALIZED_NAME_MATTERMOST_CHANNEL_URL) + @javax.annotation.Nullable + private String mattermostChannelUrl; + + public static final String SERIALIZED_NAME_CONFLUENCE_PAGE_ID = "confluence_page_id"; + @SerializedName(SERIALIZED_NAME_CONFLUENCE_PAGE_ID) + @javax.annotation.Nullable + private String confluencePageId; + + public static final String SERIALIZED_NAME_CONFLUENCE_PAGE_URL = "confluence_page_url"; + @SerializedName(SERIALIZED_NAME_CONFLUENCE_PAGE_URL) + @javax.annotation.Nullable + private String confluencePageUrl; + + public static final String SERIALIZED_NAME_DATADOG_NOTEBOOK_ID = "datadog_notebook_id"; + @SerializedName(SERIALIZED_NAME_DATADOG_NOTEBOOK_ID) + @javax.annotation.Nullable + private String datadogNotebookId; + + public static final String SERIALIZED_NAME_DATADOG_NOTEBOOK_URL = "datadog_notebook_url"; + @SerializedName(SERIALIZED_NAME_DATADOG_NOTEBOOK_URL) + @javax.annotation.Nullable + private String datadogNotebookUrl; + + public static final String SERIALIZED_NAME_SHORTCUT_STORY_ID = "shortcut_story_id"; + @SerializedName(SERIALIZED_NAME_SHORTCUT_STORY_ID) + @javax.annotation.Nullable + private String shortcutStoryId; + + public static final String SERIALIZED_NAME_SHORTCUT_STORY_URL = "shortcut_story_url"; + @SerializedName(SERIALIZED_NAME_SHORTCUT_STORY_URL) + @javax.annotation.Nullable + private String shortcutStoryUrl; + + public static final String SERIALIZED_NAME_SHORTCUT_TASK_ID = "shortcut_task_id"; + @SerializedName(SERIALIZED_NAME_SHORTCUT_TASK_ID) + @javax.annotation.Nullable + private String shortcutTaskId; + + public static final String SERIALIZED_NAME_SHORTCUT_TASK_URL = "shortcut_task_url"; + @SerializedName(SERIALIZED_NAME_SHORTCUT_TASK_URL) + @javax.annotation.Nullable + private String shortcutTaskUrl; + + public static final String SERIALIZED_NAME_MOTION_TASK_ID = "motion_task_id"; + @SerializedName(SERIALIZED_NAME_MOTION_TASK_ID) + @javax.annotation.Nullable + private String motionTaskId; + + public static final String SERIALIZED_NAME_MOTION_TASK_URL = "motion_task_url"; + @SerializedName(SERIALIZED_NAME_MOTION_TASK_URL) + @javax.annotation.Nullable + private String motionTaskUrl; + + public static final String SERIALIZED_NAME_CLICKUP_TASK_ID = "clickup_task_id"; + @SerializedName(SERIALIZED_NAME_CLICKUP_TASK_ID) + @javax.annotation.Nullable + private String clickupTaskId; + + public static final String SERIALIZED_NAME_CLICKUP_TASK_URL = "clickup_task_url"; + @SerializedName(SERIALIZED_NAME_CLICKUP_TASK_URL) + @javax.annotation.Nullable + private String clickupTaskUrl; + + public static final String SERIALIZED_NAME_VICTOR_OPS_INCIDENT_ID = "victor_ops_incident_id"; + @SerializedName(SERIALIZED_NAME_VICTOR_OPS_INCIDENT_ID) + @javax.annotation.Nullable + private String victorOpsIncidentId; + + public static final String SERIALIZED_NAME_VICTOR_OPS_INCIDENT_URL = "victor_ops_incident_url"; + @SerializedName(SERIALIZED_NAME_VICTOR_OPS_INCIDENT_URL) + @javax.annotation.Nullable + private String victorOpsIncidentUrl; + + public static final String SERIALIZED_NAME_QUIP_PAGE_ID = "quip_page_id"; + @SerializedName(SERIALIZED_NAME_QUIP_PAGE_ID) + @javax.annotation.Nullable + private String quipPageId; + + public static final String SERIALIZED_NAME_QUIP_PAGE_URL = "quip_page_url"; + @SerializedName(SERIALIZED_NAME_QUIP_PAGE_URL) + @javax.annotation.Nullable + private String quipPageUrl; + + public static final String SERIALIZED_NAME_SHAREPOINT_PAGE_ID = "sharepoint_page_id"; + @SerializedName(SERIALIZED_NAME_SHAREPOINT_PAGE_ID) + @javax.annotation.Nullable + private String sharepointPageId; + + public static final String SERIALIZED_NAME_SHAREPOINT_PAGE_URL = "sharepoint_page_url"; + @SerializedName(SERIALIZED_NAME_SHAREPOINT_PAGE_URL) + @javax.annotation.Nullable + private String sharepointPageUrl; + + public static final String SERIALIZED_NAME_AIRTABLE_BASE_KEY = "airtable_base_key"; + @SerializedName(SERIALIZED_NAME_AIRTABLE_BASE_KEY) + @javax.annotation.Nullable + private String airtableBaseKey; + + public static final String SERIALIZED_NAME_AIRTABLE_TABLE_NAME = "airtable_table_name"; + @SerializedName(SERIALIZED_NAME_AIRTABLE_TABLE_NAME) + @javax.annotation.Nullable + private String airtableTableName; + + public static final String SERIALIZED_NAME_AIRTABLE_RECORD_ID = "airtable_record_id"; + @SerializedName(SERIALIZED_NAME_AIRTABLE_RECORD_ID) + @javax.annotation.Nullable + private String airtableRecordId; + + public static final String SERIALIZED_NAME_AIRTABLE_RECORD_URL = "airtable_record_url"; + @SerializedName(SERIALIZED_NAME_AIRTABLE_RECORD_URL) + @javax.annotation.Nullable + private String airtableRecordUrl; + + public static final String SERIALIZED_NAME_FRESHSERVICE_TICKET_ID = "freshservice_ticket_id"; + @SerializedName(SERIALIZED_NAME_FRESHSERVICE_TICKET_ID) + @javax.annotation.Nullable + private String freshserviceTicketId; + + public static final String SERIALIZED_NAME_FRESHSERVICE_TICKET_URL = "freshservice_ticket_url"; + @SerializedName(SERIALIZED_NAME_FRESHSERVICE_TICKET_URL) + @javax.annotation.Nullable + private String freshserviceTicketUrl; + + public static final String SERIALIZED_NAME_FRESHSERVICE_TASK_ID = "freshservice_task_id"; + @SerializedName(SERIALIZED_NAME_FRESHSERVICE_TASK_ID) + @javax.annotation.Nullable + private String freshserviceTaskId; + + public static final String SERIALIZED_NAME_FRESHSERVICE_TASK_URL = "freshservice_task_url"; + @SerializedName(SERIALIZED_NAME_FRESHSERVICE_TASK_URL) + @javax.annotation.Nullable + private String freshserviceTaskUrl; + public static final String SERIALIZED_NAME_MITIGATION_MESSAGE = "mitigation_message"; @SerializedName(SERIALIZED_NAME_MITIGATION_MESSAGE) @javax.annotation.Nullable @@ -169,6 +560,11 @@ public class Incident { @javax.annotation.Nullable private String scheduledUntil; + public static final String SERIALIZED_NAME_MUTED_SERVICE_IDS = "muted_service_ids"; + @SerializedName(SERIALIZED_NAME_MUTED_SERVICE_IDS) + @javax.annotation.Nullable + private List mutedServiceIds; + /** * The status of the retrospective progress */ @@ -230,6 +626,36 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private RetrospectiveProgressStatusEnum retrospectiveProgressStatus; + public static final String SERIALIZED_NAME_IN_TRIAGE_BY = "in_triage_by"; + @SerializedName(SERIALIZED_NAME_IN_TRIAGE_BY) + @javax.annotation.Nullable + private Object inTriageBy; + + public static final String SERIALIZED_NAME_STARTED_BY = "started_by"; + @SerializedName(SERIALIZED_NAME_STARTED_BY) + @javax.annotation.Nullable + private Object startedBy; + + public static final String SERIALIZED_NAME_MITIGATED_BY = "mitigated_by"; + @SerializedName(SERIALIZED_NAME_MITIGATED_BY) + @javax.annotation.Nullable + private Object mitigatedBy; + + public static final String SERIALIZED_NAME_RESOLVED_BY = "resolved_by"; + @SerializedName(SERIALIZED_NAME_RESOLVED_BY) + @javax.annotation.Nullable + private Object resolvedBy; + + public static final String SERIALIZED_NAME_CLOSED_BY = "closed_by"; + @SerializedName(SERIALIZED_NAME_CLOSED_BY) + @javax.annotation.Nullable + private Object closedBy; + + public static final String SERIALIZED_NAME_CANCELLED_BY = "cancelled_by"; + @SerializedName(SERIALIZED_NAME_CANCELLED_BY) + @javax.annotation.Nullable + private Object cancelledBy; + public static final String SERIALIZED_NAME_IN_TRIAGE_AT = "in_triage_at"; @SerializedName(SERIALIZED_NAME_IN_TRIAGE_AT) @javax.annotation.Nullable @@ -260,6 +686,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String resolvedAt; + public static final String SERIALIZED_NAME_CLOSED_AT = "closed_at"; + @SerializedName(SERIALIZED_NAME_CLOSED_AT) + @javax.annotation.Nullable + private String closedAt; + public static final String SERIALIZED_NAME_CANCELLED_AT = "cancelled_at"; @SerializedName(SERIALIZED_NAME_CANCELLED_AT) @javax.annotation.Nullable @@ -278,6 +709,44 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public Incident() { } + public Incident id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the incident + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public Incident sequentialId(@javax.annotation.Nullable Integer sequentialId) { + this.sequentialId = sequentialId; + return this; + } + + /** + * Sequential ID of the incident + * @return sequentialId + */ + @javax.annotation.Nullable + public Integer getSequentialId() { + return sequentialId; + } + + public void setSequentialId(@javax.annotation.Nullable Integer sequentialId) { + this.sequentialId = sequentialId; + } + + public Incident title(@javax.annotation.Nonnull String title) { this.title = title; return this; @@ -316,7 +785,7 @@ public void setKind(@javax.annotation.Nullable String kind) { } - public Incident slug(@javax.annotation.Nonnull String slug) { + public Incident slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -325,12 +794,12 @@ public Incident slug(@javax.annotation.Nonnull String slug) { * The slug of the incident * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -398,7 +867,7 @@ public Incident _private(@javax.annotation.Nullable Boolean _private) { } /** - * Create an incident as private + * The visibility of the incident * @return _private */ @javax.annotation.Nullable @@ -411,233 +880,1685 @@ public void setPrivate(@javax.annotation.Nullable Boolean _private) { } - public Incident severity(@javax.annotation.Nullable SeverityResponse severity) { - this.severity = severity; + public Incident source(@javax.annotation.Nullable String source) { + this.source = source; return this; } /** - * The Severity of the incident - * @return severity + * The source of the incident + * @return source */ @javax.annotation.Nullable - public SeverityResponse getSeverity() { - return severity; + public String getSource() { + return source; } - public void setSeverity(@javax.annotation.Nullable SeverityResponse severity) { - this.severity = severity; + public void setSource(@javax.annotation.Nullable String source) { + this.source = source; } - public Incident environments(@javax.annotation.Nullable List environments) { - this.environments = environments; + public Incident status(@javax.annotation.Nullable String status) { + this.status = status; return this; } - public Incident addEnvironmentsItem(EnvironmentResponse environmentsItem) { - if (this.environments == null) { - this.environments = new ArrayList<>(); - } - this.environments.add(environmentsItem); + /** + * The status of the incident + * @return status + */ + @javax.annotation.Nullable + public String getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable String status) { + this.status = status; + } + + + public Incident url(@javax.annotation.Nullable String url) { + this.url = url; return this; } /** - * The Environments of the incident - * @return environments + * The url to the incident + * @return url */ @javax.annotation.Nullable - public List getEnvironments() { - return environments; + public String getUrl() { + return url; } - public void setEnvironments(@javax.annotation.Nullable List environments) { - this.environments = environments; + public void setUrl(@javax.annotation.Nullable String url) { + this.url = url; } - public Incident incidentTypes(@javax.annotation.Nullable List incidentTypes) { - this.incidentTypes = incidentTypes; + public Incident shortUrl(@javax.annotation.Nullable String shortUrl) { + this.shortUrl = shortUrl; return this; } - public Incident addIncidentTypesItem(IncidentTypeResponse incidentTypesItem) { - if (this.incidentTypes == null) { - this.incidentTypes = new ArrayList<>(); - } - this.incidentTypes.add(incidentTypesItem); + /** + * The short url to the incident + * @return shortUrl + */ + @javax.annotation.Nullable + public String getShortUrl() { + return shortUrl; + } + + public void setShortUrl(@javax.annotation.Nullable String shortUrl) { + this.shortUrl = shortUrl; + } + + + public Incident publicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; return this; } /** - * The Incident Types of the incident - * @return incidentTypes + * The public title of the incident + * @return publicTitle */ @javax.annotation.Nullable - public List getIncidentTypes() { - return incidentTypes; + public String getPublicTitle() { + return publicTitle; } - public void setIncidentTypes(@javax.annotation.Nullable List incidentTypes) { - this.incidentTypes = incidentTypes; + public void setPublicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; } - public Incident services(@javax.annotation.Nullable List services) { - this.services = services; + public Incident user(@javax.annotation.Nullable Object user) { + this.user = user; return this; } - public Incident addServicesItem(ServiceResponse servicesItem) { - if (this.services == null) { - this.services = new ArrayList<>(); - } - this.services.add(servicesItem); + /** + * The user who created the incident + * @return user + */ + @javax.annotation.Nullable + public Object getUser() { + return user; + } + + public void setUser(@javax.annotation.Nullable Object user) { + this.user = user; + } + + + public Incident severity(@javax.annotation.Nullable SeverityResponse severity) { + this.severity = severity; + return this; + } + + /** + * The Severity of the incident + * @return severity + */ + @javax.annotation.Nullable + public SeverityResponse getSeverity() { + return severity; + } + + public void setSeverity(@javax.annotation.Nullable SeverityResponse severity) { + this.severity = severity; + } + + + public Incident environments(@javax.annotation.Nullable List environments) { + this.environments = environments; + return this; + } + + public Incident addEnvironmentsItem(EnvironmentResponse environmentsItem) { + if (this.environments == null) { + this.environments = new ArrayList<>(); + } + this.environments.add(environmentsItem); + return this; + } + + /** + * The Environments of the incident + * @return environments + */ + @javax.annotation.Nullable + public List getEnvironments() { + return environments; + } + + public void setEnvironments(@javax.annotation.Nullable List environments) { + this.environments = environments; + } + + + public Incident incidentTypes(@javax.annotation.Nullable List incidentTypes) { + this.incidentTypes = incidentTypes; + return this; + } + + public Incident addIncidentTypesItem(IncidentTypeResponse incidentTypesItem) { + if (this.incidentTypes == null) { + this.incidentTypes = new ArrayList<>(); + } + this.incidentTypes.add(incidentTypesItem); + return this; + } + + /** + * The Incident Types of the incident + * @return incidentTypes + */ + @javax.annotation.Nullable + public List getIncidentTypes() { + return incidentTypes; + } + + public void setIncidentTypes(@javax.annotation.Nullable List incidentTypes) { + this.incidentTypes = incidentTypes; + } + + + public Incident services(@javax.annotation.Nullable List services) { + this.services = services; + return this; + } + + public Incident addServicesItem(ServiceResponse servicesItem) { + if (this.services == null) { + this.services = new ArrayList<>(); + } + this.services.add(servicesItem); + return this; + } + + /** + * The Services of the incident + * @return services + */ + @javax.annotation.Nullable + public List getServices() { + return services; + } + + public void setServices(@javax.annotation.Nullable List services) { + this.services = services; + } + + + public Incident functionalities(@javax.annotation.Nullable List functionalities) { + this.functionalities = functionalities; + return this; + } + + public Incident addFunctionalitiesItem(FunctionalityResponse functionalitiesItem) { + if (this.functionalities == null) { + this.functionalities = new ArrayList<>(); + } + this.functionalities.add(functionalitiesItem); + return this; + } + + /** + * The Functionalities of the incident + * @return functionalities + */ + @javax.annotation.Nullable + public List getFunctionalities() { + return functionalities; + } + + public void setFunctionalities(@javax.annotation.Nullable List functionalities) { + this.functionalities = functionalities; + } + + + public Incident groups(@javax.annotation.Nullable List groups) { + this.groups = groups; + return this; + } + + public Incident addGroupsItem(TeamResponse groupsItem) { + if (this.groups == null) { + this.groups = new ArrayList<>(); + } + this.groups.add(groupsItem); + return this; + } + + /** + * The Teams of to the incident + * @return groups + */ + @javax.annotation.Nullable + public List getGroups() { + return groups; + } + + public void setGroups(@javax.annotation.Nullable List groups) { + this.groups = groups; + } + + + public Incident labels(@javax.annotation.Nullable Object labels) { + this.labels = labels; + return this; + } + + /** + * Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"} + * @return labels + */ + @javax.annotation.Nullable + public Object getLabels() { + return labels; + } + + public void setLabels(@javax.annotation.Nullable Object labels) { + this.labels = labels; + } + + + public Incident slackChannelId(@javax.annotation.Nullable String slackChannelId) { + this.slackChannelId = slackChannelId; + return this; + } + + /** + * Slack channel id + * @return slackChannelId + */ + @javax.annotation.Nullable + public String getSlackChannelId() { + return slackChannelId; + } + + public void setSlackChannelId(@javax.annotation.Nullable String slackChannelId) { + this.slackChannelId = slackChannelId; + } + + + public Incident slackChannelName(@javax.annotation.Nullable String slackChannelName) { + this.slackChannelName = slackChannelName; + return this; + } + + /** + * Slack channel name + * @return slackChannelName + */ + @javax.annotation.Nullable + public String getSlackChannelName() { + return slackChannelName; + } + + public void setSlackChannelName(@javax.annotation.Nullable String slackChannelName) { + this.slackChannelName = slackChannelName; + } + + + public Incident slackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { + this.slackChannelUrl = slackChannelUrl; + return this; + } + + /** + * Slack channel url + * @return slackChannelUrl + */ + @javax.annotation.Nullable + public String getSlackChannelUrl() { + return slackChannelUrl; + } + + public void setSlackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { + this.slackChannelUrl = slackChannelUrl; + } + + + public Incident slackChannelShortUrl(@javax.annotation.Nullable String slackChannelShortUrl) { + this.slackChannelShortUrl = slackChannelShortUrl; + return this; + } + + /** + * Slack channel short url + * @return slackChannelShortUrl + */ + @javax.annotation.Nullable + public String getSlackChannelShortUrl() { + return slackChannelShortUrl; + } + + public void setSlackChannelShortUrl(@javax.annotation.Nullable String slackChannelShortUrl) { + this.slackChannelShortUrl = slackChannelShortUrl; + } + + + public Incident slackChannelDeepLink(@javax.annotation.Nullable String slackChannelDeepLink) { + this.slackChannelDeepLink = slackChannelDeepLink; + return this; + } + + /** + * Slack channel deep link + * @return slackChannelDeepLink + */ + @javax.annotation.Nullable + public String getSlackChannelDeepLink() { + return slackChannelDeepLink; + } + + public void setSlackChannelDeepLink(@javax.annotation.Nullable String slackChannelDeepLink) { + this.slackChannelDeepLink = slackChannelDeepLink; + } + + + public Incident slackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + return this; + } + + /** + * Whether the Slack channel is archived + * @return slackChannelArchived + */ + @javax.annotation.Nullable + public Boolean getSlackChannelArchived() { + return slackChannelArchived; + } + + public void setSlackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + } + + + public Incident slackLastMessageTs(@javax.annotation.Nullable String slackLastMessageTs) { + this.slackLastMessageTs = slackLastMessageTs; + return this; + } + + /** + * Timestamp of last Slack message + * @return slackLastMessageTs + */ + @javax.annotation.Nullable + public String getSlackLastMessageTs() { + return slackLastMessageTs; + } + + public void setSlackLastMessageTs(@javax.annotation.Nullable String slackLastMessageTs) { + this.slackLastMessageTs = slackLastMessageTs; + } + + + public Incident zoomMeetingId(@javax.annotation.Nullable String zoomMeetingId) { + this.zoomMeetingId = zoomMeetingId; + return this; + } + + /** + * Zoom meeting ID + * @return zoomMeetingId + */ + @javax.annotation.Nullable + public String getZoomMeetingId() { + return zoomMeetingId; + } + + public void setZoomMeetingId(@javax.annotation.Nullable String zoomMeetingId) { + this.zoomMeetingId = zoomMeetingId; + } + + + public Incident zoomMeetingStartUrl(@javax.annotation.Nullable String zoomMeetingStartUrl) { + this.zoomMeetingStartUrl = zoomMeetingStartUrl; + return this; + } + + /** + * Zoom meeting start URL + * @return zoomMeetingStartUrl + */ + @javax.annotation.Nullable + public String getZoomMeetingStartUrl() { + return zoomMeetingStartUrl; + } + + public void setZoomMeetingStartUrl(@javax.annotation.Nullable String zoomMeetingStartUrl) { + this.zoomMeetingStartUrl = zoomMeetingStartUrl; + } + + + public Incident zoomMeetingJoinUrl(@javax.annotation.Nullable String zoomMeetingJoinUrl) { + this.zoomMeetingJoinUrl = zoomMeetingJoinUrl; + return this; + } + + /** + * Zoom meeting join URL + * @return zoomMeetingJoinUrl + */ + @javax.annotation.Nullable + public String getZoomMeetingJoinUrl() { + return zoomMeetingJoinUrl; + } + + public void setZoomMeetingJoinUrl(@javax.annotation.Nullable String zoomMeetingJoinUrl) { + this.zoomMeetingJoinUrl = zoomMeetingJoinUrl; + } + + + public Incident zoomMeetingPassword(@javax.annotation.Nullable String zoomMeetingPassword) { + this.zoomMeetingPassword = zoomMeetingPassword; + return this; + } + + /** + * Zoom meeting password + * @return zoomMeetingPassword + */ + @javax.annotation.Nullable + public String getZoomMeetingPassword() { + return zoomMeetingPassword; + } + + public void setZoomMeetingPassword(@javax.annotation.Nullable String zoomMeetingPassword) { + this.zoomMeetingPassword = zoomMeetingPassword; + } + + + public Incident zoomMeetingPstnPassword(@javax.annotation.Nullable String zoomMeetingPstnPassword) { + this.zoomMeetingPstnPassword = zoomMeetingPstnPassword; + return this; + } + + /** + * Zoom meeting PSTN password + * @return zoomMeetingPstnPassword + */ + @javax.annotation.Nullable + public String getZoomMeetingPstnPassword() { + return zoomMeetingPstnPassword; + } + + public void setZoomMeetingPstnPassword(@javax.annotation.Nullable String zoomMeetingPstnPassword) { + this.zoomMeetingPstnPassword = zoomMeetingPstnPassword; + } + + + public Incident zoomMeetingH323Password(@javax.annotation.Nullable String zoomMeetingH323Password) { + this.zoomMeetingH323Password = zoomMeetingH323Password; + return this; + } + + /** + * Zoom meeting H323 password + * @return zoomMeetingH323Password + */ + @javax.annotation.Nullable + public String getZoomMeetingH323Password() { + return zoomMeetingH323Password; + } + + public void setZoomMeetingH323Password(@javax.annotation.Nullable String zoomMeetingH323Password) { + this.zoomMeetingH323Password = zoomMeetingH323Password; + } + + + public Incident zoomMeetingGlobalDialInNumbers(@javax.annotation.Nullable List zoomMeetingGlobalDialInNumbers) { + this.zoomMeetingGlobalDialInNumbers = zoomMeetingGlobalDialInNumbers; + return this; + } + + public Incident addZoomMeetingGlobalDialInNumbersItem(IncidentZoomMeetingGlobalDialInNumbersInner zoomMeetingGlobalDialInNumbersItem) { + if (this.zoomMeetingGlobalDialInNumbers == null) { + this.zoomMeetingGlobalDialInNumbers = new ArrayList<>(); + } + this.zoomMeetingGlobalDialInNumbers.add(zoomMeetingGlobalDialInNumbersItem); + return this; + } + + /** + * Zoom meeting global dial-in numbers + * @return zoomMeetingGlobalDialInNumbers + */ + @javax.annotation.Nullable + public List getZoomMeetingGlobalDialInNumbers() { + return zoomMeetingGlobalDialInNumbers; + } + + public void setZoomMeetingGlobalDialInNumbers(@javax.annotation.Nullable List zoomMeetingGlobalDialInNumbers) { + this.zoomMeetingGlobalDialInNumbers = zoomMeetingGlobalDialInNumbers; + } + + + public Incident googleDriveId(@javax.annotation.Nullable String googleDriveId) { + this.googleDriveId = googleDriveId; + return this; + } + + /** + * Google Drive document ID + * @return googleDriveId + */ + @javax.annotation.Nullable + public String getGoogleDriveId() { + return googleDriveId; + } + + public void setGoogleDriveId(@javax.annotation.Nullable String googleDriveId) { + this.googleDriveId = googleDriveId; + } + + + public Incident googleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + return this; + } + + /** + * Google Drive parent folder ID + * @return googleDriveParentId + */ + @javax.annotation.Nullable + public String getGoogleDriveParentId() { + return googleDriveParentId; + } + + public void setGoogleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + } + + + public Incident googleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + return this; + } + + /** + * Google Drive URL + * @return googleDriveUrl + */ + @javax.annotation.Nullable + public String getGoogleDriveUrl() { + return googleDriveUrl; + } + + public void setGoogleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + } + + + public Incident googleMeetingId(@javax.annotation.Nullable String googleMeetingId) { + this.googleMeetingId = googleMeetingId; + return this; + } + + /** + * Google meeting ID + * @return googleMeetingId + */ + @javax.annotation.Nullable + public String getGoogleMeetingId() { + return googleMeetingId; + } + + public void setGoogleMeetingId(@javax.annotation.Nullable String googleMeetingId) { + this.googleMeetingId = googleMeetingId; + } + + + public Incident googleMeetingUrl(@javax.annotation.Nullable String googleMeetingUrl) { + this.googleMeetingUrl = googleMeetingUrl; + return this; + } + + /** + * Google meeting URL + * @return googleMeetingUrl + */ + @javax.annotation.Nullable + public String getGoogleMeetingUrl() { + return googleMeetingUrl; + } + + public void setGoogleMeetingUrl(@javax.annotation.Nullable String googleMeetingUrl) { + this.googleMeetingUrl = googleMeetingUrl; + } + + + public Incident jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * Jira issue key + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + + public Incident jiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + return this; + } + + /** + * Jira issue ID + * @return jiraIssueId + */ + @javax.annotation.Nullable + public String getJiraIssueId() { + return jiraIssueId; + } + + public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + } + + + public Incident jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * Jira issue URL + * @return jiraIssueUrl + */ + @javax.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + + public Incident githubIssueId(@javax.annotation.Nullable String githubIssueId) { + this.githubIssueId = githubIssueId; + return this; + } + + /** + * GitHub issue ID + * @return githubIssueId + */ + @javax.annotation.Nullable + public String getGithubIssueId() { + return githubIssueId; + } + + public void setGithubIssueId(@javax.annotation.Nullable String githubIssueId) { + this.githubIssueId = githubIssueId; + } + + + public Incident githubIssueUrl(@javax.annotation.Nullable String githubIssueUrl) { + this.githubIssueUrl = githubIssueUrl; + return this; + } + + /** + * GitHub issue URL + * @return githubIssueUrl + */ + @javax.annotation.Nullable + public String getGithubIssueUrl() { + return githubIssueUrl; + } + + public void setGithubIssueUrl(@javax.annotation.Nullable String githubIssueUrl) { + this.githubIssueUrl = githubIssueUrl; + } + + + public Incident gitlabIssueId(@javax.annotation.Nullable String gitlabIssueId) { + this.gitlabIssueId = gitlabIssueId; + return this; + } + + /** + * GitLab issue ID + * @return gitlabIssueId + */ + @javax.annotation.Nullable + public String getGitlabIssueId() { + return gitlabIssueId; + } + + public void setGitlabIssueId(@javax.annotation.Nullable String gitlabIssueId) { + this.gitlabIssueId = gitlabIssueId; + } + + + public Incident gitlabIssueUrl(@javax.annotation.Nullable String gitlabIssueUrl) { + this.gitlabIssueUrl = gitlabIssueUrl; + return this; + } + + /** + * GitLab issue URL + * @return gitlabIssueUrl + */ + @javax.annotation.Nullable + public String getGitlabIssueUrl() { + return gitlabIssueUrl; + } + + public void setGitlabIssueUrl(@javax.annotation.Nullable String gitlabIssueUrl) { + this.gitlabIssueUrl = gitlabIssueUrl; + } + + + public Incident asanaTaskId(@javax.annotation.Nullable String asanaTaskId) { + this.asanaTaskId = asanaTaskId; + return this; + } + + /** + * Asana task ID + * @return asanaTaskId + */ + @javax.annotation.Nullable + public String getAsanaTaskId() { + return asanaTaskId; + } + + public void setAsanaTaskId(@javax.annotation.Nullable String asanaTaskId) { + this.asanaTaskId = asanaTaskId; + } + + + public Incident asanaTaskUrl(@javax.annotation.Nullable String asanaTaskUrl) { + this.asanaTaskUrl = asanaTaskUrl; + return this; + } + + /** + * Asana task URL + * @return asanaTaskUrl + */ + @javax.annotation.Nullable + public String getAsanaTaskUrl() { + return asanaTaskUrl; + } + + public void setAsanaTaskUrl(@javax.annotation.Nullable String asanaTaskUrl) { + this.asanaTaskUrl = asanaTaskUrl; + } + + + public Incident linearIssueId(@javax.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + return this; + } + + /** + * Linear issue ID + * @return linearIssueId + */ + @javax.annotation.Nullable + public String getLinearIssueId() { + return linearIssueId; + } + + public void setLinearIssueId(@javax.annotation.Nullable String linearIssueId) { + this.linearIssueId = linearIssueId; + } + + + public Incident linearIssueUrl(@javax.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + return this; + } + + /** + * Linear issue URL + * @return linearIssueUrl + */ + @javax.annotation.Nullable + public String getLinearIssueUrl() { + return linearIssueUrl; + } + + public void setLinearIssueUrl(@javax.annotation.Nullable String linearIssueUrl) { + this.linearIssueUrl = linearIssueUrl; + } + + + public Incident trelloCardId(@javax.annotation.Nullable String trelloCardId) { + this.trelloCardId = trelloCardId; + return this; + } + + /** + * Trello card ID + * @return trelloCardId + */ + @javax.annotation.Nullable + public String getTrelloCardId() { + return trelloCardId; + } + + public void setTrelloCardId(@javax.annotation.Nullable String trelloCardId) { + this.trelloCardId = trelloCardId; + } + + + public Incident trelloCardUrl(@javax.annotation.Nullable String trelloCardUrl) { + this.trelloCardUrl = trelloCardUrl; + return this; + } + + /** + * Trello card URL + * @return trelloCardUrl + */ + @javax.annotation.Nullable + public String getTrelloCardUrl() { + return trelloCardUrl; + } + + public void setTrelloCardUrl(@javax.annotation.Nullable String trelloCardUrl) { + this.trelloCardUrl = trelloCardUrl; + } + + + public Incident zendeskTicketId(@javax.annotation.Nullable String zendeskTicketId) { + this.zendeskTicketId = zendeskTicketId; + return this; + } + + /** + * Zendesk ticket ID + * @return zendeskTicketId + */ + @javax.annotation.Nullable + public String getZendeskTicketId() { + return zendeskTicketId; + } + + public void setZendeskTicketId(@javax.annotation.Nullable String zendeskTicketId) { + this.zendeskTicketId = zendeskTicketId; + } + + + public Incident zendeskTicketUrl(@javax.annotation.Nullable String zendeskTicketUrl) { + this.zendeskTicketUrl = zendeskTicketUrl; + return this; + } + + /** + * Zendesk ticket URL + * @return zendeskTicketUrl + */ + @javax.annotation.Nullable + public String getZendeskTicketUrl() { + return zendeskTicketUrl; + } + + public void setZendeskTicketUrl(@javax.annotation.Nullable String zendeskTicketUrl) { + this.zendeskTicketUrl = zendeskTicketUrl; + } + + + public Incident pagerdutyIncidentId(@javax.annotation.Nullable String pagerdutyIncidentId) { + this.pagerdutyIncidentId = pagerdutyIncidentId; + return this; + } + + /** + * PagerDuty incident ID + * @return pagerdutyIncidentId + */ + @javax.annotation.Nullable + public String getPagerdutyIncidentId() { + return pagerdutyIncidentId; + } + + public void setPagerdutyIncidentId(@javax.annotation.Nullable String pagerdutyIncidentId) { + this.pagerdutyIncidentId = pagerdutyIncidentId; + } + + + public Incident pagerdutyIncidentNumber(@javax.annotation.Nullable String pagerdutyIncidentNumber) { + this.pagerdutyIncidentNumber = pagerdutyIncidentNumber; + return this; + } + + /** + * PagerDuty incident number + * @return pagerdutyIncidentNumber + */ + @javax.annotation.Nullable + public String getPagerdutyIncidentNumber() { + return pagerdutyIncidentNumber; + } + + public void setPagerdutyIncidentNumber(@javax.annotation.Nullable String pagerdutyIncidentNumber) { + this.pagerdutyIncidentNumber = pagerdutyIncidentNumber; + } + + + public Incident pagerdutyIncidentUrl(@javax.annotation.Nullable String pagerdutyIncidentUrl) { + this.pagerdutyIncidentUrl = pagerdutyIncidentUrl; + return this; + } + + /** + * PagerDuty incident URL + * @return pagerdutyIncidentUrl + */ + @javax.annotation.Nullable + public String getPagerdutyIncidentUrl() { + return pagerdutyIncidentUrl; + } + + public void setPagerdutyIncidentUrl(@javax.annotation.Nullable String pagerdutyIncidentUrl) { + this.pagerdutyIncidentUrl = pagerdutyIncidentUrl; + } + + + public Incident opsgenieIncidentId(@javax.annotation.Nullable String opsgenieIncidentId) { + this.opsgenieIncidentId = opsgenieIncidentId; + return this; + } + + /** + * Opsgenie incident ID + * @return opsgenieIncidentId + */ + @javax.annotation.Nullable + public String getOpsgenieIncidentId() { + return opsgenieIncidentId; + } + + public void setOpsgenieIncidentId(@javax.annotation.Nullable String opsgenieIncidentId) { + this.opsgenieIncidentId = opsgenieIncidentId; + } + + + public Incident opsgenieIncidentUrl(@javax.annotation.Nullable String opsgenieIncidentUrl) { + this.opsgenieIncidentUrl = opsgenieIncidentUrl; + return this; + } + + /** + * Opsgenie incident URL + * @return opsgenieIncidentUrl + */ + @javax.annotation.Nullable + public String getOpsgenieIncidentUrl() { + return opsgenieIncidentUrl; + } + + public void setOpsgenieIncidentUrl(@javax.annotation.Nullable String opsgenieIncidentUrl) { + this.opsgenieIncidentUrl = opsgenieIncidentUrl; + } + + + public Incident opsgenieAlertId(@javax.annotation.Nullable String opsgenieAlertId) { + this.opsgenieAlertId = opsgenieAlertId; + return this; + } + + /** + * Opsgenie alert ID + * @return opsgenieAlertId + */ + @javax.annotation.Nullable + public String getOpsgenieAlertId() { + return opsgenieAlertId; + } + + public void setOpsgenieAlertId(@javax.annotation.Nullable String opsgenieAlertId) { + this.opsgenieAlertId = opsgenieAlertId; + } + + + public Incident opsgenieAlertUrl(@javax.annotation.Nullable String opsgenieAlertUrl) { + this.opsgenieAlertUrl = opsgenieAlertUrl; + return this; + } + + /** + * Opsgenie alert URL + * @return opsgenieAlertUrl + */ + @javax.annotation.Nullable + public String getOpsgenieAlertUrl() { + return opsgenieAlertUrl; + } + + public void setOpsgenieAlertUrl(@javax.annotation.Nullable String opsgenieAlertUrl) { + this.opsgenieAlertUrl = opsgenieAlertUrl; + } + + + public Incident serviceNowIncidentId(@javax.annotation.Nullable String serviceNowIncidentId) { + this.serviceNowIncidentId = serviceNowIncidentId; + return this; + } + + /** + * ServiceNow incident ID + * @return serviceNowIncidentId + */ + @javax.annotation.Nullable + public String getServiceNowIncidentId() { + return serviceNowIncidentId; + } + + public void setServiceNowIncidentId(@javax.annotation.Nullable String serviceNowIncidentId) { + this.serviceNowIncidentId = serviceNowIncidentId; + } + + + public Incident serviceNowIncidentKey(@javax.annotation.Nullable String serviceNowIncidentKey) { + this.serviceNowIncidentKey = serviceNowIncidentKey; + return this; + } + + /** + * ServiceNow incident key + * @return serviceNowIncidentKey + */ + @javax.annotation.Nullable + public String getServiceNowIncidentKey() { + return serviceNowIncidentKey; + } + + public void setServiceNowIncidentKey(@javax.annotation.Nullable String serviceNowIncidentKey) { + this.serviceNowIncidentKey = serviceNowIncidentKey; + } + + + public Incident serviceNowIncidentUrl(@javax.annotation.Nullable String serviceNowIncidentUrl) { + this.serviceNowIncidentUrl = serviceNowIncidentUrl; + return this; + } + + /** + * ServiceNow incident URL + * @return serviceNowIncidentUrl + */ + @javax.annotation.Nullable + public String getServiceNowIncidentUrl() { + return serviceNowIncidentUrl; + } + + public void setServiceNowIncidentUrl(@javax.annotation.Nullable String serviceNowIncidentUrl) { + this.serviceNowIncidentUrl = serviceNowIncidentUrl; + } + + + public Incident mattermostChannelId(@javax.annotation.Nullable String mattermostChannelId) { + this.mattermostChannelId = mattermostChannelId; + return this; + } + + /** + * Mattermost channel ID + * @return mattermostChannelId + */ + @javax.annotation.Nullable + public String getMattermostChannelId() { + return mattermostChannelId; + } + + public void setMattermostChannelId(@javax.annotation.Nullable String mattermostChannelId) { + this.mattermostChannelId = mattermostChannelId; + } + + + public Incident mattermostChannelName(@javax.annotation.Nullable String mattermostChannelName) { + this.mattermostChannelName = mattermostChannelName; + return this; + } + + /** + * Mattermost channel name + * @return mattermostChannelName + */ + @javax.annotation.Nullable + public String getMattermostChannelName() { + return mattermostChannelName; + } + + public void setMattermostChannelName(@javax.annotation.Nullable String mattermostChannelName) { + this.mattermostChannelName = mattermostChannelName; + } + + + public Incident mattermostChannelUrl(@javax.annotation.Nullable String mattermostChannelUrl) { + this.mattermostChannelUrl = mattermostChannelUrl; + return this; + } + + /** + * Mattermost channel URL + * @return mattermostChannelUrl + */ + @javax.annotation.Nullable + public String getMattermostChannelUrl() { + return mattermostChannelUrl; + } + + public void setMattermostChannelUrl(@javax.annotation.Nullable String mattermostChannelUrl) { + this.mattermostChannelUrl = mattermostChannelUrl; + } + + + public Incident confluencePageId(@javax.annotation.Nullable String confluencePageId) { + this.confluencePageId = confluencePageId; + return this; + } + + /** + * Confluence page ID + * @return confluencePageId + */ + @javax.annotation.Nullable + public String getConfluencePageId() { + return confluencePageId; + } + + public void setConfluencePageId(@javax.annotation.Nullable String confluencePageId) { + this.confluencePageId = confluencePageId; + } + + + public Incident confluencePageUrl(@javax.annotation.Nullable String confluencePageUrl) { + this.confluencePageUrl = confluencePageUrl; + return this; + } + + /** + * Confluence page URL + * @return confluencePageUrl + */ + @javax.annotation.Nullable + public String getConfluencePageUrl() { + return confluencePageUrl; + } + + public void setConfluencePageUrl(@javax.annotation.Nullable String confluencePageUrl) { + this.confluencePageUrl = confluencePageUrl; + } + + + public Incident datadogNotebookId(@javax.annotation.Nullable String datadogNotebookId) { + this.datadogNotebookId = datadogNotebookId; + return this; + } + + /** + * Datadog notebook ID + * @return datadogNotebookId + */ + @javax.annotation.Nullable + public String getDatadogNotebookId() { + return datadogNotebookId; + } + + public void setDatadogNotebookId(@javax.annotation.Nullable String datadogNotebookId) { + this.datadogNotebookId = datadogNotebookId; + } + + + public Incident datadogNotebookUrl(@javax.annotation.Nullable String datadogNotebookUrl) { + this.datadogNotebookUrl = datadogNotebookUrl; + return this; + } + + /** + * Datadog notebook URL + * @return datadogNotebookUrl + */ + @javax.annotation.Nullable + public String getDatadogNotebookUrl() { + return datadogNotebookUrl; + } + + public void setDatadogNotebookUrl(@javax.annotation.Nullable String datadogNotebookUrl) { + this.datadogNotebookUrl = datadogNotebookUrl; + } + + + public Incident shortcutStoryId(@javax.annotation.Nullable String shortcutStoryId) { + this.shortcutStoryId = shortcutStoryId; + return this; + } + + /** + * Shortcut story ID + * @return shortcutStoryId + */ + @javax.annotation.Nullable + public String getShortcutStoryId() { + return shortcutStoryId; + } + + public void setShortcutStoryId(@javax.annotation.Nullable String shortcutStoryId) { + this.shortcutStoryId = shortcutStoryId; + } + + + public Incident shortcutStoryUrl(@javax.annotation.Nullable String shortcutStoryUrl) { + this.shortcutStoryUrl = shortcutStoryUrl; + return this; + } + + /** + * Shortcut story URL + * @return shortcutStoryUrl + */ + @javax.annotation.Nullable + public String getShortcutStoryUrl() { + return shortcutStoryUrl; + } + + public void setShortcutStoryUrl(@javax.annotation.Nullable String shortcutStoryUrl) { + this.shortcutStoryUrl = shortcutStoryUrl; + } + + + public Incident shortcutTaskId(@javax.annotation.Nullable String shortcutTaskId) { + this.shortcutTaskId = shortcutTaskId; + return this; + } + + /** + * Shortcut task ID + * @return shortcutTaskId + */ + @javax.annotation.Nullable + public String getShortcutTaskId() { + return shortcutTaskId; + } + + public void setShortcutTaskId(@javax.annotation.Nullable String shortcutTaskId) { + this.shortcutTaskId = shortcutTaskId; + } + + + public Incident shortcutTaskUrl(@javax.annotation.Nullable String shortcutTaskUrl) { + this.shortcutTaskUrl = shortcutTaskUrl; + return this; + } + + /** + * Shortcut task URL + * @return shortcutTaskUrl + */ + @javax.annotation.Nullable + public String getShortcutTaskUrl() { + return shortcutTaskUrl; + } + + public void setShortcutTaskUrl(@javax.annotation.Nullable String shortcutTaskUrl) { + this.shortcutTaskUrl = shortcutTaskUrl; + } + + + public Incident motionTaskId(@javax.annotation.Nullable String motionTaskId) { + this.motionTaskId = motionTaskId; + return this; + } + + /** + * Motion task ID + * @return motionTaskId + */ + @javax.annotation.Nullable + public String getMotionTaskId() { + return motionTaskId; + } + + public void setMotionTaskId(@javax.annotation.Nullable String motionTaskId) { + this.motionTaskId = motionTaskId; + } + + + public Incident motionTaskUrl(@javax.annotation.Nullable String motionTaskUrl) { + this.motionTaskUrl = motionTaskUrl; + return this; + } + + /** + * Motion task URL + * @return motionTaskUrl + */ + @javax.annotation.Nullable + public String getMotionTaskUrl() { + return motionTaskUrl; + } + + public void setMotionTaskUrl(@javax.annotation.Nullable String motionTaskUrl) { + this.motionTaskUrl = motionTaskUrl; + } + + + public Incident clickupTaskId(@javax.annotation.Nullable String clickupTaskId) { + this.clickupTaskId = clickupTaskId; + return this; + } + + /** + * ClickUp task ID + * @return clickupTaskId + */ + @javax.annotation.Nullable + public String getClickupTaskId() { + return clickupTaskId; + } + + public void setClickupTaskId(@javax.annotation.Nullable String clickupTaskId) { + this.clickupTaskId = clickupTaskId; + } + + + public Incident clickupTaskUrl(@javax.annotation.Nullable String clickupTaskUrl) { + this.clickupTaskUrl = clickupTaskUrl; + return this; + } + + /** + * ClickUp task URL + * @return clickupTaskUrl + */ + @javax.annotation.Nullable + public String getClickupTaskUrl() { + return clickupTaskUrl; + } + + public void setClickupTaskUrl(@javax.annotation.Nullable String clickupTaskUrl) { + this.clickupTaskUrl = clickupTaskUrl; + } + + + public Incident victorOpsIncidentId(@javax.annotation.Nullable String victorOpsIncidentId) { + this.victorOpsIncidentId = victorOpsIncidentId; + return this; + } + + /** + * VictorOps incident ID + * @return victorOpsIncidentId + */ + @javax.annotation.Nullable + public String getVictorOpsIncidentId() { + return victorOpsIncidentId; + } + + public void setVictorOpsIncidentId(@javax.annotation.Nullable String victorOpsIncidentId) { + this.victorOpsIncidentId = victorOpsIncidentId; + } + + + public Incident victorOpsIncidentUrl(@javax.annotation.Nullable String victorOpsIncidentUrl) { + this.victorOpsIncidentUrl = victorOpsIncidentUrl; + return this; + } + + /** + * VictorOps incident URL + * @return victorOpsIncidentUrl + */ + @javax.annotation.Nullable + public String getVictorOpsIncidentUrl() { + return victorOpsIncidentUrl; + } + + public void setVictorOpsIncidentUrl(@javax.annotation.Nullable String victorOpsIncidentUrl) { + this.victorOpsIncidentUrl = victorOpsIncidentUrl; + } + + + public Incident quipPageId(@javax.annotation.Nullable String quipPageId) { + this.quipPageId = quipPageId; + return this; + } + + /** + * Quip page ID + * @return quipPageId + */ + @javax.annotation.Nullable + public String getQuipPageId() { + return quipPageId; + } + + public void setQuipPageId(@javax.annotation.Nullable String quipPageId) { + this.quipPageId = quipPageId; + } + + + public Incident quipPageUrl(@javax.annotation.Nullable String quipPageUrl) { + this.quipPageUrl = quipPageUrl; + return this; + } + + /** + * Quip page URL + * @return quipPageUrl + */ + @javax.annotation.Nullable + public String getQuipPageUrl() { + return quipPageUrl; + } + + public void setQuipPageUrl(@javax.annotation.Nullable String quipPageUrl) { + this.quipPageUrl = quipPageUrl; + } + + + public Incident sharepointPageId(@javax.annotation.Nullable String sharepointPageId) { + this.sharepointPageId = sharepointPageId; + return this; + } + + /** + * SharePoint page ID + * @return sharepointPageId + */ + @javax.annotation.Nullable + public String getSharepointPageId() { + return sharepointPageId; + } + + public void setSharepointPageId(@javax.annotation.Nullable String sharepointPageId) { + this.sharepointPageId = sharepointPageId; + } + + + public Incident sharepointPageUrl(@javax.annotation.Nullable String sharepointPageUrl) { + this.sharepointPageUrl = sharepointPageUrl; return this; } /** - * The Services of the incident - * @return services + * SharePoint page URL + * @return sharepointPageUrl */ @javax.annotation.Nullable - public List getServices() { - return services; + public String getSharepointPageUrl() { + return sharepointPageUrl; } - public void setServices(@javax.annotation.Nullable List services) { - this.services = services; + public void setSharepointPageUrl(@javax.annotation.Nullable String sharepointPageUrl) { + this.sharepointPageUrl = sharepointPageUrl; } - public Incident functionalities(@javax.annotation.Nullable List functionalities) { - this.functionalities = functionalities; + public Incident airtableBaseKey(@javax.annotation.Nullable String airtableBaseKey) { + this.airtableBaseKey = airtableBaseKey; return this; } - public Incident addFunctionalitiesItem(FunctionalityResponse functionalitiesItem) { - if (this.functionalities == null) { - this.functionalities = new ArrayList<>(); - } - this.functionalities.add(functionalitiesItem); + /** + * Airtable base key + * @return airtableBaseKey + */ + @javax.annotation.Nullable + public String getAirtableBaseKey() { + return airtableBaseKey; + } + + public void setAirtableBaseKey(@javax.annotation.Nullable String airtableBaseKey) { + this.airtableBaseKey = airtableBaseKey; + } + + + public Incident airtableTableName(@javax.annotation.Nullable String airtableTableName) { + this.airtableTableName = airtableTableName; return this; } /** - * The Functionalities of the incident - * @return functionalities + * Airtable table name + * @return airtableTableName */ @javax.annotation.Nullable - public List getFunctionalities() { - return functionalities; + public String getAirtableTableName() { + return airtableTableName; } - public void setFunctionalities(@javax.annotation.Nullable List functionalities) { - this.functionalities = functionalities; + public void setAirtableTableName(@javax.annotation.Nullable String airtableTableName) { + this.airtableTableName = airtableTableName; } - public Incident groups(@javax.annotation.Nullable List groups) { - this.groups = groups; + public Incident airtableRecordId(@javax.annotation.Nullable String airtableRecordId) { + this.airtableRecordId = airtableRecordId; return this; } - public Incident addGroupsItem(TeamResponse groupsItem) { - if (this.groups == null) { - this.groups = new ArrayList<>(); - } - this.groups.add(groupsItem); + /** + * Airtable record ID + * @return airtableRecordId + */ + @javax.annotation.Nullable + public String getAirtableRecordId() { + return airtableRecordId; + } + + public void setAirtableRecordId(@javax.annotation.Nullable String airtableRecordId) { + this.airtableRecordId = airtableRecordId; + } + + + public Incident airtableRecordUrl(@javax.annotation.Nullable String airtableRecordUrl) { + this.airtableRecordUrl = airtableRecordUrl; return this; } /** - * The Teams of to the incident - * @return groups + * Airtable record URL + * @return airtableRecordUrl */ @javax.annotation.Nullable - public List getGroups() { - return groups; + public String getAirtableRecordUrl() { + return airtableRecordUrl; } - public void setGroups(@javax.annotation.Nullable List groups) { - this.groups = groups; + public void setAirtableRecordUrl(@javax.annotation.Nullable String airtableRecordUrl) { + this.airtableRecordUrl = airtableRecordUrl; } - public Incident labels(@javax.annotation.Nullable Object labels) { - this.labels = labels; + public Incident freshserviceTicketId(@javax.annotation.Nullable String freshserviceTicketId) { + this.freshserviceTicketId = freshserviceTicketId; return this; } /** - * Labels to attach to the incidents. eg: {\"platform\":\"osx\", \"version\": \"1.29\"} - * @return labels + * Freshservice ticket ID + * @return freshserviceTicketId */ @javax.annotation.Nullable - public Object getLabels() { - return labels; + public String getFreshserviceTicketId() { + return freshserviceTicketId; } - public void setLabels(@javax.annotation.Nullable Object labels) { - this.labels = labels; + public void setFreshserviceTicketId(@javax.annotation.Nullable String freshserviceTicketId) { + this.freshserviceTicketId = freshserviceTicketId; } - public Incident slackChannelId(@javax.annotation.Nullable String slackChannelId) { - this.slackChannelId = slackChannelId; + public Incident freshserviceTicketUrl(@javax.annotation.Nullable String freshserviceTicketUrl) { + this.freshserviceTicketUrl = freshserviceTicketUrl; return this; } /** - * Slack channel id - * @return slackChannelId + * Freshservice ticket URL + * @return freshserviceTicketUrl */ @javax.annotation.Nullable - public String getSlackChannelId() { - return slackChannelId; + public String getFreshserviceTicketUrl() { + return freshserviceTicketUrl; } - public void setSlackChannelId(@javax.annotation.Nullable String slackChannelId) { - this.slackChannelId = slackChannelId; + public void setFreshserviceTicketUrl(@javax.annotation.Nullable String freshserviceTicketUrl) { + this.freshserviceTicketUrl = freshserviceTicketUrl; } - public Incident slackChannelName(@javax.annotation.Nullable String slackChannelName) { - this.slackChannelName = slackChannelName; + public Incident freshserviceTaskId(@javax.annotation.Nullable String freshserviceTaskId) { + this.freshserviceTaskId = freshserviceTaskId; return this; } /** - * Slack channel name - * @return slackChannelName + * Freshservice task ID + * @return freshserviceTaskId */ @javax.annotation.Nullable - public String getSlackChannelName() { - return slackChannelName; + public String getFreshserviceTaskId() { + return freshserviceTaskId; } - public void setSlackChannelName(@javax.annotation.Nullable String slackChannelName) { - this.slackChannelName = slackChannelName; + public void setFreshserviceTaskId(@javax.annotation.Nullable String freshserviceTaskId) { + this.freshserviceTaskId = freshserviceTaskId; } - public Incident slackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { - this.slackChannelUrl = slackChannelUrl; + public Incident freshserviceTaskUrl(@javax.annotation.Nullable String freshserviceTaskUrl) { + this.freshserviceTaskUrl = freshserviceTaskUrl; return this; } /** - * Slack channel url - * @return slackChannelUrl + * Freshservice task URL + * @return freshserviceTaskUrl */ @javax.annotation.Nullable - public String getSlackChannelUrl() { - return slackChannelUrl; + public String getFreshserviceTaskUrl() { + return freshserviceTaskUrl; } - public void setSlackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { - this.slackChannelUrl = slackChannelUrl; + public void setFreshserviceTaskUrl(@javax.annotation.Nullable String freshserviceTaskUrl) { + this.freshserviceTaskUrl = freshserviceTaskUrl; } @@ -736,6 +2657,33 @@ public void setScheduledUntil(@javax.annotation.Nullable String scheduledUntil) } + public Incident mutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + return this; + } + + public Incident addMutedServiceIdsItem(String mutedServiceIdsItem) { + if (this.mutedServiceIds == null) { + this.mutedServiceIds = new ArrayList<>(); + } + this.mutedServiceIds.add(mutedServiceIdsItem); + return this; + } + + /** + * The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. + * @return mutedServiceIds + */ + @javax.annotation.Nullable + public List getMutedServiceIds() { + return mutedServiceIds; + } + + public void setMutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + } + + public Incident retrospectiveProgressStatus(@javax.annotation.Nullable RetrospectiveProgressStatusEnum retrospectiveProgressStatus) { this.retrospectiveProgressStatus = retrospectiveProgressStatus; return this; @@ -755,6 +2703,120 @@ public void setRetrospectiveProgressStatus(@javax.annotation.Nullable Retrospect } + public Incident inTriageBy(@javax.annotation.Nullable Object inTriageBy) { + this.inTriageBy = inTriageBy; + return this; + } + + /** + * The user who triaged the incident + * @return inTriageBy + */ + @javax.annotation.Nullable + public Object getInTriageBy() { + return inTriageBy; + } + + public void setInTriageBy(@javax.annotation.Nullable Object inTriageBy) { + this.inTriageBy = inTriageBy; + } + + + public Incident startedBy(@javax.annotation.Nullable Object startedBy) { + this.startedBy = startedBy; + return this; + } + + /** + * The user who started the incident + * @return startedBy + */ + @javax.annotation.Nullable + public Object getStartedBy() { + return startedBy; + } + + public void setStartedBy(@javax.annotation.Nullable Object startedBy) { + this.startedBy = startedBy; + } + + + public Incident mitigatedBy(@javax.annotation.Nullable Object mitigatedBy) { + this.mitigatedBy = mitigatedBy; + return this; + } + + /** + * The user who mitigated the incident + * @return mitigatedBy + */ + @javax.annotation.Nullable + public Object getMitigatedBy() { + return mitigatedBy; + } + + public void setMitigatedBy(@javax.annotation.Nullable Object mitigatedBy) { + this.mitigatedBy = mitigatedBy; + } + + + public Incident resolvedBy(@javax.annotation.Nullable Object resolvedBy) { + this.resolvedBy = resolvedBy; + return this; + } + + /** + * The user who resolved the incident + * @return resolvedBy + */ + @javax.annotation.Nullable + public Object getResolvedBy() { + return resolvedBy; + } + + public void setResolvedBy(@javax.annotation.Nullable Object resolvedBy) { + this.resolvedBy = resolvedBy; + } + + + public Incident closedBy(@javax.annotation.Nullable Object closedBy) { + this.closedBy = closedBy; + return this; + } + + /** + * The user who closed the incident + * @return closedBy + */ + @javax.annotation.Nullable + public Object getClosedBy() { + return closedBy; + } + + public void setClosedBy(@javax.annotation.Nullable Object closedBy) { + this.closedBy = closedBy; + } + + + public Incident cancelledBy(@javax.annotation.Nullable Object cancelledBy) { + this.cancelledBy = cancelledBy; + return this; + } + + /** + * The user who cancelled the incident + * @return cancelledBy + */ + @javax.annotation.Nullable + public Object getCancelledBy() { + return cancelledBy; + } + + public void setCancelledBy(@javax.annotation.Nullable Object cancelledBy) { + this.cancelledBy = cancelledBy; + } + + public Incident inTriageAt(@javax.annotation.Nullable String inTriageAt) { this.inTriageAt = inTriageAt; return this; @@ -869,6 +2931,25 @@ public void setResolvedAt(@javax.annotation.Nullable String resolvedAt) { } + public Incident closedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + return this; + } + + /** + * Date of closure + * @return closedAt + */ + @javax.annotation.Nullable + public String getClosedAt() { + return closedAt; + } + + public void setClosedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + } + + public Incident cancelledAt(@javax.annotation.Nullable String cancelledAt) { this.cancelledAt = cancelledAt; return this; @@ -936,13 +3017,21 @@ public boolean equals(Object o) { return false; } Incident incident = (Incident) o; - return Objects.equals(this.title, incident.title) && + return Objects.equals(this.id, incident.id) && + Objects.equals(this.sequentialId, incident.sequentialId) && + Objects.equals(this.title, incident.title) && Objects.equals(this.kind, incident.kind) && Objects.equals(this.slug, incident.slug) && Objects.equals(this.parentIncidentId, incident.parentIncidentId) && Objects.equals(this.duplicateIncidentId, incident.duplicateIncidentId) && Objects.equals(this.summary, incident.summary) && Objects.equals(this._private, incident._private) && + Objects.equals(this.source, incident.source) && + Objects.equals(this.status, incident.status) && + Objects.equals(this.url, incident.url) && + Objects.equals(this.shortUrl, incident.shortUrl) && + Objects.equals(this.publicTitle, incident.publicTitle) && + Objects.equals(this.user, incident.user) && Objects.equals(this.severity, incident.severity) && Objects.equals(this.environments, incident.environments) && Objects.equals(this.incidentTypes, incident.incidentTypes) && @@ -953,18 +3042,96 @@ public boolean equals(Object o) { Objects.equals(this.slackChannelId, incident.slackChannelId) && Objects.equals(this.slackChannelName, incident.slackChannelName) && Objects.equals(this.slackChannelUrl, incident.slackChannelUrl) && + Objects.equals(this.slackChannelShortUrl, incident.slackChannelShortUrl) && + Objects.equals(this.slackChannelDeepLink, incident.slackChannelDeepLink) && + Objects.equals(this.slackChannelArchived, incident.slackChannelArchived) && + Objects.equals(this.slackLastMessageTs, incident.slackLastMessageTs) && + Objects.equals(this.zoomMeetingId, incident.zoomMeetingId) && + Objects.equals(this.zoomMeetingStartUrl, incident.zoomMeetingStartUrl) && + Objects.equals(this.zoomMeetingJoinUrl, incident.zoomMeetingJoinUrl) && + Objects.equals(this.zoomMeetingPassword, incident.zoomMeetingPassword) && + Objects.equals(this.zoomMeetingPstnPassword, incident.zoomMeetingPstnPassword) && + Objects.equals(this.zoomMeetingH323Password, incident.zoomMeetingH323Password) && + Objects.equals(this.zoomMeetingGlobalDialInNumbers, incident.zoomMeetingGlobalDialInNumbers) && + Objects.equals(this.googleDriveId, incident.googleDriveId) && + Objects.equals(this.googleDriveParentId, incident.googleDriveParentId) && + Objects.equals(this.googleDriveUrl, incident.googleDriveUrl) && + Objects.equals(this.googleMeetingId, incident.googleMeetingId) && + Objects.equals(this.googleMeetingUrl, incident.googleMeetingUrl) && + Objects.equals(this.jiraIssueKey, incident.jiraIssueKey) && + Objects.equals(this.jiraIssueId, incident.jiraIssueId) && + Objects.equals(this.jiraIssueUrl, incident.jiraIssueUrl) && + Objects.equals(this.githubIssueId, incident.githubIssueId) && + Objects.equals(this.githubIssueUrl, incident.githubIssueUrl) && + Objects.equals(this.gitlabIssueId, incident.gitlabIssueId) && + Objects.equals(this.gitlabIssueUrl, incident.gitlabIssueUrl) && + Objects.equals(this.asanaTaskId, incident.asanaTaskId) && + Objects.equals(this.asanaTaskUrl, incident.asanaTaskUrl) && + Objects.equals(this.linearIssueId, incident.linearIssueId) && + Objects.equals(this.linearIssueUrl, incident.linearIssueUrl) && + Objects.equals(this.trelloCardId, incident.trelloCardId) && + Objects.equals(this.trelloCardUrl, incident.trelloCardUrl) && + Objects.equals(this.zendeskTicketId, incident.zendeskTicketId) && + Objects.equals(this.zendeskTicketUrl, incident.zendeskTicketUrl) && + Objects.equals(this.pagerdutyIncidentId, incident.pagerdutyIncidentId) && + Objects.equals(this.pagerdutyIncidentNumber, incident.pagerdutyIncidentNumber) && + Objects.equals(this.pagerdutyIncidentUrl, incident.pagerdutyIncidentUrl) && + Objects.equals(this.opsgenieIncidentId, incident.opsgenieIncidentId) && + Objects.equals(this.opsgenieIncidentUrl, incident.opsgenieIncidentUrl) && + Objects.equals(this.opsgenieAlertId, incident.opsgenieAlertId) && + Objects.equals(this.opsgenieAlertUrl, incident.opsgenieAlertUrl) && + Objects.equals(this.serviceNowIncidentId, incident.serviceNowIncidentId) && + Objects.equals(this.serviceNowIncidentKey, incident.serviceNowIncidentKey) && + Objects.equals(this.serviceNowIncidentUrl, incident.serviceNowIncidentUrl) && + Objects.equals(this.mattermostChannelId, incident.mattermostChannelId) && + Objects.equals(this.mattermostChannelName, incident.mattermostChannelName) && + Objects.equals(this.mattermostChannelUrl, incident.mattermostChannelUrl) && + Objects.equals(this.confluencePageId, incident.confluencePageId) && + Objects.equals(this.confluencePageUrl, incident.confluencePageUrl) && + Objects.equals(this.datadogNotebookId, incident.datadogNotebookId) && + Objects.equals(this.datadogNotebookUrl, incident.datadogNotebookUrl) && + Objects.equals(this.shortcutStoryId, incident.shortcutStoryId) && + Objects.equals(this.shortcutStoryUrl, incident.shortcutStoryUrl) && + Objects.equals(this.shortcutTaskId, incident.shortcutTaskId) && + Objects.equals(this.shortcutTaskUrl, incident.shortcutTaskUrl) && + Objects.equals(this.motionTaskId, incident.motionTaskId) && + Objects.equals(this.motionTaskUrl, incident.motionTaskUrl) && + Objects.equals(this.clickupTaskId, incident.clickupTaskId) && + Objects.equals(this.clickupTaskUrl, incident.clickupTaskUrl) && + Objects.equals(this.victorOpsIncidentId, incident.victorOpsIncidentId) && + Objects.equals(this.victorOpsIncidentUrl, incident.victorOpsIncidentUrl) && + Objects.equals(this.quipPageId, incident.quipPageId) && + Objects.equals(this.quipPageUrl, incident.quipPageUrl) && + Objects.equals(this.sharepointPageId, incident.sharepointPageId) && + Objects.equals(this.sharepointPageUrl, incident.sharepointPageUrl) && + Objects.equals(this.airtableBaseKey, incident.airtableBaseKey) && + Objects.equals(this.airtableTableName, incident.airtableTableName) && + Objects.equals(this.airtableRecordId, incident.airtableRecordId) && + Objects.equals(this.airtableRecordUrl, incident.airtableRecordUrl) && + Objects.equals(this.freshserviceTicketId, incident.freshserviceTicketId) && + Objects.equals(this.freshserviceTicketUrl, incident.freshserviceTicketUrl) && + Objects.equals(this.freshserviceTaskId, incident.freshserviceTaskId) && + Objects.equals(this.freshserviceTaskUrl, incident.freshserviceTaskUrl) && Objects.equals(this.mitigationMessage, incident.mitigationMessage) && Objects.equals(this.resolutionMessage, incident.resolutionMessage) && Objects.equals(this.cancellationMessage, incident.cancellationMessage) && Objects.equals(this.scheduledFor, incident.scheduledFor) && Objects.equals(this.scheduledUntil, incident.scheduledUntil) && + Objects.equals(this.mutedServiceIds, incident.mutedServiceIds) && Objects.equals(this.retrospectiveProgressStatus, incident.retrospectiveProgressStatus) && + Objects.equals(this.inTriageBy, incident.inTriageBy) && + Objects.equals(this.startedBy, incident.startedBy) && + Objects.equals(this.mitigatedBy, incident.mitigatedBy) && + Objects.equals(this.resolvedBy, incident.resolvedBy) && + Objects.equals(this.closedBy, incident.closedBy) && + Objects.equals(this.cancelledBy, incident.cancelledBy) && Objects.equals(this.inTriageAt, incident.inTriageAt) && Objects.equals(this.startedAt, incident.startedAt) && Objects.equals(this.detectedAt, incident.detectedAt) && Objects.equals(this.acknowledgedAt, incident.acknowledgedAt) && Objects.equals(this.mitigatedAt, incident.mitigatedAt) && Objects.equals(this.resolvedAt, incident.resolvedAt) && + Objects.equals(this.closedAt, incident.closedAt) && Objects.equals(this.cancelledAt, incident.cancelledAt) && Objects.equals(this.createdAt, incident.createdAt) && Objects.equals(this.updatedAt, incident.updatedAt); @@ -976,7 +3143,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, kind, slug, parentIncidentId, duplicateIncidentId, summary, _private, severity, environments, incidentTypes, services, functionalities, groups, labels, slackChannelId, slackChannelName, slackChannelUrl, mitigationMessage, resolutionMessage, cancellationMessage, scheduledFor, scheduledUntil, retrospectiveProgressStatus, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, 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, 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); } private static int hashCodeNullable(JsonNullable a) { @@ -990,6 +3157,8 @@ private static int hashCodeNullable(JsonNullable a) { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Incident {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" sequentialId: ").append(toIndentedString(sequentialId)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); @@ -997,6 +3166,12 @@ public String toString() { sb.append(" duplicateIncidentId: ").append(toIndentedString(duplicateIncidentId)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" _private: ").append(toIndentedString(_private)).append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" shortUrl: ").append(toIndentedString(shortUrl)).append("\n"); + sb.append(" publicTitle: ").append(toIndentedString(publicTitle)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); sb.append(" severity: ").append(toIndentedString(severity)).append("\n"); sb.append(" environments: ").append(toIndentedString(environments)).append("\n"); sb.append(" incidentTypes: ").append(toIndentedString(incidentTypes)).append("\n"); @@ -1007,18 +3182,96 @@ public String toString() { sb.append(" slackChannelId: ").append(toIndentedString(slackChannelId)).append("\n"); sb.append(" slackChannelName: ").append(toIndentedString(slackChannelName)).append("\n"); sb.append(" slackChannelUrl: ").append(toIndentedString(slackChannelUrl)).append("\n"); + sb.append(" slackChannelShortUrl: ").append(toIndentedString(slackChannelShortUrl)).append("\n"); + sb.append(" slackChannelDeepLink: ").append(toIndentedString(slackChannelDeepLink)).append("\n"); + sb.append(" slackChannelArchived: ").append(toIndentedString(slackChannelArchived)).append("\n"); + sb.append(" slackLastMessageTs: ").append(toIndentedString(slackLastMessageTs)).append("\n"); + sb.append(" zoomMeetingId: ").append(toIndentedString(zoomMeetingId)).append("\n"); + sb.append(" zoomMeetingStartUrl: ").append(toIndentedString(zoomMeetingStartUrl)).append("\n"); + sb.append(" zoomMeetingJoinUrl: ").append(toIndentedString(zoomMeetingJoinUrl)).append("\n"); + sb.append(" zoomMeetingPassword: ").append(toIndentedString(zoomMeetingPassword)).append("\n"); + sb.append(" zoomMeetingPstnPassword: ").append(toIndentedString(zoomMeetingPstnPassword)).append("\n"); + sb.append(" zoomMeetingH323Password: ").append(toIndentedString(zoomMeetingH323Password)).append("\n"); + sb.append(" zoomMeetingGlobalDialInNumbers: ").append(toIndentedString(zoomMeetingGlobalDialInNumbers)).append("\n"); + sb.append(" googleDriveId: ").append(toIndentedString(googleDriveId)).append("\n"); + sb.append(" googleDriveParentId: ").append(toIndentedString(googleDriveParentId)).append("\n"); + sb.append(" googleDriveUrl: ").append(toIndentedString(googleDriveUrl)).append("\n"); + sb.append(" googleMeetingId: ").append(toIndentedString(googleMeetingId)).append("\n"); + sb.append(" googleMeetingUrl: ").append(toIndentedString(googleMeetingUrl)).append("\n"); + 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(" githubIssueId: ").append(toIndentedString(githubIssueId)).append("\n"); + sb.append(" githubIssueUrl: ").append(toIndentedString(githubIssueUrl)).append("\n"); + sb.append(" gitlabIssueId: ").append(toIndentedString(gitlabIssueId)).append("\n"); + 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(" linearIssueId: ").append(toIndentedString(linearIssueId)).append("\n"); + sb.append(" linearIssueUrl: ").append(toIndentedString(linearIssueUrl)).append("\n"); + sb.append(" trelloCardId: ").append(toIndentedString(trelloCardId)).append("\n"); + sb.append(" trelloCardUrl: ").append(toIndentedString(trelloCardUrl)).append("\n"); + sb.append(" zendeskTicketId: ").append(toIndentedString(zendeskTicketId)).append("\n"); + sb.append(" zendeskTicketUrl: ").append(toIndentedString(zendeskTicketUrl)).append("\n"); + sb.append(" pagerdutyIncidentId: ").append(toIndentedString(pagerdutyIncidentId)).append("\n"); + sb.append(" pagerdutyIncidentNumber: ").append(toIndentedString(pagerdutyIncidentNumber)).append("\n"); + sb.append(" pagerdutyIncidentUrl: ").append(toIndentedString(pagerdutyIncidentUrl)).append("\n"); + sb.append(" opsgenieIncidentId: ").append(toIndentedString(opsgenieIncidentId)).append("\n"); + sb.append(" opsgenieIncidentUrl: ").append(toIndentedString(opsgenieIncidentUrl)).append("\n"); + sb.append(" opsgenieAlertId: ").append(toIndentedString(opsgenieAlertId)).append("\n"); + sb.append(" opsgenieAlertUrl: ").append(toIndentedString(opsgenieAlertUrl)).append("\n"); + sb.append(" serviceNowIncidentId: ").append(toIndentedString(serviceNowIncidentId)).append("\n"); + sb.append(" serviceNowIncidentKey: ").append(toIndentedString(serviceNowIncidentKey)).append("\n"); + sb.append(" serviceNowIncidentUrl: ").append(toIndentedString(serviceNowIncidentUrl)).append("\n"); + sb.append(" mattermostChannelId: ").append(toIndentedString(mattermostChannelId)).append("\n"); + sb.append(" mattermostChannelName: ").append(toIndentedString(mattermostChannelName)).append("\n"); + sb.append(" mattermostChannelUrl: ").append(toIndentedString(mattermostChannelUrl)).append("\n"); + sb.append(" confluencePageId: ").append(toIndentedString(confluencePageId)).append("\n"); + sb.append(" confluencePageUrl: ").append(toIndentedString(confluencePageUrl)).append("\n"); + sb.append(" datadogNotebookId: ").append(toIndentedString(datadogNotebookId)).append("\n"); + sb.append(" datadogNotebookUrl: ").append(toIndentedString(datadogNotebookUrl)).append("\n"); + sb.append(" shortcutStoryId: ").append(toIndentedString(shortcutStoryId)).append("\n"); + sb.append(" shortcutStoryUrl: ").append(toIndentedString(shortcutStoryUrl)).append("\n"); + sb.append(" shortcutTaskId: ").append(toIndentedString(shortcutTaskId)).append("\n"); + sb.append(" shortcutTaskUrl: ").append(toIndentedString(shortcutTaskUrl)).append("\n"); + sb.append(" motionTaskId: ").append(toIndentedString(motionTaskId)).append("\n"); + sb.append(" motionTaskUrl: ").append(toIndentedString(motionTaskUrl)).append("\n"); + sb.append(" clickupTaskId: ").append(toIndentedString(clickupTaskId)).append("\n"); + sb.append(" clickupTaskUrl: ").append(toIndentedString(clickupTaskUrl)).append("\n"); + sb.append(" victorOpsIncidentId: ").append(toIndentedString(victorOpsIncidentId)).append("\n"); + sb.append(" victorOpsIncidentUrl: ").append(toIndentedString(victorOpsIncidentUrl)).append("\n"); + sb.append(" quipPageId: ").append(toIndentedString(quipPageId)).append("\n"); + sb.append(" quipPageUrl: ").append(toIndentedString(quipPageUrl)).append("\n"); + sb.append(" sharepointPageId: ").append(toIndentedString(sharepointPageId)).append("\n"); + sb.append(" sharepointPageUrl: ").append(toIndentedString(sharepointPageUrl)).append("\n"); + sb.append(" airtableBaseKey: ").append(toIndentedString(airtableBaseKey)).append("\n"); + sb.append(" airtableTableName: ").append(toIndentedString(airtableTableName)).append("\n"); + sb.append(" airtableRecordId: ").append(toIndentedString(airtableRecordId)).append("\n"); + sb.append(" airtableRecordUrl: ").append(toIndentedString(airtableRecordUrl)).append("\n"); + sb.append(" freshserviceTicketId: ").append(toIndentedString(freshserviceTicketId)).append("\n"); + sb.append(" freshserviceTicketUrl: ").append(toIndentedString(freshserviceTicketUrl)).append("\n"); + sb.append(" freshserviceTaskId: ").append(toIndentedString(freshserviceTaskId)).append("\n"); + sb.append(" freshserviceTaskUrl: ").append(toIndentedString(freshserviceTaskUrl)).append("\n"); sb.append(" mitigationMessage: ").append(toIndentedString(mitigationMessage)).append("\n"); sb.append(" resolutionMessage: ").append(toIndentedString(resolutionMessage)).append("\n"); sb.append(" cancellationMessage: ").append(toIndentedString(cancellationMessage)).append("\n"); sb.append(" scheduledFor: ").append(toIndentedString(scheduledFor)).append("\n"); sb.append(" scheduledUntil: ").append(toIndentedString(scheduledUntil)).append("\n"); + sb.append(" mutedServiceIds: ").append(toIndentedString(mutedServiceIds)).append("\n"); sb.append(" retrospectiveProgressStatus: ").append(toIndentedString(retrospectiveProgressStatus)).append("\n"); + sb.append(" inTriageBy: ").append(toIndentedString(inTriageBy)).append("\n"); + sb.append(" startedBy: ").append(toIndentedString(startedBy)).append("\n"); + sb.append(" mitigatedBy: ").append(toIndentedString(mitigatedBy)).append("\n"); + sb.append(" resolvedBy: ").append(toIndentedString(resolvedBy)).append("\n"); + sb.append(" closedBy: ").append(toIndentedString(closedBy)).append("\n"); + sb.append(" cancelledBy: ").append(toIndentedString(cancelledBy)).append("\n"); sb.append(" inTriageAt: ").append(toIndentedString(inTriageAt)).append("\n"); sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); sb.append(" detectedAt: ").append(toIndentedString(detectedAt)).append("\n"); sb.append(" acknowledgedAt: ").append(toIndentedString(acknowledgedAt)).append("\n"); sb.append(" mitigatedAt: ").append(toIndentedString(mitigatedAt)).append("\n"); sb.append(" resolvedAt: ").append(toIndentedString(resolvedAt)).append("\n"); + sb.append(" closedAt: ").append(toIndentedString(closedAt)).append("\n"); sb.append(" cancelledAt: ").append(toIndentedString(cancelledAt)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -1044,6 +3297,8 @@ private String toIndentedString(Object o) { static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); + openapiFields.add("id"); + openapiFields.add("sequential_id"); openapiFields.add("title"); openapiFields.add("kind"); openapiFields.add("slug"); @@ -1051,6 +3306,12 @@ private String toIndentedString(Object o) { openapiFields.add("duplicate_incident_id"); openapiFields.add("summary"); openapiFields.add("private"); + openapiFields.add("source"); + openapiFields.add("status"); + openapiFields.add("url"); + openapiFields.add("short_url"); + openapiFields.add("public_title"); + openapiFields.add("user"); openapiFields.add("severity"); openapiFields.add("environments"); openapiFields.add("incident_types"); @@ -1061,18 +3322,96 @@ private String toIndentedString(Object o) { openapiFields.add("slack_channel_id"); openapiFields.add("slack_channel_name"); openapiFields.add("slack_channel_url"); + openapiFields.add("slack_channel_short_url"); + openapiFields.add("slack_channel_deep_link"); + openapiFields.add("slack_channel_archived"); + openapiFields.add("slack_last_message_ts"); + openapiFields.add("zoom_meeting_id"); + openapiFields.add("zoom_meeting_start_url"); + openapiFields.add("zoom_meeting_join_url"); + openapiFields.add("zoom_meeting_password"); + openapiFields.add("zoom_meeting_pstn_password"); + openapiFields.add("zoom_meeting_h323_password"); + openapiFields.add("zoom_meeting_global_dial_in_numbers"); + openapiFields.add("google_drive_id"); + openapiFields.add("google_drive_parent_id"); + openapiFields.add("google_drive_url"); + openapiFields.add("google_meeting_id"); + openapiFields.add("google_meeting_url"); + openapiFields.add("jira_issue_key"); + openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_url"); + openapiFields.add("github_issue_id"); + openapiFields.add("github_issue_url"); + openapiFields.add("gitlab_issue_id"); + openapiFields.add("gitlab_issue_url"); + openapiFields.add("asana_task_id"); + openapiFields.add("asana_task_url"); + openapiFields.add("linear_issue_id"); + openapiFields.add("linear_issue_url"); + openapiFields.add("trello_card_id"); + openapiFields.add("trello_card_url"); + openapiFields.add("zendesk_ticket_id"); + openapiFields.add("zendesk_ticket_url"); + openapiFields.add("pagerduty_incident_id"); + openapiFields.add("pagerduty_incident_number"); + openapiFields.add("pagerduty_incident_url"); + openapiFields.add("opsgenie_incident_id"); + openapiFields.add("opsgenie_incident_url"); + openapiFields.add("opsgenie_alert_id"); + openapiFields.add("opsgenie_alert_url"); + openapiFields.add("service_now_incident_id"); + openapiFields.add("service_now_incident_key"); + openapiFields.add("service_now_incident_url"); + openapiFields.add("mattermost_channel_id"); + openapiFields.add("mattermost_channel_name"); + openapiFields.add("mattermost_channel_url"); + openapiFields.add("confluence_page_id"); + openapiFields.add("confluence_page_url"); + openapiFields.add("datadog_notebook_id"); + openapiFields.add("datadog_notebook_url"); + openapiFields.add("shortcut_story_id"); + openapiFields.add("shortcut_story_url"); + openapiFields.add("shortcut_task_id"); + openapiFields.add("shortcut_task_url"); + openapiFields.add("motion_task_id"); + openapiFields.add("motion_task_url"); + openapiFields.add("clickup_task_id"); + openapiFields.add("clickup_task_url"); + openapiFields.add("victor_ops_incident_id"); + openapiFields.add("victor_ops_incident_url"); + openapiFields.add("quip_page_id"); + openapiFields.add("quip_page_url"); + openapiFields.add("sharepoint_page_id"); + openapiFields.add("sharepoint_page_url"); + openapiFields.add("airtable_base_key"); + openapiFields.add("airtable_table_name"); + openapiFields.add("airtable_record_id"); + openapiFields.add("airtable_record_url"); + openapiFields.add("freshservice_ticket_id"); + openapiFields.add("freshservice_ticket_url"); + openapiFields.add("freshservice_task_id"); + openapiFields.add("freshservice_task_url"); openapiFields.add("mitigation_message"); openapiFields.add("resolution_message"); openapiFields.add("cancellation_message"); openapiFields.add("scheduled_for"); openapiFields.add("scheduled_until"); + openapiFields.add("muted_service_ids"); openapiFields.add("retrospective_progress_status"); + openapiFields.add("in_triage_by"); + openapiFields.add("started_by"); + openapiFields.add("mitigated_by"); + openapiFields.add("resolved_by"); + openapiFields.add("closed_by"); + openapiFields.add("cancelled_by"); openapiFields.add("in_triage_at"); openapiFields.add("started_at"); openapiFields.add("detected_at"); openapiFields.add("acknowledged_at"); openapiFields.add("mitigated_at"); openapiFields.add("resolved_at"); + openapiFields.add("closed_at"); openapiFields.add("cancelled_at"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -1080,7 +3419,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("title"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -1113,13 +3451,16 @@ 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("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("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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("parent_incident_id") != null && !jsonObj.get("parent_incident_id").isJsonNull()) && !jsonObj.get("parent_incident_id").isJsonPrimitive()) { @@ -1131,6 +3472,21 @@ 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("source") != null && !jsonObj.get("source").isJsonNull()) && !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())); + } + 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("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("short_url") != null && !jsonObj.get("short_url").isJsonNull()) && !jsonObj.get("short_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `short_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("short_url").toString())); + } + if ((jsonObj.get("public_title") != null && !jsonObj.get("public_title").isJsonNull()) && !jsonObj.get("public_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `public_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_title").toString())); + } // validate the optional field `severity` if (jsonObj.get("severity") != null && !jsonObj.get("severity").isJsonNull()) { SeverityResponse.validateJsonElement(jsonObj.get("severity")); @@ -1214,6 +3570,224 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("slack_channel_url") != null && !jsonObj.get("slack_channel_url").isJsonNull()) && !jsonObj.get("slack_channel_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `slack_channel_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_url").toString())); } + if ((jsonObj.get("slack_channel_short_url") != null && !jsonObj.get("slack_channel_short_url").isJsonNull()) && !jsonObj.get("slack_channel_short_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_short_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_short_url").toString())); + } + if ((jsonObj.get("slack_channel_deep_link") != null && !jsonObj.get("slack_channel_deep_link").isJsonNull()) && !jsonObj.get("slack_channel_deep_link").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_deep_link` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_deep_link").toString())); + } + if ((jsonObj.get("slack_last_message_ts") != null && !jsonObj.get("slack_last_message_ts").isJsonNull()) && !jsonObj.get("slack_last_message_ts").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_last_message_ts` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_last_message_ts").toString())); + } + if ((jsonObj.get("zoom_meeting_id") != null && !jsonObj.get("zoom_meeting_id").isJsonNull()) && !jsonObj.get("zoom_meeting_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_id").toString())); + } + if ((jsonObj.get("zoom_meeting_start_url") != null && !jsonObj.get("zoom_meeting_start_url").isJsonNull()) && !jsonObj.get("zoom_meeting_start_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_start_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_start_url").toString())); + } + if ((jsonObj.get("zoom_meeting_join_url") != null && !jsonObj.get("zoom_meeting_join_url").isJsonNull()) && !jsonObj.get("zoom_meeting_join_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_join_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_join_url").toString())); + } + if ((jsonObj.get("zoom_meeting_password") != null && !jsonObj.get("zoom_meeting_password").isJsonNull()) && !jsonObj.get("zoom_meeting_password").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_password").toString())); + } + if ((jsonObj.get("zoom_meeting_pstn_password") != null && !jsonObj.get("zoom_meeting_pstn_password").isJsonNull()) && !jsonObj.get("zoom_meeting_pstn_password").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_pstn_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_pstn_password").toString())); + } + if ((jsonObj.get("zoom_meeting_h323_password") != null && !jsonObj.get("zoom_meeting_h323_password").isJsonNull()) && !jsonObj.get("zoom_meeting_h323_password").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_h323_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zoom_meeting_h323_password").toString())); + } + if (jsonObj.get("zoom_meeting_global_dial_in_numbers") != null && !jsonObj.get("zoom_meeting_global_dial_in_numbers").isJsonNull()) { + JsonArray jsonArrayzoomMeetingGlobalDialInNumbers = jsonObj.getAsJsonArray("zoom_meeting_global_dial_in_numbers"); + if (jsonArrayzoomMeetingGlobalDialInNumbers != null) { + // ensure the json data is an array + if (!jsonObj.get("zoom_meeting_global_dial_in_numbers").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `zoom_meeting_global_dial_in_numbers` to be an array in the JSON string but got `%s`", jsonObj.get("zoom_meeting_global_dial_in_numbers").toString())); + } + + // validate the optional field `zoom_meeting_global_dial_in_numbers` (array) + for (int i = 0; i < jsonArrayzoomMeetingGlobalDialInNumbers.size(); i++) { + IncidentZoomMeetingGlobalDialInNumbersInner.validateJsonElement(jsonArrayzoomMeetingGlobalDialInNumbers.get(i)); + }; + } + } + if ((jsonObj.get("google_drive_id") != null && !jsonObj.get("google_drive_id").isJsonNull()) && !jsonObj.get("google_drive_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_id").toString())); + } + if ((jsonObj.get("google_drive_parent_id") != null && !jsonObj.get("google_drive_parent_id").isJsonNull()) && !jsonObj.get("google_drive_parent_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_parent_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_parent_id").toString())); + } + if ((jsonObj.get("google_drive_url") != null && !jsonObj.get("google_drive_url").isJsonNull()) && !jsonObj.get("google_drive_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_url").toString())); + } + if ((jsonObj.get("google_meeting_id") != null && !jsonObj.get("google_meeting_id").isJsonNull()) && !jsonObj.get("google_meeting_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_meeting_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_meeting_id").toString())); + } + if ((jsonObj.get("google_meeting_url") != null && !jsonObj.get("google_meeting_url").isJsonNull()) && !jsonObj.get("google_meeting_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_meeting_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_meeting_url").toString())); + } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").toString())); + } + if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").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())); + } + if ((jsonObj.get("github_issue_id") != null && !jsonObj.get("github_issue_id").isJsonNull()) && !jsonObj.get("github_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `github_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("github_issue_id").toString())); + } + if ((jsonObj.get("github_issue_url") != null && !jsonObj.get("github_issue_url").isJsonNull()) && !jsonObj.get("github_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `github_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("github_issue_url").toString())); + } + if ((jsonObj.get("gitlab_issue_id") != null && !jsonObj.get("gitlab_issue_id").isJsonNull()) && !jsonObj.get("gitlab_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `gitlab_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gitlab_issue_id").toString())); + } + if ((jsonObj.get("gitlab_issue_url") != null && !jsonObj.get("gitlab_issue_url").isJsonNull()) && !jsonObj.get("gitlab_issue_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `gitlab_issue_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gitlab_issue_url").toString())); + } + if ((jsonObj.get("asana_task_id") != null && !jsonObj.get("asana_task_id").isJsonNull()) && !jsonObj.get("asana_task_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `asana_task_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("asana_task_id").toString())); + } + 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_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("trello_card_id") != null && !jsonObj.get("trello_card_id").isJsonNull()) && !jsonObj.get("trello_card_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `trello_card_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("trello_card_id").toString())); + } + if ((jsonObj.get("trello_card_url") != null && !jsonObj.get("trello_card_url").isJsonNull()) && !jsonObj.get("trello_card_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `trello_card_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("trello_card_url").toString())); + } + if ((jsonObj.get("zendesk_ticket_id") != null && !jsonObj.get("zendesk_ticket_id").isJsonNull()) && !jsonObj.get("zendesk_ticket_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zendesk_ticket_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zendesk_ticket_id").toString())); + } + if ((jsonObj.get("zendesk_ticket_url") != null && !jsonObj.get("zendesk_ticket_url").isJsonNull()) && !jsonObj.get("zendesk_ticket_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `zendesk_ticket_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("zendesk_ticket_url").toString())); + } + if ((jsonObj.get("pagerduty_incident_id") != null && !jsonObj.get("pagerduty_incident_id").isJsonNull()) && !jsonObj.get("pagerduty_incident_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `pagerduty_incident_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pagerduty_incident_id").toString())); + } + if ((jsonObj.get("pagerduty_incident_number") != null && !jsonObj.get("pagerduty_incident_number").isJsonNull()) && !jsonObj.get("pagerduty_incident_number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `pagerduty_incident_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pagerduty_incident_number").toString())); + } + if ((jsonObj.get("pagerduty_incident_url") != null && !jsonObj.get("pagerduty_incident_url").isJsonNull()) && !jsonObj.get("pagerduty_incident_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `pagerduty_incident_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pagerduty_incident_url").toString())); + } + if ((jsonObj.get("opsgenie_incident_id") != null && !jsonObj.get("opsgenie_incident_id").isJsonNull()) && !jsonObj.get("opsgenie_incident_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `opsgenie_incident_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("opsgenie_incident_id").toString())); + } + if ((jsonObj.get("opsgenie_incident_url") != null && !jsonObj.get("opsgenie_incident_url").isJsonNull()) && !jsonObj.get("opsgenie_incident_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `opsgenie_incident_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("opsgenie_incident_url").toString())); + } + if ((jsonObj.get("opsgenie_alert_id") != null && !jsonObj.get("opsgenie_alert_id").isJsonNull()) && !jsonObj.get("opsgenie_alert_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `opsgenie_alert_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("opsgenie_alert_id").toString())); + } + if ((jsonObj.get("opsgenie_alert_url") != null && !jsonObj.get("opsgenie_alert_url").isJsonNull()) && !jsonObj.get("opsgenie_alert_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `opsgenie_alert_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("opsgenie_alert_url").toString())); + } + if ((jsonObj.get("service_now_incident_id") != null && !jsonObj.get("service_now_incident_id").isJsonNull()) && !jsonObj.get("service_now_incident_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `service_now_incident_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_incident_id").toString())); + } + if ((jsonObj.get("service_now_incident_key") != null && !jsonObj.get("service_now_incident_key").isJsonNull()) && !jsonObj.get("service_now_incident_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `service_now_incident_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_incident_key").toString())); + } + if ((jsonObj.get("service_now_incident_url") != null && !jsonObj.get("service_now_incident_url").isJsonNull()) && !jsonObj.get("service_now_incident_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `service_now_incident_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("service_now_incident_url").toString())); + } + if ((jsonObj.get("mattermost_channel_id") != null && !jsonObj.get("mattermost_channel_id").isJsonNull()) && !jsonObj.get("mattermost_channel_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `mattermost_channel_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mattermost_channel_id").toString())); + } + if ((jsonObj.get("mattermost_channel_name") != null && !jsonObj.get("mattermost_channel_name").isJsonNull()) && !jsonObj.get("mattermost_channel_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `mattermost_channel_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mattermost_channel_name").toString())); + } + if ((jsonObj.get("mattermost_channel_url") != null && !jsonObj.get("mattermost_channel_url").isJsonNull()) && !jsonObj.get("mattermost_channel_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `mattermost_channel_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mattermost_channel_url").toString())); + } + if ((jsonObj.get("confluence_page_id") != null && !jsonObj.get("confluence_page_id").isJsonNull()) && !jsonObj.get("confluence_page_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `confluence_page_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("confluence_page_id").toString())); + } + if ((jsonObj.get("confluence_page_url") != null && !jsonObj.get("confluence_page_url").isJsonNull()) && !jsonObj.get("confluence_page_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `confluence_page_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("confluence_page_url").toString())); + } + if ((jsonObj.get("datadog_notebook_id") != null && !jsonObj.get("datadog_notebook_id").isJsonNull()) && !jsonObj.get("datadog_notebook_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `datadog_notebook_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("datadog_notebook_id").toString())); + } + if ((jsonObj.get("datadog_notebook_url") != null && !jsonObj.get("datadog_notebook_url").isJsonNull()) && !jsonObj.get("datadog_notebook_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `datadog_notebook_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("datadog_notebook_url").toString())); + } + if ((jsonObj.get("shortcut_story_id") != null && !jsonObj.get("shortcut_story_id").isJsonNull()) && !jsonObj.get("shortcut_story_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `shortcut_story_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shortcut_story_id").toString())); + } + if ((jsonObj.get("shortcut_story_url") != null && !jsonObj.get("shortcut_story_url").isJsonNull()) && !jsonObj.get("shortcut_story_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `shortcut_story_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shortcut_story_url").toString())); + } + if ((jsonObj.get("shortcut_task_id") != null && !jsonObj.get("shortcut_task_id").isJsonNull()) && !jsonObj.get("shortcut_task_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `shortcut_task_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shortcut_task_id").toString())); + } + if ((jsonObj.get("shortcut_task_url") != null && !jsonObj.get("shortcut_task_url").isJsonNull()) && !jsonObj.get("shortcut_task_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `shortcut_task_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("shortcut_task_url").toString())); + } + if ((jsonObj.get("motion_task_id") != null && !jsonObj.get("motion_task_id").isJsonNull()) && !jsonObj.get("motion_task_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `motion_task_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("motion_task_id").toString())); + } + if ((jsonObj.get("motion_task_url") != null && !jsonObj.get("motion_task_url").isJsonNull()) && !jsonObj.get("motion_task_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `motion_task_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("motion_task_url").toString())); + } + if ((jsonObj.get("clickup_task_id") != null && !jsonObj.get("clickup_task_id").isJsonNull()) && !jsonObj.get("clickup_task_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `clickup_task_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("clickup_task_id").toString())); + } + if ((jsonObj.get("clickup_task_url") != null && !jsonObj.get("clickup_task_url").isJsonNull()) && !jsonObj.get("clickup_task_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `clickup_task_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("clickup_task_url").toString())); + } + if ((jsonObj.get("victor_ops_incident_id") != null && !jsonObj.get("victor_ops_incident_id").isJsonNull()) && !jsonObj.get("victor_ops_incident_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `victor_ops_incident_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("victor_ops_incident_id").toString())); + } + if ((jsonObj.get("victor_ops_incident_url") != null && !jsonObj.get("victor_ops_incident_url").isJsonNull()) && !jsonObj.get("victor_ops_incident_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `victor_ops_incident_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("victor_ops_incident_url").toString())); + } + if ((jsonObj.get("quip_page_id") != null && !jsonObj.get("quip_page_id").isJsonNull()) && !jsonObj.get("quip_page_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `quip_page_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("quip_page_id").toString())); + } + if ((jsonObj.get("quip_page_url") != null && !jsonObj.get("quip_page_url").isJsonNull()) && !jsonObj.get("quip_page_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `quip_page_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("quip_page_url").toString())); + } + if ((jsonObj.get("sharepoint_page_id") != null && !jsonObj.get("sharepoint_page_id").isJsonNull()) && !jsonObj.get("sharepoint_page_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sharepoint_page_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sharepoint_page_id").toString())); + } + if ((jsonObj.get("sharepoint_page_url") != null && !jsonObj.get("sharepoint_page_url").isJsonNull()) && !jsonObj.get("sharepoint_page_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sharepoint_page_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sharepoint_page_url").toString())); + } + if ((jsonObj.get("airtable_base_key") != null && !jsonObj.get("airtable_base_key").isJsonNull()) && !jsonObj.get("airtable_base_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `airtable_base_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("airtable_base_key").toString())); + } + if ((jsonObj.get("airtable_table_name") != null && !jsonObj.get("airtable_table_name").isJsonNull()) && !jsonObj.get("airtable_table_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `airtable_table_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("airtable_table_name").toString())); + } + if ((jsonObj.get("airtable_record_id") != null && !jsonObj.get("airtable_record_id").isJsonNull()) && !jsonObj.get("airtable_record_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `airtable_record_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("airtable_record_id").toString())); + } + if ((jsonObj.get("airtable_record_url") != null && !jsonObj.get("airtable_record_url").isJsonNull()) && !jsonObj.get("airtable_record_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `airtable_record_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("airtable_record_url").toString())); + } + if ((jsonObj.get("freshservice_ticket_id") != null && !jsonObj.get("freshservice_ticket_id").isJsonNull()) && !jsonObj.get("freshservice_ticket_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `freshservice_ticket_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("freshservice_ticket_id").toString())); + } + if ((jsonObj.get("freshservice_ticket_url") != null && !jsonObj.get("freshservice_ticket_url").isJsonNull()) && !jsonObj.get("freshservice_ticket_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `freshservice_ticket_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("freshservice_ticket_url").toString())); + } + if ((jsonObj.get("freshservice_task_id") != null && !jsonObj.get("freshservice_task_id").isJsonNull()) && !jsonObj.get("freshservice_task_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `freshservice_task_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("freshservice_task_id").toString())); + } + if ((jsonObj.get("freshservice_task_url") != null && !jsonObj.get("freshservice_task_url").isJsonNull()) && !jsonObj.get("freshservice_task_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `freshservice_task_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("freshservice_task_url").toString())); + } if ((jsonObj.get("mitigation_message") != null && !jsonObj.get("mitigation_message").isJsonNull()) && !jsonObj.get("mitigation_message").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `mitigation_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mitigation_message").toString())); } @@ -1229,6 +3803,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("scheduled_until") != null && !jsonObj.get("scheduled_until").isJsonNull()) && !jsonObj.get("scheduled_until").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `scheduled_until` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scheduled_until").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("muted_service_ids") != null && !jsonObj.get("muted_service_ids").isJsonNull() && !jsonObj.get("muted_service_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `muted_service_ids` to be an array in the JSON string but got `%s`", jsonObj.get("muted_service_ids").toString())); + } if ((jsonObj.get("retrospective_progress_status") != null && !jsonObj.get("retrospective_progress_status").isJsonNull()) && !jsonObj.get("retrospective_progress_status").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `retrospective_progress_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("retrospective_progress_status").toString())); } @@ -1254,6 +3832,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolved_at") != null && !jsonObj.get("resolved_at").isJsonNull()) && !jsonObj.get("resolved_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolved_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolved_at").toString())); } + if ((jsonObj.get("closed_at") != null && !jsonObj.get("closed_at").isJsonNull()) && !jsonObj.get("closed_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `closed_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("closed_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())); } diff --git a/src/main/java/com/rootly/client/model/IncidentActionItem.java b/src/main/java/com/rootly/client/model/IncidentActionItem.java index 182fd792..6bec23a5 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItem.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.UserFlatResponse; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -51,7 +52,7 @@ /** * IncidentActionItem */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItem { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) @@ -120,10 +121,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private KindEnum kind; - public static final String SERIALIZED_NAME_ASSIGNED_TO_USER_ID = "assigned_to_user_id"; - @SerializedName(SERIALIZED_NAME_ASSIGNED_TO_USER_ID) + public static final String SERIALIZED_NAME_ASSIGNED_TO = "assigned_to"; + @SerializedName(SERIALIZED_NAME_ASSIGNED_TO) @javax.annotation.Nullable - private Integer assignedToUserId; + private UserFlatResponse assignedTo; public static final String SERIALIZED_NAME_ASSIGNED_TO_GROUP_IDS = "assigned_to_group_ids"; @SerializedName(SERIALIZED_NAME_ASSIGNED_TO_GROUP_IDS) @@ -260,6 +261,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String jiraIssueId; + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) @javax.annotation.Nullable @@ -335,22 +341,22 @@ public void setKind(@javax.annotation.Nullable KindEnum kind) { } - public IncidentActionItem assignedToUserId(@javax.annotation.Nullable Integer assignedToUserId) { - this.assignedToUserId = assignedToUserId; + public IncidentActionItem assignedTo(@javax.annotation.Nullable UserFlatResponse assignedTo) { + this.assignedTo = assignedTo; return this; } /** - * ID of user you wish to assign this action item - * @return assignedToUserId + * User assigned to this action item + * @return assignedTo */ @javax.annotation.Nullable - public Integer getAssignedToUserId() { - return assignedToUserId; + public UserFlatResponse getAssignedTo() { + return assignedTo; } - public void setAssignedToUserId(@javax.annotation.Nullable Integer assignedToUserId) { - this.assignedToUserId = assignedToUserId; + public void setAssignedTo(@javax.annotation.Nullable UserFlatResponse assignedTo) { + this.assignedTo = assignedTo; } @@ -457,6 +463,25 @@ public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { } + public IncidentActionItem jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * The Jira issue key. + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + public IncidentActionItem jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { this.jiraIssueUrl = jiraIssueUrl; return this; @@ -527,12 +552,13 @@ public boolean equals(Object o) { return Objects.equals(this.summary, incidentActionItem.summary) && Objects.equals(this.description, incidentActionItem.description) && Objects.equals(this.kind, incidentActionItem.kind) && - Objects.equals(this.assignedToUserId, incidentActionItem.assignedToUserId) && + Objects.equals(this.assignedTo, incidentActionItem.assignedTo) && Objects.equals(this.assignedToGroupIds, incidentActionItem.assignedToGroupIds) && Objects.equals(this.priority, incidentActionItem.priority) && Objects.equals(this.status, incidentActionItem.status) && Objects.equals(this.dueDate, incidentActionItem.dueDate) && Objects.equals(this.jiraIssueId, incidentActionItem.jiraIssueId) && + Objects.equals(this.jiraIssueKey, incidentActionItem.jiraIssueKey) && Objects.equals(this.jiraIssueUrl, incidentActionItem.jiraIssueUrl) && Objects.equals(this.createdAt, incidentActionItem.createdAt) && Objects.equals(this.updatedAt, incidentActionItem.updatedAt); @@ -544,7 +570,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(summary, description, kind, assignedToUserId, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueUrl, createdAt, updatedAt); + return Objects.hash(summary, description, kind, assignedTo, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueKey, jiraIssueUrl, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -561,12 +587,13 @@ public String toString() { sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); - sb.append(" assignedToUserId: ").append(toIndentedString(assignedToUserId)).append("\n"); + sb.append(" assignedTo: ").append(toIndentedString(assignedTo)).append("\n"); sb.append(" assignedToGroupIds: ").append(toIndentedString(assignedToGroupIds)).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(" jiraIssueId: ").append(toIndentedString(jiraIssueId)).append("\n"); + sb.append(" jiraIssueKey: ").append(toIndentedString(jiraIssueKey)).append("\n"); sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -595,12 +622,13 @@ private String toIndentedString(Object o) { openapiFields.add("summary"); openapiFields.add("description"); openapiFields.add("kind"); - openapiFields.add("assigned_to_user_id"); + openapiFields.add("assigned_to"); openapiFields.add("assigned_to_group_ids"); openapiFields.add("priority"); openapiFields.add("status"); openapiFields.add("due_date"); openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_key"); openapiFields.add("jira_issue_url"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -653,6 +681,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("kind") != null && !jsonObj.get("kind").isJsonNull()) { KindEnum.validateJsonElement(jsonObj.get("kind")); } + // validate the optional field `assigned_to` + if (jsonObj.get("assigned_to") != null && !jsonObj.get("assigned_to").isJsonNull()) { + UserFlatResponse.validateJsonElement(jsonObj.get("assigned_to")); + } // ensure the optional json data is an array if present if (jsonObj.get("assigned_to_group_ids") != null && !jsonObj.get("assigned_to_group_ids").isJsonNull() && !jsonObj.get("assigned_to_group_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `assigned_to_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("assigned_to_group_ids").toString())); @@ -677,6 +709,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").toString())); } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").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())); } diff --git a/src/main/java/com/rootly/client/model/IncidentActionItemList.java b/src/main/java/com/rootly/client/model/IncidentActionItemList.java index 29037d83..7f8bd425 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemList.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentActionItemResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentActionItemList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentActionItemList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentActionItemList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentActionItemList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentActionItemList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentActionItemList incidentActionItemList = (IncidentActionItemList) o; return Objects.equals(this.data, incidentActionItemList.data) && - Objects.equals(this.links, incidentActionItemList.links); + Objects.equals(this.links, incidentActionItemList.links) && + Objects.equals(this.meta, incidentActionItemList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentActionItemList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java b/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java index 2bbef069..8e685852 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentActionItemResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cdb4ba45..bdb199b3 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentActionItemResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 06554afb..409107c9 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * IncidentCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f77c591d..8eb969e4 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentCustomFieldSelectionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentCustomFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentCustomFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentCustomFieldSelectionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentCustomFieldSelectionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentCustomFieldSelectionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentCustomFieldSelectionList incidentCustomFieldSelectionList = (IncidentCustomFieldSelectionList) o; return Objects.equals(this.data, incidentCustomFieldSelectionList.data) && - Objects.equals(this.links, incidentCustomFieldSelectionList.links); + Objects.equals(this.links, incidentCustomFieldSelectionList.links) && + Objects.equals(this.meta, incidentCustomFieldSelectionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentCustomFieldSelectionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java index 1a36e821..1c984783 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentCustomFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 40fe2f44..6abbaab8 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentCustomFieldSelectionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e38d04b0..1408c607 100644 --- a/src/main/java/com/rootly/client/model/IncidentEvent.java +++ b/src/main/java/com/rootly/client/model/IncidentEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ed506a36..02088b55 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentEventFunctionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 744ebff3..ab388b68 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventFunctionalityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentEventFunctionalityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventFunctionalityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentEventFunctionalityList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentEventFunctionalityList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentEventFunctionalityList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentEventFunctionalityList incidentEventFunctionalityList = (IncidentEventFunctionalityList) o; return Objects.equals(this.data, incidentEventFunctionalityList.data) && - Objects.equals(this.links, incidentEventFunctionalityList.links); + Objects.equals(this.links, incidentEventFunctionalityList.links) && + Objects.equals(this.meta, incidentEventFunctionalityList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentEventFunctionalityList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java index 38c00879..ce8875c0 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventFunctionalityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7665dcb8..7d1d7a4d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventFunctionalityResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 84bc41b9..b0b25cc6 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentEventList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentEventList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentEventList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentEventList incidentEventList = (IncidentEventList) o; return Objects.equals(this.data, incidentEventList.data) && - Objects.equals(this.links, incidentEventList.links); + Objects.equals(this.links, incidentEventList.links) && + Objects.equals(this.meta, incidentEventList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentEventList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentEventResponse.java b/src/main/java/com/rootly/client/model/IncidentEventResponse.java index a993025e..2c92f77d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c261a8ce..70254f46 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0bed9cc4..176928b8 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventService.java +++ b/src/main/java/com/rootly/client/model/IncidentEventService.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentEventService */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2d7e5bdd..16e8464d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventServiceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentEventServiceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentEventServiceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentEventServiceList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentEventServiceList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentEventServiceList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentEventServiceList incidentEventServiceList = (IncidentEventServiceList) o; return Objects.equals(this.data, incidentEventServiceList.data) && - Objects.equals(this.links, incidentEventServiceList.links); + Objects.equals(this.links, incidentEventServiceList.links) && + Objects.equals(this.meta, incidentEventServiceList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentEventServiceList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java b/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java index f85e09f3..db53790d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventServiceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a92d3f6c..157bf397 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentEventServiceResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fe5f11ef..02ce585d 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedback.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentFeedback */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4ff8a49d..def11108 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackList.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentFeedbackResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentFeedbackList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFeedbackList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentFeedbackList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentFeedbackList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentFeedbackList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentFeedbackList incidentFeedbackList = (IncidentFeedbackList) o; return Objects.equals(this.data, incidentFeedbackList.data) && - Objects.equals(this.links, incidentFeedbackList.links); + Objects.equals(this.links, incidentFeedbackList.links) && + Objects.equals(this.meta, incidentFeedbackList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentFeedbackList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java b/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java index 5428dc3a..169a4a82 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentFeedbackResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 410dff3a..6e0cde32 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentFeedbackResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0e51da3b..8f1f1906 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * IncidentFormFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -98,6 +98,21 @@ public class IncidentFormFieldSelection { @javax.annotation.Nullable private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public IncidentFormFieldSelection() { } @@ -320,6 +335,87 @@ public void setSelectedUserIds(@javax.annotation.Nullable List selected } + public IncidentFormFieldSelection selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public IncidentFormFieldSelection addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public IncidentFormFieldSelection selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public IncidentFormFieldSelection addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public IncidentFormFieldSelection selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public IncidentFormFieldSelection addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -338,7 +434,10 @@ public boolean equals(Object o) { Objects.equals(this.selectedOptionIds, incidentFormFieldSelection.selectedOptionIds) && Objects.equals(this.selectedServiceIds, incidentFormFieldSelection.selectedServiceIds) && Objects.equals(this.selectedFunctionalityIds, incidentFormFieldSelection.selectedFunctionalityIds) && - Objects.equals(this.selectedUserIds, incidentFormFieldSelection.selectedUserIds); + Objects.equals(this.selectedUserIds, incidentFormFieldSelection.selectedUserIds) && + Objects.equals(this.selectedEnvironmentIds, incidentFormFieldSelection.selectedEnvironmentIds) && + Objects.equals(this.selectedCauseIds, incidentFormFieldSelection.selectedCauseIds) && + Objects.equals(this.selectedIncidentTypeIds, incidentFormFieldSelection.selectedIncidentTypeIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -347,7 +446,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(incidentId, formFieldId, value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds); + return Objects.hash(incidentId, formFieldId, value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds, selectedEnvironmentIds, selectedCauseIds, selectedIncidentTypeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -370,6 +469,9 @@ public String toString() { sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedFunctionalityIds: ").append(toIndentedString(selectedFunctionalityIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -401,6 +503,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_service_ids"); openapiFields.add("selected_functionality_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -469,6 +574,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("selected_user_ids") != null && !jsonObj.get("selected_user_ids").isJsonNull() && !jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java index 38aee18b..5349e2eb 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentFormFieldSelectionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentFormFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentFormFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentFormFieldSelectionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentFormFieldSelectionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentFormFieldSelectionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentFormFieldSelectionList incidentFormFieldSelectionList = (IncidentFormFieldSelectionList) o; return Objects.equals(this.data, incidentFormFieldSelectionList.data) && - Objects.equals(this.links, incidentFormFieldSelectionList.links); + Objects.equals(this.links, incidentFormFieldSelectionList.links) && + Objects.equals(this.meta, incidentFormFieldSelectionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentFormFieldSelectionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java index 6ce4e032..6dc0939d 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentFormFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3c7ab484..00cee2a5 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentFormFieldSelectionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4d5d7977..a714c3d7 100644 --- a/src/main/java/com/rootly/client/model/IncidentList.java +++ b/src/main/java/com/rootly/client/model/IncidentList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentList incidentList = (IncidentList) o; return Objects.equals(this.data, incidentList.data) && - Objects.equals(this.links, incidentList.links); + Objects.equals(this.links, incidentList.links) && + Objects.equals(this.meta, incidentList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSet.java b/src/main/java/com/rootly/client/model/IncidentPermissionSet.java index 17c0a311..29c68787 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * IncidentPermissionSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSet { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -60,7 +60,7 @@ public class IncidentPermissionSet { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @@ -222,7 +222,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public IncidentPermissionSet slug(@javax.annotation.Nonnull String slug) { + public IncidentPermissionSet slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -231,12 +231,12 @@ public IncidentPermissionSet slug(@javax.annotation.Nonnull String slug) { * The incident permission set slug. * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -431,7 +431,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -467,7 +466,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("description") != null && !jsonObj.get("description").isJsonNull()) && !jsonObj.get("description").isJsonPrimitive()) { diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java index 7e3bc457..82aabe97 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBoolean.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentPermissionSetBoolean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 116c2055..37cfb0e9 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetBooleanResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentPermissionSetBooleanList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetBooleanList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentPermissionSetBooleanList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentPermissionSetBooleanList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentPermissionSetBooleanList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentPermissionSetBooleanList incidentPermissionSetBooleanList = (IncidentPermissionSetBooleanList) o; return Objects.equals(this.data, incidentPermissionSetBooleanList.data) && - Objects.equals(this.links, incidentPermissionSetBooleanList.links); + Objects.equals(this.links, incidentPermissionSetBooleanList.links) && + Objects.equals(this.meta, incidentPermissionSetBooleanList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentPermissionSetBooleanList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java index 9a8701ba..04c0d6f3 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetBooleanResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9c1733d5..5160a1c2 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetBooleanResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c87f0421..113ff8f9 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentPermissionSetList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentPermissionSetList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentPermissionSetList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentPermissionSetList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentPermissionSetList incidentPermissionSetList = (IncidentPermissionSetList) o; return Objects.equals(this.data, incidentPermissionSetList.data) && - Objects.equals(this.links, incidentPermissionSetList.links); + Objects.equals(this.links, incidentPermissionSetList.links) && + Objects.equals(this.meta, incidentPermissionSetList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentPermissionSetList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java index 467221c9..246effcb 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentPermissionSetResource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 433b50e0..af73337e 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetResourceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentPermissionSetResourceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPermissionSetResourceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentPermissionSetResourceList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentPermissionSetResourceList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentPermissionSetResourceList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentPermissionSetResourceList incidentPermissionSetResourceList = (IncidentPermissionSetResourceList) o; return Objects.equals(this.data, incidentPermissionSetResourceList.data) && - Objects.equals(this.links, incidentPermissionSetResourceList.links); + Objects.equals(this.links, incidentPermissionSetResourceList.links) && + Objects.equals(this.meta, incidentPermissionSetResourceList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentPermissionSetResourceList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java index e14f318d..cf9878a3 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResourceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ebf10e95..b52ce543 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResourceResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f64f7b89..a080e6cd 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d6580700..d3ba2fe1 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4b9b85a3..e1583221 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortem.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortem.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPostMortem */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9759260d..9f984135 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemList.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPostMortemResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentPostMortemList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentPostMortemList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentPostMortemList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentPostMortemList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentPostMortemList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentPostMortemList incidentPostMortemList = (IncidentPostMortemList) o; return Objects.equals(this.data, incidentPostMortemList.data) && - Objects.equals(this.links, incidentPostMortemList.links); + Objects.equals(this.links, incidentPostMortemList.links) && + Objects.equals(this.meta, incidentPostMortemList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentPostMortemList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java b/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java index 8ace298a..fa38b6e3 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPostMortemResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c8e44f37..b25837ff 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentPostMortemResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 83ea7a86..3f969eff 100644 --- a/src/main/java/com/rootly/client/model/IncidentResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1b47313c..aefac396 100644 --- a/src/main/java/com/rootly/client/model/IncidentResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 40c57046..35df88e5 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 955c6acd..069adf23 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9dc78d69..b79c6079 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStepResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 819d0427..8c319fac 100644 --- a/src/main/java/com/rootly/client/model/IncidentRole.java +++ b/src/main/java/com/rootly/client/model/IncidentRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 44d72132..2a7354c2 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentRoleResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentRoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentRoleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentRoleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentRoleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentRoleList incidentRoleList = (IncidentRoleList) o; return Objects.equals(this.data, incidentRoleList.data) && - Objects.equals(this.links, incidentRoleList.links); + Objects.equals(this.links, incidentRoleList.links) && + Objects.equals(this.meta, incidentRoleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentRoleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentRoleResponse.java b/src/main/java/com/rootly/client/model/IncidentRoleResponse.java index 0c610ee8..22e18939 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bfeb85d8..e57fb9cc 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRoleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 057308e5..66a00b9e 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRoleTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d9d40ffe..9d3effaf 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentRoleTaskResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentRoleTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentRoleTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentRoleTaskList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentRoleTaskList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentRoleTaskList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentRoleTaskList incidentRoleTaskList = (IncidentRoleTaskList) o; return Objects.equals(this.data, incidentRoleTaskList.data) && - Objects.equals(this.links, incidentRoleTaskList.links); + Objects.equals(this.links, incidentRoleTaskList.links) && + Objects.equals(this.meta, incidentRoleTaskList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentRoleTaskList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java index 6e0908c3..cdb99642 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRoleTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 03d90fe3..4fd6367f 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentRoleTaskResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 addfc4e1..36f248f8 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * IncidentStatusPageEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEvent { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @@ -77,8 +77,6 @@ public enum StatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java index 3181c0c1..ede41e65 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentStatusPageEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentStatusPageEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentStatusPageEventList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentStatusPageEventList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentStatusPageEventList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentStatusPageEventList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentStatusPageEventList incidentStatusPageEventList = (IncidentStatusPageEventList) o; return Objects.equals(this.data, incidentStatusPageEventList.data) && - Objects.equals(this.links, incidentStatusPageEventList.links); + Objects.equals(this.links, incidentStatusPageEventList.links) && + Objects.equals(this.meta, incidentStatusPageEventList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentStatusPageEventList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java index 62b47c1d..a97946d0 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentStatusPageEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b5e9171a..29a1c269 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentStatusPageEventResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/IncidentSubStatus.java b/src/main/java/com/rootly/client/model/IncidentSubStatus.java index 3ce84e1b..02a8fbc7 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentSubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ecf83967..21d331e9 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusList.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentSubStatusResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentSubStatusList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentSubStatusList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentSubStatusList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentSubStatusList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentSubStatusList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentSubStatusList incidentSubStatusList = (IncidentSubStatusList) o; return Objects.equals(this.data, incidentSubStatusList.data) && - Objects.equals(this.links, incidentSubStatusList.links); + Objects.equals(this.links, incidentSubStatusList.links) && + Objects.equals(this.meta, incidentSubStatusList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentSubStatusList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java b/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java index abc8f441..e1b6b54e 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentSubStatusResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e3e6db0d..00a3b40e 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentSubStatusResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 88ecdea2..f87daaf1 100644 --- a/src/main/java/com/rootly/client/model/IncidentTriggerParams.java +++ b/src/main/java/com/rootly/client/model/IncidentTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * IncidentTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTriggerParams { /** * Gets or Sets triggerType @@ -137,7 +137,9 @@ public enum IncidentKindsEnum { BACKFILLED("backfilled"), - SCHEDULED("scheduled"); + SCHEDULED("scheduled"), + + SCHEDULED_SUB("scheduled_sub"); private String value; @@ -333,6 +335,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionVisibilityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -402,6 +406,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionKindEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -471,6 +477,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -540,6 +548,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSubStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -609,6 +619,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionEnvironmentEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -678,6 +690,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSeverityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -747,6 +761,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentTypeEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -816,6 +832,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentRolesEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -885,6 +903,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionServiceEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -954,6 +974,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionFunctionalityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1023,6 +1045,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionGroupEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1092,6 +1116,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionCauseEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1161,6 +1187,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentPostMortemConditionCauseEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/IncidentType.java b/src/main/java/com/rootly/client/model/IncidentType.java index 5b26998d..29227e10 100644 --- a/src/main/java/com/rootly/client/model/IncidentType.java +++ b/src/main/java/com/rootly/client/model/IncidentType.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * IncidentType */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentType { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -95,6 +96,11 @@ public class IncidentType { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -284,6 +290,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public IncidentType addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this incident type. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public IncidentType createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -340,6 +373,7 @@ public boolean equals(Object o) { Objects.equals(this.notifyEmails, incidentType.notifyEmails) && Objects.equals(this.slackChannels, incidentType.slackChannels) && Objects.equals(this.slackAliases, incidentType.slackAliases) && + Objects.equals(this.properties, incidentType.properties) && Objects.equals(this.createdAt, incidentType.createdAt) && Objects.equals(this.updatedAt, incidentType.updatedAt); } @@ -350,7 +384,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, color, position, notifyEmails, slackChannels, slackAliases, createdAt, updatedAt); + return Objects.hash(name, slug, description, color, position, notifyEmails, slackChannels, slackAliases, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -372,6 +406,7 @@ public String toString() { sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).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("}"); @@ -404,6 +439,7 @@ private String toIndentedString(Object o) { openapiFields.add("notify_emails"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -486,6 +522,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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())); } diff --git a/src/main/java/com/rootly/client/model/IncidentTypeList.java b/src/main/java/com/rootly/client/model/IncidentTypeList.java index 75a053b8..4e707306 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeList.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentTypeResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * IncidentTypeList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTypeList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class IncidentTypeList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public IncidentTypeList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public IncidentTypeList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } IncidentTypeList incidentTypeList = (IncidentTypeList) o; return Objects.equals(this.data, incidentTypeList.data) && - Objects.equals(this.links, incidentTypeList.links); + Objects.equals(this.links, incidentTypeList.links) && + Objects.equals(this.meta, incidentTypeList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class IncidentTypeList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/IncidentTypeResponse.java b/src/main/java/com/rootly/client/model/IncidentTypeResponse.java index fec671f7..d22f917b 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentTypeResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 935649cd..1a90e3b2 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IncidentTypeResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..8d46ad79 --- /dev/null +++ b/src/main/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInner.java @@ -0,0 +1,326 @@ +/* + * 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; + +/** + * IncidentZoomMeetingGlobalDialInNumbersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class IncidentZoomMeetingGlobalDialInNumbersInner { + public static final String SERIALIZED_NAME_COUNTRY = "country"; + @SerializedName(SERIALIZED_NAME_COUNTRY) + @javax.annotation.Nullable + private String country; + + public static final String SERIALIZED_NAME_COUNTRY_NAME = "country_name"; + @SerializedName(SERIALIZED_NAME_COUNTRY_NAME) + @javax.annotation.Nullable + private String countryName; + + public static final String SERIALIZED_NAME_CITY = "city"; + @SerializedName(SERIALIZED_NAME_CITY) + @javax.annotation.Nullable + private String city; + + public static final String SERIALIZED_NAME_NUMBER = "number"; + @SerializedName(SERIALIZED_NAME_NUMBER) + @javax.annotation.Nullable + private String number; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @javax.annotation.Nullable + private String type; + + public IncidentZoomMeetingGlobalDialInNumbersInner() { + } + + public IncidentZoomMeetingGlobalDialInNumbersInner country(@javax.annotation.Nullable String country) { + this.country = country; + return this; + } + + /** + * Get country + * @return country + */ + @javax.annotation.Nullable + public String getCountry() { + return country; + } + + public void setCountry(@javax.annotation.Nullable String country) { + this.country = country; + } + + + public IncidentZoomMeetingGlobalDialInNumbersInner countryName(@javax.annotation.Nullable String countryName) { + this.countryName = countryName; + return this; + } + + /** + * Get countryName + * @return countryName + */ + @javax.annotation.Nullable + public String getCountryName() { + return countryName; + } + + public void setCountryName(@javax.annotation.Nullable String countryName) { + this.countryName = countryName; + } + + + public IncidentZoomMeetingGlobalDialInNumbersInner city(@javax.annotation.Nullable String city) { + this.city = city; + return this; + } + + /** + * Get city + * @return city + */ + @javax.annotation.Nullable + public String getCity() { + return city; + } + + public void setCity(@javax.annotation.Nullable String city) { + this.city = city; + } + + + public IncidentZoomMeetingGlobalDialInNumbersInner number(@javax.annotation.Nullable String number) { + this.number = number; + return this; + } + + /** + * Get number + * @return number + */ + @javax.annotation.Nullable + public String getNumber() { + return number; + } + + public void setNumber(@javax.annotation.Nullable String number) { + this.number = number; + } + + + public IncidentZoomMeetingGlobalDialInNumbersInner type(@javax.annotation.Nullable String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public String getType() { + return type; + } + + public void setType(@javax.annotation.Nullable String type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IncidentZoomMeetingGlobalDialInNumbersInner incidentZoomMeetingGlobalDialInNumbersInner = (IncidentZoomMeetingGlobalDialInNumbersInner) o; + return Objects.equals(this.country, incidentZoomMeetingGlobalDialInNumbersInner.country) && + Objects.equals(this.countryName, incidentZoomMeetingGlobalDialInNumbersInner.countryName) && + Objects.equals(this.city, incidentZoomMeetingGlobalDialInNumbersInner.city) && + Objects.equals(this.number, incidentZoomMeetingGlobalDialInNumbersInner.number) && + Objects.equals(this.type, incidentZoomMeetingGlobalDialInNumbersInner.type); + } + + @Override + public int hashCode() { + return Objects.hash(country, countryName, city, number, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IncidentZoomMeetingGlobalDialInNumbersInner {\n"); + sb.append(" country: ").append(toIndentedString(country)).append("\n"); + sb.append(" countryName: ").append(toIndentedString(countryName)).append("\n"); + sb.append(" city: ").append(toIndentedString(city)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).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("country"); + openapiFields.add("country_name"); + openapiFields.add("city"); + openapiFields.add("number"); + openapiFields.add("type"); + + // 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 IncidentZoomMeetingGlobalDialInNumbersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!IncidentZoomMeetingGlobalDialInNumbersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in IncidentZoomMeetingGlobalDialInNumbersInner is not found in the empty JSON string", IncidentZoomMeetingGlobalDialInNumbersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!IncidentZoomMeetingGlobalDialInNumbersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `IncidentZoomMeetingGlobalDialInNumbersInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("country") != null && !jsonObj.get("country").isJsonNull()) && !jsonObj.get("country").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `country` to be a primitive type in the JSON string but got `%s`", jsonObj.get("country").toString())); + } + if ((jsonObj.get("country_name") != null && !jsonObj.get("country_name").isJsonNull()) && !jsonObj.get("country_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `country_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("country_name").toString())); + } + if ((jsonObj.get("city") != null && !jsonObj.get("city").isJsonNull()) && !jsonObj.get("city").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `city` to be a primitive type in the JSON string but got `%s`", jsonObj.get("city").toString())); + } + if ((jsonObj.get("number") != null && !jsonObj.get("number").isJsonNull()) && !jsonObj.get("number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("number").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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!IncidentZoomMeetingGlobalDialInNumbersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'IncidentZoomMeetingGlobalDialInNumbersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(IncidentZoomMeetingGlobalDialInNumbersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, IncidentZoomMeetingGlobalDialInNumbersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public IncidentZoomMeetingGlobalDialInNumbersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of IncidentZoomMeetingGlobalDialInNumbersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of IncidentZoomMeetingGlobalDialInNumbersInner + * @throws IOException if the JSON string is invalid with respect to IncidentZoomMeetingGlobalDialInNumbersInner + */ + public static IncidentZoomMeetingGlobalDialInNumbersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, IncidentZoomMeetingGlobalDialInNumbersInner.class); + } + + /** + * Convert an instance of IncidentZoomMeetingGlobalDialInNumbersInner 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/InviteToMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java index b3202c3d..eede6c80 100644 --- a/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * InviteToMicrosoftTeamsChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a1ecb9ad..b7f2f928 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * InviteToSlackChannelOpsgenieTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a638b475..040a3000 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * InviteToSlackChannelPagerdutyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelPagerdutyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java index afaeddf6..dd14289e 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * InviteToSlackChannelRootlyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bd646783..e74034e0 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * InviteToSlackChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java index c10f551f..059208dd 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * InviteToSlackChannelVictorOpsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 40612518..61dc2506 100644 --- a/src/main/java/com/rootly/client/model/IpRanges.java +++ b/src/main/java/com/rootly/client/model/IpRanges.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * IpRanges */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8af867c1..874766ad 100644 --- a/src/main/java/com/rootly/client/model/IpRangesResponse.java +++ b/src/main/java/com/rootly/client/model/IpRangesResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IpRangesResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d005e87c..7222a64c 100644 --- a/src/main/java/com/rootly/client/model/IpRangesResponseData.java +++ b/src/main/java/com/rootly/client/model/IpRangesResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * IpRangesResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/Links.java b/src/main/java/com/rootly/client/model/Links.java index ab5571a8..cfc54268 100644 --- a/src/main/java/com/rootly/client/model/Links.java +++ b/src/main/java/com/rootly/client/model/Links.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * Links */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Links { public static final String SERIALIZED_NAME_SELF = "self"; @SerializedName(SERIALIZED_NAME_SELF) @@ -72,7 +72,7 @@ public class Links { public static final String SERIALIZED_NAME_LAST = "last"; @SerializedName(SERIALIZED_NAME_LAST) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String last; public Links() { @@ -154,7 +154,7 @@ public void setNext(@javax.annotation.Nullable String next) { } - public Links last(@javax.annotation.Nonnull String last) { + public Links last(@javax.annotation.Nullable String last) { this.last = last; return this; } @@ -163,12 +163,12 @@ public Links last(@javax.annotation.Nonnull String last) { * Get last * @return last */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getLast() { return last; } - public void setLast(@javax.annotation.Nonnull String last) { + public void setLast(@javax.annotation.Nullable String last) { this.last = last; } @@ -281,7 +281,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("next") != null && !jsonObj.get("next").isJsonNull()) && !jsonObj.get("next").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `next` to be a primitive type in the JSON string but got `%s`", jsonObj.get("next").toString())); } - if (!jsonObj.get("last").isJsonPrimitive()) { + if ((jsonObj.get("last") != null && !jsonObj.get("last").isJsonNull()) && !jsonObj.get("last").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `last` to be a primitive type in the JSON string but got `%s`", jsonObj.get("last").toString())); } } diff --git a/src/main/java/com/rootly/client/model/LiveCallRouter.java b/src/main/java/com/rootly/client/model/LiveCallRouter.java index 2e6a114e..b48e2869 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouter.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,10 +19,12 @@ 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 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; @@ -50,7 +52,7 @@ /** * LiveCallRouter */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouter { /** * The kind of the live_call_router @@ -124,15 +126,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti */ @JsonAdapter(CountryCodeEnum.Adapter.class) public enum CountryCodeEnum { - US("US"), + AU("AU"), - GB("GB"), + CA("CA"), + + DE("DE"), + + NL("NL"), NZ("NZ"), - CA("CA"), + SE("SE"), - AU("AU"); + GB("GB"), + + US("US"); private String value; @@ -189,7 +197,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PhoneTypeEnum { LOCAL("local"), - TOLL_FREE("toll_free"); + TOLL_FREE("toll_free"), + + MOBILE("mobile"); private String value; @@ -254,10 +264,72 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String callerGreeting; + /** + * The waiting music URL of the live_call_router + */ + @JsonAdapter(WaitingMusicUrlEnum.Adapter.class) + public enum WaitingMusicUrlEnum { + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3("https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3("https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3("https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3("https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3("https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3("https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3("https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3"); + + private String value; + + WaitingMusicUrlEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WaitingMusicUrlEnum fromValue(String value) { + for (WaitingMusicUrlEnum b : WaitingMusicUrlEnum.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 WaitingMusicUrlEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WaitingMusicUrlEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WaitingMusicUrlEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + WaitingMusicUrlEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_WAITING_MUSIC_URL = "waiting_music_url"; @SerializedName(SERIALIZED_NAME_WAITING_MUSIC_URL) @javax.annotation.Nullable - private String waitingMusicUrl; + private WaitingMusicUrlEnum waitingMusicUrl; public static final String SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY = "sent_to_voicemail_delay"; @SerializedName(SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY) @@ -284,6 +356,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_CALLING_TREE_PROMPT = "calling_tree_prompt"; + @SerializedName(SERIALIZED_NAME_CALLING_TREE_PROMPT) + @javax.annotation.Nullable + private String callingTreePrompt; + + public static final String SERIALIZED_NAME_PAGING_TARGETS = "paging_targets"; + @SerializedName(SERIALIZED_NAME_PAGING_TARGETS) + @javax.annotation.Nullable + 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) @javax.annotation.Nullable @@ -454,7 +536,7 @@ public void setCallerGreeting(@javax.annotation.Nullable String callerGreeting) } - public LiveCallRouter waitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public LiveCallRouter waitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; return this; } @@ -464,11 +546,11 @@ public LiveCallRouter waitingMusicUrl(@javax.annotation.Nullable String waitingM * @return waitingMusicUrl */ @javax.annotation.Nullable - public String getWaitingMusicUrl() { + public WaitingMusicUrlEnum getWaitingMusicUrl() { return waitingMusicUrl; } - public void setWaitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public void setWaitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; } @@ -568,6 +650,52 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public LiveCallRouter callingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + return this; + } + + /** + * The audio instructions callers will hear when they call this number, prompting them to select from available options to route their call + * @return callingTreePrompt + */ + @javax.annotation.Nullable + public String getCallingTreePrompt() { + return callingTreePrompt; + } + + public void setCallingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + } + + + public LiveCallRouter pagingTargets(@javax.annotation.Nullable List pagingTargets) { + this.pagingTargets = pagingTargets; + return this; + } + + public LiveCallRouter addPagingTargetsItem(NewLiveCallRouterDataAttributesPagingTargetsInner pagingTargetsItem) { + if (this.pagingTargets == null) { + this.pagingTargets = new ArrayList<>(); + } + this.pagingTargets.add(pagingTargetsItem); + return this; + } + + /** + * Paging targets that callers can select from when this live call router is configured as a phone tree. + * @return pagingTargets + */ + @javax.annotation.Nullable + public List getPagingTargets() { + return pagingTargets; + } + + public void setPagingTargets(@javax.annotation.Nullable List pagingTargets) { + this.pagingTargets = pagingTargets; + } + + public LiveCallRouter escalationPolicyTriggerParams(@javax.annotation.Nullable UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; return this; @@ -649,25 +777,16 @@ public boolean equals(Object o) { Objects.equals(this.escalationLevelDelayInSeconds, liveCallRouter.escalationLevelDelayInSeconds) && Objects.equals(this.shouldAutoResolveAlertOnCallEnd, liveCallRouter.shouldAutoResolveAlertOnCallEnd) && Objects.equals(this.alertUrgencyId, liveCallRouter.alertUrgencyId) && + Objects.equals(this.callingTreePrompt, liveCallRouter.callingTreePrompt) && + Objects.equals(this.pagingTargets, liveCallRouter.pagingTargets) && Objects.equals(this.escalationPolicyTriggerParams, liveCallRouter.escalationPolicyTriggerParams) && Objects.equals(this.createdAt, liveCallRouter.createdAt) && Objects.equals(this.updatedAt, liveCallRouter.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(kind, enabled, name, countryCode, phoneType, phoneNumber, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, escalationPolicyTriggerParams, 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(kind, enabled, name, countryCode, phoneType, phoneNumber, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, callingTreePrompt, pagingTargets, escalationPolicyTriggerParams, createdAt, updatedAt); } @Override @@ -688,6 +807,8 @@ public String toString() { sb.append(" escalationLevelDelayInSeconds: ").append(toIndentedString(escalationLevelDelayInSeconds)).append("\n"); sb.append(" shouldAutoResolveAlertOnCallEnd: ").append(toIndentedString(shouldAutoResolveAlertOnCallEnd)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" callingTreePrompt: ").append(toIndentedString(callingTreePrompt)).append("\n"); + sb.append(" pagingTargets: ").append(toIndentedString(pagingTargets)).append("\n"); sb.append(" escalationPolicyTriggerParams: ").append(toIndentedString(escalationPolicyTriggerParams)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -727,6 +848,8 @@ private String toIndentedString(Object o) { openapiFields.add("escalation_level_delay_in_seconds"); openapiFields.add("should_auto_resolve_alert_on_call_end"); openapiFields.add("alert_urgency_id"); + openapiFields.add("calling_tree_prompt"); + openapiFields.add("paging_targets"); openapiFields.add("escalation_policy_trigger_params"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -802,9 +925,30 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) && !jsonObj.get("waiting_music_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `waiting_music_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("waiting_music_url").toString())); } + // validate the optional field `waiting_music_url` + if (jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) { + WaitingMusicUrlEnum.validateJsonElement(jsonObj.get("waiting_music_url")); + } 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("calling_tree_prompt") != null && !jsonObj.get("calling_tree_prompt").isJsonNull()) && !jsonObj.get("calling_tree_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `calling_tree_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("calling_tree_prompt").toString())); + } + if (jsonObj.get("paging_targets") != null && !jsonObj.get("paging_targets").isJsonNull()) { + JsonArray jsonArraypagingTargets = jsonObj.getAsJsonArray("paging_targets"); + if (jsonArraypagingTargets != null) { + // ensure the json data is an array + if (!jsonObj.get("paging_targets").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_targets` to be an array in the JSON string but got `%s`", jsonObj.get("paging_targets").toString())); + } + + // validate the optional field `paging_targets` (array) + for (int i = 0; i < jsonArraypagingTargets.size(); i++) { + NewLiveCallRouterDataAttributesPagingTargetsInner.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")); diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterList.java b/src/main/java/com/rootly/client/model/LiveCallRouterList.java index ca631ad6..3f10c9ac 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterList.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; import com.rootly.client.model.LiveCallRouterResponseData; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * LiveCallRouterList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouterList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class LiveCallRouterList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public LiveCallRouterList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public LiveCallRouterList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } LiveCallRouterList liveCallRouterList = (LiveCallRouterList) o; return Objects.equals(this.data, liveCallRouterList.data) && - Objects.equals(this.links, liveCallRouterList.links); + Objects.equals(this.links, liveCallRouterList.links) && + Objects.equals(this.meta, liveCallRouterList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class LiveCallRouterList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java index 05aa1ce8..d517dbe8 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * LiveCallRouterResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bb1752e6..91cf0f83 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * LiveCallRouterResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..b53f9833 --- /dev/null +++ b/src/main/java/com/rootly/client/model/MeetingRecording.java @@ -0,0 +1,657 @@ +/* + * 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.math.BigDecimal; +import java.time.OffsetDateTime; +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; + +/** + * MeetingRecording + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class MeetingRecording { + /** + * Meeting platform + */ + @JsonAdapter(PlatformEnum.Adapter.class) + public enum PlatformEnum { + ZOOM("zoom"), + + GOOGLE_MEET("google_meet"), + + MICROSOFT_TEAMS("microsoft_teams"), + + WEBEX("webex"); + + private String value; + + PlatformEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PlatformEnum fromValue(String value) { + for (PlatformEnum b : PlatformEnum.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 PlatformEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PlatformEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PlatformEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PlatformEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PLATFORM = "platform"; + @SerializedName(SERIALIZED_NAME_PLATFORM) + @javax.annotation.Nonnull + private PlatformEnum platform; + + public static final String SERIALIZED_NAME_SESSION_NUMBER = "session_number"; + @SerializedName(SERIALIZED_NAME_SESSION_NUMBER) + @javax.annotation.Nonnull + private Integer sessionNumber; + + /** + * Current recording lifecycle status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + PENDING("pending"), + + RECORDING("recording"), + + PAUSED("paused"), + + CALL_ENDED("call_ended"), + + ANALYZING("analyzing"), + + COMPLETED("completed"), + + FAILED("failed"); + + 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) + @javax.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_STARTED_AT = "started_at"; + @SerializedName(SERIALIZED_NAME_STARTED_AT) + @javax.annotation.Nullable + private OffsetDateTime startedAt; + + public static final String SERIALIZED_NAME_ENDED_AT = "ended_at"; + @SerializedName(SERIALIZED_NAME_ENDED_AT) + @javax.annotation.Nullable + private OffsetDateTime endedAt; + + public static final String SERIALIZED_NAME_DURATION_MINUTES = "duration_minutes"; + @SerializedName(SERIALIZED_NAME_DURATION_MINUTES) + @javax.annotation.Nullable + private BigDecimal durationMinutes; + + public static final String SERIALIZED_NAME_SPEAKER_COUNT = "speaker_count"; + @SerializedName(SERIALIZED_NAME_SPEAKER_COUNT) + @javax.annotation.Nullable + private Integer speakerCount; + + public static final String SERIALIZED_NAME_WORD_COUNT = "word_count"; + @SerializedName(SERIALIZED_NAME_WORD_COUNT) + @javax.annotation.Nullable + private Integer wordCount; + + public static final String SERIALIZED_NAME_TRANSCRIPT_SUMMARY = "transcript_summary"; + @SerializedName(SERIALIZED_NAME_TRANSCRIPT_SUMMARY) + @javax.annotation.Nullable + private String transcriptSummary; + + public static final String SERIALIZED_NAME_HAS_VIDEO = "has_video"; + @SerializedName(SERIALIZED_NAME_HAS_VIDEO) + @javax.annotation.Nullable + private Boolean hasVideo; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private OffsetDateTime updatedAt; + + public MeetingRecording() { + } + + public MeetingRecording platform(@javax.annotation.Nonnull PlatformEnum platform) { + this.platform = platform; + return this; + } + + /** + * Meeting platform + * @return platform + */ + @javax.annotation.Nonnull + public PlatformEnum getPlatform() { + return platform; + } + + public void setPlatform(@javax.annotation.Nonnull PlatformEnum platform) { + this.platform = platform; + } + + + public MeetingRecording sessionNumber(@javax.annotation.Nonnull Integer sessionNumber) { + this.sessionNumber = sessionNumber; + return this; + } + + /** + * Session number within the incident for this platform (starts at 1, increments on re-invite) + * @return sessionNumber + */ + @javax.annotation.Nonnull + public Integer getSessionNumber() { + return sessionNumber; + } + + public void setSessionNumber(@javax.annotation.Nonnull Integer sessionNumber) { + this.sessionNumber = sessionNumber; + } + + + public MeetingRecording status(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * Current recording lifecycle status + * @return status + */ + @javax.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public MeetingRecording startedAt(@javax.annotation.Nullable OffsetDateTime startedAt) { + this.startedAt = startedAt; + return this; + } + + /** + * When the bot started recording (null if bot never joined) + * @return startedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getStartedAt() { + return startedAt; + } + + public void setStartedAt(@javax.annotation.Nullable OffsetDateTime startedAt) { + this.startedAt = startedAt; + } + + + public MeetingRecording endedAt(@javax.annotation.Nullable OffsetDateTime endedAt) { + this.endedAt = endedAt; + return this; + } + + /** + * When the recording ended + * @return endedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getEndedAt() { + return endedAt; + } + + public void setEndedAt(@javax.annotation.Nullable OffsetDateTime endedAt) { + this.endedAt = endedAt; + } + + + public MeetingRecording durationMinutes(@javax.annotation.Nullable BigDecimal durationMinutes) { + this.durationMinutes = durationMinutes; + return this; + } + + /** + * Recording duration in minutes (null if not started) + * @return durationMinutes + */ + @javax.annotation.Nullable + public BigDecimal getDurationMinutes() { + return durationMinutes; + } + + public void setDurationMinutes(@javax.annotation.Nullable BigDecimal durationMinutes) { + this.durationMinutes = durationMinutes; + } + + + public MeetingRecording speakerCount(@javax.annotation.Nullable Integer speakerCount) { + this.speakerCount = speakerCount; + return this; + } + + /** + * Number of unique speakers detected in the transcript + * @return speakerCount + */ + @javax.annotation.Nullable + public Integer getSpeakerCount() { + return speakerCount; + } + + public void setSpeakerCount(@javax.annotation.Nullable Integer speakerCount) { + this.speakerCount = speakerCount; + } + + + public MeetingRecording wordCount(@javax.annotation.Nullable Integer wordCount) { + this.wordCount = wordCount; + return this; + } + + /** + * Total word count across all transcript segments + * @return wordCount + */ + @javax.annotation.Nullable + public Integer getWordCount() { + return wordCount; + } + + public void setWordCount(@javax.annotation.Nullable Integer wordCount) { + this.wordCount = wordCount; + } + + + public MeetingRecording transcriptSummary(@javax.annotation.Nullable String transcriptSummary) { + this.transcriptSummary = transcriptSummary; + return this; + } + + /** + * AI-generated summary of the meeting transcript (null if no transcript or not yet analyzed) + * @return transcriptSummary + */ + @javax.annotation.Nullable + public String getTranscriptSummary() { + return transcriptSummary; + } + + public void setTranscriptSummary(@javax.annotation.Nullable String transcriptSummary) { + this.transcriptSummary = transcriptSummary; + } + + + public MeetingRecording hasVideo(@javax.annotation.Nullable Boolean hasVideo) { + this.hasVideo = hasVideo; + return this; + } + + /** + * Whether a video recording file is attached + * @return hasVideo + */ + @javax.annotation.Nullable + public Boolean getHasVideo() { + return hasVideo; + } + + public void setHasVideo(@javax.annotation.Nullable Boolean hasVideo) { + this.hasVideo = hasVideo; + } + + + public MeetingRecording createdAt(@javax.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * When the recording session was created + * @return createdAt + */ + @javax.annotation.Nonnull + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public MeetingRecording updatedAt(@javax.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * When the recording session was last updated + * @return updatedAt + */ + @javax.annotation.Nonnull + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + MeetingRecording meetingRecording = (MeetingRecording) o; + return Objects.equals(this.platform, meetingRecording.platform) && + Objects.equals(this.sessionNumber, meetingRecording.sessionNumber) && + Objects.equals(this.status, meetingRecording.status) && + Objects.equals(this.startedAt, meetingRecording.startedAt) && + Objects.equals(this.endedAt, meetingRecording.endedAt) && + Objects.equals(this.durationMinutes, meetingRecording.durationMinutes) && + Objects.equals(this.speakerCount, meetingRecording.speakerCount) && + Objects.equals(this.wordCount, meetingRecording.wordCount) && + Objects.equals(this.transcriptSummary, meetingRecording.transcriptSummary) && + Objects.equals(this.hasVideo, meetingRecording.hasVideo) && + Objects.equals(this.createdAt, meetingRecording.createdAt) && + Objects.equals(this.updatedAt, meetingRecording.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(platform, sessionNumber, status, startedAt, endedAt, durationMinutes, speakerCount, wordCount, transcriptSummary, hasVideo, 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 MeetingRecording {\n"); + sb.append(" platform: ").append(toIndentedString(platform)).append("\n"); + sb.append(" sessionNumber: ").append(toIndentedString(sessionNumber)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" startedAt: ").append(toIndentedString(startedAt)).append("\n"); + sb.append(" endedAt: ").append(toIndentedString(endedAt)).append("\n"); + sb.append(" durationMinutes: ").append(toIndentedString(durationMinutes)).append("\n"); + sb.append(" speakerCount: ").append(toIndentedString(speakerCount)).append("\n"); + sb.append(" wordCount: ").append(toIndentedString(wordCount)).append("\n"); + sb.append(" transcriptSummary: ").append(toIndentedString(transcriptSummary)).append("\n"); + sb.append(" hasVideo: ").append(toIndentedString(hasVideo)).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("platform"); + openapiFields.add("session_number"); + openapiFields.add("status"); + openapiFields.add("started_at"); + openapiFields.add("ended_at"); + openapiFields.add("duration_minutes"); + openapiFields.add("speaker_count"); + openapiFields.add("word_count"); + openapiFields.add("transcript_summary"); + openapiFields.add("has_video"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("platform"); + openapiRequiredFields.add("session_number"); + 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 MeetingRecording + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!MeetingRecording.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in MeetingRecording is not found in the empty JSON string", MeetingRecording.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!MeetingRecording.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `MeetingRecording` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : MeetingRecording.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("platform").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `platform` to be a primitive type in the JSON string but got `%s`", jsonObj.get("platform").toString())); + } + // validate the required field `platform` + PlatformEnum.validateJsonElement(jsonObj.get("platform")); + 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("transcript_summary") != null && !jsonObj.get("transcript_summary").isJsonNull()) && !jsonObj.get("transcript_summary").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `transcript_summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("transcript_summary").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!MeetingRecording.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'MeetingRecording' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(MeetingRecording.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, MeetingRecording value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public MeetingRecording read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of MeetingRecording given an JSON string + * + * @param jsonString JSON string + * @return An instance of MeetingRecording + * @throws IOException if the JSON string is invalid with respect to MeetingRecording + */ + public static MeetingRecording fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, MeetingRecording.class); + } + + /** + * Convert an instance of MeetingRecording 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/MeetingRecordingList.java b/src/main/java/com/rootly/client/model/MeetingRecordingList.java new file mode 100644 index 00000000..b690d18f --- /dev/null +++ b/src/main/java/com/rootly/client/model/MeetingRecordingList.java @@ -0,0 +1,264 @@ +/* + * 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.MeetingRecordingListDataInner; +import com.rootly.client.model.Meta; +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; + +/** + * MeetingRecordingList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class MeetingRecordingList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + + public MeetingRecordingList() { + } + + public MeetingRecordingList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public MeetingRecordingList addDataItem(MeetingRecordingListDataInner dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public MeetingRecordingList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MeetingRecordingList meetingRecordingList = (MeetingRecordingList) o; + return Objects.equals(this.data, meetingRecordingList.data) && + Objects.equals(this.meta, meetingRecordingList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MeetingRecordingList {\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"); + } + + /** + * 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 MeetingRecordingList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!MeetingRecordingList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in MeetingRecordingList is not found in the empty JSON string", MeetingRecordingList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!MeetingRecordingList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `MeetingRecordingList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : MeetingRecordingList.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++) { + MeetingRecordingListDataInner.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!MeetingRecordingList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'MeetingRecordingList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(MeetingRecordingList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, MeetingRecordingList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public MeetingRecordingList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of MeetingRecordingList given an JSON string + * + * @param jsonString JSON string + * @return An instance of MeetingRecordingList + * @throws IOException if the JSON string is invalid with respect to MeetingRecordingList + */ + public static MeetingRecordingList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, MeetingRecordingList.class); + } + + /** + * Convert an instance of MeetingRecordingList 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/MeetingRecordingListDataInner.java b/src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java new file mode 100644 index 00000000..adf86ade --- /dev/null +++ b/src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.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.MeetingRecording; +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; + +/** + * MeetingRecordingListDataInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class MeetingRecordingListDataInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + MEETING_RECORDINGS("meeting_recordings"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private MeetingRecording attributes; + + public MeetingRecordingListDataInner() { + } + + public MeetingRecordingListDataInner id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique UUID of the meeting recording + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public MeetingRecordingListDataInner type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public MeetingRecordingListDataInner attributes(@javax.annotation.Nonnull MeetingRecording attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public MeetingRecording getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull MeetingRecording attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + MeetingRecordingListDataInner meetingRecordingListDataInner = (MeetingRecordingListDataInner) o; + return Objects.equals(this.id, meetingRecordingListDataInner.id) && + Objects.equals(this.type, meetingRecordingListDataInner.type) && + Objects.equals(this.attributes, meetingRecordingListDataInner.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class MeetingRecordingListDataInner {\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 MeetingRecordingListDataInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!MeetingRecordingListDataInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in MeetingRecordingListDataInner is not found in the empty JSON string", MeetingRecordingListDataInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!MeetingRecordingListDataInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `MeetingRecordingListDataInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : MeetingRecordingListDataInner.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` + MeetingRecording.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!MeetingRecordingListDataInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'MeetingRecordingListDataInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(MeetingRecordingListDataInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, MeetingRecordingListDataInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public MeetingRecordingListDataInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of MeetingRecordingListDataInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of MeetingRecordingListDataInner + * @throws IOException if the JSON string is invalid with respect to MeetingRecordingListDataInner + */ + public static MeetingRecordingListDataInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, MeetingRecordingListDataInner.class); + } + + /** + * Convert an instance of MeetingRecordingListDataInner 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/Meta.java b/src/main/java/com/rootly/client/model/Meta.java new file mode 100644 index 00000000..4ad3998e --- /dev/null +++ b/src/main/java/com/rootly/client/model/Meta.java @@ -0,0 +1,365 @@ +/* + * 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; + +/** + * Meta + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String nextCursor; + + public static final String SERIALIZED_NAME_CURRENT_PAGE = "current_page"; + @SerializedName(SERIALIZED_NAME_CURRENT_PAGE) + @javax.annotation.Nullable + private Integer currentPage; + + public static final String SERIALIZED_NAME_NEXT_PAGE = "next_page"; + @SerializedName(SERIALIZED_NAME_NEXT_PAGE) + @javax.annotation.Nullable + private Integer nextPage; + + public static final String SERIALIZED_NAME_PREV_PAGE = "prev_page"; + @SerializedName(SERIALIZED_NAME_PREV_PAGE) + @javax.annotation.Nullable + private Integer prevPage; + + public static final String SERIALIZED_NAME_TOTAL_COUNT = "total_count"; + @SerializedName(SERIALIZED_NAME_TOTAL_COUNT) + @javax.annotation.Nonnull + private Integer totalCount; + + public static final String SERIALIZED_NAME_TOTAL_PAGES = "total_pages"; + @SerializedName(SERIALIZED_NAME_TOTAL_PAGES) + @javax.annotation.Nonnull + private Integer totalPages; + + public Meta() { + } + + public Meta nextCursor(@javax.annotation.Nullable String nextCursor) { + this.nextCursor = nextCursor; + return this; + } + + /** + * Get nextCursor + * @return nextCursor + */ + @javax.annotation.Nullable + public String getNextCursor() { + return nextCursor; + } + + public void setNextCursor(@javax.annotation.Nullable String nextCursor) { + this.nextCursor = nextCursor; + } + + + public Meta currentPage(@javax.annotation.Nullable Integer currentPage) { + this.currentPage = currentPage; + return this; + } + + /** + * Get currentPage + * @return currentPage + */ + @javax.annotation.Nullable + public Integer getCurrentPage() { + return currentPage; + } + + public void setCurrentPage(@javax.annotation.Nullable Integer currentPage) { + this.currentPage = currentPage; + } + + + public Meta nextPage(@javax.annotation.Nullable Integer nextPage) { + this.nextPage = nextPage; + return this; + } + + /** + * Get nextPage + * @return nextPage + */ + @javax.annotation.Nullable + public Integer getNextPage() { + return nextPage; + } + + public void setNextPage(@javax.annotation.Nullable Integer nextPage) { + this.nextPage = nextPage; + } + + + public Meta prevPage(@javax.annotation.Nullable Integer prevPage) { + this.prevPage = prevPage; + return this; + } + + /** + * Get prevPage + * @return prevPage + */ + @javax.annotation.Nullable + public Integer getPrevPage() { + return prevPage; + } + + public void setPrevPage(@javax.annotation.Nullable Integer prevPage) { + this.prevPage = prevPage; + } + + + public Meta totalCount(@javax.annotation.Nonnull Integer totalCount) { + this.totalCount = totalCount; + return this; + } + + /** + * Get totalCount + * @return totalCount + */ + @javax.annotation.Nonnull + public Integer getTotalCount() { + return totalCount; + } + + public void setTotalCount(@javax.annotation.Nonnull Integer totalCount) { + this.totalCount = totalCount; + } + + + public Meta totalPages(@javax.annotation.Nonnull Integer totalPages) { + this.totalPages = totalPages; + return this; + } + + /** + * Get totalPages + * @return totalPages + */ + @javax.annotation.Nonnull + public Integer getTotalPages() { + return totalPages; + } + + public void setTotalPages(@javax.annotation.Nonnull Integer totalPages) { + this.totalPages = totalPages; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Meta meta = (Meta) o; + return Objects.equals(this.nextCursor, meta.nextCursor) && + Objects.equals(this.currentPage, meta.currentPage) && + Objects.equals(this.nextPage, meta.nextPage) && + Objects.equals(this.prevPage, meta.prevPage) && + Objects.equals(this.totalCount, meta.totalCount) && + Objects.equals(this.totalPages, meta.totalPages); + } + + 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(nextCursor, currentPage, nextPage, prevPage, totalCount, totalPages); + } + + 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 Meta {\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).append("\n"); + sb.append(" currentPage: ").append(toIndentedString(currentPage)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" prevPage: ").append(toIndentedString(prevPage)).append("\n"); + sb.append(" totalCount: ").append(toIndentedString(totalCount)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).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("next_cursor"); + openapiFields.add("current_page"); + openapiFields.add("next_page"); + openapiFields.add("prev_page"); + openapiFields.add("total_count"); + openapiFields.add("total_pages"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("current_page"); + openapiRequiredFields.add("next_page"); + openapiRequiredFields.add("prev_page"); + openapiRequiredFields.add("total_count"); + openapiRequiredFields.add("total_pages"); + } + + /** + * 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 Meta + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Meta.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in Meta is not found in the empty JSON string", Meta.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Meta.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `Meta` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : Meta.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("next_cursor") != null && !jsonObj.get("next_cursor").isJsonNull()) && !jsonObj.get("next_cursor").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `next_cursor` to be a primitive type in the JSON string but got `%s`", jsonObj.get("next_cursor").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!Meta.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Meta' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Meta.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Meta value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Meta read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Meta given an JSON string + * + * @param jsonString JSON string + * @return An instance of Meta + * @throws IOException if the JSON string is invalid with respect to Meta + */ + public static Meta fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Meta.class); + } + + /** + * Convert an instance of Meta 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/MitigateIncident.java b/src/main/java/com/rootly/client/model/MitigateIncident.java index 8e1a16e3..a217af85 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncident.java +++ b/src/main/java/com/rootly/client/model/MitigateIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * MitigateIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0b24df95..b8c6296f 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncidentData.java +++ b/src/main/java/com/rootly/client/model/MitigateIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * MitigateIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MitigateIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java index 8ea2bd60..33f8fdb6 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * MitigateIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 64f681b1..ecc5419e 100644 --- a/src/main/java/com/rootly/client/model/NewAlert.java +++ b/src/main/java/com/rootly/client/model/NewAlert.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1ed70eb0..0a30a840 100644 --- a/src/main/java/com/rootly/client/model/NewAlertData.java +++ b/src/main/java/com/rootly/client/model/NewAlertData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 59462abf..6bf7c04c 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -53,7 +54,7 @@ /** * NewAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributes { /** * Whether the alert is marked as noise @@ -123,6 +124,8 @@ public enum SourceEnum { API("api"), + HEARTBEAT("heartbeat"), + WEB("web"), SLACK("slack"), @@ -133,6 +136,8 @@ public enum SourceEnum { LIVE_CALL_ROUTING("live_call_routing"), + MOBILE("mobile"), + PAGERDUTY("pagerduty"), OPSGENIE("opsgenie"), @@ -143,6 +148,8 @@ public enum SourceEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + NOBL9("nobl9"), ZENDESK("zendesk"), @@ -173,6 +180,8 @@ public enum SourceEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + AZURE("azure"), SPLUNK("splunk"), @@ -355,7 +364,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private String alertUrgencyId; /** - * Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, User. + * Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, Functionality, User. Please contact support if you encounter issues using `Functionality` as a notification target type. */ @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) public enum NotificationTargetTypeEnum { @@ -365,7 +374,9 @@ public enum NotificationTargetTypeEnum { ESCALATION_POLICY("EscalationPolicy"), - SERVICE("Service"); + SERVICE("Service"), + + FUNCTIONALITY("Functionality"); private String value; @@ -430,6 +441,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Object data; + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY = "deduplication_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY) + @javax.annotation.Nullable + private String deduplicationKey; + + public static final String SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES = "alert_field_values_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES) + @javax.annotation.Nullable + private List alertFieldValuesAttributes = new ArrayList<>(); + public NewAlertDataAttributes() { } @@ -542,7 +563,7 @@ public NewAlertDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. + * The Service IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Service. This field will be automatically set for you. * @return serviceIds */ @javax.annotation.Nullable @@ -569,7 +590,7 @@ public NewAlertDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Group ID's to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. + * The Group IDs to attach to the alert. If your organization has On-Call enabled and your notification target is a Group. This field will be automatically set for you. * @return groupIds */ @javax.annotation.Nullable @@ -596,7 +617,7 @@ public NewAlertDataAttributes addEnvironmentIdsItem(String environmentIdsItem) { } /** - * The Environment ID's to attach to the alert + * The Environment IDs to attach to the alert * @return environmentIds */ @javax.annotation.Nullable @@ -710,7 +731,7 @@ public NewAlertDataAttributes notificationTargetType(@javax.annotation.Nullable } /** - * Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, User. + * Only available for organizations with Rootly On-Call enabled. Can be one of Group, Service, EscalationPolicy, Functionality, User. Please contact support if you encounter issues using `Functionality` as a notification target type. * @return notificationTargetType */ @javax.annotation.Nullable @@ -788,6 +809,52 @@ public void setData(@javax.annotation.Nullable Object data) { } + public NewAlertDataAttributes deduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + return this; + } + + /** + * Alerts sharing the same deduplication key are treated as a single alert. + * @return deduplicationKey + */ + @javax.annotation.Nullable + public String getDeduplicationKey() { + return deduplicationKey; + } + + public void setDeduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + } + + + public NewAlertDataAttributes alertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + return this; + } + + public NewAlertDataAttributes addAlertFieldValuesAttributesItem(NewAlertDataAttributesAlertFieldValuesAttributesInner alertFieldValuesAttributesItem) { + if (this.alertFieldValuesAttributes == null) { + this.alertFieldValuesAttributes = new ArrayList<>(); + } + this.alertFieldValuesAttributes.add(alertFieldValuesAttributesItem); + return this; + } + + /** + * Custom alert field values to create with the alert + * @return alertFieldValuesAttributes + */ + @javax.annotation.Nullable + public List getAlertFieldValuesAttributes() { + return alertFieldValuesAttributes; + } + + public void setAlertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + } + + @Override public boolean equals(Object o) { @@ -814,7 +881,9 @@ public boolean equals(Object o) { Objects.equals(this.notificationTargetType, newAlertDataAttributes.notificationTargetType) && Objects.equals(this.notificationTargetId, newAlertDataAttributes.notificationTargetId) && Objects.equals(this.labels, newAlertDataAttributes.labels) && - Objects.equals(this.data, newAlertDataAttributes.data); + Objects.equals(this.data, newAlertDataAttributes.data) && + Objects.equals(this.deduplicationKey, newAlertDataAttributes.deduplicationKey) && + Objects.equals(this.alertFieldValuesAttributes, newAlertDataAttributes.alertFieldValuesAttributes); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -823,7 +892,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(noise, source, status, summary, description, serviceIds, groupIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, notificationTargetType, notificationTargetId, labels, data); + return Objects.hash(noise, source, status, summary, description, serviceIds, groupIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, notificationTargetType, notificationTargetId, labels, data, deduplicationKey, alertFieldValuesAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -854,6 +923,8 @@ public String toString() { sb.append(" notificationTargetId: ").append(toIndentedString(notificationTargetId)).append("\n"); sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" deduplicationKey: ").append(toIndentedString(deduplicationKey)).append("\n"); + sb.append(" alertFieldValuesAttributes: ").append(toIndentedString(alertFieldValuesAttributes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -893,6 +964,8 @@ private String toIndentedString(Object o) { openapiFields.add("notification_target_id"); openapiFields.add("labels"); openapiFields.add("data"); + openapiFields.add("deduplication_key"); + openapiFields.add("alert_field_values_attributes"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -998,6 +1071,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if ((jsonObj.get("deduplication_key") != null && !jsonObj.get("deduplication_key").isJsonNull()) && !jsonObj.get("deduplication_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key").toString())); + } + if (jsonObj.get("alert_field_values_attributes") != null && !jsonObj.get("alert_field_values_attributes").isJsonNull()) { + JsonArray jsonArrayalertFieldValuesAttributes = jsonObj.getAsJsonArray("alert_field_values_attributes"); + if (jsonArrayalertFieldValuesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_field_values_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_values_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_field_values_attributes").toString())); + } + + // validate the optional field `alert_field_values_attributes` (array) + for (int i = 0; i < jsonArrayalertFieldValuesAttributes.size(); i++) { + NewAlertDataAttributesAlertFieldValuesAttributesInner.validateJsonElement(jsonArrayalertFieldValuesAttributes.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java new file mode 100644 index 00000000..57c9b9d6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.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; + +/** + * NewAlertDataAttributesAlertFieldValuesAttributesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String alertFieldId; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nonnull + private String value; + + public NewAlertDataAttributesAlertFieldValuesAttributesInner() { + } + + public NewAlertDataAttributesAlertFieldValuesAttributesInner alertFieldId(@javax.annotation.Nonnull String alertFieldId) { + this.alertFieldId = alertFieldId; + return this; + } + + /** + * ID of the custom alert field + * @return alertFieldId + */ + @javax.annotation.Nonnull + public String getAlertFieldId() { + return alertFieldId; + } + + public void setAlertFieldId(@javax.annotation.Nonnull String alertFieldId) { + this.alertFieldId = alertFieldId; + } + + + public NewAlertDataAttributesAlertFieldValuesAttributesInner value(@javax.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * Value for the alert field + * @return value + */ + @javax.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@javax.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; + } + NewAlertDataAttributesAlertFieldValuesAttributesInner newAlertDataAttributesAlertFieldValuesAttributesInner = (NewAlertDataAttributesAlertFieldValuesAttributesInner) o; + return Objects.equals(this.alertFieldId, newAlertDataAttributesAlertFieldValuesAttributesInner.alertFieldId) && + Objects.equals(this.value, newAlertDataAttributesAlertFieldValuesAttributesInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(alertFieldId, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertDataAttributesAlertFieldValuesAttributesInner {\n"); + sb.append(" alertFieldId: ").append(toIndentedString(alertFieldId)).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("alert_field_id"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("alert_field_id"); + 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 NewAlertDataAttributesAlertFieldValuesAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertDataAttributesAlertFieldValuesAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertDataAttributesAlertFieldValuesAttributesInner is not found in the empty JSON string", NewAlertDataAttributesAlertFieldValuesAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertDataAttributesAlertFieldValuesAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertDataAttributesAlertFieldValuesAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertDataAttributesAlertFieldValuesAttributesInner.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("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("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 (!NewAlertDataAttributesAlertFieldValuesAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertDataAttributesAlertFieldValuesAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertDataAttributesAlertFieldValuesAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertDataAttributesAlertFieldValuesAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertDataAttributesAlertFieldValuesAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertDataAttributesAlertFieldValuesAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertDataAttributesAlertFieldValuesAttributesInner + * @throws IOException if the JSON string is invalid with respect to NewAlertDataAttributesAlertFieldValuesAttributesInner + */ + public static NewAlertDataAttributesAlertFieldValuesAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertDataAttributesAlertFieldValuesAttributesInner.class); + } + + /** + * Convert an instance of NewAlertDataAttributesAlertFieldValuesAttributesInner 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/NewAlertDataAttributesLabelsInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java index 0be9982a..0f6a5517 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInnerValue; import java.io.IOException; import java.util.Arrays; @@ -48,7 +49,7 @@ /** * NewAlertDataAttributesLabelsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributesLabelsInner { public static final String SERIALIZED_NAME_KEY = "key"; @SerializedName(SERIALIZED_NAME_KEY) @@ -58,7 +59,7 @@ public class NewAlertDataAttributesLabelsInner { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) @javax.annotation.Nonnull - private String value; + private NewAlertDataAttributesLabelsInnerValue value; public NewAlertDataAttributesLabelsInner() { } @@ -82,21 +83,21 @@ public void setKey(@javax.annotation.Nonnull String key) { } - public NewAlertDataAttributesLabelsInner value(@javax.annotation.Nonnull String value) { + public NewAlertDataAttributesLabelsInner value(@javax.annotation.Nonnull NewAlertDataAttributesLabelsInnerValue value) { this.value = value; return this; } /** - * Value of the tag + * Get value * @return value */ @javax.annotation.Nonnull - public String getValue() { + public NewAlertDataAttributesLabelsInnerValue getValue() { return value; } - public void setValue(@javax.annotation.Nonnull String value) { + public void setValue(@javax.annotation.Nonnull NewAlertDataAttributesLabelsInnerValue value) { this.value = value; } @@ -188,9 +189,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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())); - } + // validate the required field `value` + NewAlertDataAttributesLabelsInnerValue.validateJsonElement(jsonObj.get("value")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java new file mode 100644 index 00000000..b38a660e --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValue.java @@ -0,0 +1,323 @@ +/* + * 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 java.math.BigDecimal; + + + +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; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertDataAttributesLabelsInnerValue extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(NewAlertDataAttributesLabelsInnerValue.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertDataAttributesLabelsInnerValue.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertDataAttributesLabelsInnerValue' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class)); + final TypeAdapter adapterBigDecimal = gson.getDelegateAdapter(this, TypeToken.get(BigDecimal.class)); + final TypeAdapter adapterBoolean = gson.getDelegateAdapter(this, TypeToken.get(Boolean.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertDataAttributesLabelsInnerValue value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `String` + if (value.getActualInstance() instanceof String) { + JsonPrimitive primitive = adapterString.toJsonTree((String)value.getActualInstance()).getAsJsonPrimitive(); + elementAdapter.write(out, primitive); + return; + } + // check if the actual instance is of the type `BigDecimal` + if (value.getActualInstance() instanceof BigDecimal) { + JsonElement element = adapterBigDecimal.toJsonTree((BigDecimal)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `Boolean` + if (value.getActualInstance() instanceof Boolean) { + JsonPrimitive primitive = adapterBoolean.toJsonTree((Boolean)value.getActualInstance()).getAsJsonPrimitive(); + elementAdapter.write(out, primitive); + return; + } + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: BigDecimal, Boolean, String"); + } + + @Override + public NewAlertDataAttributesLabelsInnerValue read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + int match = 0; + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize String + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterString; + match++; + log.log(Level.FINER, "Input data matches schema 'String'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'String'", e); + } + // deserialize BigDecimal + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isNumber()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterBigDecimal; + match++; + log.log(Level.FINER, "Input data matches schema 'BigDecimal'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for BigDecimal failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'BigDecimal'", e); + } + // deserialize Boolean + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isBoolean()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type Boolean in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterBoolean; + match++; + log.log(Level.FINER, "Input data matches schema 'Boolean'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for Boolean failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'Boolean'", e); + } + + if (match == 1) { + NewAlertDataAttributesLabelsInnerValue ret = new NewAlertDataAttributesLabelsInnerValue(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } + + throw new IOException(String.format("Failed deserialization for NewAlertDataAttributesLabelsInnerValue: %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 NewAlertDataAttributesLabelsInnerValue() { + super("oneOf", Boolean.FALSE); + } + + public NewAlertDataAttributesLabelsInnerValue(Object o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("String", String.class); + schemas.put("BigDecimal", BigDecimal.class); + schemas.put("Boolean", Boolean.class); + } + + @Override + public Map> getSchemas() { + return NewAlertDataAttributesLabelsInnerValue.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * BigDecimal, Boolean, String + * + * It could be an instance of the 'oneOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance instanceof String) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof BigDecimal) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof Boolean) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be BigDecimal, Boolean, String"); + } + + /** + * Get the actual instance, which can be the following: + * BigDecimal, Boolean, String + * + * @return The actual instance (BigDecimal, Boolean, String) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `String`. If the actual instance is not `String`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `String` + * @throws ClassCastException if the instance is not `String` + */ + public String getString() throws ClassCastException { + return (String)super.getActualInstance(); + } + + /** + * Get the actual instance of `BigDecimal`. If the actual instance is not `BigDecimal`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BigDecimal` + * @throws ClassCastException if the instance is not `BigDecimal` + */ + public BigDecimal getBigDecimal() throws ClassCastException { + return (BigDecimal)super.getActualInstance(); + } + + /** + * Get the actual instance of `Boolean`. If the actual instance is not `Boolean`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `Boolean` + * @throws ClassCastException if the instance is not `Boolean` + */ + public Boolean getBoolean() throws ClassCastException { + return (Boolean)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 NewAlertDataAttributesLabelsInnerValue + */ + 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 String + try { + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with BigDecimal + try { + if (!jsonElement.getAsJsonPrimitive().isNumber()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())); + } + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for BigDecimal failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with Boolean + try { + if (!jsonElement.getAsJsonPrimitive().isBoolean()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type Boolean in the JSON string but got `%s`", jsonElement.toString())); + } + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for Boolean failed with `%s`.", e.getMessage())); + // continue to the next one + } + if (validCount != 1) { + throw new IOException(String.format("The JSON string is invalid for NewAlertDataAttributesLabelsInnerValue with oneOf schemas: BigDecimal, Boolean, String. %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 NewAlertDataAttributesLabelsInnerValue given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertDataAttributesLabelsInnerValue + * @throws IOException if the JSON string is invalid with respect to NewAlertDataAttributesLabelsInnerValue + */ + public static NewAlertDataAttributesLabelsInnerValue fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertDataAttributesLabelsInnerValue.class); + } + + /** + * Convert an instance of NewAlertDataAttributesLabelsInnerValue 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/NewAlertEvent.java b/src/main/java/com/rootly/client/model/NewAlertEvent.java index efad5d39..83defdc2 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEvent.java +++ b/src/main/java/com/rootly/client/model/NewAlertEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9daad424..4d1cc29c 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEventData.java +++ b/src/main/java/com/rootly/client/model/NewAlertEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1be8b192..1fc6dabe 100644 --- a/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewAlertEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..ebc7effa --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertField.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.NewAlertFieldData; +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; + +/** + * NewAlertField + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertField { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewAlertFieldData data; + + public NewAlertField() { + } + + public NewAlertField data(@javax.annotation.Nonnull NewAlertFieldData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewAlertFieldData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewAlertFieldData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertField newAlertField = (NewAlertField) o; + return Objects.equals(this.data, newAlertField.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertField {\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 NewAlertField + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertField.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertField is not found in the empty JSON string", NewAlertField.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertField.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertField` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertField.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` + NewAlertFieldData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertField.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertField' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertField.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertField value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertField read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertField given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertField + * @throws IOException if the JSON string is invalid with respect to NewAlertField + */ + public static NewAlertField fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertField.class); + } + + /** + * Convert an instance of NewAlertField 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/NewAlertFieldData.java b/src/main/java/com/rootly/client/model/NewAlertFieldData.java new file mode 100644 index 00000000..d47cbf95 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertFieldData.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.NewAlertFieldDataAttributes; +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; + +/** + * NewAlertFieldData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertFieldData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_FIELDS("alert_fields"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewAlertFieldDataAttributes attributes; + + public NewAlertFieldData() { + } + + public NewAlertFieldData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewAlertFieldData attributes(@javax.annotation.Nonnull NewAlertFieldDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewAlertFieldDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewAlertFieldDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertFieldData newAlertFieldData = (NewAlertFieldData) o; + return Objects.equals(this.type, newAlertFieldData.type) && + Objects.equals(this.attributes, newAlertFieldData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertFieldData {\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 NewAlertFieldData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertFieldData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertFieldData is not found in the empty JSON string", NewAlertFieldData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertFieldData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertFieldData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertFieldData.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` + NewAlertFieldDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertFieldData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertFieldData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertFieldData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertFieldData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertFieldData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertFieldData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertFieldData + * @throws IOException if the JSON string is invalid with respect to NewAlertFieldData + */ + public static NewAlertFieldData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertFieldData.class); + } + + /** + * Convert an instance of NewAlertFieldData 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/NewAlertFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java new file mode 100644 index 00000000..eaba3bb4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.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; + +/** + * NewAlertFieldDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertFieldDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public NewAlertFieldDataAttributes() { + } + + public NewAlertFieldDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert field + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.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; + } + NewAlertFieldDataAttributes newAlertFieldDataAttributes = (NewAlertFieldDataAttributes) o; + return Objects.equals(this.name, newAlertFieldDataAttributes.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertFieldDataAttributes {\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("name"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + 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 NewAlertFieldDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertFieldDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertFieldDataAttributes is not found in the empty JSON string", NewAlertFieldDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertFieldDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertFieldDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertFieldDataAttributes.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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertFieldDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertFieldDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertFieldDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertFieldDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertFieldDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertFieldDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertFieldDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewAlertFieldDataAttributes + */ + public static NewAlertFieldDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertFieldDataAttributes.class); + } + + /** + * Convert an instance of NewAlertFieldDataAttributes 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/NewAlertGroup.java b/src/main/java/com/rootly/client/model/NewAlertGroup.java index efa92779..840a643f 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroup.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9ce564af..11031bb8 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupData.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4baba62a..564c972e 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; +import com.rootly.client.model.NewAlertGroupDataAttributesConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; import java.util.ArrayList; @@ -53,7 +54,7 @@ /** * NewAlertGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -76,12 +77,13 @@ public class NewAlertGroupDataAttributes { private List targets = new ArrayList<>(); public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @Deprecated @SerializedName(SERIALIZED_NAME_ATTRIBUTES) @javax.annotation.Nullable private List attributes = new ArrayList<>(); /** - * Whether the alerts should be grouped by titles. + * [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. */ @JsonAdapter(GroupByAlertTitleEnum.Adapter.class) public enum GroupByAlertTitleEnum { @@ -133,12 +135,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } public static final String SERIALIZED_NAME_GROUP_BY_ALERT_TITLE = "group_by_alert_title"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_TITLE) @javax.annotation.Nullable private GroupByAlertTitleEnum groupByAlertTitle; /** - * Whether the alerts should be grouped by urgencies. + * [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. */ @JsonAdapter(GroupByAlertUrgencyEnum.Adapter.class) public enum GroupByAlertUrgencyEnum { @@ -190,6 +193,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } public static final String SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY = "group_by_alert_urgency"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY) @javax.annotation.Nullable private GroupByAlertUrgencyEnum groupByAlertUrgency; @@ -251,6 +255,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private ConditionTypeEnum conditionType; + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + public NewAlertGroupDataAttributes() { } @@ -338,6 +347,7 @@ public void setTargets(@javax.annotation.Nullable List attributes) { this.attributes = attributes; return this; @@ -352,52 +362,63 @@ public NewAlertGroupDataAttributes addAttributesItem(NewAlertGroupDataAttributes } /** - * Get attributes + * This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. * @return attributes + * @deprecated */ + @Deprecated @javax.annotation.Nullable public List getAttributes() { return attributes; } + @Deprecated public void setAttributes(@javax.annotation.Nullable List attributes) { this.attributes = attributes; } + @Deprecated public NewAlertGroupDataAttributes groupByAlertTitle(@javax.annotation.Nullable GroupByAlertTitleEnum groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; return this; } /** - * Whether the alerts should be grouped by titles. + * [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertTitle + * @deprecated */ + @Deprecated @javax.annotation.Nullable public GroupByAlertTitleEnum getGroupByAlertTitle() { return groupByAlertTitle; } + @Deprecated public void setGroupByAlertTitle(@javax.annotation.Nullable GroupByAlertTitleEnum groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; } + @Deprecated public NewAlertGroupDataAttributes groupByAlertUrgency(@javax.annotation.Nullable GroupByAlertUrgencyEnum groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; return this; } /** - * Whether the alerts should be grouped by urgencies. + * [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertUrgency + * @deprecated */ + @Deprecated @javax.annotation.Nullable public GroupByAlertUrgencyEnum getGroupByAlertUrgency() { return groupByAlertUrgency; } + @Deprecated public void setGroupByAlertUrgency(@javax.annotation.Nullable GroupByAlertUrgencyEnum groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; } @@ -422,6 +443,33 @@ public void setConditionType(@javax.annotation.Nullable ConditionTypeEnum condit } + public NewAlertGroupDataAttributes conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public NewAlertGroupDataAttributes addConditionsItem(NewAlertGroupDataAttributesConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + @Override public boolean equals(Object o) { @@ -439,7 +487,8 @@ public boolean equals(Object o) { Objects.equals(this.attributes, newAlertGroupDataAttributes.attributes) && Objects.equals(this.groupByAlertTitle, newAlertGroupDataAttributes.groupByAlertTitle) && Objects.equals(this.groupByAlertUrgency, newAlertGroupDataAttributes.groupByAlertUrgency) && - Objects.equals(this.conditionType, newAlertGroupDataAttributes.conditionType); + Objects.equals(this.conditionType, newAlertGroupDataAttributes.conditionType) && + Objects.equals(this.conditions, newAlertGroupDataAttributes.conditions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -448,7 +497,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType); + return Objects.hash(name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); } private static int hashCodeNullable(JsonNullable a) { @@ -470,6 +519,7 @@ public String toString() { sb.append(" groupByAlertTitle: ").append(toIndentedString(groupByAlertTitle)).append("\n"); sb.append(" groupByAlertUrgency: ").append(toIndentedString(groupByAlertUrgency)).append("\n"); sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -500,6 +550,7 @@ private String toIndentedString(Object o) { openapiFields.add("group_by_alert_title"); openapiFields.add("group_by_alert_urgency"); openapiFields.add("condition_type"); + openapiFields.add("conditions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -583,6 +634,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("condition_type") != null && !jsonObj.get("condition_type").isJsonNull()) { ConditionTypeEnum.validateJsonElement(jsonObj.get("condition_type")); } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + NewAlertGroupDataAttributesConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java index dd42c16a..fd6554af 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewAlertGroupDataAttributesAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..04c8f5de --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInner.java @@ -0,0 +1,635 @@ +/* + * 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; + +/** + * NewAlertGroupDataAttributesConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertGroupDataAttributesConditionsInner { + /** + * The type of the property field + */ + @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) + @javax.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nullable + private String propertyFieldName; + + /** + * The condition type of the property field + */ + @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"), + + MATCHES_EXISTING_ALERT("matches_existing_alert"); + + 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) + @javax.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues = new ArrayList<>(); + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @javax.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; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + 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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private String conditionableId; + + public NewAlertGroupDataAttributesConditionsInner() { + } + + public NewAlertGroupDataAttributesConditionsInner propertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * The type of the property field + * @return propertyFieldType + */ + @javax.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public NewAlertGroupDataAttributesConditionsInner propertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field. If the property field type is selected as 'attribute', then the allowed property field names are 'summary' (for Title), 'description', 'alert_urgency' and 'external_url' (for Alert Source URL). If the property field type is selected as 'payload', then the property field name should be supplied in JSON Path syntax. + * @return propertyFieldName + */ + @javax.annotation.Nullable + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public NewAlertGroupDataAttributesConditionsInner propertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * The condition type of the property field + * @return propertyFieldConditionType + */ + @javax.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public NewAlertGroupDataAttributesConditionsInner propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field. Can be null if the property field condition type is 'is_one_of' or 'is_not_one_of' + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public NewAlertGroupDataAttributesConditionsInner propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public NewAlertGroupDataAttributesConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * The values of the property field. Need to be passed if the property field condition type is 'is_one_of' or 'is_not_one_of' except for when property field name is 'alert_urgency' + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public NewAlertGroupDataAttributesConditionsInner alertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public NewAlertGroupDataAttributesConditionsInner 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. Only need to be set when the property field type is 'attribute', the property field name is 'alert_urgency' and the property field condition type is 'is_one_of' or 'is_not_one_of' + * @return alertUrgencyIds + */ + @javax.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + + public NewAlertGroupDataAttributesConditionsInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public NewAlertGroupDataAttributesConditionsInner conditionableId(@javax.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 + */ + @javax.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertGroupDataAttributesConditionsInner newAlertGroupDataAttributesConditionsInner = (NewAlertGroupDataAttributesConditionsInner) o; + return Objects.equals(this.propertyFieldType, newAlertGroupDataAttributesConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldName, newAlertGroupDataAttributesConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldConditionType, newAlertGroupDataAttributesConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldValue, newAlertGroupDataAttributesConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, newAlertGroupDataAttributesConditionsInner.propertyFieldValues) && + Objects.equals(this.alertUrgencyIds, newAlertGroupDataAttributesConditionsInner.alertUrgencyIds) && + Objects.equals(this.conditionableType, newAlertGroupDataAttributesConditionsInner.conditionableType) && + Objects.equals(this.conditionableId, newAlertGroupDataAttributesConditionsInner.conditionableId); + } + + 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(propertyFieldType, propertyFieldName, propertyFieldConditionType, propertyFieldValue, propertyFieldValues, alertUrgencyIds, conditionableType, conditionableId); + } + + 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 NewAlertGroupDataAttributesConditionsInner {\n"); + sb.append(" propertyFieldType: ").append(toIndentedString(propertyFieldType)).append("\n"); + sb.append(" propertyFieldName: ").append(toIndentedString(propertyFieldName)).append("\n"); + sb.append(" propertyFieldConditionType: ").append(toIndentedString(propertyFieldConditionType)).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_type"); + openapiFields.add("property_field_name"); + openapiFields.add("property_field_condition_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_type"); + openapiRequiredFields.add("property_field_condition_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 NewAlertGroupDataAttributesConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertGroupDataAttributesConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertGroupDataAttributesConditionsInner is not found in the empty JSON string", NewAlertGroupDataAttributesConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertGroupDataAttributesConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertGroupDataAttributesConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertGroupDataAttributesConditionsInner.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_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_name") != null && !jsonObj.get("property_field_name").isJsonNull()) && !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_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_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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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 optional json data is an array if present + if (jsonObj.get("alert_urgency_ids") != null && !jsonObj.get("alert_urgency_ids").isJsonNull() && !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 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertGroupDataAttributesConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertGroupDataAttributesConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertGroupDataAttributesConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertGroupDataAttributesConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertGroupDataAttributesConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertGroupDataAttributesConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertGroupDataAttributesConditionsInner + * @throws IOException if the JSON string is invalid with respect to NewAlertGroupDataAttributesConditionsInner + */ + public static NewAlertGroupDataAttributesConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertGroupDataAttributesConditionsInner.class); + } + + /** + * Convert an instance of NewAlertGroupDataAttributesConditionsInner 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/NewAlertGroupDataAttributesTargetsInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java index ca6bc8d8..f460f179 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,10 +49,10 @@ /** * NewAlertGroupDataAttributesTargetsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributesTargetsInner { /** - * The type of the target. + * 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 { @@ -60,7 +60,9 @@ public enum TargetTypeEnum { SERVICE("Service"), - ESCALATION_POLICY("EscalationPolicy"); + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); private String value; @@ -124,7 +126,7 @@ public NewAlertGroupDataAttributesTargetsInner targetType(@javax.annotation.Nonn } /** - * The type of the target. + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. * @return targetType */ @javax.annotation.Nonnull @@ -143,7 +145,7 @@ public NewAlertGroupDataAttributesTargetsInner targetId(@javax.annotation.Nonnul } /** - * id for the Group, Service or EscalationPolicy + * id for the Group, Service, EscalationPolicy or Functionality * @return targetId */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/NewAlertRoute.java b/src/main/java/com/rootly/client/model/NewAlertRoute.java new file mode 100644 index 00000000..896f2f7c --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRoute.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.NewAlertRouteData; +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; + +/** + * NewAlertRoute + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRoute { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private NewAlertRouteData data; + + public NewAlertRoute() { + } + + public NewAlertRoute data(@javax.annotation.Nullable NewAlertRouteData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public NewAlertRouteData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable NewAlertRouteData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertRoute newAlertRoute = (NewAlertRoute) o; + return Objects.equals(this.data, newAlertRoute.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRoute {\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 NewAlertRoute + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRoute.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRoute is not found in the empty JSON string", NewAlertRoute.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRoute.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRoute` 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()) { + NewAlertRouteData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRoute.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRoute' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRoute.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRoute value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRoute read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRoute given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRoute + * @throws IOException if the JSON string is invalid with respect to NewAlertRoute + */ + public static NewAlertRoute fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRoute.class); + } + + /** + * Convert an instance of NewAlertRoute 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/NewAlertRouteData.java b/src/main/java/com/rootly/client/model/NewAlertRouteData.java new file mode 100644 index 00000000..6fb2aa87 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteData.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.NewAlertRouteDataAttributes; +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; + +/** + * NewAlertRouteData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRouteData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_ROUTES("alert_routes"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private NewAlertRouteDataAttributes attributes; + + public NewAlertRouteData() { + } + + public NewAlertRouteData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public NewAlertRouteData attributes(@javax.annotation.Nullable NewAlertRouteDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public NewAlertRouteDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable NewAlertRouteDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertRouteData newAlertRouteData = (NewAlertRouteData) o; + return Objects.equals(this.type, newAlertRouteData.type) && + Objects.equals(this.attributes, newAlertRouteData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRouteData {\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 NewAlertRouteData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteData is not found in the empty JSON string", NewAlertRouteData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteData` 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()) { + NewAlertRouteDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRouteData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteData + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteData + */ + public static NewAlertRouteData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteData.class); + } + + /** + * Convert an instance of NewAlertRouteData 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/NewAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java new file mode 100644 index 00000000..900f3a83 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributes.java @@ -0,0 +1,375 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInner; +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; + +/** + * NewAlertRouteDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRouteDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @javax.annotation.Nullable + private Boolean enabled; + + public static final String SERIALIZED_NAME_ALERTS_SOURCE_IDS = "alerts_source_ids"; + @SerializedName(SERIALIZED_NAME_ALERTS_SOURCE_IDS) + @javax.annotation.Nonnull + private List alertsSourceIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNING_TEAM_IDS = "owning_team_ids"; + @SerializedName(SERIALIZED_NAME_OWNING_TEAM_IDS) + @javax.annotation.Nullable + private List owningTeamIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + @javax.annotation.Nullable + private List rules = new ArrayList<>(); + + public NewAlertRouteDataAttributes() { + } + + public NewAlertRouteDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert route + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewAlertRouteDataAttributes enabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the alert route is enabled + * @return enabled + */ + @javax.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public NewAlertRouteDataAttributes alertsSourceIds(@javax.annotation.Nonnull List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + return this; + } + + public NewAlertRouteDataAttributes addAlertsSourceIdsItem(UUID alertsSourceIdsItem) { + if (this.alertsSourceIds == null) { + this.alertsSourceIds = new ArrayList<>(); + } + this.alertsSourceIds.add(alertsSourceIdsItem); + return this; + } + + /** + * Get alertsSourceIds + * @return alertsSourceIds + */ + @javax.annotation.Nonnull + public List getAlertsSourceIds() { + return alertsSourceIds; + } + + public void setAlertsSourceIds(@javax.annotation.Nonnull List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + } + + + public NewAlertRouteDataAttributes owningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + return this; + } + + public NewAlertRouteDataAttributes addOwningTeamIdsItem(UUID owningTeamIdsItem) { + if (this.owningTeamIds == null) { + this.owningTeamIds = new ArrayList<>(); + } + this.owningTeamIds.add(owningTeamIdsItem); + return this; + } + + /** + * Get owningTeamIds + * @return owningTeamIds + */ + @javax.annotation.Nullable + public List getOwningTeamIds() { + return owningTeamIds; + } + + public void setOwningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + } + + + public NewAlertRouteDataAttributes rules(@javax.annotation.Nullable List rules) { + this.rules = rules; + return this; + } + + public NewAlertRouteDataAttributes addRulesItem(NewAlertRouteDataAttributesRulesInner rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList<>(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Get rules + * @return rules + */ + @javax.annotation.Nullable + public List getRules() { + return rules; + } + + public void setRules(@javax.annotation.Nullable List rules) { + this.rules = rules; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewAlertRouteDataAttributes newAlertRouteDataAttributes = (NewAlertRouteDataAttributes) o; + return Objects.equals(this.name, newAlertRouteDataAttributes.name) && + Objects.equals(this.enabled, newAlertRouteDataAttributes.enabled) && + Objects.equals(this.alertsSourceIds, newAlertRouteDataAttributes.alertsSourceIds) && + Objects.equals(this.owningTeamIds, newAlertRouteDataAttributes.owningTeamIds) && + Objects.equals(this.rules, newAlertRouteDataAttributes.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, enabled, alertsSourceIds, owningTeamIds, rules); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRouteDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" alertsSourceIds: ").append(toIndentedString(alertsSourceIds)).append("\n"); + sb.append(" owningTeamIds: ").append(toIndentedString(owningTeamIds)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).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("alerts_source_ids"); + openapiFields.add("owning_team_ids"); + openapiFields.add("rules"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("alerts_source_ids"); + } + + /** + * 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 NewAlertRouteDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteDataAttributes is not found in the empty JSON string", NewAlertRouteDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertRouteDataAttributes.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 required json array is present + if (jsonObj.get("alerts_source_ids") == null) { + throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); + } else if (!jsonObj.get("alerts_source_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alerts_source_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_source_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("owning_team_ids") != null && !jsonObj.get("owning_team_ids").isJsonNull() && !jsonObj.get("owning_team_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owning_team_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owning_team_ids").toString())); + } + if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { + JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); + if (jsonArrayrules != null) { + // ensure the json data is an array + if (!jsonObj.get("rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString())); + } + + // validate the optional field `rules` (array) + for (int i = 0; i < jsonArrayrules.size(); i++) { + NewAlertRouteDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRouteDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteDataAttributes + */ + public static NewAlertRouteDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteDataAttributes.class); + } + + /** + * Convert an instance of NewAlertRouteDataAttributes 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/NewAlertRouteDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.java new file mode 100644 index 00000000..1127c6e9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInner.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.NewAlertRouteDataAttributesRulesInnerConditionGroupsInner; +import com.rootly.client.model.NewAlertRouteDataAttributesRulesInnerDestinationsInner; +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; + +/** + * NewAlertRouteDataAttributesRulesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRouteDataAttributesRulesInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_FALLBACK_RULE = "fallback_rule"; + @SerializedName(SERIALIZED_NAME_FALLBACK_RULE) + @javax.annotation.Nullable + private Boolean fallbackRule = false; + + public static final String SERIALIZED_NAME_DESTINATIONS = "destinations"; + @SerializedName(SERIALIZED_NAME_DESTINATIONS) + @javax.annotation.Nonnull + private List destinations = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CONDITION_GROUPS = "condition_groups"; + @SerializedName(SERIALIZED_NAME_CONDITION_GROUPS) + @javax.annotation.Nonnull + private List conditionGroups = new ArrayList<>(); + + public NewAlertRouteDataAttributesRulesInner() { + } + + public NewAlertRouteDataAttributesRulesInner name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the alert routing rule + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewAlertRouteDataAttributesRulesInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public NewAlertRouteDataAttributesRulesInner fallbackRule(@javax.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + return this; + } + + /** + * Whether this is a fallback rule + * @return fallbackRule + */ + @javax.annotation.Nullable + public Boolean getFallbackRule() { + return fallbackRule; + } + + public void setFallbackRule(@javax.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + } + + + public NewAlertRouteDataAttributesRulesInner destinations(@javax.annotation.Nonnull List destinations) { + this.destinations = destinations; + return this; + } + + public NewAlertRouteDataAttributesRulesInner addDestinationsItem(NewAlertRouteDataAttributesRulesInnerDestinationsInner destinationsItem) { + if (this.destinations == null) { + this.destinations = new ArrayList<>(); + } + this.destinations.add(destinationsItem); + return this; + } + + /** + * Get destinations + * @return destinations + */ + @javax.annotation.Nonnull + public List getDestinations() { + return destinations; + } + + public void setDestinations(@javax.annotation.Nonnull List destinations) { + this.destinations = destinations; + } + + + public NewAlertRouteDataAttributesRulesInner conditionGroups(@javax.annotation.Nonnull List conditionGroups) { + this.conditionGroups = conditionGroups; + return this; + } + + public NewAlertRouteDataAttributesRulesInner addConditionGroupsItem(NewAlertRouteDataAttributesRulesInnerConditionGroupsInner conditionGroupsItem) { + if (this.conditionGroups == null) { + this.conditionGroups = new ArrayList<>(); + } + this.conditionGroups.add(conditionGroupsItem); + return this; + } + + /** + * Get conditionGroups + * @return conditionGroups + */ + @javax.annotation.Nonnull + public List getConditionGroups() { + return conditionGroups; + } + + public void setConditionGroups(@javax.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; + } + NewAlertRouteDataAttributesRulesInner newAlertRouteDataAttributesRulesInner = (NewAlertRouteDataAttributesRulesInner) o; + return Objects.equals(this.name, newAlertRouteDataAttributesRulesInner.name) && + Objects.equals(this.position, newAlertRouteDataAttributesRulesInner.position) && + Objects.equals(this.fallbackRule, newAlertRouteDataAttributesRulesInner.fallbackRule) && + Objects.equals(this.destinations, newAlertRouteDataAttributesRulesInner.destinations) && + Objects.equals(this.conditionGroups, newAlertRouteDataAttributesRulesInner.conditionGroups); + } + + @Override + public int hashCode() { + return Objects.hash(name, position, fallbackRule, destinations, conditionGroups); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRouteDataAttributesRulesInner {\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 NewAlertRouteDataAttributesRulesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteDataAttributesRulesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteDataAttributesRulesInner is not found in the empty JSON string", NewAlertRouteDataAttributesRulesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteDataAttributesRulesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteDataAttributesRulesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertRouteDataAttributesRulesInner.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++) { + NewAlertRouteDataAttributesRulesInnerDestinationsInner.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++) { + NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.validateJsonElement(jsonArrayconditionGroups.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRouteDataAttributesRulesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteDataAttributesRulesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteDataAttributesRulesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteDataAttributesRulesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteDataAttributesRulesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteDataAttributesRulesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteDataAttributesRulesInner + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteDataAttributesRulesInner + */ + public static NewAlertRouteDataAttributesRulesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteDataAttributesRulesInner.class); + } + + /** + * Convert an instance of NewAlertRouteDataAttributesRulesInner 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/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.java new file mode 100644 index 00000000..1aa536cc --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.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.NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner; +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; + +/** + * NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInner { + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nonnull + private List conditions = new ArrayList<>(); + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInner() { + } + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition group + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInner conditions(@javax.annotation.Nonnull List conditions) { + this.conditions = conditions; + return this; + } + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInner addConditionsItem(NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @javax.annotation.Nonnull + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.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; + } + NewAlertRouteDataAttributesRulesInnerConditionGroupsInner newAlertRouteDataAttributesRulesInnerConditionGroupsInner = (NewAlertRouteDataAttributesRulesInnerConditionGroupsInner) o; + return Objects.equals(this.position, newAlertRouteDataAttributesRulesInnerConditionGroupsInner.position) && + Objects.equals(this.conditions, newAlertRouteDataAttributesRulesInnerConditionGroupsInner.conditions); + } + + @Override + public int hashCode() { + return Objects.hash(position, conditions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRouteDataAttributesRulesInnerConditionGroupsInner {\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 NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteDataAttributesRulesInnerConditionGroupsInner is not found in the empty JSON string", NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteDataAttributesRulesInnerConditionGroupsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.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++) { + NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteDataAttributesRulesInnerConditionGroupsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteDataAttributesRulesInnerConditionGroupsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + public static NewAlertRouteDataAttributesRulesInnerConditionGroupsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteDataAttributesRulesInnerConditionGroupsInner.class); + } + + /** + * Convert an instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInner 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/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java new file mode 100644 index 00000000..33afa549 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java @@ -0,0 +1,634 @@ +/* + * 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 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; + +/** + * NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner { + /** + * 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) + @javax.annotation.Nonnull + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nullable + 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) + @javax.annotation.Nonnull + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @javax.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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private UUID conditionableId; + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner() { + } + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * Get propertyFieldConditionType + * @return propertyFieldConditionType + */ + @javax.annotation.Nonnull + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nonnull PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field + * @return propertyFieldName + */ + @javax.annotation.Nullable + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * Get propertyFieldType + * @return propertyFieldType + */ + @javax.annotation.Nonnull + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nonnull PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * Get propertyFieldValues + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner alertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner 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 + */ + @javax.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable + * @return conditionableId + */ + @javax.annotation.Nullable + public UUID getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.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; + } + NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner = (NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner) o; + return Objects.equals(this.propertyFieldConditionType, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldName, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldType, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldValue, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValues) && + Objects.equals(this.alertUrgencyIds, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.alertUrgencyIds) && + Objects.equals(this.conditionableType, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.conditionableType) && + Objects.equals(this.conditionableId, newAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.conditionableId); + } + + 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(propertyFieldConditionType, propertyFieldName, propertyFieldType, propertyFieldValue, propertyFieldValues, alertUrgencyIds, conditionableType, conditionableId); + } + + 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 NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner {\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_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 NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner is not found in the empty JSON string", NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.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") != null && !jsonObj.get("property_field_name").isJsonNull()) && !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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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 optional json data is an array if present + if (jsonObj.get("alert_urgency_ids") != null && !jsonObj.get("alert_urgency_ids").isJsonNull() && !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 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + public static NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class); + } + + /** + * Convert an instance of NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner 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/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.java new file mode 100644 index 00000000..c8ee7f35 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInner.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; + +/** + * NewAlertRouteDataAttributesRulesInnerDestinationsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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. + */ + @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) + @javax.annotation.Nonnull + private TargetTypeEnum targetType; + + public static final String SERIALIZED_NAME_TARGET_ID = "target_id"; + @SerializedName(SERIALIZED_NAME_TARGET_ID) + @javax.annotation.Nonnull + private UUID targetId; + + public NewAlertRouteDataAttributesRulesInnerDestinationsInner() { + } + + public NewAlertRouteDataAttributesRulesInnerDestinationsInner targetType(@javax.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 + */ + @javax.annotation.Nonnull + public TargetTypeEnum getTargetType() { + return targetType; + } + + public void setTargetType(@javax.annotation.Nonnull TargetTypeEnum targetType) { + this.targetType = targetType; + } + + + public NewAlertRouteDataAttributesRulesInnerDestinationsInner targetId(@javax.annotation.Nonnull UUID targetId) { + this.targetId = targetId; + return this; + } + + /** + * The ID of the target + * @return targetId + */ + @javax.annotation.Nonnull + public UUID getTargetId() { + return targetId; + } + + public void setTargetId(@javax.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; + } + NewAlertRouteDataAttributesRulesInnerDestinationsInner newAlertRouteDataAttributesRulesInnerDestinationsInner = (NewAlertRouteDataAttributesRulesInnerDestinationsInner) o; + return Objects.equals(this.targetType, newAlertRouteDataAttributesRulesInnerDestinationsInner.targetType) && + Objects.equals(this.targetId, newAlertRouteDataAttributesRulesInnerDestinationsInner.targetId); + } + + @Override + public int hashCode() { + return Objects.hash(targetType, targetId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewAlertRouteDataAttributesRulesInnerDestinationsInner {\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 NewAlertRouteDataAttributesRulesInnerDestinationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertRouteDataAttributesRulesInnerDestinationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertRouteDataAttributesRulesInnerDestinationsInner is not found in the empty JSON string", NewAlertRouteDataAttributesRulesInnerDestinationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertRouteDataAttributesRulesInnerDestinationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertRouteDataAttributesRulesInnerDestinationsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewAlertRouteDataAttributesRulesInnerDestinationsInner.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 (!NewAlertRouteDataAttributesRulesInnerDestinationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertRouteDataAttributesRulesInnerDestinationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertRouteDataAttributesRulesInnerDestinationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertRouteDataAttributesRulesInnerDestinationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertRouteDataAttributesRulesInnerDestinationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertRouteDataAttributesRulesInnerDestinationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertRouteDataAttributesRulesInnerDestinationsInner + * @throws IOException if the JSON string is invalid with respect to NewAlertRouteDataAttributesRulesInnerDestinationsInner + */ + public static NewAlertRouteDataAttributesRulesInnerDestinationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertRouteDataAttributesRulesInnerDestinationsInner.class); + } + + /** + * Convert an instance of NewAlertRouteDataAttributesRulesInnerDestinationsInner 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/NewAlertRoutingRule.java b/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java index cc6dcefc..d07983c1 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertRoutingRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 599910e6..d9e33f40 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertRoutingRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1bfbabb9..6a400cc2 100644 --- a/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertRouteDataAttributesRulesInnerDestinationsInner; import com.rootly.client.model.NewAlertRoutingRuleDataAttributesConditionsInner; -import com.rootly.client.model.NewAlertRoutingRuleDataAttributesDestination; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +53,7 @@ /** * NewAlertRoutingRuleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertRoutingRuleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -75,6 +75,11 @@ public class NewAlertRoutingRuleDataAttributes { @javax.annotation.Nonnull private UUID alertsSourceId; + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + /** * The type of condition for the alert routing rule */ @@ -140,7 +145,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_DESTINATION = "destination"; @SerializedName(SERIALIZED_NAME_DESTINATION) @javax.annotation.Nonnull - private NewAlertRoutingRuleDataAttributesDestination destination; + private NewAlertRouteDataAttributesRulesInnerDestinationsInner destination; public NewAlertRoutingRuleDataAttributes() { } @@ -229,6 +234,25 @@ public void setAlertsSourceId(@javax.annotation.Nonnull UUID alertsSourceId) { } + public NewAlertRoutingRuleDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + public NewAlertRoutingRuleDataAttributes conditionType(@javax.annotation.Nullable ConditionTypeEnum conditionType) { this.conditionType = conditionType; return this; @@ -275,7 +299,7 @@ public void setConditions(@javax.annotation.Nullable List **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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewAlertRoutingRuleDataAttributesConditionsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d23aeefd..f5da6b2b 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgency.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgency.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertUrgency */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 31c1b17c..e285ac11 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgencyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertUrgencyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ec9507e0..79951981 100644 --- a/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertUrgencyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertUrgencyDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSource.java b/src/main/java/com/rootly/client/model/NewAlertsSource.java index b5b46138..06fadf5a 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSource.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertsSource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 74d72331..210afa92 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceData.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertsSourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c27d3c13..231bf33b 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; @@ -27,6 +28,7 @@ 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; @@ -54,7 +56,7 @@ /** * NewAlertsSourceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -74,6 +76,8 @@ public enum SourceTypeEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + ALERTMANAGER("alertmanager"), GOOGLE_CLOUD("google_cloud"), @@ -86,6 +90,8 @@ public enum SourceTypeEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + CHECKLY("checkly"), AZURE("azure"), @@ -161,6 +167,76 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY = "deduplicate_alerts_by_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY) + @javax.annotation.Nullable + private Boolean deduplicateAlertsByKey; + + /** + * Kind of deduplication key. + */ + @JsonAdapter(DeduplicationKeyKindEnum.Adapter.class) + public enum DeduplicationKeyKindEnum { + PAYLOAD("payload"); + + private String value; + + DeduplicationKeyKindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DeduplicationKeyKindEnum fromValue(String value) { + for (DeduplicationKeyKindEnum b : DeduplicationKeyKindEnum.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 DeduplicationKeyKindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DeduplicationKeyKindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_KIND = "deduplication_key_kind"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_KIND) + @javax.annotation.Nullable + private DeduplicationKeyKindEnum deduplicationKeyKind; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_PATH = "deduplication_key_path"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_PATH) + @javax.annotation.Nullable + private String deduplicationKeyPath; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP = "deduplication_key_regexp"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP) + @javax.annotation.Nullable + private String deduplicationKeyRegexp; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable @@ -186,6 +262,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes; + public static final String SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES = "alert_source_fields_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES) + @javax.annotation.Nullable + private List alertSourceFieldsAttributes = new ArrayList<>(); + public NewAlertsSourceDataAttributes() { } @@ -246,6 +327,82 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public NewAlertsSourceDataAttributes deduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; + return this; + } + + /** + * Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. + * @return deduplicateAlertsByKey + */ + @javax.annotation.Nullable + public Boolean getDeduplicateAlertsByKey() { + return deduplicateAlertsByKey; + } + + public void setDeduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; + } + + + public NewAlertsSourceDataAttributes deduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; + return this; + } + + /** + * Kind of deduplication key. + * @return deduplicationKeyKind + */ + @javax.annotation.Nullable + public DeduplicationKeyKindEnum getDeduplicationKeyKind() { + return deduplicationKeyKind; + } + + public void setDeduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; + } + + + public NewAlertsSourceDataAttributes deduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; + return this; + } + + /** + * Path to deduplication key. This is a JSON Path to extract the deduplication key from the request body. + * @return deduplicationKeyPath + */ + @javax.annotation.Nullable + public String getDeduplicationKeyPath() { + return deduplicationKeyPath; + } + + public void setDeduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; + } + + + public NewAlertsSourceDataAttributes deduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; + return this; + } + + /** + * Regular expression to extract key from value found at key path. + * @return deduplicationKeyRegexp + */ + @javax.annotation.Nullable + public String getDeduplicationKeyRegexp() { + return deduplicationKeyRegexp; + } + + public void setDeduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; + } + + public NewAlertsSourceDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { this.ownerGroupIds = ownerGroupIds; return this; @@ -357,6 +514,33 @@ public void setResolutionRuleAttributes(@javax.annotation.Nullable NewAlertsSour } + public NewAlertsSourceDataAttributes alertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + return this; + } + + public NewAlertsSourceDataAttributes addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { + if (this.alertSourceFieldsAttributes == null) { + this.alertSourceFieldsAttributes = new ArrayList<>(); + } + this.alertSourceFieldsAttributes.add(alertSourceFieldsAttributesItem); + return this; + } + + /** + * 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. + * @return alertSourceFieldsAttributes + */ + @javax.annotation.Nullable + public List getAlertSourceFieldsAttributes() { + return alertSourceFieldsAttributes; + } + + public void setAlertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + } + + @Override public boolean equals(Object o) { @@ -370,16 +554,32 @@ public boolean equals(Object o) { return Objects.equals(this.name, newAlertsSourceDataAttributes.name) && Objects.equals(this.sourceType, newAlertsSourceDataAttributes.sourceType) && Objects.equals(this.alertUrgencyId, newAlertsSourceDataAttributes.alertUrgencyId) && + Objects.equals(this.deduplicateAlertsByKey, newAlertsSourceDataAttributes.deduplicateAlertsByKey) && + Objects.equals(this.deduplicationKeyKind, newAlertsSourceDataAttributes.deduplicationKeyKind) && + Objects.equals(this.deduplicationKeyPath, newAlertsSourceDataAttributes.deduplicationKeyPath) && + Objects.equals(this.deduplicationKeyRegexp, newAlertsSourceDataAttributes.deduplicationKeyRegexp) && Objects.equals(this.ownerGroupIds, newAlertsSourceDataAttributes.ownerGroupIds) && Objects.equals(this.alertTemplateAttributes, newAlertsSourceDataAttributes.alertTemplateAttributes) && Objects.equals(this.alertSourceUrgencyRulesAttributes, newAlertsSourceDataAttributes.alertSourceUrgencyRulesAttributes) && Objects.equals(this.sourceableAttributes, newAlertsSourceDataAttributes.sourceableAttributes) && - Objects.equals(this.resolutionRuleAttributes, newAlertsSourceDataAttributes.resolutionRuleAttributes); + Objects.equals(this.resolutionRuleAttributes, newAlertsSourceDataAttributes.resolutionRuleAttributes) && + Objects.equals(this.alertSourceFieldsAttributes, newAlertsSourceDataAttributes.alertSourceFieldsAttributes); + } + + 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, sourceType, alertUrgencyId, ownerGroupIds, alertTemplateAttributes, alertSourceUrgencyRulesAttributes, sourceableAttributes, resolutionRuleAttributes); + return Objects.hash(name, sourceType, alertUrgencyId, deduplicateAlertsByKey, deduplicationKeyKind, deduplicationKeyPath, deduplicationKeyRegexp, ownerGroupIds, alertTemplateAttributes, alertSourceUrgencyRulesAttributes, sourceableAttributes, resolutionRuleAttributes, alertSourceFieldsAttributes); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -389,11 +589,16 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" sourceType: ").append(toIndentedString(sourceType)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" deduplicateAlertsByKey: ").append(toIndentedString(deduplicateAlertsByKey)).append("\n"); + sb.append(" deduplicationKeyKind: ").append(toIndentedString(deduplicationKeyKind)).append("\n"); + sb.append(" deduplicationKeyPath: ").append(toIndentedString(deduplicationKeyPath)).append("\n"); + sb.append(" deduplicationKeyRegexp: ").append(toIndentedString(deduplicationKeyRegexp)).append("\n"); sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" alertTemplateAttributes: ").append(toIndentedString(alertTemplateAttributes)).append("\n"); sb.append(" alertSourceUrgencyRulesAttributes: ").append(toIndentedString(alertSourceUrgencyRulesAttributes)).append("\n"); sb.append(" sourceableAttributes: ").append(toIndentedString(sourceableAttributes)).append("\n"); sb.append(" resolutionRuleAttributes: ").append(toIndentedString(resolutionRuleAttributes)).append("\n"); + sb.append(" alertSourceFieldsAttributes: ").append(toIndentedString(alertSourceFieldsAttributes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -419,11 +624,16 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("source_type"); openapiFields.add("alert_urgency_id"); + openapiFields.add("deduplicate_alerts_by_key"); + openapiFields.add("deduplication_key_kind"); + openapiFields.add("deduplication_key_path"); + openapiFields.add("deduplication_key_regexp"); openapiFields.add("owner_group_ids"); openapiFields.add("alert_template_attributes"); openapiFields.add("alert_source_urgency_rules_attributes"); openapiFields.add("sourceable_attributes"); openapiFields.add("resolution_rule_attributes"); + openapiFields.add("alert_source_fields_attributes"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -471,6 +681,19 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) && !jsonObj.get("deduplication_key_kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_kind").toString())); + } + // validate the optional field `deduplication_key_kind` + if (jsonObj.get("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) { + DeduplicationKeyKindEnum.validateJsonElement(jsonObj.get("deduplication_key_kind")); + } + if ((jsonObj.get("deduplication_key_path") != null && !jsonObj.get("deduplication_key_path").isJsonNull()) && !jsonObj.get("deduplication_key_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_path").toString())); + } + if ((jsonObj.get("deduplication_key_regexp") != null && !jsonObj.get("deduplication_key_regexp").isJsonNull()) && !jsonObj.get("deduplication_key_regexp").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_regexp` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_regexp").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())); @@ -501,6 +724,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("resolution_rule_attributes") != null && !jsonObj.get("resolution_rule_attributes").isJsonNull()) { NewAlertsSourceDataAttributesResolutionRuleAttributes.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"); + if (jsonArrayalertSourceFieldsAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_source_fields_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_source_fields_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_source_fields_attributes").toString())); + } + + // validate the optional field `alert_source_fields_attributes` (array) + for (int i = 0; i < jsonArrayalertSourceFieldsAttributes.size(); i++) { + NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.java new file mode 100644 index 00000000..2832f6c0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.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; + +/** + * NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String alertFieldId; + + public static final String SERIALIZED_NAME_TEMPLATE_BODY = "template_body"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_BODY) + @javax.annotation.Nullable + private String templateBody; + + public NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner() { + } + + public NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertFieldId(@javax.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + return this; + } + + /** + * The ID of the alert field + * @return alertFieldId + */ + @javax.annotation.Nullable + public String getAlertFieldId() { + return alertFieldId; + } + + public void setAlertFieldId(@javax.annotation.Nullable String alertFieldId) { + this.alertFieldId = alertFieldId; + } + + + public NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner templateBody(@javax.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 + */ + @javax.annotation.Nullable + public String getTemplateBody() { + return templateBody; + } + + public void setTemplateBody(@javax.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; + } + NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner newAlertsSourceDataAttributesAlertSourceFieldsAttributesInner = (NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner) o; + return Objects.equals(this.alertFieldId, newAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.alertFieldId) && + Objects.equals(this.templateBody, newAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.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 NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner {\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 NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner is not found in the empty JSON string", NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner` 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 (!NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + * @throws IOException if the JSON string is invalid with respect to NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + public static NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.class); + } + + /** + * Convert an instance of NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner 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/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java index 982e9739..ec0d8f65 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ 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; @@ -48,7 +49,7 @@ /** * NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -121,6 +122,128 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.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) + @javax.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) + @javax.annotation.Nullable + private String alertUrgencyId; + public NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner() { } @@ -181,6 +304,82 @@ public void setValue(@javax.annotation.Nullable String value) { } + public NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner conditionableId(@javax.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 + */ + @javax.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + public NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner kind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the conditionable + * @return kind + */ + @javax.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + return this; + } + + /** + * The ID of the alert urgency + * @return alertUrgencyId + */ + @javax.annotation.Nullable + public String getAlertUrgencyId() { + return alertUrgencyId; + } + + public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + } + + @Override public boolean equals(Object o) { @@ -193,12 +392,27 @@ public boolean equals(Object o) { NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner = (NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner) o; return Objects.equals(this.jsonPath, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.jsonPath) && Objects.equals(this.operator, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.operator) && - Objects.equals(this.value, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.value); + Objects.equals(this.value, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.value) && + Objects.equals(this.conditionableType, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.conditionableType) && + Objects.equals(this.conditionableId, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.conditionableId) && + Objects.equals(this.kind, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.kind) && + Objects.equals(this.alertUrgencyId, newAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner.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); + 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 @@ -208,6 +422,10 @@ public String toString() { 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(); } @@ -233,6 +451,10 @@ private String toIndentedString(Object o) { 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(); @@ -272,6 +494,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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 { diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java index ce5d8154..dbd4a23f 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAlertsSourceDataAttributesAlertTemplateAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 92d30ac5..99ede706 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -24,6 +24,7 @@ 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; @@ -51,7 +52,7 @@ /** * Provide additional attributes for email alerts source */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesResolutionRuleAttributes { public static final String SERIALIZED_NAME_ENABLED = "enabled"; @SerializedName(SERIALIZED_NAME_ENABLED) @@ -115,6 +116,123 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.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) + @javax.annotation.Nullable + private IdentifierMatchableTypeEnum identifierMatchableType; + + public static final String SERIALIZED_NAME_IDENTIFIER_MATCHABLE_ID = "identifier_matchable_id"; + @SerializedName(SERIALIZED_NAME_IDENTIFIER_MATCHABLE_ID) + @javax.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) + @javax.annotation.Nullable + private IdentifierReferenceKindEnum identifierReferenceKind; + public static final String SERIALIZED_NAME_IDENTIFIER_JSON_PATH = "identifier_json_path"; @SerializedName(SERIALIZED_NAME_IDENTIFIER_JSON_PATH) @javax.annotation.Nullable @@ -171,6 +289,63 @@ public void setConditionType(@javax.annotation.Nullable ConditionTypeEnum condit } + public NewAlertsSourceDataAttributesResolutionRuleAttributes identifierMatchableType(@javax.annotation.Nullable IdentifierMatchableTypeEnum identifierMatchableType) { + this.identifierMatchableType = identifierMatchableType; + return this; + } + + /** + * The type of the identifier matchable + * @return identifierMatchableType + */ + @javax.annotation.Nullable + public IdentifierMatchableTypeEnum getIdentifierMatchableType() { + return identifierMatchableType; + } + + public void setIdentifierMatchableType(@javax.annotation.Nullable IdentifierMatchableTypeEnum identifierMatchableType) { + this.identifierMatchableType = identifierMatchableType; + } + + + public NewAlertsSourceDataAttributesResolutionRuleAttributes identifierMatchableId(@javax.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 + */ + @javax.annotation.Nullable + public String getIdentifierMatchableId() { + return identifierMatchableId; + } + + public void setIdentifierMatchableId(@javax.annotation.Nullable String identifierMatchableId) { + this.identifierMatchableId = identifierMatchableId; + } + + + public NewAlertsSourceDataAttributesResolutionRuleAttributes identifierReferenceKind(@javax.annotation.Nullable IdentifierReferenceKindEnum identifierReferenceKind) { + this.identifierReferenceKind = identifierReferenceKind; + return this; + } + + /** + * The kind of the identifier reference + * @return identifierReferenceKind + */ + @javax.annotation.Nullable + public IdentifierReferenceKindEnum getIdentifierReferenceKind() { + return identifierReferenceKind; + } + + public void setIdentifierReferenceKind(@javax.annotation.Nullable IdentifierReferenceKindEnum identifierReferenceKind) { + this.identifierReferenceKind = identifierReferenceKind; + } + + public NewAlertsSourceDataAttributesResolutionRuleAttributes identifierJsonPath(@javax.annotation.Nullable String identifierJsonPath) { this.identifierJsonPath = identifierJsonPath; return this; @@ -248,14 +423,28 @@ public boolean equals(Object o) { NewAlertsSourceDataAttributesResolutionRuleAttributes newAlertsSourceDataAttributesResolutionRuleAttributes = (NewAlertsSourceDataAttributesResolutionRuleAttributes) o; return Objects.equals(this.enabled, newAlertsSourceDataAttributesResolutionRuleAttributes.enabled) && Objects.equals(this.conditionType, newAlertsSourceDataAttributesResolutionRuleAttributes.conditionType) && + Objects.equals(this.identifierMatchableType, newAlertsSourceDataAttributesResolutionRuleAttributes.identifierMatchableType) && + Objects.equals(this.identifierMatchableId, newAlertsSourceDataAttributesResolutionRuleAttributes.identifierMatchableId) && + Objects.equals(this.identifierReferenceKind, newAlertsSourceDataAttributesResolutionRuleAttributes.identifierReferenceKind) && Objects.equals(this.identifierJsonPath, newAlertsSourceDataAttributesResolutionRuleAttributes.identifierJsonPath) && Objects.equals(this.identifierValueRegex, newAlertsSourceDataAttributesResolutionRuleAttributes.identifierValueRegex) && Objects.equals(this.conditionsAttributes, newAlertsSourceDataAttributesResolutionRuleAttributes.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, identifierJsonPath, identifierValueRegex, conditionsAttributes); + 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 @@ -264,6 +453,9 @@ public String toString() { sb.append("class NewAlertsSourceDataAttributesResolutionRuleAttributes {\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"); @@ -291,6 +483,9 @@ private String toIndentedString(Object o) { 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"); @@ -327,6 +522,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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())); } diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java index 76834346..7265af08 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ 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; @@ -48,7 +49,7 @@ /** * NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner { public static final String SERIALIZED_NAME_FIELD = "field"; @SerializedName(SERIALIZED_NAME_FIELD) @@ -125,6 +126,123 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.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) + @javax.annotation.Nullable + private KindEnum kind; + public NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner() { } @@ -185,6 +303,63 @@ public void setValue(@javax.annotation.Nullable String value) { } + public NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner conditionableId(@javax.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 + */ + @javax.annotation.Nullable + public String getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.annotation.Nullable String conditionableId) { + this.conditionableId = conditionableId; + } + + + public NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner kind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the conditionable + * @return kind + */ + @javax.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + @Override public boolean equals(Object o) { @@ -197,12 +372,26 @@ public boolean equals(Object o) { NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner = (NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner) o; return Objects.equals(this.field, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.field) && Objects.equals(this.operator, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.operator) && - Objects.equals(this.value, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.value); + Objects.equals(this.value, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.value) && + Objects.equals(this.conditionableType, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.conditionableType) && + Objects.equals(this.conditionableId, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.conditionableId) && + Objects.equals(this.kind, newAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInner.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); + 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 @@ -212,6 +401,9 @@ public String toString() { 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(); } @@ -237,6 +429,9 @@ private String toIndentedString(Object o) { 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(); @@ -276,6 +471,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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 { diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java index 263667db..35c45d33 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -24,6 +24,7 @@ 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; @@ -51,7 +52,7 @@ /** * Provide additional attributes for generic_webhook alerts source */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -176,11 +177,22 @@ public boolean equals(Object o) { Objects.equals(this.fieldMappingsAttributes, newAlertsSourceDataAttributesSourceableAttributes.fieldMappingsAttributes); } + 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(autoResolve, resolveState, acceptThreadedEmails, fieldMappingsAttributes); } + 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(); diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java index 08ed66a0..398c12e3 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner { /** * Select the field on which the condition to be evaluated @@ -61,6 +61,8 @@ public enum FieldEnum { ALERT_TITLE("alert_title"), + ALERT_DESCRIPTION("alert_description"), + ALERT_EXTERNAL_URL("alert_external_url"), NOTIFICATION_TARGET_TYPE("notification_target_type"), diff --git a/src/main/java/com/rootly/client/model/NewApiKey.java b/src/main/java/com/rootly/client/model/NewApiKey.java new file mode 100644 index 00000000..b4b30394 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewApiKey.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.NewApiKeyData; +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; + +/** + * NewApiKey + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewApiKey { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewApiKeyData data; + + public NewApiKey() { + } + + public NewApiKey data(@javax.annotation.Nonnull NewApiKeyData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewApiKeyData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewApiKeyData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewApiKey newApiKey = (NewApiKey) o; + return Objects.equals(this.data, newApiKey.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewApiKey {\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 NewApiKey + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewApiKey.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewApiKey is not found in the empty JSON string", NewApiKey.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewApiKey.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewApiKey` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewApiKey.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` + NewApiKeyData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewApiKey.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewApiKey' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewApiKey.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewApiKey value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewApiKey read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewApiKey given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewApiKey + * @throws IOException if the JSON string is invalid with respect to NewApiKey + */ + public static NewApiKey fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewApiKey.class); + } + + /** + * Convert an instance of NewApiKey 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/NewApiKeyData.java b/src/main/java/com/rootly/client/model/NewApiKeyData.java new file mode 100644 index 00000000..d373e5a5 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewApiKeyData.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.NewApiKeyDataAttributes; +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; + +/** + * NewApiKeyData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewApiKeyData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + API_KEYS("api_keys"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewApiKeyDataAttributes attributes; + + public NewApiKeyData() { + } + + public NewApiKeyData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewApiKeyData attributes(@javax.annotation.Nonnull NewApiKeyDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewApiKeyDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewApiKeyDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewApiKeyData newApiKeyData = (NewApiKeyData) o; + return Objects.equals(this.type, newApiKeyData.type) && + Objects.equals(this.attributes, newApiKeyData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewApiKeyData {\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 NewApiKeyData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewApiKeyData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewApiKeyData is not found in the empty JSON string", NewApiKeyData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewApiKeyData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewApiKeyData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewApiKeyData.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` + NewApiKeyDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewApiKeyData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewApiKeyData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewApiKeyData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewApiKeyData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewApiKeyData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewApiKeyData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewApiKeyData + * @throws IOException if the JSON string is invalid with respect to NewApiKeyData + */ + public static NewApiKeyData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewApiKeyData.class); + } + + /** + * Convert an instance of NewApiKeyData 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/NewApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java new file mode 100644 index 00000000..2c43c8f1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewApiKeyDataAttributes.java @@ -0,0 +1,462 @@ +/* + * 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 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; + +/** + * NewApiKeyDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewApiKeyDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * The kind of the API key + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + PERSONAL("personal"), + + TEAM("team"), + + ORGANIZATION("organization"); + + 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) + @javax.annotation.Nonnull + private KindEnum kind; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nonnull + private OffsetDateTime expiresAt; + + public static final String SERIALIZED_NAME_GROUP_ID = "group_id"; + @SerializedName(SERIALIZED_NAME_GROUP_ID) + @javax.annotation.Nullable + private String groupId; + + public static final String SERIALIZED_NAME_ROLE_ID = "role_id"; + @SerializedName(SERIALIZED_NAME_ROLE_ID) + @javax.annotation.Nullable + private String roleId; + + public static final String SERIALIZED_NAME_ON_CALL_ROLE_ID = "on_call_role_id"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLE_ID) + @javax.annotation.Nullable + private String onCallRoleId; + + public NewApiKeyDataAttributes() { + } + + public NewApiKeyDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the API key + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewApiKeyDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the API key + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewApiKeyDataAttributes kind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The kind of the API key + * @return kind + */ + @javax.annotation.Nonnull + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + } + + + public NewApiKeyDataAttributes expiresAt(@javax.annotation.Nonnull OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * The expiration date of the API key (ISO 8601) + * @return expiresAt + */ + @javax.annotation.Nonnull + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nonnull OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + + public NewApiKeyDataAttributes groupId(@javax.annotation.Nullable String groupId) { + this.groupId = groupId; + return this; + } + + /** + * The group (team) ID. Required when kind is 'team'. + * @return groupId + */ + @javax.annotation.Nullable + public String getGroupId() { + return groupId; + } + + public void setGroupId(@javax.annotation.Nullable String groupId) { + this.groupId = groupId; + } + + + public NewApiKeyDataAttributes roleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + return this; + } + + /** + * The role ID for organization API keys + * @return roleId + */ + @javax.annotation.Nullable + public String getRoleId() { + return roleId; + } + + public void setRoleId(@javax.annotation.Nullable String roleId) { + this.roleId = roleId; + } + + + public NewApiKeyDataAttributes onCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + return this; + } + + /** + * The on-call role ID for organization API keys + * @return onCallRoleId + */ + @javax.annotation.Nullable + public String getOnCallRoleId() { + return onCallRoleId; + } + + public void setOnCallRoleId(@javax.annotation.Nullable String onCallRoleId) { + this.onCallRoleId = onCallRoleId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewApiKeyDataAttributes newApiKeyDataAttributes = (NewApiKeyDataAttributes) o; + return Objects.equals(this.name, newApiKeyDataAttributes.name) && + Objects.equals(this.description, newApiKeyDataAttributes.description) && + Objects.equals(this.kind, newApiKeyDataAttributes.kind) && + Objects.equals(this.expiresAt, newApiKeyDataAttributes.expiresAt) && + Objects.equals(this.groupId, newApiKeyDataAttributes.groupId) && + Objects.equals(this.roleId, newApiKeyDataAttributes.roleId) && + Objects.equals(this.onCallRoleId, newApiKeyDataAttributes.onCallRoleId); + } + + 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, description, kind, expiresAt, groupId, roleId, onCallRoleId); + } + + 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 NewApiKeyDataAttributes {\n"); + 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(" expiresAt: ").append(toIndentedString(expiresAt)).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("}"); + 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("kind"); + openapiFields.add("expires_at"); + openapiFields.add("group_id"); + openapiFields.add("role_id"); + openapiFields.add("on_call_role_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("kind"); + 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 NewApiKeyDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewApiKeyDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewApiKeyDataAttributes is not found in the empty JSON string", NewApiKeyDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewApiKeyDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewApiKeyDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewApiKeyDataAttributes.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("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 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())); + } + if ((jsonObj.get("on_call_role_id") != null && !jsonObj.get("on_call_role_id").isJsonNull()) && !jsonObj.get("on_call_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("on_call_role_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewApiKeyDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewApiKeyDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewApiKeyDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewApiKeyDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewApiKeyDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewApiKeyDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewApiKeyDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewApiKeyDataAttributes + */ + public static NewApiKeyDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewApiKeyDataAttributes.class); + } + + /** + * Convert an instance of NewApiKeyDataAttributes 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/NewAuthorization.java b/src/main/java/com/rootly/client/model/NewAuthorization.java index f0b482a5..6298ea41 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorization.java +++ b/src/main/java/com/rootly/client/model/NewAuthorization.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAuthorization */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e865a58a..2a650ff7 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorizationData.java +++ b/src/main/java/com/rootly/client/model/NewAuthorizationData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewAuthorizationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 20132f55..e150b74a 100644 --- a/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAuthorizationDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewAuthorizationDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 00f140e9..046eeafe 100644 --- a/src/main/java/com/rootly/client/model/NewCatalog.java +++ b/src/main/java/com/rootly/client/model/NewCatalog.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalog */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..88d353ec --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplate.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.NewCatalogChecklistTemplateData; +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; + +/** + * NewCatalogChecklistTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogChecklistTemplate { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCatalogChecklistTemplateData data; + + public NewCatalogChecklistTemplate() { + } + + public NewCatalogChecklistTemplate data(@javax.annotation.Nonnull NewCatalogChecklistTemplateData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCatalogChecklistTemplateData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCatalogChecklistTemplateData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogChecklistTemplate newCatalogChecklistTemplate = (NewCatalogChecklistTemplate) o; + return Objects.equals(this.data, newCatalogChecklistTemplate.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogChecklistTemplate {\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 NewCatalogChecklistTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogChecklistTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogChecklistTemplate is not found in the empty JSON string", NewCatalogChecklistTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogChecklistTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogChecklistTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogChecklistTemplate.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` + NewCatalogChecklistTemplateData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogChecklistTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogChecklistTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogChecklistTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogChecklistTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogChecklistTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogChecklistTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogChecklistTemplate + * @throws IOException if the JSON string is invalid with respect to NewCatalogChecklistTemplate + */ + public static NewCatalogChecklistTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogChecklistTemplate.class); + } + + /** + * Convert an instance of NewCatalogChecklistTemplate 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/NewCatalogChecklistTemplateData.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.java new file mode 100644 index 00000000..0f6dfb9b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateData.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.NewCatalogChecklistTemplateDataAttributes; +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; + +/** + * NewCatalogChecklistTemplateData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogChecklistTemplateData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_CHECKLIST_TEMPLATES("catalog_checklist_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCatalogChecklistTemplateDataAttributes attributes; + + public NewCatalogChecklistTemplateData() { + } + + public NewCatalogChecklistTemplateData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCatalogChecklistTemplateData attributes(@javax.annotation.Nonnull NewCatalogChecklistTemplateDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCatalogChecklistTemplateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCatalogChecklistTemplateDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogChecklistTemplateData newCatalogChecklistTemplateData = (NewCatalogChecklistTemplateData) o; + return Objects.equals(this.type, newCatalogChecklistTemplateData.type) && + Objects.equals(this.attributes, newCatalogChecklistTemplateData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogChecklistTemplateData {\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 NewCatalogChecklistTemplateData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogChecklistTemplateData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogChecklistTemplateData is not found in the empty JSON string", NewCatalogChecklistTemplateData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogChecklistTemplateData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogChecklistTemplateData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogChecklistTemplateData.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` + NewCatalogChecklistTemplateDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogChecklistTemplateData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogChecklistTemplateData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogChecklistTemplateData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogChecklistTemplateData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogChecklistTemplateData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogChecklistTemplateData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogChecklistTemplateData + * @throws IOException if the JSON string is invalid with respect to NewCatalogChecklistTemplateData + */ + public static NewCatalogChecklistTemplateData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogChecklistTemplateData.class); + } + + /** + * Convert an instance of NewCatalogChecklistTemplateData 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/NewCatalogChecklistTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.java new file mode 100644 index 00000000..f3e04d32 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributes.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 com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesFieldsInner; +import com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesOwnersInner; +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; + +/** + * NewCatalogChecklistTemplateDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogChecklistTemplateDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * The catalog type + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + SERVICE("Service"), + + FUNCTIONALITY("Functionality"), + + ENVIRONMENT("Environment"), + + GROUP("Group"), + + CAUSE("Cause"), + + INCIDENT_TYPE("IncidentType"), + + CATALOG("Catalog"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nonnull + private CatalogTypeEnum catalogType; + + /** + * The scope type + */ + @JsonAdapter(ScopeTypeEnum.Adapter.class) + public enum ScopeTypeEnum { + TEAM("Team"), + + CATALOG("Catalog"); + + private String value; + + ScopeTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ScopeTypeEnum fromValue(String value) { + for (ScopeTypeEnum b : ScopeTypeEnum.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 ScopeTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ScopeTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ScopeTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ScopeTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SCOPE_TYPE = "scope_type"; + @SerializedName(SERIALIZED_NAME_SCOPE_TYPE) + @javax.annotation.Nonnull + private ScopeTypeEnum scopeType; + + public static final String SERIALIZED_NAME_SCOPE_ID = "scope_id"; + @SerializedName(SERIALIZED_NAME_SCOPE_ID) + @javax.annotation.Nullable + private String scopeId; + + public static final String SERIALIZED_NAME_FIELDS = "fields"; + @SerializedName(SERIALIZED_NAME_FIELDS) + @javax.annotation.Nullable + private List fields; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + @javax.annotation.Nullable + private List owners; + + public NewCatalogChecklistTemplateDataAttributes() { + } + + public NewCatalogChecklistTemplateDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the checklist template + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCatalogChecklistTemplateDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the checklist template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewCatalogChecklistTemplateDataAttributes catalogType(@javax.annotation.Nonnull CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The catalog type + * @return catalogType + */ + @javax.annotation.Nonnull + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nonnull CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + + public NewCatalogChecklistTemplateDataAttributes scopeType(@javax.annotation.Nonnull ScopeTypeEnum scopeType) { + this.scopeType = scopeType; + return this; + } + + /** + * The scope type + * @return scopeType + */ + @javax.annotation.Nonnull + public ScopeTypeEnum getScopeType() { + return scopeType; + } + + public void setScopeType(@javax.annotation.Nonnull ScopeTypeEnum scopeType) { + this.scopeType = scopeType; + } + + + public NewCatalogChecklistTemplateDataAttributes scopeId(@javax.annotation.Nullable String scopeId) { + this.scopeId = scopeId; + return this; + } + + /** + * The scope ID (team or catalog UUID) + * @return scopeId + */ + @javax.annotation.Nullable + public String getScopeId() { + return scopeId; + } + + public void setScopeId(@javax.annotation.Nullable String scopeId) { + this.scopeId = scopeId; + } + + + public NewCatalogChecklistTemplateDataAttributes fields(@javax.annotation.Nullable List fields) { + this.fields = fields; + return this; + } + + public NewCatalogChecklistTemplateDataAttributes addFieldsItem(NewCatalogChecklistTemplateDataAttributesFieldsInner fieldsItem) { + if (this.fields == null) { + this.fields = new ArrayList<>(); + } + this.fields.add(fieldsItem); + return this; + } + + /** + * Template fields. Position is determined by array order. + * @return fields + */ + @javax.annotation.Nullable + public List getFields() { + return fields; + } + + public void setFields(@javax.annotation.Nullable List fields) { + this.fields = fields; + } + + + public NewCatalogChecklistTemplateDataAttributes owners(@javax.annotation.Nullable List owners) { + this.owners = owners; + return this; + } + + public NewCatalogChecklistTemplateDataAttributes addOwnersItem(NewCatalogChecklistTemplateDataAttributesOwnersInner ownersItem) { + if (this.owners == null) { + this.owners = new ArrayList<>(); + } + this.owners.add(ownersItem); + return this; + } + + /** + * Template owners + * @return owners + */ + @javax.annotation.Nullable + public List getOwners() { + return owners; + } + + public void setOwners(@javax.annotation.Nullable List owners) { + this.owners = owners; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogChecklistTemplateDataAttributes newCatalogChecklistTemplateDataAttributes = (NewCatalogChecklistTemplateDataAttributes) o; + return Objects.equals(this.name, newCatalogChecklistTemplateDataAttributes.name) && + Objects.equals(this.description, newCatalogChecklistTemplateDataAttributes.description) && + Objects.equals(this.catalogType, newCatalogChecklistTemplateDataAttributes.catalogType) && + Objects.equals(this.scopeType, newCatalogChecklistTemplateDataAttributes.scopeType) && + Objects.equals(this.scopeId, newCatalogChecklistTemplateDataAttributes.scopeId) && + Objects.equals(this.fields, newCatalogChecklistTemplateDataAttributes.fields) && + Objects.equals(this.owners, newCatalogChecklistTemplateDataAttributes.owners); + } + + 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, description, catalogType, scopeType, scopeId, fields, owners); + } + + 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 NewCatalogChecklistTemplateDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).append("\n"); + sb.append(" scopeType: ").append(toIndentedString(scopeType)).append("\n"); + sb.append(" scopeId: ").append(toIndentedString(scopeId)).append("\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).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("catalog_type"); + openapiFields.add("scope_type"); + openapiFields.add("scope_id"); + openapiFields.add("fields"); + openapiFields.add("owners"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("catalog_type"); + openapiRequiredFields.add("scope_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 NewCatalogChecklistTemplateDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogChecklistTemplateDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogChecklistTemplateDataAttributes is not found in the empty JSON string", NewCatalogChecklistTemplateDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogChecklistTemplateDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogChecklistTemplateDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogChecklistTemplateDataAttributes.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("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the required field `catalog_type` + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + if (!jsonObj.get("scope_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope_type").toString())); + } + // validate the required field `scope_type` + ScopeTypeEnum.validateJsonElement(jsonObj.get("scope_type")); + if ((jsonObj.get("scope_id") != null && !jsonObj.get("scope_id").isJsonNull()) && !jsonObj.get("scope_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `scope_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("scope_id").toString())); + } + if (jsonObj.get("fields") != null && !jsonObj.get("fields").isJsonNull()) { + JsonArray jsonArrayfields = jsonObj.getAsJsonArray("fields"); + if (jsonArrayfields != null) { + // ensure the json data is an array + if (!jsonObj.get("fields").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `fields` to be an array in the JSON string but got `%s`", jsonObj.get("fields").toString())); + } + + // validate the optional field `fields` (array) + for (int i = 0; i < jsonArrayfields.size(); i++) { + NewCatalogChecklistTemplateDataAttributesFieldsInner.validateJsonElement(jsonArrayfields.get(i)); + }; + } + } + if (jsonObj.get("owners") != null && !jsonObj.get("owners").isJsonNull()) { + JsonArray jsonArrayowners = jsonObj.getAsJsonArray("owners"); + if (jsonArrayowners != null) { + // ensure the json data is an array + if (!jsonObj.get("owners").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owners` to be an array in the JSON string but got `%s`", jsonObj.get("owners").toString())); + } + + // validate the optional field `owners` (array) + for (int i = 0; i < jsonArrayowners.size(); i++) { + NewCatalogChecklistTemplateDataAttributesOwnersInner.validateJsonElement(jsonArrayowners.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogChecklistTemplateDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogChecklistTemplateDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogChecklistTemplateDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogChecklistTemplateDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogChecklistTemplateDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogChecklistTemplateDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogChecklistTemplateDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCatalogChecklistTemplateDataAttributes + */ + public static NewCatalogChecklistTemplateDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogChecklistTemplateDataAttributes.class); + } + + /** + * Convert an instance of NewCatalogChecklistTemplateDataAttributes 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/NewCatalogChecklistTemplateDataAttributesFieldsInner.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java new file mode 100644 index 00000000..c55d49e8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.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 com.rootly.client.model.BuiltinField; +import com.rootly.client.model.CustomField; +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; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogChecklistTemplateDataAttributesFieldsInner extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(NewCatalogChecklistTemplateDataAttributesFieldsInner.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogChecklistTemplateDataAttributesFieldsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogChecklistTemplateDataAttributesFieldsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterBuiltinField = gson.getDelegateAdapter(this, TypeToken.get(BuiltinField.class)); + final TypeAdapter adapterCustomField = gson.getDelegateAdapter(this, TypeToken.get(CustomField.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogChecklistTemplateDataAttributesFieldsInner value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `BuiltinField` + if (value.getActualInstance() instanceof BuiltinField) { + JsonElement element = adapterBuiltinField.toJsonTree((BuiltinField)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CustomField` + if (value.getActualInstance() instanceof CustomField) { + JsonElement element = adapterCustomField.toJsonTree((CustomField)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: BuiltinField, CustomField"); + } + + @Override + public NewCatalogChecklistTemplateDataAttributesFieldsInner read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + int match = 0; + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize BuiltinField + try { + // validate the JSON object to see if any exception is thrown + BuiltinField.validateJsonElement(jsonElement); + actualAdapter = adapterBuiltinField; + match++; + log.log(Level.FINER, "Input data matches schema 'BuiltinField'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for BuiltinField failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'BuiltinField'", e); + } + // deserialize CustomField + try { + // validate the JSON object to see if any exception is thrown + CustomField.validateJsonElement(jsonElement); + actualAdapter = adapterCustomField; + match++; + log.log(Level.FINER, "Input data matches schema 'CustomField'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CustomField failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CustomField'", e); + } + + if (match == 1) { + NewCatalogChecklistTemplateDataAttributesFieldsInner ret = new NewCatalogChecklistTemplateDataAttributesFieldsInner(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } + + throw new IOException(String.format("Failed deserialization for NewCatalogChecklistTemplateDataAttributesFieldsInner: %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 NewCatalogChecklistTemplateDataAttributesFieldsInner() { + super("oneOf", Boolean.FALSE); + } + + public NewCatalogChecklistTemplateDataAttributesFieldsInner(Object o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("BuiltinField", BuiltinField.class); + schemas.put("CustomField", CustomField.class); + } + + @Override + public Map> getSchemas() { + return NewCatalogChecklistTemplateDataAttributesFieldsInner.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * BuiltinField, CustomField + * + * It could be an instance of the 'oneOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance instanceof BuiltinField) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CustomField) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be BuiltinField, CustomField"); + } + + /** + * Get the actual instance, which can be the following: + * BuiltinField, CustomField + * + * @return The actual instance (BuiltinField, CustomField) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `BuiltinField`. If the actual instance is not `BuiltinField`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BuiltinField` + * @throws ClassCastException if the instance is not `BuiltinField` + */ + public BuiltinField getBuiltinField() throws ClassCastException { + return (BuiltinField)super.getActualInstance(); + } + + /** + * Get the actual instance of `CustomField`. If the actual instance is not `CustomField`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CustomField` + * @throws ClassCastException if the instance is not `CustomField` + */ + public CustomField getCustomField() throws ClassCastException { + return (CustomField)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 NewCatalogChecklistTemplateDataAttributesFieldsInner + */ + 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 BuiltinField + try { + BuiltinField.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for BuiltinField failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CustomField + try { + CustomField.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CustomField failed with `%s`.", e.getMessage())); + // continue to the next one + } + if (validCount != 1) { + throw new IOException(String.format("The JSON string is invalid for NewCatalogChecklistTemplateDataAttributesFieldsInner with oneOf schemas: BuiltinField, CustomField. %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 NewCatalogChecklistTemplateDataAttributesFieldsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogChecklistTemplateDataAttributesFieldsInner + * @throws IOException if the JSON string is invalid with respect to NewCatalogChecklistTemplateDataAttributesFieldsInner + */ + public static NewCatalogChecklistTemplateDataAttributesFieldsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogChecklistTemplateDataAttributesFieldsInner.class); + } + + /** + * Convert an instance of NewCatalogChecklistTemplateDataAttributesFieldsInner 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/NewCatalogChecklistTemplateDataAttributesOwnersInner.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java new file mode 100644 index 00000000..c24f9e78 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInner.java @@ -0,0 +1,299 @@ +/* + * 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; + +/** + * NewCatalogChecklistTemplateDataAttributesOwnersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogChecklistTemplateDataAttributesOwnersInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Type of owner + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + FIELD("field"), + + USER("user"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public NewCatalogChecklistTemplateDataAttributesOwnersInner() { + } + + public NewCatalogChecklistTemplateDataAttributesOwnersInner id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * User ID for user owners, or field key for field owners + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public NewCatalogChecklistTemplateDataAttributesOwnersInner type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Type of owner + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.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; + } + NewCatalogChecklistTemplateDataAttributesOwnersInner newCatalogChecklistTemplateDataAttributesOwnersInner = (NewCatalogChecklistTemplateDataAttributesOwnersInner) o; + return Objects.equals(this.id, newCatalogChecklistTemplateDataAttributesOwnersInner.id) && + Objects.equals(this.type, newCatalogChecklistTemplateDataAttributesOwnersInner.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogChecklistTemplateDataAttributesOwnersInner {\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 NewCatalogChecklistTemplateDataAttributesOwnersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogChecklistTemplateDataAttributesOwnersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogChecklistTemplateDataAttributesOwnersInner is not found in the empty JSON string", NewCatalogChecklistTemplateDataAttributesOwnersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogChecklistTemplateDataAttributesOwnersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogChecklistTemplateDataAttributesOwnersInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogChecklistTemplateDataAttributesOwnersInner.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 (!NewCatalogChecklistTemplateDataAttributesOwnersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogChecklistTemplateDataAttributesOwnersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogChecklistTemplateDataAttributesOwnersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogChecklistTemplateDataAttributesOwnersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogChecklistTemplateDataAttributesOwnersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogChecklistTemplateDataAttributesOwnersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogChecklistTemplateDataAttributesOwnersInner + * @throws IOException if the JSON string is invalid with respect to NewCatalogChecklistTemplateDataAttributesOwnersInner + */ + public static NewCatalogChecklistTemplateDataAttributesOwnersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogChecklistTemplateDataAttributesOwnersInner.class); + } + + /** + * Convert an instance of NewCatalogChecklistTemplateDataAttributesOwnersInner 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/NewCatalogData.java b/src/main/java/com/rootly/client/model/NewCatalogData.java index 2acd3333..f9e2e6ac 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 22d84486..386973d4 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntity.java b/src/main/java/com/rootly/client/model/NewCatalogEntity.java index d01460d0..7f8be734 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntity.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogEntity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 391ee39c..7a51cfa5 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogEntityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fa8e81b0..8526804c 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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 @@ /** * NewCatalogEntityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +69,16 @@ public class NewCatalogEntityDataAttributes { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_BACKSTAGE_ID = "backstage_id"; + @SerializedName(SERIALIZED_NAME_BACKSTAGE_ID) + @javax.annotation.Nullable + private String backstageId; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewCatalogEntityDataAttributes() { } @@ -126,6 +139,52 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public NewCatalogEntityDataAttributes backstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + return this; + } + + /** + * The Backstage entity ID this catalog entity is linked to. + * @return backstageId + */ + @javax.annotation.Nullable + public String getBackstageId() { + return backstageId; + } + + public void setBackstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + } + + + public NewCatalogEntityDataAttributes properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewCatalogEntityDataAttributes addPropertiesItem(NewCatalogEntityDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this catalog entity + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -138,7 +197,9 @@ public boolean equals(Object o) { NewCatalogEntityDataAttributes newCatalogEntityDataAttributes = (NewCatalogEntityDataAttributes) o; return Objects.equals(this.name, newCatalogEntityDataAttributes.name) && Objects.equals(this.description, newCatalogEntityDataAttributes.description) && - Objects.equals(this.position, newCatalogEntityDataAttributes.position); + Objects.equals(this.position, newCatalogEntityDataAttributes.position) && + Objects.equals(this.backstageId, newCatalogEntityDataAttributes.backstageId) && + Objects.equals(this.properties, newCatalogEntityDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -147,7 +208,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, position); + return Objects.hash(name, description, position, backstageId, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -164,6 +225,8 @@ public String toString() { 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(" backstageId: ").append(toIndentedString(backstageId)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -189,6 +252,8 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("backstage_id"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -229,6 +294,23 @@ 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("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("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++) { + NewCatalogEntityDataAttributesPropertiesInner.validateJsonElement(jsonArrayproperties.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java new file mode 100644 index 00000000..3b6f9ad6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.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; + +/** + * NewCatalogEntityDataAttributesPropertiesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String catalogPropertyId; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nonnull + private String value; + + public NewCatalogEntityDataAttributesPropertiesInner() { + } + + public NewCatalogEntityDataAttributesPropertiesInner catalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + return this; + } + + /** + * Unique ID of the catalog property + * @return catalogPropertyId + */ + @javax.annotation.Nonnull + public String getCatalogPropertyId() { + return catalogPropertyId; + } + + public void setCatalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + } + + + public NewCatalogEntityDataAttributesPropertiesInner value(@javax.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * The value for this property + * @return value + */ + @javax.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@javax.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; + } + NewCatalogEntityDataAttributesPropertiesInner newCatalogEntityDataAttributesPropertiesInner = (NewCatalogEntityDataAttributesPropertiesInner) o; + return Objects.equals(this.catalogPropertyId, newCatalogEntityDataAttributesPropertiesInner.catalogPropertyId) && + Objects.equals(this.value, newCatalogEntityDataAttributesPropertiesInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(catalogPropertyId, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogEntityDataAttributesPropertiesInner {\n"); + sb.append(" catalogPropertyId: ").append(toIndentedString(catalogPropertyId)).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("catalog_property_id"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("catalog_property_id"); + 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 NewCatalogEntityDataAttributesPropertiesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogEntityDataAttributesPropertiesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogEntityDataAttributesPropertiesInner is not found in the empty JSON string", NewCatalogEntityDataAttributesPropertiesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogEntityDataAttributesPropertiesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogEntityDataAttributesPropertiesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogEntityDataAttributesPropertiesInner.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("catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_property_id").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 (!NewCatalogEntityDataAttributesPropertiesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogEntityDataAttributesPropertiesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogEntityDataAttributesPropertiesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogEntityDataAttributesPropertiesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogEntityDataAttributesPropertiesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogEntityDataAttributesPropertiesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogEntityDataAttributesPropertiesInner + * @throws IOException if the JSON string is invalid with respect to NewCatalogEntityDataAttributesPropertiesInner + */ + public static NewCatalogEntityDataAttributesPropertiesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogEntityDataAttributesPropertiesInner.class); + } + + /** + * Convert an instance of NewCatalogEntityDataAttributesPropertiesInner 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/NewCatalogEntityProperty.java b/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java index eeeb9582..75b41b63 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityProperty.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,9 +47,11 @@ import com.rootly.client.JSON; /** - * NewCatalogEntityProperty + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. + * @deprecated */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@Deprecated +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9b1b1873..9b483f53 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogEntityPropertyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 12e7f700..7295cc81 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,9 +46,9 @@ import com.rootly.client.JSON; /** - * NewCatalogEntityPropertyDataAttributes + * Maximum of 50 values allowed per catalog field. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -67,7 +67,9 @@ public class NewCatalogEntityPropertyDataAttributes { public enum KeyEnum { TEXT("text"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + SLACK("slack"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewCatalogField.java b/src/main/java/com/rootly/client/model/NewCatalogField.java index 43af0d13..ea23f7a6 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogField.java +++ b/src/main/java/com/rootly/client/model/NewCatalogField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,9 +47,9 @@ import com.rootly.client.JSON; /** - * NewCatalogField + * A catalog can have a maximum of 50 fields. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a544007e..7de11027 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogFieldData.java +++ b/src/main/java/com/rootly/client/model/NewCatalogFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,14 +49,14 @@ /** * NewCatalogFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogFieldData { /** * Gets or Sets type */ @JsonAdapter(TypeEnum.Adapter.class) public enum TypeEnum { - CATALOG_FIELDS("catalog_fields"); + CATALOG_PROPERTIES("catalog_properties"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java index c11a35fc..4ae27906 100644 --- a/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCatalogFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCatalogFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -63,7 +63,25 @@ public class NewCatalogFieldDataAttributes { public enum KindEnum { TEXT("text"), - REFERENCE("reference"); + REFERENCE("reference"), + + BOOLEAN("boolean"), + + REFERENCE2("reference"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ENVIRONMENT("environment"), + + GROUP("group"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"), + + USER("user"); private String value; @@ -128,6 +146,78 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the field belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + public NewCatalogFieldDataAttributes() { } @@ -226,6 +316,44 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public NewCatalogFieldDataAttributes required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the field is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public NewCatalogFieldDataAttributes catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the field belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + @Override public boolean equals(Object o) { @@ -240,7 +368,9 @@ public boolean equals(Object o) { Objects.equals(this.kind, newCatalogFieldDataAttributes.kind) && Objects.equals(this.kindCatalogId, newCatalogFieldDataAttributes.kindCatalogId) && Objects.equals(this.multiple, newCatalogFieldDataAttributes.multiple) && - Objects.equals(this.position, newCatalogFieldDataAttributes.position); + Objects.equals(this.position, newCatalogFieldDataAttributes.position) && + Objects.equals(this.required, newCatalogFieldDataAttributes.required) && + Objects.equals(this.catalogType, newCatalogFieldDataAttributes.catalogType); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -249,7 +379,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, kind, kindCatalogId, multiple, position); + return Objects.hash(name, kind, kindCatalogId, multiple, position, required, catalogType); } private static int hashCodeNullable(JsonNullable a) { @@ -268,6 +398,8 @@ public String toString() { sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); sb.append(" multiple: ").append(toIndentedString(multiple)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).append("\n"); sb.append("}"); return sb.toString(); } @@ -295,6 +427,8 @@ private String toIndentedString(Object o) { openapiFields.add("kind_catalog_id"); openapiFields.add("multiple"); openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -341,6 +475,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewCatalogProperty.java b/src/main/java/com/rootly/client/model/NewCatalogProperty.java new file mode 100644 index 00000000..5d1d6a50 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogProperty.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.NewCatalogPropertyData; +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; + +/** + * A catalog can have a maximum of 50 properties. + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogProperty { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCatalogPropertyData data; + + public NewCatalogProperty() { + } + + public NewCatalogProperty data(@javax.annotation.Nonnull NewCatalogPropertyData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCatalogPropertyData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCatalogPropertyData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogProperty newCatalogProperty = (NewCatalogProperty) o; + return Objects.equals(this.data, newCatalogProperty.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogProperty {\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 NewCatalogProperty + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogProperty.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogProperty is not found in the empty JSON string", NewCatalogProperty.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogProperty.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogProperty` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogProperty.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` + NewCatalogPropertyData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogProperty.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogProperty' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogProperty.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogProperty value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogProperty read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogProperty given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogProperty + * @throws IOException if the JSON string is invalid with respect to NewCatalogProperty + */ + public static NewCatalogProperty fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogProperty.class); + } + + /** + * Convert an instance of NewCatalogProperty 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/NewCatalogPropertyData.java b/src/main/java/com/rootly/client/model/NewCatalogPropertyData.java new file mode 100644 index 00000000..4187c445 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogPropertyData.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.NewCatalogPropertyDataAttributes; +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; + +/** + * NewCatalogPropertyData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogPropertyData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_PROPERTIES("catalog_properties"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCatalogPropertyDataAttributes attributes; + + public NewCatalogPropertyData() { + } + + public NewCatalogPropertyData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCatalogPropertyData attributes(@javax.annotation.Nonnull NewCatalogPropertyDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCatalogPropertyDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCatalogPropertyDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogPropertyData newCatalogPropertyData = (NewCatalogPropertyData) o; + return Objects.equals(this.type, newCatalogPropertyData.type) && + Objects.equals(this.attributes, newCatalogPropertyData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCatalogPropertyData {\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 NewCatalogPropertyData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogPropertyData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogPropertyData is not found in the empty JSON string", NewCatalogPropertyData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogPropertyData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogPropertyData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogPropertyData.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` + NewCatalogPropertyDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogPropertyData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogPropertyData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogPropertyData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogPropertyData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogPropertyData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogPropertyData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogPropertyData + * @throws IOException if the JSON string is invalid with respect to NewCatalogPropertyData + */ + public static NewCatalogPropertyData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogPropertyData.class); + } + + /** + * Convert an instance of NewCatalogPropertyData 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/NewCatalogPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java new file mode 100644 index 00000000..16966a24 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCatalogPropertyDataAttributes.java @@ -0,0 +1,536 @@ +/* + * 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; + +/** + * NewCatalogPropertyDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCatalogPropertyDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + /** + * Gets or Sets kind + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + TEXT("text"), + + REFERENCE("reference"), + + BOOLEAN("boolean"), + + REFERENCE2("reference"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ENVIRONMENT("environment"), + + GROUP("group"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"), + + USER("user"); + + 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) + @javax.annotation.Nonnull + private KindEnum kind; + + public static final String SERIALIZED_NAME_KIND_CATALOG_ID = "kind_catalog_id"; + @SerializedName(SERIALIZED_NAME_KIND_CATALOG_ID) + @javax.annotation.Nullable + private String kindCatalogId; + + public static final String SERIALIZED_NAME_MULTIPLE = "multiple"; + @SerializedName(SERIALIZED_NAME_MULTIPLE) + @javax.annotation.Nullable + private Boolean multiple; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the property belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + + public NewCatalogPropertyDataAttributes() { + } + + public NewCatalogPropertyDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCatalogPropertyDataAttributes kind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Get kind + * @return kind + */ + @javax.annotation.Nonnull + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nonnull KindEnum kind) { + this.kind = kind; + } + + + public NewCatalogPropertyDataAttributes kindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + return this; + } + + /** + * Restricts values to items of specified catalog. + * @return kindCatalogId + */ + @javax.annotation.Nullable + public String getKindCatalogId() { + return kindCatalogId; + } + + public void setKindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + } + + + public NewCatalogPropertyDataAttributes multiple(@javax.annotation.Nullable Boolean multiple) { + this.multiple = multiple; + return this; + } + + /** + * Whether the attribute accepts multiple values. + * @return multiple + */ + @javax.annotation.Nullable + public Boolean getMultiple() { + return multiple; + } + + public void setMultiple(@javax.annotation.Nullable Boolean multiple) { + this.multiple = multiple; + } + + + public NewCatalogPropertyDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Default position of the item when displayed in a list. + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public NewCatalogPropertyDataAttributes required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the property is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public NewCatalogPropertyDataAttributes catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the property belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCatalogPropertyDataAttributes newCatalogPropertyDataAttributes = (NewCatalogPropertyDataAttributes) o; + return Objects.equals(this.name, newCatalogPropertyDataAttributes.name) && + Objects.equals(this.kind, newCatalogPropertyDataAttributes.kind) && + Objects.equals(this.kindCatalogId, newCatalogPropertyDataAttributes.kindCatalogId) && + Objects.equals(this.multiple, newCatalogPropertyDataAttributes.multiple) && + Objects.equals(this.position, newCatalogPropertyDataAttributes.position) && + Objects.equals(this.required, newCatalogPropertyDataAttributes.required) && + Objects.equals(this.catalogType, newCatalogPropertyDataAttributes.catalogType); + } + + 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, kind, kindCatalogId, multiple, position, required, catalogType); + } + + 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 NewCatalogPropertyDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); + sb.append(" multiple: ").append(toIndentedString(multiple)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).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("kind"); + openapiFields.add("kind_catalog_id"); + openapiFields.add("multiple"); + openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("kind"); + } + + /** + * 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 NewCatalogPropertyDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCatalogPropertyDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCatalogPropertyDataAttributes is not found in the empty JSON string", NewCatalogPropertyDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCatalogPropertyDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCatalogPropertyDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCatalogPropertyDataAttributes.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("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 required field `kind` + KindEnum.validateJsonElement(jsonObj.get("kind")); + if ((jsonObj.get("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); + } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCatalogPropertyDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCatalogPropertyDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCatalogPropertyDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCatalogPropertyDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCatalogPropertyDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCatalogPropertyDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCatalogPropertyDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCatalogPropertyDataAttributes + */ + public static NewCatalogPropertyDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCatalogPropertyDataAttributes.class); + } + + /** + * Convert an instance of NewCatalogPropertyDataAttributes 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/NewCause.java b/src/main/java/com/rootly/client/model/NewCause.java index 9760d4c1..abceed82 100644 --- a/src/main/java/com/rootly/client/model/NewCause.java +++ b/src/main/java/com/rootly/client/model/NewCause.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCause */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1adde4e4..830492d8 100644 --- a/src/main/java/com/rootly/client/model/NewCauseData.java +++ b/src/main/java/com/rootly/client/model/NewCauseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCauseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 16874493..ae9b369e 100644 --- a/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCauseDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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 @@ /** * NewCauseDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCauseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +69,11 @@ public class NewCauseDataAttributes { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewCauseDataAttributes() { } @@ -126,6 +134,33 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public NewCauseDataAttributes properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewCauseDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this cause. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -138,7 +173,8 @@ public boolean equals(Object o) { NewCauseDataAttributes newCauseDataAttributes = (NewCauseDataAttributes) o; return Objects.equals(this.name, newCauseDataAttributes.name) && Objects.equals(this.description, newCauseDataAttributes.description) && - Objects.equals(this.position, newCauseDataAttributes.position); + Objects.equals(this.position, newCauseDataAttributes.position) && + Objects.equals(this.properties, newCauseDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -147,7 +183,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, position); + return Objects.hash(name, description, position, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -164,6 +200,7 @@ public String toString() { 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(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -189,6 +226,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -229,6 +267,20 @@ 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("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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java new file mode 100644 index 00000000..a8e7b684 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.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; + +/** + * Set a value for a catalog property + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private String catalogPropertyId; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nonnull + private String value; + + public NewCauseDataAttributesPropertiesInner() { + } + + public NewCauseDataAttributesPropertiesInner catalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + return this; + } + + /** + * Catalog property ID + * @return catalogPropertyId + */ + @javax.annotation.Nonnull + public String getCatalogPropertyId() { + return catalogPropertyId; + } + + public void setCatalogPropertyId(@javax.annotation.Nonnull String catalogPropertyId) { + this.catalogPropertyId = catalogPropertyId; + } + + + public NewCauseDataAttributesPropertiesInner value(@javax.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * The property value + * @return value + */ + @javax.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@javax.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; + } + NewCauseDataAttributesPropertiesInner newCauseDataAttributesPropertiesInner = (NewCauseDataAttributesPropertiesInner) o; + return Objects.equals(this.catalogPropertyId, newCauseDataAttributesPropertiesInner.catalogPropertyId) && + Objects.equals(this.value, newCauseDataAttributesPropertiesInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(catalogPropertyId, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCauseDataAttributesPropertiesInner {\n"); + sb.append(" catalogPropertyId: ").append(toIndentedString(catalogPropertyId)).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("catalog_property_id"); + openapiFields.add("value"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("catalog_property_id"); + 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 NewCauseDataAttributesPropertiesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCauseDataAttributesPropertiesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCauseDataAttributesPropertiesInner is not found in the empty JSON string", NewCauseDataAttributesPropertiesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCauseDataAttributesPropertiesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCauseDataAttributesPropertiesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCauseDataAttributesPropertiesInner.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("catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_property_id").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 (!NewCauseDataAttributesPropertiesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCauseDataAttributesPropertiesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCauseDataAttributesPropertiesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCauseDataAttributesPropertiesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCauseDataAttributesPropertiesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCauseDataAttributesPropertiesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCauseDataAttributesPropertiesInner + * @throws IOException if the JSON string is invalid with respect to NewCauseDataAttributesPropertiesInner + */ + public static NewCauseDataAttributesPropertiesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCauseDataAttributesPropertiesInner.class); + } + + /** + * Convert an instance of NewCauseDataAttributesPropertiesInner 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/NewCommunicationsGroup.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroup.java new file mode 100644 index 00000000..0a11b73e --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroup.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.NewCommunicationsGroupData; +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; + +/** + * NewCommunicationsGroup + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsGroup { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCommunicationsGroupData data; + + public NewCommunicationsGroup() { + } + + public NewCommunicationsGroup data(@javax.annotation.Nonnull NewCommunicationsGroupData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCommunicationsGroupData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCommunicationsGroupData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsGroup newCommunicationsGroup = (NewCommunicationsGroup) o; + return Objects.equals(this.data, newCommunicationsGroup.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsGroup {\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 NewCommunicationsGroup + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsGroup.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsGroup is not found in the empty JSON string", NewCommunicationsGroup.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsGroup.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsGroup` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsGroup.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` + NewCommunicationsGroupData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsGroup.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsGroup' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsGroup.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsGroup value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsGroup read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsGroup given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsGroup + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsGroup + */ + public static NewCommunicationsGroup fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsGroup.class); + } + + /** + * Convert an instance of NewCommunicationsGroup 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/NewCommunicationsGroupData.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.java new file mode 100644 index 00000000..7cc27a06 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupData.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.NewCommunicationsGroupDataAttributes; +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; + +/** + * NewCommunicationsGroupData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsGroupData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_GROUPS("communications_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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCommunicationsGroupDataAttributes attributes; + + public NewCommunicationsGroupData() { + } + + public NewCommunicationsGroupData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCommunicationsGroupData attributes(@javax.annotation.Nonnull NewCommunicationsGroupDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCommunicationsGroupDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCommunicationsGroupDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsGroupData newCommunicationsGroupData = (NewCommunicationsGroupData) o; + return Objects.equals(this.type, newCommunicationsGroupData.type) && + Objects.equals(this.attributes, newCommunicationsGroupData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsGroupData {\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 NewCommunicationsGroupData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsGroupData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsGroupData is not found in the empty JSON string", NewCommunicationsGroupData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsGroupData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsGroupData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsGroupData.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` + NewCommunicationsGroupDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsGroupData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsGroupData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsGroupData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsGroupData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsGroupData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsGroupData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsGroupData + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsGroupData + */ + public static NewCommunicationsGroupData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsGroupData.class); + } + + /** + * Convert an instance of NewCommunicationsGroupData 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/NewCommunicationsGroupDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java new file mode 100644 index 00000000..ed23b3fb --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributes.java @@ -0,0 +1,634 @@ +/* + * 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.NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner; +import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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; + +/** + * NewCommunicationsGroupDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsGroupDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nonnull + private String communicationTypeId; + + public static final String SERIALIZED_NAME_IS_PRIVATE = "is_private"; + @SerializedName(SERIALIZED_NAME_IS_PRIVATE) + @javax.annotation.Nullable + private Boolean isPrivate; + + /** + * Condition type + */ + @JsonAdapter(ConditionTypeEnum.Adapter.class) + public enum ConditionTypeEnum { + ANY("any"), + + ALL("all"); + + 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; + } + } + return null; + } + + 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) + @javax.annotation.Nullable + private ConditionTypeEnum conditionType; + + public static final String SERIALIZED_NAME_SMS_CHANNEL = "sms_channel"; + @SerializedName(SERIALIZED_NAME_SMS_CHANNEL) + @javax.annotation.Nullable + private Boolean smsChannel; + + public static final String SERIALIZED_NAME_EMAIL_CHANNEL = "email_channel"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANNEL) + @javax.annotation.Nullable + private Boolean emailChannel; + + public static final String SERIALIZED_NAME_MEMBER_IDS = "member_ids"; + @SerializedName(SERIALIZED_NAME_MEMBER_IDS) + @javax.annotation.Nullable + private List memberIds; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_IDS = "slack_channel_ids"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_IDS) + @javax.annotation.Nullable + private List slackChannelIds; + + public static final String SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS = "communication_group_conditions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS) + @javax.annotation.Nullable + private List communicationGroupConditions; + + public static final String SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS = "communication_external_group_members"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS) + @javax.annotation.Nullable + private List communicationExternalGroupMembers; + + public NewCommunicationsGroupDataAttributes() { + } + + public NewCommunicationsGroupDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications group + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCommunicationsGroupDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications group + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewCommunicationsGroupDataAttributes communicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nonnull + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public NewCommunicationsGroupDataAttributes isPrivate(@javax.annotation.Nullable Boolean isPrivate) { + this.isPrivate = isPrivate; + return this; + } + + /** + * Whether the group is private + * @return isPrivate + */ + @javax.annotation.Nullable + public Boolean getIsPrivate() { + return isPrivate; + } + + public void setIsPrivate(@javax.annotation.Nullable Boolean isPrivate) { + this.isPrivate = isPrivate; + } + + + public NewCommunicationsGroupDataAttributes conditionType(@javax.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + return this; + } + + /** + * Condition type + * @return conditionType + */ + @javax.annotation.Nullable + public ConditionTypeEnum getConditionType() { + return conditionType; + } + + public void setConditionType(@javax.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + } + + + public NewCommunicationsGroupDataAttributes smsChannel(@javax.annotation.Nullable Boolean smsChannel) { + this.smsChannel = smsChannel; + return this; + } + + /** + * SMS channel enabled + * @return smsChannel + */ + @javax.annotation.Nullable + public Boolean getSmsChannel() { + return smsChannel; + } + + public void setSmsChannel(@javax.annotation.Nullable Boolean smsChannel) { + this.smsChannel = smsChannel; + } + + + public NewCommunicationsGroupDataAttributes emailChannel(@javax.annotation.Nullable Boolean emailChannel) { + this.emailChannel = emailChannel; + return this; + } + + /** + * Email channel enabled + * @return emailChannel + */ + @javax.annotation.Nullable + public Boolean getEmailChannel() { + return emailChannel; + } + + public void setEmailChannel(@javax.annotation.Nullable Boolean emailChannel) { + this.emailChannel = emailChannel; + } + + + public NewCommunicationsGroupDataAttributes memberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + return this; + } + + public NewCommunicationsGroupDataAttributes addMemberIdsItem(Integer memberIdsItem) { + if (this.memberIds == null) { + this.memberIds = new ArrayList<>(); + } + this.memberIds.add(memberIdsItem); + return this; + } + + /** + * Array of member user IDs + * @return memberIds + */ + @javax.annotation.Nullable + public List getMemberIds() { + return memberIds; + } + + public void setMemberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + } + + + public NewCommunicationsGroupDataAttributes slackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + return this; + } + + public NewCommunicationsGroupDataAttributes addSlackChannelIdsItem(String slackChannelIdsItem) { + if (this.slackChannelIds == null) { + this.slackChannelIds = new ArrayList<>(); + } + this.slackChannelIds.add(slackChannelIdsItem); + return this; + } + + /** + * Array of Slack channel IDs + * @return slackChannelIds + */ + @javax.annotation.Nullable + public List getSlackChannelIds() { + return slackChannelIds; + } + + public void setSlackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + } + + + public NewCommunicationsGroupDataAttributes communicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + return this; + } + + public NewCommunicationsGroupDataAttributes addCommunicationGroupConditionsItem(NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner communicationGroupConditionsItem) { + if (this.communicationGroupConditions == null) { + this.communicationGroupConditions = new ArrayList<>(); + } + this.communicationGroupConditions.add(communicationGroupConditionsItem); + return this; + } + + /** + * Group conditions attributes + * @return communicationGroupConditions + */ + @javax.annotation.Nullable + public List getCommunicationGroupConditions() { + return communicationGroupConditions; + } + + public void setCommunicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + } + + + public NewCommunicationsGroupDataAttributes communicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + return this; + } + + public NewCommunicationsGroupDataAttributes addCommunicationExternalGroupMembersItem(NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner communicationExternalGroupMembersItem) { + if (this.communicationExternalGroupMembers == null) { + this.communicationExternalGroupMembers = new ArrayList<>(); + } + this.communicationExternalGroupMembers.add(communicationExternalGroupMembersItem); + return this; + } + + /** + * External group members attributes + * @return communicationExternalGroupMembers + */ + @javax.annotation.Nullable + public List getCommunicationExternalGroupMembers() { + return communicationExternalGroupMembers; + } + + public void setCommunicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsGroupDataAttributes newCommunicationsGroupDataAttributes = (NewCommunicationsGroupDataAttributes) o; + return Objects.equals(this.name, newCommunicationsGroupDataAttributes.name) && + Objects.equals(this.description, newCommunicationsGroupDataAttributes.description) && + Objects.equals(this.communicationTypeId, newCommunicationsGroupDataAttributes.communicationTypeId) && + Objects.equals(this.isPrivate, newCommunicationsGroupDataAttributes.isPrivate) && + Objects.equals(this.conditionType, newCommunicationsGroupDataAttributes.conditionType) && + Objects.equals(this.smsChannel, newCommunicationsGroupDataAttributes.smsChannel) && + Objects.equals(this.emailChannel, newCommunicationsGroupDataAttributes.emailChannel) && + Objects.equals(this.memberIds, newCommunicationsGroupDataAttributes.memberIds) && + Objects.equals(this.slackChannelIds, newCommunicationsGroupDataAttributes.slackChannelIds) && + Objects.equals(this.communicationGroupConditions, newCommunicationsGroupDataAttributes.communicationGroupConditions) && + Objects.equals(this.communicationExternalGroupMembers, newCommunicationsGroupDataAttributes.communicationExternalGroupMembers); + } + + 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, description, communicationTypeId, isPrivate, conditionType, smsChannel, emailChannel, memberIds, slackChannelIds, communicationGroupConditions, communicationExternalGroupMembers); + } + + 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 NewCommunicationsGroupDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" isPrivate: ").append(toIndentedString(isPrivate)).append("\n"); + sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" smsChannel: ").append(toIndentedString(smsChannel)).append("\n"); + sb.append(" emailChannel: ").append(toIndentedString(emailChannel)).append("\n"); + sb.append(" memberIds: ").append(toIndentedString(memberIds)).append("\n"); + sb.append(" slackChannelIds: ").append(toIndentedString(slackChannelIds)).append("\n"); + sb.append(" communicationGroupConditions: ").append(toIndentedString(communicationGroupConditions)).append("\n"); + sb.append(" communicationExternalGroupMembers: ").append(toIndentedString(communicationExternalGroupMembers)).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("communication_type_id"); + openapiFields.add("is_private"); + openapiFields.add("condition_type"); + openapiFields.add("sms_channel"); + openapiFields.add("email_channel"); + openapiFields.add("member_ids"); + openapiFields.add("slack_channel_ids"); + openapiFields.add("communication_group_conditions"); + openapiFields.add("communication_external_group_members"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("communication_type_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 NewCommunicationsGroupDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsGroupDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsGroupDataAttributes is not found in the empty JSON string", NewCommunicationsGroupDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsGroupDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsGroupDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsGroupDataAttributes.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("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + 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")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("member_ids") != null && !jsonObj.get("member_ids").isJsonNull() && !jsonObj.get("member_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `member_ids` to be an array in the JSON string but got `%s`", jsonObj.get("member_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("slack_channel_ids") != null && !jsonObj.get("slack_channel_ids").isJsonNull() && !jsonObj.get("slack_channel_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_ids` to be an array in the JSON string but got `%s`", jsonObj.get("slack_channel_ids").toString())); + } + if (jsonObj.get("communication_group_conditions") != null && !jsonObj.get("communication_group_conditions").isJsonNull()) { + JsonArray jsonArraycommunicationGroupConditions = jsonObj.getAsJsonArray("communication_group_conditions"); + if (jsonArraycommunicationGroupConditions != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_group_conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_group_conditions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_group_conditions").toString())); + } + + // validate the optional field `communication_group_conditions` (array) + for (int i = 0; i < jsonArraycommunicationGroupConditions.size(); i++) { + NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.validateJsonElement(jsonArraycommunicationGroupConditions.get(i)); + }; + } + } + if (jsonObj.get("communication_external_group_members") != null && !jsonObj.get("communication_external_group_members").isJsonNull()) { + JsonArray jsonArraycommunicationExternalGroupMembers = jsonObj.getAsJsonArray("communication_external_group_members"); + if (jsonArraycommunicationExternalGroupMembers != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_external_group_members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_external_group_members` to be an array in the JSON string but got `%s`", jsonObj.get("communication_external_group_members").toString())); + } + + // validate the optional field `communication_external_group_members` (array) + for (int i = 0; i < jsonArraycommunicationExternalGroupMembers.size(); i++) { + NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.validateJsonElement(jsonArraycommunicationExternalGroupMembers.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsGroupDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsGroupDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsGroupDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsGroupDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsGroupDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsGroupDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsGroupDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsGroupDataAttributes + */ + public static NewCommunicationsGroupDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsGroupDataAttributes.class); + } + + /** + * Convert an instance of NewCommunicationsGroupDataAttributes 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/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java new file mode 100644 index 00000000..d23fd43b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.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; + +/** + * NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + @javax.annotation.Nullable + private String phoneNumber; + + public NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner() { + } + + public NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Name of the external member + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Email of the external member + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner phoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Phone number of the external member + * @return phoneNumber + */ + @javax.annotation.Nullable + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner newCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner = (NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner) o; + return Objects.equals(this.name, newCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.name) && + Objects.equals(this.email, newCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.email) && + Objects.equals(this.phoneNumber, newCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.phoneNumber); + } + + @Override + public int hashCode() { + return Objects.hash(name, email, phoneNumber); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).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("email"); + openapiFields.add("phone_number"); + + // 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 NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner is not found in the empty JSON string", NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner` 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("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); + } + if ((jsonObj.get("phone_number") != null && !jsonObj.get("phone_number").isJsonNull()) && !jsonObj.get("phone_number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone_number").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + public static NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class); + } + + /** + * Convert an instance of NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner 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/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java new file mode 100644 index 00000000..2d39c7cf --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.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; + +/** + * NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner { + /** + * 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) + @javax.annotation.Nullable + private PropertyTypeEnum propertyType; + + public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; + @SerializedName(SERIALIZED_NAME_SERVICE_IDS) + @javax.annotation.Nullable + private List serviceIds; + + public static final String SERIALIZED_NAME_SEVERITY_IDS = "severity_ids"; + @SerializedName(SERIALIZED_NAME_SEVERITY_IDS) + @javax.annotation.Nullable + private List severityIds; + + public static final String SERIALIZED_NAME_FUNCTIONALITY_IDS = "functionality_ids"; + @SerializedName(SERIALIZED_NAME_FUNCTIONALITY_IDS) + @javax.annotation.Nullable + private List functionalityIds; + + public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_IDS) + @javax.annotation.Nullable + private List groupIds; + + public static final String SERIALIZED_NAME_INCIDENT_TYPE_IDS = "incident_type_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List incidentTypeIds; + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner() { + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner propertyType(@javax.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + return this; + } + + /** + * Property type + * @return propertyType + */ + @javax.annotation.Nullable + public PropertyTypeEnum getPropertyType() { + return propertyType; + } + + public void setPropertyType(@javax.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + } + + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner serviceIds(@javax.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + return this; + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addServiceIdsItem(String serviceIdsItem) { + if (this.serviceIds == null) { + this.serviceIds = new ArrayList<>(); + } + this.serviceIds.add(serviceIdsItem); + return this; + } + + /** + * Array of service IDs + * @return serviceIds + */ + @javax.annotation.Nullable + public List getServiceIds() { + return serviceIds; + } + + public void setServiceIds(@javax.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + } + + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner severityIds(@javax.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + return this; + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addSeverityIdsItem(String severityIdsItem) { + if (this.severityIds == null) { + this.severityIds = new ArrayList<>(); + } + this.severityIds.add(severityIdsItem); + return this; + } + + /** + * Array of severity IDs + * @return severityIds + */ + @javax.annotation.Nullable + public List getSeverityIds() { + return severityIds; + } + + public void setSeverityIds(@javax.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + } + + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner functionalityIds(@javax.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + return this; + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addFunctionalityIdsItem(String functionalityIdsItem) { + if (this.functionalityIds == null) { + this.functionalityIds = new ArrayList<>(); + } + this.functionalityIds.add(functionalityIdsItem); + return this; + } + + /** + * Array of functionality IDs + * @return functionalityIds + */ + @javax.annotation.Nullable + public List getFunctionalityIds() { + return functionalityIds; + } + + public void setFunctionalityIds(@javax.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + } + + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner groupIds(@javax.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + return this; + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addGroupIdsItem(String groupIdsItem) { + if (this.groupIds == null) { + this.groupIds = new ArrayList<>(); + } + this.groupIds.add(groupIdsItem); + return this; + } + + /** + * Array of group IDs + * @return groupIds + */ + @javax.annotation.Nullable + public List getGroupIds() { + return groupIds; + } + + public void setGroupIds(@javax.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + } + + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner incidentTypeIds(@javax.annotation.Nullable List incidentTypeIds) { + this.incidentTypeIds = incidentTypeIds; + return this; + } + + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addIncidentTypeIdsItem(String incidentTypeIdsItem) { + if (this.incidentTypeIds == null) { + this.incidentTypeIds = new ArrayList<>(); + } + this.incidentTypeIds.add(incidentTypeIdsItem); + return this; + } + + /** + * Array of incident type IDs + * @return incidentTypeIds + */ + @javax.annotation.Nullable + public List getIncidentTypeIds() { + return incidentTypeIds; + } + + public void setIncidentTypeIds(@javax.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; + } + NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner = (NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner) o; + return Objects.equals(this.propertyType, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.propertyType) && + Objects.equals(this.serviceIds, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.serviceIds) && + Objects.equals(this.severityIds, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.severityIds) && + Objects.equals(this.functionalityIds, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.functionalityIds) && + Objects.equals(this.groupIds, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.groupIds) && + Objects.equals(this.incidentTypeIds, newCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.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 NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner {\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 NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner is not found in the empty JSON string", NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner` 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 (!NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + public static NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class); + } + + /** + * Convert an instance of NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner 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/NewCommunicationsStage.java b/src/main/java/com/rootly/client/model/NewCommunicationsStage.java new file mode 100644 index 00000000..275373bc --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStage.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.NewCommunicationsStageData; +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; + +/** + * NewCommunicationsStage + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsStage { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCommunicationsStageData data; + + public NewCommunicationsStage() { + } + + public NewCommunicationsStage data(@javax.annotation.Nonnull NewCommunicationsStageData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCommunicationsStageData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCommunicationsStageData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsStage newCommunicationsStage = (NewCommunicationsStage) o; + return Objects.equals(this.data, newCommunicationsStage.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsStage {\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 NewCommunicationsStage + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsStage.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsStage is not found in the empty JSON string", NewCommunicationsStage.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsStage.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsStage` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsStage.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` + NewCommunicationsStageData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsStage.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsStage' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsStage.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsStage value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsStage read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsStage given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsStage + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsStage + */ + public static NewCommunicationsStage fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsStage.class); + } + + /** + * Convert an instance of NewCommunicationsStage 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/NewCommunicationsStageData.java b/src/main/java/com/rootly/client/model/NewCommunicationsStageData.java new file mode 100644 index 00000000..2c5cd699 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStageData.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.NewCommunicationsStageDataAttributes; +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; + +/** + * NewCommunicationsStageData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsStageData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_STAGES("communications_stages"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCommunicationsStageDataAttributes attributes; + + public NewCommunicationsStageData() { + } + + public NewCommunicationsStageData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCommunicationsStageData attributes(@javax.annotation.Nonnull NewCommunicationsStageDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCommunicationsStageDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCommunicationsStageDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsStageData newCommunicationsStageData = (NewCommunicationsStageData) o; + return Objects.equals(this.type, newCommunicationsStageData.type) && + Objects.equals(this.attributes, newCommunicationsStageData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsStageData {\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 NewCommunicationsStageData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsStageData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsStageData is not found in the empty JSON string", NewCommunicationsStageData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsStageData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsStageData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsStageData.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` + NewCommunicationsStageDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsStageData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsStageData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsStageData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsStageData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsStageData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsStageData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsStageData + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsStageData + */ + public static NewCommunicationsStageData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsStageData.class); + } + + /** + * Convert an instance of NewCommunicationsStageData 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/NewCommunicationsStageDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java new file mode 100644 index 00000000..f870c57d --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsStageDataAttributes.java @@ -0,0 +1,283 @@ +/* + * 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; + +/** + * NewCommunicationsStageDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsStageDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public NewCommunicationsStageDataAttributes() { + } + + public NewCommunicationsStageDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications stage + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCommunicationsStageDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications stage + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewCommunicationsStageDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications stage + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsStageDataAttributes newCommunicationsStageDataAttributes = (NewCommunicationsStageDataAttributes) o; + return Objects.equals(this.name, newCommunicationsStageDataAttributes.name) && + Objects.equals(this.description, newCommunicationsStageDataAttributes.description) && + Objects.equals(this.position, newCommunicationsStageDataAttributes.position); + } + + 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, description, position); + } + + 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 NewCommunicationsStageDataAttributes {\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("}"); + 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("position"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + 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 NewCommunicationsStageDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsStageDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsStageDataAttributes is not found in the empty JSON string", NewCommunicationsStageDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsStageDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsStageDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsStageDataAttributes.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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsStageDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsStageDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsStageDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsStageDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsStageDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsStageDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsStageDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsStageDataAttributes + */ + public static NewCommunicationsStageDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsStageDataAttributes.class); + } + + /** + * Convert an instance of NewCommunicationsStageDataAttributes 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/NewCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java new file mode 100644 index 00000000..827b6d58 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.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.NewCommunicationsTemplateData; +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; + +/** + * NewCommunicationsTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsTemplate { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCommunicationsTemplateData data; + + public NewCommunicationsTemplate() { + } + + public NewCommunicationsTemplate data(@javax.annotation.Nonnull NewCommunicationsTemplateData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCommunicationsTemplateData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCommunicationsTemplateData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTemplate newCommunicationsTemplate = (NewCommunicationsTemplate) o; + return Objects.equals(this.data, newCommunicationsTemplate.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsTemplate {\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 NewCommunicationsTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTemplate is not found in the empty JSON string", NewCommunicationsTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsTemplate.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` + NewCommunicationsTemplateData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTemplate + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTemplate + */ + public static NewCommunicationsTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTemplate.class); + } + + /** + * Convert an instance of NewCommunicationsTemplate 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/NewCommunicationsTemplateData.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.java new file mode 100644 index 00000000..12555b88 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateData.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.NewCommunicationsTemplateDataAttributes; +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; + +/** + * NewCommunicationsTemplateData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsTemplateData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TEMPLATES("communications_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCommunicationsTemplateDataAttributes attributes; + + public NewCommunicationsTemplateData() { + } + + public NewCommunicationsTemplateData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCommunicationsTemplateData attributes(@javax.annotation.Nonnull NewCommunicationsTemplateDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCommunicationsTemplateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCommunicationsTemplateDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTemplateData newCommunicationsTemplateData = (NewCommunicationsTemplateData) o; + return Objects.equals(this.type, newCommunicationsTemplateData.type) && + Objects.equals(this.attributes, newCommunicationsTemplateData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsTemplateData {\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 NewCommunicationsTemplateData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTemplateData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTemplateData is not found in the empty JSON string", NewCommunicationsTemplateData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTemplateData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTemplateData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsTemplateData.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` + NewCommunicationsTemplateDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTemplateData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTemplateData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTemplateData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTemplateData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTemplateData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTemplateData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTemplateData + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTemplateData + */ + public static NewCommunicationsTemplateData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTemplateData.class); + } + + /** + * Convert an instance of NewCommunicationsTemplateData 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/NewCommunicationsTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java new file mode 100644 index 00000000..d580666b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributes.java @@ -0,0 +1,366 @@ +/* + * 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.NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner; +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; + +/** + * NewCommunicationsTemplateDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsTemplateDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nonnull + private String communicationTypeId; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES_ATTRIBUTES = "communication_template_stages_attributes"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES_ATTRIBUTES) + @javax.annotation.Nullable + private List communicationTemplateStagesAttributes; + + public NewCommunicationsTemplateDataAttributes() { + } + + public NewCommunicationsTemplateDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications template + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCommunicationsTemplateDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewCommunicationsTemplateDataAttributes communicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nonnull + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nonnull String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public NewCommunicationsTemplateDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications template + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public NewCommunicationsTemplateDataAttributes communicationTemplateStagesAttributes(@javax.annotation.Nullable List communicationTemplateStagesAttributes) { + this.communicationTemplateStagesAttributes = communicationTemplateStagesAttributes; + return this; + } + + public NewCommunicationsTemplateDataAttributes addCommunicationTemplateStagesAttributesItem(NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner communicationTemplateStagesAttributesItem) { + if (this.communicationTemplateStagesAttributes == null) { + this.communicationTemplateStagesAttributes = new ArrayList<>(); + } + this.communicationTemplateStagesAttributes.add(communicationTemplateStagesAttributesItem); + return this; + } + + /** + * Template stages attributes + * @return communicationTemplateStagesAttributes + */ + @javax.annotation.Nullable + public List getCommunicationTemplateStagesAttributes() { + return communicationTemplateStagesAttributes; + } + + public void setCommunicationTemplateStagesAttributes(@javax.annotation.Nullable List communicationTemplateStagesAttributes) { + this.communicationTemplateStagesAttributes = communicationTemplateStagesAttributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTemplateDataAttributes newCommunicationsTemplateDataAttributes = (NewCommunicationsTemplateDataAttributes) o; + return Objects.equals(this.name, newCommunicationsTemplateDataAttributes.name) && + Objects.equals(this.description, newCommunicationsTemplateDataAttributes.description) && + Objects.equals(this.communicationTypeId, newCommunicationsTemplateDataAttributes.communicationTypeId) && + Objects.equals(this.position, newCommunicationsTemplateDataAttributes.position) && + Objects.equals(this.communicationTemplateStagesAttributes, newCommunicationsTemplateDataAttributes.communicationTemplateStagesAttributes); + } + + 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, description, communicationTypeId, position, communicationTemplateStagesAttributes); + } + + 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 NewCommunicationsTemplateDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" communicationTemplateStagesAttributes: ").append(toIndentedString(communicationTemplateStagesAttributes)).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("communication_type_id"); + openapiFields.add("position"); + openapiFields.add("communication_template_stages_attributes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("communication_type_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 NewCommunicationsTemplateDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTemplateDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTemplateDataAttributes is not found in the empty JSON string", NewCommunicationsTemplateDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTemplateDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTemplateDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsTemplateDataAttributes.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("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + if (jsonObj.get("communication_template_stages_attributes") != null && !jsonObj.get("communication_template_stages_attributes").isJsonNull()) { + JsonArray jsonArraycommunicationTemplateStagesAttributes = jsonObj.getAsJsonArray("communication_template_stages_attributes"); + if (jsonArraycommunicationTemplateStagesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_template_stages_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_template_stages_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("communication_template_stages_attributes").toString())); + } + + // validate the optional field `communication_template_stages_attributes` (array) + for (int i = 0; i < jsonArraycommunicationTemplateStagesAttributes.size(); i++) { + NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.validateJsonElement(jsonArraycommunicationTemplateStagesAttributes.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTemplateDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTemplateDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTemplateDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTemplateDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTemplateDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTemplateDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTemplateDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTemplateDataAttributes + */ + public static NewCommunicationsTemplateDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTemplateDataAttributes.class); + } + + /** + * Convert an instance of NewCommunicationsTemplateDataAttributes 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/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java new file mode 100644 index 00000000..09d99c73 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java @@ -0,0 +1,338 @@ +/* + * 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; + +/** + * NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private String communicationStageId; + + public static final String SERIALIZED_NAME_SMS_CONTENT = "sms_content"; + @SerializedName(SERIALIZED_NAME_SMS_CONTENT) + @javax.annotation.Nullable + private String smsContent; + + public static final String SERIALIZED_NAME_EMAIL_SUBJECT = "email_subject"; + @SerializedName(SERIALIZED_NAME_EMAIL_SUBJECT) + @javax.annotation.Nullable + private String emailSubject; + + public static final String SERIALIZED_NAME_EMAIL_BODY = "email_body"; + @SerializedName(SERIALIZED_NAME_EMAIL_BODY) + @javax.annotation.Nullable + private String emailBody; + + public static final String SERIALIZED_NAME_SLACK_CONTENT = "slack_content"; + @SerializedName(SERIALIZED_NAME_SLACK_CONTENT) + @javax.annotation.Nullable + private String slackContent; + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner() { + } + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner communicationStageId(@javax.annotation.Nullable String communicationStageId) { + this.communicationStageId = communicationStageId; + return this; + } + + /** + * The communication stage ID + * @return communicationStageId + */ + @javax.annotation.Nullable + public String getCommunicationStageId() { + return communicationStageId; + } + + public void setCommunicationStageId(@javax.annotation.Nullable String communicationStageId) { + this.communicationStageId = communicationStageId; + } + + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner smsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + return this; + } + + /** + * SMS content for the stage + * @return smsContent + */ + @javax.annotation.Nullable + public String getSmsContent() { + return smsContent; + } + + public void setSmsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + } + + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner emailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + return this; + } + + /** + * Email subject for the stage + * @return emailSubject + */ + @javax.annotation.Nullable + public String getEmailSubject() { + return emailSubject; + } + + public void setEmailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + } + + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner emailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + return this; + } + + /** + * Email body for the stage + * @return emailBody + */ + @javax.annotation.Nullable + public String getEmailBody() { + return emailBody; + } + + public void setEmailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + } + + + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner slackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + return this; + } + + /** + * Slack content for the stage + * @return slackContent + */ + @javax.annotation.Nullable + public String getSlackContent() { + return slackContent; + } + + public void setSlackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner = (NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner) o; + return Objects.equals(this.communicationStageId, newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.communicationStageId) && + Objects.equals(this.smsContent, newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.smsContent) && + Objects.equals(this.emailSubject, newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.emailSubject) && + Objects.equals(this.emailBody, newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.emailBody) && + Objects.equals(this.slackContent, newCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.slackContent); + } + + 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(communicationStageId, smsContent, emailSubject, emailBody, slackContent); + } + + 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 NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner {\n"); + sb.append(" communicationStageId: ").append(toIndentedString(communicationStageId)).append("\n"); + sb.append(" smsContent: ").append(toIndentedString(smsContent)).append("\n"); + sb.append(" emailSubject: ").append(toIndentedString(emailSubject)).append("\n"); + sb.append(" emailBody: ").append(toIndentedString(emailBody)).append("\n"); + sb.append(" slackContent: ").append(toIndentedString(slackContent)).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("communication_stage_id"); + openapiFields.add("sms_content"); + openapiFields.add("email_subject"); + openapiFields.add("email_body"); + openapiFields.add("slack_content"); + + // 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 NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner is not found in the empty JSON string", NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("communication_stage_id") != null && !jsonObj.get("communication_stage_id").isJsonNull()) && !jsonObj.get("communication_stage_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_stage_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_stage_id").toString())); + } + if ((jsonObj.get("sms_content") != null && !jsonObj.get("sms_content").isJsonNull()) && !jsonObj.get("sms_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sms_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sms_content").toString())); + } + if ((jsonObj.get("email_subject") != null && !jsonObj.get("email_subject").isJsonNull()) && !jsonObj.get("email_subject").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_subject` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_subject").toString())); + } + if ((jsonObj.get("email_body") != null && !jsonObj.get("email_body").isJsonNull()) && !jsonObj.get("email_body").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_body").toString())); + } + if ((jsonObj.get("slack_content") != null && !jsonObj.get("slack_content").isJsonNull()) && !jsonObj.get("slack_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_content").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + public static NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class); + } + + /** + * Convert an instance of NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner 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/NewCommunicationsType.java b/src/main/java/com/rootly/client/model/NewCommunicationsType.java new file mode 100644 index 00000000..03ca8412 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsType.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.NewCommunicationsTypeData; +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; + +/** + * NewCommunicationsType + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsType { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewCommunicationsTypeData data; + + public NewCommunicationsType() { + } + + public NewCommunicationsType data(@javax.annotation.Nonnull NewCommunicationsTypeData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewCommunicationsTypeData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewCommunicationsTypeData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsType newCommunicationsType = (NewCommunicationsType) o; + return Objects.equals(this.data, newCommunicationsType.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsType {\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 NewCommunicationsType + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsType.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsType is not found in the empty JSON string", NewCommunicationsType.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsType.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsType` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsType.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` + NewCommunicationsTypeData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsType.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsType' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsType.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsType value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsType read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsType given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsType + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsType + */ + public static NewCommunicationsType fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsType.class); + } + + /** + * Convert an instance of NewCommunicationsType 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/NewCommunicationsTypeData.java b/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.java new file mode 100644 index 00000000..48a78702 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTypeData.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.NewCommunicationsTypeDataAttributes; +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; + +/** + * NewCommunicationsTypeData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsTypeData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TYPES("communications_types"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewCommunicationsTypeDataAttributes attributes; + + public NewCommunicationsTypeData() { + } + + public NewCommunicationsTypeData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewCommunicationsTypeData attributes(@javax.annotation.Nonnull NewCommunicationsTypeDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewCommunicationsTypeDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewCommunicationsTypeDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTypeData newCommunicationsTypeData = (NewCommunicationsTypeData) o; + return Objects.equals(this.type, newCommunicationsTypeData.type) && + Objects.equals(this.attributes, newCommunicationsTypeData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewCommunicationsTypeData {\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 NewCommunicationsTypeData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTypeData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTypeData is not found in the empty JSON string", NewCommunicationsTypeData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTypeData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTypeData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsTypeData.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` + NewCommunicationsTypeDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTypeData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTypeData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTypeData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTypeData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTypeData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTypeData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTypeData + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTypeData + */ + public static NewCommunicationsTypeData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTypeData.class); + } + + /** + * Convert an instance of NewCommunicationsTypeData 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/NewCommunicationsTypeDataAttributes.java b/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java new file mode 100644 index 00000000..ba3376a8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewCommunicationsTypeDataAttributes.java @@ -0,0 +1,314 @@ +/* + * 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; + +/** + * NewCommunicationsTypeDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewCommunicationsTypeDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COLOR = "color"; + @SerializedName(SERIALIZED_NAME_COLOR) + @javax.annotation.Nullable + private String color; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public NewCommunicationsTypeDataAttributes() { + } + + public NewCommunicationsTypeDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the communications type + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewCommunicationsTypeDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications type + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewCommunicationsTypeDataAttributes color(@javax.annotation.Nullable String color) { + this.color = color; + return this; + } + + /** + * The color of the communications type + * @return color + */ + @javax.annotation.Nullable + public String getColor() { + return color; + } + + public void setColor(@javax.annotation.Nullable String color) { + this.color = color; + } + + + public NewCommunicationsTypeDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications type + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewCommunicationsTypeDataAttributes newCommunicationsTypeDataAttributes = (NewCommunicationsTypeDataAttributes) o; + return Objects.equals(this.name, newCommunicationsTypeDataAttributes.name) && + Objects.equals(this.description, newCommunicationsTypeDataAttributes.description) && + Objects.equals(this.color, newCommunicationsTypeDataAttributes.color) && + Objects.equals(this.position, newCommunicationsTypeDataAttributes.position); + } + + 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, description, color, position); + } + + 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 NewCommunicationsTypeDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" color: ").append(toIndentedString(color)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("color"); + openapiFields.add("position"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("color"); + } + + /** + * 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 NewCommunicationsTypeDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewCommunicationsTypeDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewCommunicationsTypeDataAttributes is not found in the empty JSON string", NewCommunicationsTypeDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewCommunicationsTypeDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewCommunicationsTypeDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewCommunicationsTypeDataAttributes.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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewCommunicationsTypeDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewCommunicationsTypeDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewCommunicationsTypeDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewCommunicationsTypeDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewCommunicationsTypeDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewCommunicationsTypeDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewCommunicationsTypeDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewCommunicationsTypeDataAttributes + */ + public static NewCommunicationsTypeDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewCommunicationsTypeDataAttributes.class); + } + + /** + * Convert an instance of NewCommunicationsTypeDataAttributes 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/NewCustomField.java b/src/main/java/com/rootly/client/model/NewCustomField.java index 058b62d1..cca26f6f 100644 --- a/src/main/java/com/rootly/client/model/NewCustomField.java +++ b/src/main/java/com/rootly/client/model/NewCustomField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b00f75cb..e58bf1c0 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4bd6cacc..3cbb3017 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewCustomFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1ee54d16..b6a48f64 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 10554c24..b49b9420 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOptionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5b342b57..3b3e6132 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFieldOptionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewCustomFieldOptionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 65aff9a3..74aea859 100644 --- a/src/main/java/com/rootly/client/model/NewCustomForm.java +++ b/src/main/java/com/rootly/client/model/NewCustomForm.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomForm */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 96444045..806451a3 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFormData.java +++ b/src/main/java/com/rootly/client/model/NewCustomFormData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewCustomFormData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 73451006..90960e47 100644 --- a/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewCustomFormDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,18 +49,13 @@ /** * NewCustomFormDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFormDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -98,25 +93,6 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewCustomFormDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public NewCustomFormDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -185,7 +161,6 @@ public boolean equals(Object o) { } NewCustomFormDataAttributes newCustomFormDataAttributes = (NewCustomFormDataAttributes) o; return Objects.equals(this.name, newCustomFormDataAttributes.name) && - Objects.equals(this.slug, newCustomFormDataAttributes.slug) && Objects.equals(this.description, newCustomFormDataAttributes.description) && Objects.equals(this.enabled, newCustomFormDataAttributes.enabled) && Objects.equals(this.command, newCustomFormDataAttributes.command); @@ -197,7 +172,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, enabled, command); + return Objects.hash(name, description, enabled, command); } private static int hashCodeNullable(JsonNullable a) { @@ -212,7 +187,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewCustomFormDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" command: ").append(toIndentedString(command)).append("\n"); @@ -239,7 +213,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("enabled"); openapiFields.add("command"); @@ -281,9 +254,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/NewDashboard.java b/src/main/java/com/rootly/client/model/NewDashboard.java index f9423841..42f3c492 100644 --- a/src/main/java/com/rootly/client/model/NewDashboard.java +++ b/src/main/java/com/rootly/client/model/NewDashboard.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboard */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d8ff97f9..1550d2c0 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardData.java +++ b/src/main/java/com/rootly/client/model/NewDashboardData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ce09a6f3..a6519fbb 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewDashboardDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 aa0165a9..642de42c 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanel.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardPanel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 53a2b0e0..b5a9458e 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelData.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardPanelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 41384d8a..0a5ed446 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewDashboardPanelDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 025b3964..5fd769e8 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * NewDashboardPanelDataAttributesParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f12e103e..305942c3 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabels.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsDatalabels */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 da161c14..835cd85b 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate; import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner; +import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +54,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInner { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -131,7 +132,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_GROUP_BY = "group_by"; @SerializedName(SERIALIZED_NAME_GROUP_BY) @javax.annotation.Nullable - private String groupBy; + private NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy groupBy; public static final String SERIALIZED_NAME_AGGREGATE = "aggregate"; @SerializedName(SERIALIZED_NAME_AGGREGATE) @@ -206,7 +207,7 @@ public void setFilter(@javax.annotation.Nullable List **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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 45593eb4..90e65a21 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8b94c481..dcff77a7 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInner { /** * Gets or Sets operation @@ -126,7 +126,11 @@ public enum ConditionEnum { CONTAINS("contains"), - NOT_CONTAINS("not_contains"); + NOT_CONTAINS("not_contains"), + + ASSIGNED("assigned"), + + UNASSIGNED("unassigned"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.java new file mode 100644 index 00000000..e43e348c --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.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 com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf; +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; + +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.class.getName()); + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter adapterString = gson.getDelegateAdapter(this, TypeToken.get(String.class)); + final TypeAdapter adapterNewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf = gson.getDelegateAdapter(this, TypeToken.get(NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy value) throws IOException { + if (value == null || value.getActualInstance() == null) { + elementAdapter.write(out, null); + return; + } + + // check if the actual instance is of the type `String` + if (value.getActualInstance() instanceof String) { + JsonPrimitive primitive = adapterString.toJsonTree((String)value.getActualInstance()).getAsJsonPrimitive(); + elementAdapter.write(out, primitive); + return; + } + // check if the actual instance is of the type `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf` + if (value.getActualInstance() instanceof NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf) { + JsonElement element = adapterNewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.toJsonTree((NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String"); + } + + @Override + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy read(JsonReader in) throws IOException { + Object deserialized = null; + JsonElement jsonElement = elementAdapter.read(in); + + int match = 0; + ArrayList errorMessages = new ArrayList<>(); + TypeAdapter actualAdapter = elementAdapter; + + // deserialize String + try { + // validate the JSON object to see if any exception is thrown + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + actualAdapter = adapterString; + match++; + log.log(Level.FINER, "Input data matches schema 'String'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'String'", e); + } + // deserialize NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + try { + // validate the JSON object to see if any exception is thrown + NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.validateJsonElement(jsonElement); + actualAdapter = adapterNewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf; + match++; + log.log(Level.FINER, "Input data matches schema 'NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf'", e); + } + + if (match == 1) { + NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy ret = new NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } + + throw new IOException(String.format("Failed deserialization for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy: %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 NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy() { + super("oneOf", Boolean.FALSE); + } + + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy(Object o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("String", String.class); + schemas.put("NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf", NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.class); + } + + @Override + public Map> getSchemas() { + return NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String + * + * It could be an instance of the 'oneOf' schemas. + */ + @Override + public void setActualInstance(Object instance) { + if (instance instanceof String) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String"); + } + + /** + * Get the actual instance, which can be the following: + * NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String + * + * @return The actual instance (NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String) + */ + @SuppressWarnings("unchecked") + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `String`. If the actual instance is not `String`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `String` + * @throws ClassCastException if the instance is not `String` + */ + public String getString() throws ClassCastException { + return (String)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf`. If the actual instance is not `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf` + * @throws ClassCastException if the instance is not `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf` + */ + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf getNewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf() throws ClassCastException { + return (NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf)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 NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + */ + 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 String + try { + if (!jsonElement.getAsJsonPrimitive().isString()) { + throw new IllegalArgumentException(String.format("Expected json element to be of type String in the JSON string but got `%s`", jsonElement.toString())); + } + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for String failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + try { + NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf failed with `%s`.", e.getMessage())); + // continue to the next one + } + if (validCount != 1) { + throw new IOException(String.format("The JSON string is invalid for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy with oneOf schemas: NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf, String. %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 NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + * @throws IOException if the JSON string is invalid with respect to NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + */ + public static NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy.class); + } + + /** + * Convert an instance of NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy 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/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.java new file mode 100644 index 00000000..7590dea0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.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 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; + +/** + * NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf { + /** + * Gets or Sets key + */ + @JsonAdapter(KeyEnum.Adapter.class) + public enum KeyEnum { + CUSTOM_FIELD("custom_field"), + + INCIDENT_ROLE("incident_role"), + + ALERT_FIELD("alert_field"); + + private String value; + + KeyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static KeyEnum fromValue(String value) { + for (KeyEnum b : KeyEnum.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 KeyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public KeyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return KeyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + KeyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @javax.annotation.Nonnull + private KeyEnum key; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nonnull + private String value; + + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf() { + } + + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf key(@javax.annotation.Nonnull KeyEnum key) { + this.key = key; + return this; + } + + /** + * Get key + * @return key + */ + @javax.annotation.Nonnull + public KeyEnum getKey() { + return key; + } + + public void setKey(@javax.annotation.Nonnull KeyEnum key) { + this.key = key; + } + + + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf value(@javax.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @javax.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@javax.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; + } + NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf newDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf = (NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf) o; + return Objects.equals(this.key, newDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.key) && + Objects.equals(this.value, newDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf {\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 NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf is not found in the empty JSON string", NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.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 `key` + KeyEnum.validateJsonElement(jsonObj.get("key")); + 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 (!NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + * @throws IOException if the JSON string is invalid with respect to NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + */ + public static NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf.class); + } + + /** + * Convert an instance of NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf 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/NewDashboardPanelDataAttributesParamsLegend.java b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java index 292f529d..b84ecf04 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegend.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewDashboardPanelDataAttributesParamsLegend */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3620e041..112a66bd 100644 --- a/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java +++ b/src/main/java/com/rootly/client/model/NewDashboardPanelDataAttributesPosition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewDashboardPanelDataAttributesPosition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..fbb40546 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEdgeConnector.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.NewEdgeConnectorEdgeConnector; +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; + +/** + * NewEdgeConnector + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private NewEdgeConnectorEdgeConnector edgeConnector; + + public NewEdgeConnector() { + } + + public NewEdgeConnector edgeConnector(@javax.annotation.Nonnull NewEdgeConnectorEdgeConnector edgeConnector) { + this.edgeConnector = edgeConnector; + return this; + } + + /** + * Get edgeConnector + * @return edgeConnector + */ + @javax.annotation.Nonnull + public NewEdgeConnectorEdgeConnector getEdgeConnector() { + return edgeConnector; + } + + public void setEdgeConnector(@javax.annotation.Nonnull NewEdgeConnectorEdgeConnector edgeConnector) { + this.edgeConnector = edgeConnector; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEdgeConnector newEdgeConnector = (NewEdgeConnector) o; + return Objects.equals(this.edgeConnector, newEdgeConnector.edgeConnector); + } + + @Override + public int hashCode() { + return Objects.hash(edgeConnector); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEdgeConnector {\n"); + sb.append(" edgeConnector: ").append(toIndentedString(edgeConnector)).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("edge_connector"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("edge_connector"); + } + + /** + * 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 NewEdgeConnector + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEdgeConnector.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEdgeConnector is not found in the empty JSON string", NewEdgeConnector.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEdgeConnector.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEdgeConnector` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEdgeConnector.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 `edge_connector` + NewEdgeConnectorEdgeConnector.validateJsonElement(jsonObj.get("edge_connector")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEdgeConnector.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEdgeConnector' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEdgeConnector.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEdgeConnector value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEdgeConnector read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEdgeConnector given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEdgeConnector + * @throws IOException if the JSON string is invalid with respect to NewEdgeConnector + */ + public static NewEdgeConnector fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEdgeConnector.class); + } + + /** + * Convert an instance of NewEdgeConnector 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/NewEdgeConnectorAction.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.java new file mode 100644 index 00000000..56c5ecf4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorAction.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.NewEdgeConnectorActionAction; +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; + +/** + * NewEdgeConnectorAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEdgeConnectorAction { + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + @javax.annotation.Nonnull + private NewEdgeConnectorActionAction action; + + public NewEdgeConnectorAction() { + } + + public NewEdgeConnectorAction action(@javax.annotation.Nonnull NewEdgeConnectorActionAction action) { + this.action = action; + return this; + } + + /** + * Get action + * @return action + */ + @javax.annotation.Nonnull + public NewEdgeConnectorActionAction getAction() { + return action; + } + + public void setAction(@javax.annotation.Nonnull NewEdgeConnectorActionAction action) { + this.action = action; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEdgeConnectorAction newEdgeConnectorAction = (NewEdgeConnectorAction) o; + return Objects.equals(this.action, newEdgeConnectorAction.action); + } + + @Override + public int hashCode() { + return Objects.hash(action); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEdgeConnectorAction {\n"); + sb.append(" action: ").append(toIndentedString(action)).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("action"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("action"); + } + + /** + * 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 NewEdgeConnectorAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEdgeConnectorAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEdgeConnectorAction is not found in the empty JSON string", NewEdgeConnectorAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEdgeConnectorAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEdgeConnectorAction` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEdgeConnectorAction.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 `action` + NewEdgeConnectorActionAction.validateJsonElement(jsonObj.get("action")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEdgeConnectorAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEdgeConnectorAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEdgeConnectorAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEdgeConnectorAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEdgeConnectorAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEdgeConnectorAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEdgeConnectorAction + * @throws IOException if the JSON string is invalid with respect to NewEdgeConnectorAction + */ + public static NewEdgeConnectorAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEdgeConnectorAction.class); + } + + /** + * Convert an instance of NewEdgeConnectorAction 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/NewEdgeConnectorActionAction.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java new file mode 100644 index 00000000..4c09007b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionAction.java @@ -0,0 +1,331 @@ +/* + * 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.NewEdgeConnectorActionActionMetadata; +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; + +/** + * NewEdgeConnectorActionAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEdgeConnectorActionAction { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + /** + * Action type + */ + @JsonAdapter(ActionTypeEnum.Adapter.class) + public enum ActionTypeEnum { + SCRIPT("script"), + + HTTP("http"); + + private String value; + + ActionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionTypeEnum fromValue(String value) { + for (ActionTypeEnum b : ActionTypeEnum.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 ActionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ActionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ACTION_TYPE = "action_type"; + @SerializedName(SERIALIZED_NAME_ACTION_TYPE) + @javax.annotation.Nonnull + private ActionTypeEnum actionType; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + @javax.annotation.Nullable + private NewEdgeConnectorActionActionMetadata metadata; + + public NewEdgeConnectorActionAction() { + } + + public NewEdgeConnectorActionAction name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Action name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewEdgeConnectorActionAction actionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + return this; + } + + /** + * Action type + * @return actionType + */ + @javax.annotation.Nonnull + public ActionTypeEnum getActionType() { + return actionType; + } + + public void setActionType(@javax.annotation.Nonnull ActionTypeEnum actionType) { + this.actionType = actionType; + } + + + public NewEdgeConnectorActionAction metadata(@javax.annotation.Nullable NewEdgeConnectorActionActionMetadata metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + */ + @javax.annotation.Nullable + public NewEdgeConnectorActionActionMetadata getMetadata() { + return metadata; + } + + public void setMetadata(@javax.annotation.Nullable NewEdgeConnectorActionActionMetadata metadata) { + this.metadata = metadata; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEdgeConnectorActionAction newEdgeConnectorActionAction = (NewEdgeConnectorActionAction) o; + return Objects.equals(this.name, newEdgeConnectorActionAction.name) && + Objects.equals(this.actionType, newEdgeConnectorActionAction.actionType) && + Objects.equals(this.metadata, newEdgeConnectorActionAction.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(name, actionType, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEdgeConnectorActionAction {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).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("action_type"); + openapiFields.add("metadata"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("action_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 NewEdgeConnectorActionAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEdgeConnectorActionAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEdgeConnectorActionAction is not found in the empty JSON string", NewEdgeConnectorActionAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEdgeConnectorActionAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEdgeConnectorActionAction` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEdgeConnectorActionAction.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("action_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action_type").toString())); + } + // validate the required field `action_type` + ActionTypeEnum.validateJsonElement(jsonObj.get("action_type")); + // validate the optional field `metadata` + if (jsonObj.get("metadata") != null && !jsonObj.get("metadata").isJsonNull()) { + NewEdgeConnectorActionActionMetadata.validateJsonElement(jsonObj.get("metadata")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEdgeConnectorActionAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEdgeConnectorActionAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEdgeConnectorActionAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEdgeConnectorActionAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEdgeConnectorActionAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEdgeConnectorActionAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEdgeConnectorActionAction + * @throws IOException if the JSON string is invalid with respect to NewEdgeConnectorActionAction + */ + public static NewEdgeConnectorActionAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEdgeConnectorActionAction.class); + } + + /** + * Convert an instance of NewEdgeConnectorActionAction 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/NewEdgeConnectorActionActionMetadata.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java new file mode 100644 index 00000000..eedcb70b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadata.java @@ -0,0 +1,403 @@ +/* + * 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.EdgeConnectorActionDataAttributesParametersInner; +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; + +/** + * NewEdgeConnectorActionActionMetadata + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEdgeConnectorActionActionMetadata { + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_TIMEOUT = "timeout"; + @SerializedName(SERIALIZED_NAME_TIMEOUT) + @javax.annotation.Nullable + private Integer timeout; + + /** + * Gets or Sets icon + */ + @JsonAdapter(IconEnum.Adapter.class) + public enum IconEnum { + BOLT("bolt"), + + BOLT_SLASH("bolt-slash"), + + COG("cog"), + + COMMAND_LINE("command-line"), + + CODE_BRACKET("code-bracket"), + + SERVER("server"), + + SERVER_STACK("server-stack"), + + PLAY("play"), + + ARROW_PATH("arrow-path"), + + WRENCH_SCREWDRIVER("wrench-screwdriver"), + + CUBE("cube"), + + ROCKET_LAUNCH("rocket-launch"); + + private String value; + + IconEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IconEnum fromValue(String value) { + for (IconEnum b : IconEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final IconEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IconEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IconEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IconEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ICON = "icon"; + @SerializedName(SERIALIZED_NAME_ICON) + @javax.annotation.Nullable + private IconEnum icon; + + public static final String SERIALIZED_NAME_PARAMETERS = "parameters"; + @SerializedName(SERIALIZED_NAME_PARAMETERS) + @javax.annotation.Nullable + private List parameters; + + public NewEdgeConnectorActionActionMetadata() { + } + + public NewEdgeConnectorActionActionMetadata description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewEdgeConnectorActionActionMetadata timeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + return this; + } + + /** + * Get timeout + * @return timeout + */ + @javax.annotation.Nullable + public Integer getTimeout() { + return timeout; + } + + public void setTimeout(@javax.annotation.Nullable Integer timeout) { + this.timeout = timeout; + } + + + public NewEdgeConnectorActionActionMetadata icon(@javax.annotation.Nullable IconEnum icon) { + this.icon = icon; + return this; + } + + /** + * Get icon + * @return icon + */ + @javax.annotation.Nullable + public IconEnum getIcon() { + return icon; + } + + public void setIcon(@javax.annotation.Nullable IconEnum icon) { + this.icon = icon; + } + + + public NewEdgeConnectorActionActionMetadata parameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + return this; + } + + public NewEdgeConnectorActionActionMetadata addParametersItem(EdgeConnectorActionDataAttributesParametersInner parametersItem) { + if (this.parameters == null) { + this.parameters = new ArrayList<>(); + } + this.parameters.add(parametersItem); + return this; + } + + /** + * Get parameters + * @return parameters + */ + @javax.annotation.Nullable + public List getParameters() { + return parameters; + } + + public void setParameters(@javax.annotation.Nullable List parameters) { + this.parameters = parameters; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEdgeConnectorActionActionMetadata newEdgeConnectorActionActionMetadata = (NewEdgeConnectorActionActionMetadata) o; + return Objects.equals(this.description, newEdgeConnectorActionActionMetadata.description) && + Objects.equals(this.timeout, newEdgeConnectorActionActionMetadata.timeout) && + Objects.equals(this.icon, newEdgeConnectorActionActionMetadata.icon) && + Objects.equals(this.parameters, newEdgeConnectorActionActionMetadata.parameters); + } + + 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(description, timeout, icon, parameters); + } + + 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 NewEdgeConnectorActionActionMetadata {\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" timeout: ").append(toIndentedString(timeout)).append("\n"); + sb.append(" icon: ").append(toIndentedString(icon)).append("\n"); + sb.append(" parameters: ").append(toIndentedString(parameters)).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("description"); + openapiFields.add("timeout"); + openapiFields.add("icon"); + openapiFields.add("parameters"); + + // 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 NewEdgeConnectorActionActionMetadata + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEdgeConnectorActionActionMetadata.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEdgeConnectorActionActionMetadata is not found in the empty JSON string", NewEdgeConnectorActionActionMetadata.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEdgeConnectorActionActionMetadata.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEdgeConnectorActionActionMetadata` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + 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("icon") != null && !jsonObj.get("icon").isJsonNull()) && !jsonObj.get("icon").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `icon` to be a primitive type in the JSON string but got `%s`", jsonObj.get("icon").toString())); + } + // validate the optional field `icon` + if (jsonObj.get("icon") != null && !jsonObj.get("icon").isJsonNull()) { + IconEnum.validateJsonElement(jsonObj.get("icon")); + } + if (jsonObj.get("parameters") != null && !jsonObj.get("parameters").isJsonNull()) { + JsonArray jsonArrayparameters = jsonObj.getAsJsonArray("parameters"); + if (jsonArrayparameters != null) { + // ensure the json data is an array + if (!jsonObj.get("parameters").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `parameters` to be an array in the JSON string but got `%s`", jsonObj.get("parameters").toString())); + } + + // validate the optional field `parameters` (array) + for (int i = 0; i < jsonArrayparameters.size(); i++) { + EdgeConnectorActionDataAttributesParametersInner.validateJsonElement(jsonArrayparameters.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEdgeConnectorActionActionMetadata.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEdgeConnectorActionActionMetadata' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEdgeConnectorActionActionMetadata.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEdgeConnectorActionActionMetadata value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEdgeConnectorActionActionMetadata read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEdgeConnectorActionActionMetadata given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEdgeConnectorActionActionMetadata + * @throws IOException if the JSON string is invalid with respect to NewEdgeConnectorActionActionMetadata + */ + public static NewEdgeConnectorActionActionMetadata fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEdgeConnectorActionActionMetadata.class); + } + + /** + * Convert an instance of NewEdgeConnectorActionActionMetadata 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/NewEdgeConnectorEdgeConnector.java b/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java new file mode 100644 index 00000000..3bcec489 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java @@ -0,0 +1,383 @@ +/* + * 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; + +/** + * NewEdgeConnectorEdgeConnector + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEdgeConnectorEdgeConnector { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * Connector status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + PAUSED("paused"); + + 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) + @javax.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_SUBSCRIPTIONS = "subscriptions"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTIONS) + @javax.annotation.Nullable + private List subscriptions = new ArrayList<>(); + + public NewEdgeConnectorEdgeConnector() { + } + + public NewEdgeConnectorEdgeConnector name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Connector name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewEdgeConnectorEdgeConnector description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Connector description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewEdgeConnectorEdgeConnector status(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * Connector status + * @return status + */ + @javax.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public NewEdgeConnectorEdgeConnector subscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + return this; + } + + public NewEdgeConnectorEdgeConnector addSubscriptionsItem(String subscriptionsItem) { + if (this.subscriptions == null) { + this.subscriptions = new ArrayList<>(); + } + this.subscriptions.add(subscriptionsItem); + return this; + } + + /** + * Array of event types to subscribe to + * @return subscriptions + */ + @javax.annotation.Nullable + public List getSubscriptions() { + return subscriptions; + } + + public void setSubscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEdgeConnectorEdgeConnector newEdgeConnectorEdgeConnector = (NewEdgeConnectorEdgeConnector) 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); + } + + 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, description, status, subscriptions); + } + + 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 NewEdgeConnectorEdgeConnector {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + 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("}"); + 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("status"); + openapiFields.add("subscriptions"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + 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 NewEdgeConnectorEdgeConnector + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEdgeConnectorEdgeConnector.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEdgeConnectorEdgeConnector is not found in the empty JSON string", NewEdgeConnectorEdgeConnector.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEdgeConnectorEdgeConnector.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEdgeConnectorEdgeConnector` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEdgeConnectorEdgeConnector.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") != 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")); + } + // ensure the optional json data is an array if present + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEdgeConnectorEdgeConnector.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEdgeConnectorEdgeConnector' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEdgeConnectorEdgeConnector.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEdgeConnectorEdgeConnector value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEdgeConnectorEdgeConnector read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEdgeConnectorEdgeConnector given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEdgeConnectorEdgeConnector + * @throws IOException if the JSON string is invalid with respect to NewEdgeConnectorEdgeConnector + */ + public static NewEdgeConnectorEdgeConnector fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEdgeConnectorEdgeConnector.class); + } + + /** + * Convert an instance of NewEdgeConnectorEdgeConnector 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/NewEnvironment.java b/src/main/java/com/rootly/client/model/NewEnvironment.java index e9cc2233..268b69e4 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironment.java +++ b/src/main/java/com/rootly/client/model/NewEnvironment.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEnvironment */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0b05c0f5..05501f63 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentData.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEnvironmentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c1a9e648..6c27b1e4 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * NewEnvironmentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -90,6 +91,11 @@ public class NewEnvironmentDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewEnvironmentDataAttributes() { } @@ -250,6 +256,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewEnvironmentDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this environment. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -266,7 +299,8 @@ public boolean equals(Object o) { Objects.equals(this.position, newEnvironmentDataAttributes.position) && Objects.equals(this.notifyEmails, newEnvironmentDataAttributes.notifyEmails) && Objects.equals(this.slackChannels, newEnvironmentDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, newEnvironmentDataAttributes.slackAliases); + Objects.equals(this.slackAliases, newEnvironmentDataAttributes.slackAliases) && + Objects.equals(this.properties, newEnvironmentDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -275,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases); + return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -296,6 +330,7 @@ public String toString() { sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -325,6 +360,7 @@ private String toIndentedString(Object o) { openapiFields.add("notify_emails"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -400,6 +436,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java index 5f274032..98eff7c6 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewEnvironmentDataAttributesSlackAliasesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 24b07ad4..c51dd695 100644 --- a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java +++ b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewEnvironmentDataAttributesSlackChannelsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b8b45e04..d37d2599 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicy.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicy */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c9841fe4..e87294ca 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 16c6b040..b5d23ffc 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * NewEscalationPolicyDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6fe2b4d8..9b0ba8ec 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,12 +51,668 @@ /** * NewEscalationPolicyDataAttributesBusinessHours */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyDataAttributesBusinessHours { + /** + * 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"), + + AMERICA_MEXICO_CITY2("America/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"), + + AMERICA_LIMA2("America/Lima"), + + 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"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + EUROPE_LONDON2("Europe/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"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + 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"), + + EUROPE_ZURICH2("Europe/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_KIEV("Europe/Kiev"), + + 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"), + + EUROPE_MOSCOW2("Europe/Moscow"), + + 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"), + + ASIA_MUSCAT2("Asia/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"), + + ASIA_ALMATY2("Asia/Almaty"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + ASIA_KARACHI2("Asia/Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + ASIA_KOLKATA2("Asia/Kolkata"), + + MUMBAI("Mumbai"), + + ASIA_KOLKATA3("Asia/Kolkata"), + + NEW_DELHI("New Delhi"), + + ASIA_KOLKATA4("Asia/Kolkata"), + + 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_RANGOON("Asia/Rangoon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + ASIA_BANGKOK2("Asia/Bangkok"), + + 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"), + + ASIA_TOKYO2("Asia/Tokyo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + ASIA_TOKYO3("Asia/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"), + + PACIFIC_AUCKLAND2("Pacific/Auckland"), + + 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"); + + 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) @javax.annotation.Nullable - private String timeZone; + private TimeZoneEnum timeZone; /** * Gets or Sets days @@ -138,7 +794,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public NewEscalationPolicyDataAttributesBusinessHours() { } - public NewEscalationPolicyDataAttributesBusinessHours timeZone(@javax.annotation.Nullable String timeZone) { + public NewEscalationPolicyDataAttributesBusinessHours timeZone(@javax.annotation.Nullable TimeZoneEnum timeZone) { this.timeZone = timeZone; return this; } @@ -148,11 +804,11 @@ public NewEscalationPolicyDataAttributesBusinessHours timeZone(@javax.annotation * @return timeZone */ @javax.annotation.Nullable - public String getTimeZone() { + public TimeZoneEnum getTimeZone() { return timeZone; } - public void setTimeZone(@javax.annotation.Nullable String timeZone) { + public void setTimeZone(@javax.annotation.Nullable TimeZoneEnum timeZone) { this.timeZone = timeZone; } @@ -317,6 +973,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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())); diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java index fa1a6433..3f348eb1 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7784d738..f50322a6 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a11fa9f8..0ca44c66 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * NewEscalationPolicyLevelDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyLevelDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) @@ -123,7 +123,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY = "paging_strategy_configuration_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy; + private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy = PagingStrategyConfigurationStrategyEnum.DEFAULT; /** * Gets or Sets pagingStrategyConfigurationScheduleStrategy @@ -180,7 +180,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY = "paging_strategy_configuration_schedule_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy; + private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy = PagingStrategyConfigurationScheduleStrategyEnum.ON_CALL_ONLY; public static final String SERIALIZED_NAME_ESCALATION_POLICY_PATH_ID = "escalation_policy_path_id"; @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_PATH_ID) @@ -201,7 +201,7 @@ public NewEscalationPolicyLevelDataAttributes delay(@javax.annotation.Nullable I } /** - * Delay before notification targets will be alerted. + * Delay before notifying targets in the next Escalation Level. * @return delay */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java index 65babe75..ed871014 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ff98ff10..edb79be6 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPath.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyPath */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 03f5afc3..3a07c31b 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewEscalationPolicyPathData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d3a24f4f..5c421f34 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * NewEscalationPolicyPathDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -116,6 +117,125 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private NotificationTypeEnum notificationType = NotificationTypeEnum.AUDIBLE; + /** + * The type of escalation path to create + */ + @JsonAdapter(PathTypeEnum.Adapter.class) + public enum PathTypeEnum { + ESCALATION("escalation"), + + DEFERRAL("deferral"); + + private String value; + + PathTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PathTypeEnum fromValue(String value) { + for (PathTypeEnum b : PathTypeEnum.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 PathTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PathTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PathTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PathTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PATH_TYPE = "path_type"; + @SerializedName(SERIALIZED_NAME_PATH_TYPE) + @javax.annotation.Nullable + private PathTypeEnum pathType = PathTypeEnum.ESCALATION; + + /** + * What happens after a deferral path finishes. Required for deferral paths. + */ + @JsonAdapter(AfterDeferralBehaviorEnum.Adapter.class) + public enum AfterDeferralBehaviorEnum { + RE_EVALUATE("re_evaluate"), + + EXECUTE_PATH("execute_path"); + + private String value; + + AfterDeferralBehaviorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AfterDeferralBehaviorEnum fromValue(String value) { + for (AfterDeferralBehaviorEnum b : AfterDeferralBehaviorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AfterDeferralBehaviorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AfterDeferralBehaviorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR = "after_deferral_behavior"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR) + @javax.annotation.Nullable + private AfterDeferralBehaviorEnum afterDeferralBehavior; + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID = "after_deferral_path_id"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID) + @javax.annotation.Nullable + private String afterDeferralPathId; + public static final String SERIALIZED_NAME_DEFAULT = "default"; @SerializedName(SERIALIZED_NAME_DEFAULT) @javax.annotation.Nullable @@ -203,6 +323,672 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List rules = new ArrayList<>(); + /** + * Time zone used for time restrictions. + */ + @JsonAdapter(TimeRestrictionTimeZoneEnum.Adapter.class) + public enum TimeRestrictionTimeZoneEnum { + 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"), + + AMERICA_MEXICO_CITY2("America/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"), + + AMERICA_LIMA2("America/Lima"), + + 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"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + EUROPE_LONDON2("Europe/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"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + 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"), + + EUROPE_ZURICH2("Europe/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_KIEV("Europe/Kiev"), + + 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"), + + EUROPE_MOSCOW2("Europe/Moscow"), + + 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"), + + ASIA_MUSCAT2("Asia/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"), + + ASIA_ALMATY2("Asia/Almaty"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + ASIA_KARACHI2("Asia/Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + ASIA_KOLKATA2("Asia/Kolkata"), + + MUMBAI("Mumbai"), + + ASIA_KOLKATA3("Asia/Kolkata"), + + NEW_DELHI("New Delhi"), + + ASIA_KOLKATA4("Asia/Kolkata"), + + 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_RANGOON("Asia/Rangoon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + ASIA_BANGKOK2("Asia/Bangkok"), + + 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"), + + ASIA_TOKYO2("Asia/Tokyo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + ASIA_TOKYO3("Asia/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"), + + PACIFIC_AUCKLAND2("Pacific/Auckland"), + + 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"); + + private String value; + + TimeRestrictionTimeZoneEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeRestrictionTimeZoneEnum fromValue(String value) { + for (TimeRestrictionTimeZoneEnum b : TimeRestrictionTimeZoneEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeRestrictionTimeZoneEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeRestrictionTimeZoneEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE = "time_restriction_time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE) + @javax.annotation.Nullable + private TimeRestrictionTimeZoneEnum timeRestrictionTimeZone; + + public static final String SERIALIZED_NAME_TIME_RESTRICTIONS = "time_restrictions"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTIONS) + @javax.annotation.Nullable + private List timeRestrictions = new ArrayList<>(); + public NewEscalationPolicyPathDataAttributes() { } @@ -244,6 +1030,63 @@ public void setNotificationType(@javax.annotation.Nullable NotificationTypeEnum } + public NewEscalationPolicyPathDataAttributes pathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + return this; + } + + /** + * The type of escalation path to create + * @return pathType + */ + @javax.annotation.Nullable + public PathTypeEnum getPathType() { + return pathType; + } + + public void setPathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + } + + + public NewEscalationPolicyPathDataAttributes afterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + return this; + } + + /** + * What happens after a deferral path finishes. Required for deferral paths. + * @return afterDeferralBehavior + */ + @javax.annotation.Nullable + public AfterDeferralBehaviorEnum getAfterDeferralBehavior() { + return afterDeferralBehavior; + } + + public void setAfterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + } + + + public NewEscalationPolicyPathDataAttributes afterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + return this; + } + + /** + * The escalation path to execute after this deferral path when after_deferral_behavior is execute_path. + * @return afterDeferralPathId + */ + @javax.annotation.Nullable + public String getAfterDeferralPathId() { + return afterDeferralPathId; + } + + public void setAfterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + } + + public NewEscalationPolicyPathDataAttributes _default(@javax.annotation.Nullable Boolean _default) { this._default = _default; return this; @@ -385,6 +1228,52 @@ public void setRules(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + return this; + } + + public NewEscalationPolicyPathDataAttributes addTimeRestrictionsItem(NewEscalationPolicyPathDataAttributesTimeRestrictionsInner timeRestrictionsItem) { + if (this.timeRestrictions == null) { + this.timeRestrictions = new ArrayList<>(); + } + this.timeRestrictions.add(timeRestrictionsItem); + return this; + } + + /** + * If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. + * @return timeRestrictions + */ + @javax.annotation.Nullable + public List getTimeRestrictions() { + return timeRestrictions; + } + + public void setTimeRestrictions(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + } + + @Override public boolean equals(Object o) { @@ -397,13 +1286,18 @@ public boolean equals(Object o) { NewEscalationPolicyPathDataAttributes newEscalationPolicyPathDataAttributes = (NewEscalationPolicyPathDataAttributes) o; return Objects.equals(this.name, newEscalationPolicyPathDataAttributes.name) && Objects.equals(this.notificationType, newEscalationPolicyPathDataAttributes.notificationType) && + Objects.equals(this.pathType, newEscalationPolicyPathDataAttributes.pathType) && + Objects.equals(this.afterDeferralBehavior, newEscalationPolicyPathDataAttributes.afterDeferralBehavior) && + Objects.equals(this.afterDeferralPathId, newEscalationPolicyPathDataAttributes.afterDeferralPathId) && Objects.equals(this._default, newEscalationPolicyPathDataAttributes._default) && Objects.equals(this.matchMode, newEscalationPolicyPathDataAttributes.matchMode) && Objects.equals(this.position, newEscalationPolicyPathDataAttributes.position) && Objects.equals(this.repeat, newEscalationPolicyPathDataAttributes.repeat) && Objects.equals(this.repeatCount, newEscalationPolicyPathDataAttributes.repeatCount) && Objects.equals(this.initialDelay, newEscalationPolicyPathDataAttributes.initialDelay) && - Objects.equals(this.rules, newEscalationPolicyPathDataAttributes.rules); + Objects.equals(this.rules, newEscalationPolicyPathDataAttributes.rules) && + Objects.equals(this.timeRestrictionTimeZone, newEscalationPolicyPathDataAttributes.timeRestrictionTimeZone) && + Objects.equals(this.timeRestrictions, newEscalationPolicyPathDataAttributes.timeRestrictions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -412,7 +1306,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, notificationType, _default, matchMode, position, repeat, repeatCount, initialDelay, rules); + return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, rules, timeRestrictionTimeZone, timeRestrictions); } private static int hashCodeNullable(JsonNullable a) { @@ -428,6 +1322,9 @@ public String toString() { sb.append("class NewEscalationPolicyPathDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append(" pathType: ").append(toIndentedString(pathType)).append("\n"); + sb.append(" afterDeferralBehavior: ").append(toIndentedString(afterDeferralBehavior)).append("\n"); + sb.append(" afterDeferralPathId: ").append(toIndentedString(afterDeferralPathId)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append(" matchMode: ").append(toIndentedString(matchMode)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); @@ -435,6 +1332,8 @@ public String toString() { sb.append(" repeatCount: ").append(toIndentedString(repeatCount)).append("\n"); sb.append(" initialDelay: ").append(toIndentedString(initialDelay)).append("\n"); sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); + sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -459,6 +1358,9 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("name"); openapiFields.add("notification_type"); + openapiFields.add("path_type"); + openapiFields.add("after_deferral_behavior"); + openapiFields.add("after_deferral_path_id"); openapiFields.add("default"); openapiFields.add("match_mode"); openapiFields.add("position"); @@ -466,6 +1368,8 @@ private String toIndentedString(Object o) { openapiFields.add("repeat_count"); openapiFields.add("initial_delay"); openapiFields.add("rules"); + openapiFields.add("time_restriction_time_zone"); + openapiFields.add("time_restrictions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -510,6 +1414,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("notification_type") != null && !jsonObj.get("notification_type").isJsonNull()) { NotificationTypeEnum.validateJsonElement(jsonObj.get("notification_type")); } + if ((jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) && !jsonObj.get("path_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `path_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("path_type").toString())); + } + // validate the optional field `path_type` + if (jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) { + PathTypeEnum.validateJsonElement(jsonObj.get("path_type")); + } + if ((jsonObj.get("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) && !jsonObj.get("after_deferral_behavior").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_behavior` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_behavior").toString())); + } + // validate the optional field `after_deferral_behavior` + if (jsonObj.get("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) { + AfterDeferralBehaviorEnum.validateJsonElement(jsonObj.get("after_deferral_behavior")); + } + if ((jsonObj.get("after_deferral_path_id") != null && !jsonObj.get("after_deferral_path_id").isJsonNull()) && !jsonObj.get("after_deferral_path_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_path_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_path_id").toString())); + } 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())); } @@ -531,6 +1452,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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())); + } + // validate the optional field `time_restriction_time_zone` + if (jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) { + TimeRestrictionTimeZoneEnum.validateJsonElement(jsonObj.get("time_restriction_time_zone")); + } + if (jsonObj.get("time_restrictions") != null && !jsonObj.get("time_restrictions").isJsonNull()) { + JsonArray jsonArraytimeRestrictions = jsonObj.getAsJsonArray("time_restrictions"); + if (jsonArraytimeRestrictions != null) { + // ensure the json data is an array + if (!jsonObj.get("time_restrictions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `time_restrictions` to be an array in the JSON string but got `%s`", jsonObj.get("time_restrictions").toString())); + } + + // validate the optional field `time_restrictions` (array) + for (int i = 0; i < jsonArraytimeRestrictions.size(); i++) { + NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.validateJsonElement(jsonArraytimeRestrictions.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java index d7f1969a..25c3009b 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,13 +19,18 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; +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 java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; @@ -62,7 +67,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewEscalationPolicyPathDataAttributesRulesInner.class.getName()); @@ -74,9 +79,12 @@ 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 adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.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)); return (TypeAdapter) new TypeAdapter() { @Override @@ -86,25 +94,43 @@ public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInne return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2"); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)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()); + 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()); + 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"); } @Override @@ -112,71 +138,114 @@ public NewEscalationPolicyPathDataAttributesRulesInner read(JsonReader in) throw Object deserialized = null; JsonElement jsonElement = elementAdapter.read(in); + int match = 0; ArrayList errorMessages = new ArrayList<>(); TypeAdapter actualAdapter = elementAdapter; - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf; - NewEscalationPolicyPathDataAttributesRulesInner ret = new NewEscalationPolicyPathDataAttributesRulesInner(); - ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); - return ret; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf'", e); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; - NewEscalationPolicyPathDataAttributesRulesInner ret = new NewEscalationPolicyPathDataAttributesRulesInner(); - ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); - return ret; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1'", e); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'"); + } 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); + } + + if (match == 1) { NewEscalationPolicyPathDataAttributesRulesInner ret = new NewEscalationPolicyPathDataAttributesRulesInner(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); return ret; - } catch (Exception e) { - // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2'", e); } - throw new IOException(String.format("Failed deserialization for NewEscalationPolicyPathDataAttributesRulesInner: no class matches result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + throw new IOException(String.format("Failed deserialization for NewEscalationPolicyPathDataAttributesRulesInner: %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 anyOf + // store a list of schema names defined in oneOf public static final Map> schemas = new HashMap>(); public NewEscalationPolicyPathDataAttributesRulesInner() { - super("anyOf", Boolean.FALSE); + super("oneOf", Boolean.FALSE); } public NewEscalationPolicyPathDataAttributesRulesInner(Object o) { - super("anyOf", Boolean.FALSE); + super("oneOf", Boolean.FALSE); setActualInstance(o); } static { - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.class); + 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); } @Override @@ -185,37 +254,52 @@ public Map> getSchemas() { } /** - * Set the instance that matches the anyOf child schema, check - * the instance parameter is valid against the anyOf child schemas: - * NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + * 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 * - * It could be an instance of the 'anyOf' schemas. + * It could be an instance of the 'oneOf' schemas. */ @Override public void setActualInstance(Object instance) { - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2"); + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5"); } /** * Get the actual instance, which can be the following: - * NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 * - * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) + * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) */ @SuppressWarnings("unchecked") @Override @@ -224,36 +308,69 @@ public Object getActualInstance() { } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf getNewEscalationPolicyPathDataAttributesRulesInnerOneOf() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)super.getActualInstance(); } /** @@ -263,33 +380,60 @@ public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 getNewEscalationPol * @throws IOException if the JSON Element is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInner */ public static void validateJsonElement(JsonElement jsonElement) throws IOException { - // validate anyOf schemas one by one + // validate oneOf schemas one by one + int validCount = 0; ArrayList errorMessages = new ArrayList<>(); - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); // continue to the next one } - throw new IOException(String.format("The JSON string is invalid for NewEscalationPolicyPathDataAttributesRulesInner with anyOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 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. %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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java new file mode 100644 index 00000000..9c191c30 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java @@ -0,0 +1,310 @@ +/* + * 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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + ALERT_URGENCY("alert_urgency"); + + 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) + @javax.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_URGENCY_IDS = "urgency_ids"; + @SerializedName(SERIALIZED_NAME_URGENCY_IDS) + @javax.annotation.Nonnull + private List urgencyIds = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf urgencyIds(@javax.annotation.Nonnull List urgencyIds) { + this.urgencyIds = urgencyIds; + return this; + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf addUrgencyIdsItem(String urgencyIdsItem) { + if (this.urgencyIds == null) { + this.urgencyIds = new ArrayList<>(); + } + this.urgencyIds.add(urgencyIdsItem); + return this; + } + + /** + * Alert urgency ids for which this escalation path should be used + * @return urgencyIds + */ + @javax.annotation.Nonnull + public List getUrgencyIds() { + return urgencyIds; + } + + public void setUrgencyIds(@javax.annotation.Nonnull List urgencyIds) { + this.urgencyIds = urgencyIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf newEscalationPolicyPathDataAttributesRulesInnerOneOf = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf.ruleType) && + Objects.equals(this.urgencyIds, newEscalationPolicyPathDataAttributesRulesInnerOneOf.urgencyIds); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, urgencyIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesRulesInnerOneOf {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" urgencyIds: ").append(toIndentedString(urgencyIds)).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("urgency_ids"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("urgency_ids"); + } + + /** + * 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf.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")); + // 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java new file mode 100644 index 00000000..fd47eb94 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 { + /** + * 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) + @javax.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_WITHIN_WORKING_HOUR = "within_working_hour"; + @SerializedName(SERIALIZED_NAME_WITHIN_WORKING_HOUR) + @javax.annotation.Nonnull + private Boolean withinWorkingHour; + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 withinWorkingHour(@javax.annotation.Nonnull Boolean withinWorkingHour) { + this.withinWorkingHour = withinWorkingHour; + return this; + } + + /** + * Whether the escalation path should be used within working hours + * @return withinWorkingHour + */ + @javax.annotation.Nonnull + public Boolean getWithinWorkingHour() { + return withinWorkingHour; + } + + public void setWithinWorkingHour(@javax.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; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 newEscalationPolicyPathDataAttributesRulesInnerOneOf1 = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf1.ruleType) && + Objects.equals(this.withinWorkingHour, newEscalationPolicyPathDataAttributesRulesInnerOneOf1.withinWorkingHour); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, withinWorkingHour); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 {\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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.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 (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java new file mode 100644 index 00000000..c8882f8b --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 { + /** + * 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) + @javax.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_JSON_PATH = "json_path"; + @SerializedName(SERIALIZED_NAME_JSON_PATH) + @javax.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"), + + 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) + @javax.annotation.Nonnull + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nullable + private String value; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 jsonPath(@javax.annotation.Nonnull String jsonPath) { + this.jsonPath = jsonPath; + return this; + } + + /** + * JSON path to extract value from payload + * @return jsonPath + */ + @javax.annotation.Nonnull + public String getJsonPath() { + return jsonPath; + } + + public void setJsonPath(@javax.annotation.Nonnull String jsonPath) { + this.jsonPath = jsonPath; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 operator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * How JSON path value should be matched + * @return operator + */ + @javax.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 value(@javax.annotation.Nullable String value) { + this.value = value; + return this; + } + + /** + * Value with which JSON path value should be matched + * @return value + */ + @javax.annotation.Nullable + public String getValue() { + return value; + } + + public void setValue(@javax.annotation.Nullable String value) { + this.value = value; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 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 + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.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; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 newEscalationPolicyPathDataAttributesRulesInnerOneOf2 = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf2.ruleType) && + Objects.equals(this.jsonPath, newEscalationPolicyPathDataAttributesRulesInnerOneOf2.jsonPath) && + Objects.equals(this.operator, newEscalationPolicyPathDataAttributesRulesInnerOneOf2.operator) && + Objects.equals(this.value, newEscalationPolicyPathDataAttributesRulesInnerOneOf2.value) && + Objects.equals(this.values, newEscalationPolicyPathDataAttributesRulesInnerOneOf2.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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 {\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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.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 (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java new file mode 100644 index 00000000..1953b089 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java @@ -0,0 +1,478 @@ +/* + * 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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + FIELD("field"); + + 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) + @javax.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_FIELDABLE_TYPE = "fieldable_type"; + @SerializedName(SERIALIZED_NAME_FIELDABLE_TYPE) + @javax.annotation.Nonnull + private String fieldableType; + + public static final String SERIALIZED_NAME_FIELDABLE_ID = "fieldable_id"; + @SerializedName(SERIALIZED_NAME_FIELDABLE_ID) + @javax.annotation.Nonnull + private String fieldableId; + + /** + * 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) + @javax.annotation.Nonnull + private OperatorEnum operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 fieldableType(@javax.annotation.Nonnull String fieldableType) { + this.fieldableType = fieldableType; + return this; + } + + /** + * The type of the fieldable (e.g., AlertField) + * @return fieldableType + */ + @javax.annotation.Nonnull + public String getFieldableType() { + return fieldableType; + } + + public void setFieldableType(@javax.annotation.Nonnull String fieldableType) { + this.fieldableType = fieldableType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 fieldableId(@javax.annotation.Nonnull String fieldableId) { + this.fieldableId = fieldableId; + return this; + } + + /** + * The ID of the alert field + * @return fieldableId + */ + @javax.annotation.Nonnull + public String getFieldableId() { + return fieldableId; + } + + public void setFieldableId(@javax.annotation.Nonnull String fieldableId) { + this.fieldableId = fieldableId; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 operator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * How the alert field value should be matched + * @return operator + */ + @javax.annotation.Nonnull + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(@javax.annotation.Nonnull OperatorEnum operator) { + this.operator = operator; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * Values to match against + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.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; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 newEscalationPolicyPathDataAttributesRulesInnerOneOf3 = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf3.ruleType) && + Objects.equals(this.fieldableType, newEscalationPolicyPathDataAttributesRulesInnerOneOf3.fieldableType) && + Objects.equals(this.fieldableId, newEscalationPolicyPathDataAttributesRulesInnerOneOf3.fieldableId) && + Objects.equals(this.operator, newEscalationPolicyPathDataAttributesRulesInnerOneOf3.operator) && + Objects.equals(this.values, newEscalationPolicyPathDataAttributesRulesInnerOneOf3.values); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, fieldableType, fieldableId, operator, values); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 {\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(); + } + + /** + * 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("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("rule_type"); + openapiRequiredFields.add("fieldable_type"); + openapiRequiredFields.add("fieldable_id"); + 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.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("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("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("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 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 (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java new file mode 100644 index 00000000..80149ca2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java @@ -0,0 +1,310 @@ +/* + * 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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 { + /** + * The type of the escalation path rule + */ + @JsonAdapter(RuleTypeEnum.Adapter.class) + public enum RuleTypeEnum { + SERVICE("service"); + + 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) + @javax.annotation.Nonnull + private RuleTypeEnum ruleType; + + public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; + @SerializedName(SERIALIZED_NAME_SERVICE_IDS) + @javax.annotation.Nonnull + private List serviceIds = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 serviceIds(@javax.annotation.Nonnull List serviceIds) { + this.serviceIds = serviceIds; + return this; + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 addServiceIdsItem(String serviceIdsItem) { + if (this.serviceIds == null) { + this.serviceIds = new ArrayList<>(); + } + this.serviceIds.add(serviceIdsItem); + return this; + } + + /** + * Service ids for which this escalation path should be used + * @return serviceIds + */ + @javax.annotation.Nonnull + public List getServiceIds() { + return serviceIds; + } + + public void setServiceIds(@javax.annotation.Nonnull List serviceIds) { + this.serviceIds = serviceIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 newEscalationPolicyPathDataAttributesRulesInnerOneOf4 = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf4.ruleType) && + Objects.equals(this.serviceIds, newEscalationPolicyPathDataAttributesRulesInnerOneOf4.serviceIds); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, serviceIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 {\n"); + sb.append(" ruleType: ").append(toIndentedString(ruleType)).append("\n"); + sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).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("service_ids"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("rule_type"); + openapiRequiredFields.add("service_ids"); + } + + /** + * 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.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")); + // 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java new file mode 100644 index 00000000..32ceee1a --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java @@ -0,0 +1,1004 @@ +/* + * 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.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; +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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 { + /** + * 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) + @javax.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"), + + AMERICA_MEXICO_CITY2("America/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"), + + AMERICA_LIMA2("America/Lima"), + + 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"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + EUROPE_LONDON2("Europe/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"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + 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"), + + EUROPE_ZURICH2("Europe/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_KIEV("Europe/Kiev"), + + 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"), + + EUROPE_MOSCOW2("Europe/Moscow"), + + 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"), + + ASIA_MUSCAT2("Asia/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"), + + ASIA_ALMATY2("Asia/Almaty"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + ASIA_KARACHI2("Asia/Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + ASIA_KOLKATA2("Asia/Kolkata"), + + MUMBAI("Mumbai"), + + ASIA_KOLKATA3("Asia/Kolkata"), + + NEW_DELHI("New Delhi"), + + ASIA_KOLKATA4("Asia/Kolkata"), + + 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_RANGOON("Asia/Rangoon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + ASIA_BANGKOK2("Asia/Bangkok"), + + 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"), + + ASIA_TOKYO2("Asia/Tokyo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + ASIA_TOKYO3("Asia/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"), + + PACIFIC_AUCKLAND2("Pacific/Auckland"), + + 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"); + + 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) + @javax.annotation.Nonnull + private TimeZoneEnum timeZone; + + public static final String SERIALIZED_NAME_TIME_BLOCKS = "time_blocks"; + @SerializedName(SERIALIZED_NAME_TIME_BLOCKS) + @javax.annotation.Nonnull + private List timeBlocks = new ArrayList<>(); + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 ruleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + return this; + } + + /** + * The type of the escalation path rule + * @return ruleType + */ + @javax.annotation.Nonnull + public RuleTypeEnum getRuleType() { + return ruleType; + } + + public void setRuleType(@javax.annotation.Nonnull RuleTypeEnum ruleType) { + this.ruleType = ruleType; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 timeZone(@javax.annotation.Nonnull TimeZoneEnum timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * Time zone for the deferral window + * @return timeZone + */ + @javax.annotation.Nonnull + public TimeZoneEnum getTimeZone() { + return timeZone; + } + + public void setTimeZone(@javax.annotation.Nonnull TimeZoneEnum timeZone) { + this.timeZone = timeZone; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 timeBlocks(@javax.annotation.Nonnull List timeBlocks) { + this.timeBlocks = timeBlocks; + return this; + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 addTimeBlocksItem(NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner timeBlocksItem) { + if (this.timeBlocks == null) { + this.timeBlocks = new ArrayList<>(); + } + this.timeBlocks.add(timeBlocksItem); + return this; + } + + /** + * Time windows during which alerts are deferred + * @return timeBlocks + */ + @javax.annotation.Nonnull + public List getTimeBlocks() { + return timeBlocks; + } + + public void setTimeBlocks(@javax.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; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 newEscalationPolicyPathDataAttributesRulesInnerOneOf5 = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) o; + return Objects.equals(this.ruleType, newEscalationPolicyPathDataAttributesRulesInnerOneOf5.ruleType) && + Objects.equals(this.timeZone, newEscalationPolicyPathDataAttributesRulesInnerOneOf5.timeZone) && + Objects.equals(this.timeBlocks, newEscalationPolicyPathDataAttributesRulesInnerOneOf5.timeBlocks); + } + + @Override + public int hashCode() { + return Objects.hash(ruleType, timeZone, timeBlocks); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 {\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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.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++) { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.validateJsonElement(jsonArraytimeBlocks.get(i)); + }; + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java new file mode 100644 index 00000000..14253b07 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java @@ -0,0 +1,491 @@ +/* + * 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; + +/** + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner { + public static final String SERIALIZED_NAME_MONDAY = "monday"; + @SerializedName(SERIALIZED_NAME_MONDAY) + @javax.annotation.Nullable + private Boolean monday = false; + + public static final String SERIALIZED_NAME_TUESDAY = "tuesday"; + @SerializedName(SERIALIZED_NAME_TUESDAY) + @javax.annotation.Nullable + private Boolean tuesday = false; + + public static final String SERIALIZED_NAME_WEDNESDAY = "wednesday"; + @SerializedName(SERIALIZED_NAME_WEDNESDAY) + @javax.annotation.Nullable + private Boolean wednesday = false; + + public static final String SERIALIZED_NAME_THURSDAY = "thursday"; + @SerializedName(SERIALIZED_NAME_THURSDAY) + @javax.annotation.Nullable + private Boolean thursday = false; + + public static final String SERIALIZED_NAME_FRIDAY = "friday"; + @SerializedName(SERIALIZED_NAME_FRIDAY) + @javax.annotation.Nullable + private Boolean friday = false; + + public static final String SERIALIZED_NAME_SATURDAY = "saturday"; + @SerializedName(SERIALIZED_NAME_SATURDAY) + @javax.annotation.Nullable + private Boolean saturday = false; + + public static final String SERIALIZED_NAME_SUNDAY = "sunday"; + @SerializedName(SERIALIZED_NAME_SUNDAY) + @javax.annotation.Nullable + private Boolean sunday = false; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.annotation.Nullable + private String startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nullable + private String endTime; + + public static final String SERIALIZED_NAME_ALL_DAY = "all_day"; + @SerializedName(SERIALIZED_NAME_ALL_DAY) + @javax.annotation.Nullable + private Boolean allDay = false; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner() { + } + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner monday(@javax.annotation.Nullable Boolean monday) { + this.monday = monday; + return this; + } + + /** + * Get monday + * @return monday + */ + @javax.annotation.Nullable + public Boolean getMonday() { + return monday; + } + + public void setMonday(@javax.annotation.Nullable Boolean monday) { + this.monday = monday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner tuesday(@javax.annotation.Nullable Boolean tuesday) { + this.tuesday = tuesday; + return this; + } + + /** + * Get tuesday + * @return tuesday + */ + @javax.annotation.Nullable + public Boolean getTuesday() { + return tuesday; + } + + public void setTuesday(@javax.annotation.Nullable Boolean tuesday) { + this.tuesday = tuesday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner wednesday(@javax.annotation.Nullable Boolean wednesday) { + this.wednesday = wednesday; + return this; + } + + /** + * Get wednesday + * @return wednesday + */ + @javax.annotation.Nullable + public Boolean getWednesday() { + return wednesday; + } + + public void setWednesday(@javax.annotation.Nullable Boolean wednesday) { + this.wednesday = wednesday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner thursday(@javax.annotation.Nullable Boolean thursday) { + this.thursday = thursday; + return this; + } + + /** + * Get thursday + * @return thursday + */ + @javax.annotation.Nullable + public Boolean getThursday() { + return thursday; + } + + public void setThursday(@javax.annotation.Nullable Boolean thursday) { + this.thursday = thursday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner friday(@javax.annotation.Nullable Boolean friday) { + this.friday = friday; + return this; + } + + /** + * Get friday + * @return friday + */ + @javax.annotation.Nullable + public Boolean getFriday() { + return friday; + } + + public void setFriday(@javax.annotation.Nullable Boolean friday) { + this.friday = friday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner saturday(@javax.annotation.Nullable Boolean saturday) { + this.saturday = saturday; + return this; + } + + /** + * Get saturday + * @return saturday + */ + @javax.annotation.Nullable + public Boolean getSaturday() { + return saturday; + } + + public void setSaturday(@javax.annotation.Nullable Boolean saturday) { + this.saturday = saturday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner sunday(@javax.annotation.Nullable Boolean sunday) { + this.sunday = sunday; + return this; + } + + /** + * Get sunday + * @return sunday + */ + @javax.annotation.Nullable + public Boolean getSunday() { + return sunday; + } + + public void setSunday(@javax.annotation.Nullable Boolean sunday) { + this.sunday = sunday; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner startTime(@javax.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Formatted as HH:MM + * @return startTime + */ + @javax.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner endTime(@javax.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Formatted as HH:MM + * @return endTime + */ + @javax.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@javax.annotation.Nullable String endTime) { + this.endTime = endTime; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner allDay(@javax.annotation.Nullable Boolean allDay) { + this.allDay = allDay; + return this; + } + + /** + * Get allDay + * @return allDay + */ + @javax.annotation.Nullable + public Boolean getAllDay() { + return allDay; + } + + public void setAllDay(@javax.annotation.Nullable Boolean allDay) { + this.allDay = allDay; + } + + + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Get position + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner = (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner) o; + return Objects.equals(this.monday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.monday) && + Objects.equals(this.tuesday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.tuesday) && + Objects.equals(this.wednesday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.wednesday) && + Objects.equals(this.thursday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.thursday) && + Objects.equals(this.friday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.friday) && + Objects.equals(this.saturday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.saturday) && + Objects.equals(this.sunday, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.sunday) && + Objects.equals(this.startTime, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.startTime) && + Objects.equals(this.endTime, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.endTime) && + Objects.equals(this.allDay, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.allDay) && + Objects.equals(this.position, newEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.position); + } + + 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(monday, tuesday, wednesday, thursday, friday, saturday, sunday, startTime, endTime, allDay, position); + } + + 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner {\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("}"); + 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("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"); + + // 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner` 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 (!NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + */ + public static NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner 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/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java new file mode 100644 index 00000000..f57bd5cc --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java @@ -0,0 +1,435 @@ +/* + * 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; + +/** + * NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewEscalationPolicyPathDataAttributesTimeRestrictionsInner { + /** + * 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) + @javax.annotation.Nonnull + private StartDayEnum startDay; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.annotation.Nonnull + 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) + @javax.annotation.Nonnull + private EndDayEnum endDay; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nonnull + private String endTime; + + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner() { + } + + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner startDay(@javax.annotation.Nonnull StartDayEnum startDay) { + this.startDay = startDay; + return this; + } + + /** + * Get startDay + * @return startDay + */ + @javax.annotation.Nonnull + public StartDayEnum getStartDay() { + return startDay; + } + + public void setStartDay(@javax.annotation.Nonnull StartDayEnum startDay) { + this.startDay = startDay; + } + + + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner startTime(@javax.annotation.Nonnull String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Formatted as HH:MM + * @return startTime + */ + @javax.annotation.Nonnull + public String getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nonnull String startTime) { + this.startTime = startTime; + } + + + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner endDay(@javax.annotation.Nonnull EndDayEnum endDay) { + this.endDay = endDay; + return this; + } + + /** + * Get endDay + * @return endDay + */ + @javax.annotation.Nonnull + public EndDayEnum getEndDay() { + return endDay; + } + + public void setEndDay(@javax.annotation.Nonnull EndDayEnum endDay) { + this.endDay = endDay; + } + + + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner endTime(@javax.annotation.Nonnull String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Formatted as HH:MM + * @return endTime + */ + @javax.annotation.Nonnull + public String getEndTime() { + return endTime; + } + + public void setEndTime(@javax.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; + } + NewEscalationPolicyPathDataAttributesTimeRestrictionsInner newEscalationPolicyPathDataAttributesTimeRestrictionsInner = (NewEscalationPolicyPathDataAttributesTimeRestrictionsInner) o; + return Objects.equals(this.startDay, newEscalationPolicyPathDataAttributesTimeRestrictionsInner.startDay) && + Objects.equals(this.startTime, newEscalationPolicyPathDataAttributesTimeRestrictionsInner.startTime) && + Objects.equals(this.endDay, newEscalationPolicyPathDataAttributesTimeRestrictionsInner.endDay) && + Objects.equals(this.endTime, newEscalationPolicyPathDataAttributesTimeRestrictionsInner.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startDay, startTime, endDay, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewEscalationPolicyPathDataAttributesTimeRestrictionsInner {\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(); + openapiRequiredFields.add("start_day"); + openapiRequiredFields.add("start_time"); + openapiRequiredFields.add("end_day"); + 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 NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewEscalationPolicyPathDataAttributesTimeRestrictionsInner is not found in the empty JSON string", NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewEscalationPolicyPathDataAttributesTimeRestrictionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.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_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 required field `start_day` + StartDayEnum.validateJsonElement(jsonObj.get("start_day")); + 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_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 required field `end_day` + EndDayEnum.validateJsonElement(jsonObj.get("end_day")); + 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 (!NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewEscalationPolicyPathDataAttributesTimeRestrictionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewEscalationPolicyPathDataAttributesTimeRestrictionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewEscalationPolicyPathDataAttributesTimeRestrictionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewEscalationPolicyPathDataAttributesTimeRestrictionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + * @throws IOException if the JSON string is invalid with respect to NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + public static NewEscalationPolicyPathDataAttributesTimeRestrictionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.class); + } + + /** + * Convert an instance of NewEscalationPolicyPathDataAttributesTimeRestrictionsInner 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/NewFormField.java b/src/main/java/com/rootly/client/model/NewFormField.java index 17706622..153b43c8 100644 --- a/src/main/java/com/rootly/client/model/NewFormField.java +++ b/src/main/java/com/rootly/client/model/NewFormField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c91154fa..b761e849 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f9eb10ab..a2731d28 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewFormFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldDataAttributes { /** * The kind of the form field @@ -114,6 +114,8 @@ public enum KindEnum { CLOSED_AT("closed_at"), + CUSTOM_SUB_STATUS("custom_sub_status"), + MANUAL_STARTING_DATETIME_FIELD("manual_starting_datetime_field"); private String value; @@ -252,7 +254,13 @@ public enum ValueKindEnum { USER("user"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + ENVIRONMENT("environment"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"); private String value; @@ -342,6 +350,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List defaultValues = new ArrayList<>(); + public static final String SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID = "auto_set_by_catalog_property_id"; + @SerializedName(SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID) + @javax.annotation.Nullable + private String autoSetByCatalogPropertyId; + public NewFormFieldDataAttributes() { } @@ -578,6 +591,25 @@ public void setDefaultValues(@javax.annotation.Nullable List defaultValu } + public NewFormFieldDataAttributes autoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + return this; + } + + /** + * Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. + * @return autoSetByCatalogPropertyId + */ + @javax.annotation.Nullable + public String getAutoSetByCatalogPropertyId() { + return autoSetByCatalogPropertyId; + } + + public void setAutoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + } + + @Override public boolean equals(Object o) { @@ -598,7 +630,8 @@ public boolean equals(Object o) { Objects.equals(this.required, newFormFieldDataAttributes.required) && Objects.equals(this.showOnIncidentDetails, newFormFieldDataAttributes.showOnIncidentDetails) && Objects.equals(this.enabled, newFormFieldDataAttributes.enabled) && - Objects.equals(this.defaultValues, newFormFieldDataAttributes.defaultValues); + Objects.equals(this.defaultValues, newFormFieldDataAttributes.defaultValues) && + Objects.equals(this.autoSetByCatalogPropertyId, newFormFieldDataAttributes.autoSetByCatalogPropertyId); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -607,7 +640,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, description, shown, required, showOnIncidentDetails, enabled, defaultValues); + return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, description, shown, required, showOnIncidentDetails, enabled, defaultValues, autoSetByCatalogPropertyId); } private static int hashCodeNullable(JsonNullable a) { @@ -632,6 +665,7 @@ public String toString() { sb.append(" showOnIncidentDetails: ").append(toIndentedString(showOnIncidentDetails)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" defaultValues: ").append(toIndentedString(defaultValues)).append("\n"); + sb.append(" autoSetByCatalogPropertyId: ").append(toIndentedString(autoSetByCatalogPropertyId)).append("\n"); sb.append("}"); return sb.toString(); } @@ -665,6 +699,7 @@ private String toIndentedString(Object o) { openapiFields.add("show_on_incident_details"); openapiFields.add("enabled"); openapiFields.add("default_values"); + openapiFields.add("auto_set_by_catalog_property_id"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -740,6 +775,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("default_values") != null && !jsonObj.get("default_values").isJsonNull() && !jsonObj.get("default_values").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `default_values` to be an array in the JSON string but got `%s`", jsonObj.get("default_values").toString())); } + if ((jsonObj.get("auto_set_by_catalog_property_id") != null && !jsonObj.get("auto_set_by_catalog_property_id").isJsonNull()) && !jsonObj.get("auto_set_by_catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `auto_set_by_catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auto_set_by_catalog_property_id").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewFormFieldOption.java b/src/main/java/com/rootly/client/model/NewFormFieldOption.java index f4b96574..047950bf 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOption.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 21e8a5e2..4cab28e8 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOptionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 83c9b6e1..36f33e46 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldOptionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewFormFieldOptionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -103,7 +103,7 @@ public NewFormFieldOptionDataAttributes value(@javax.annotation.Nonnull String v } /** - * The value of the form_field_option + * The value of the form field option * @return value */ @javax.annotation.Nonnull @@ -122,7 +122,7 @@ public NewFormFieldOptionDataAttributes color(@javax.annotation.Nullable String } /** - * The hex color of the form_field_option + * The hex color of the form field option * @return color */ @javax.annotation.Nullable @@ -160,7 +160,7 @@ public NewFormFieldOptionDataAttributes position(@javax.annotation.Nullable Inte } /** - * The position of the form_field_option + * The position of the form field option * @return position */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java index b9d12c76..15cce837 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacement.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPlacement */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 68677e4c..06cf0898 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 be23fd7c..459310e6 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 08568e3f..feec0f1f 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewFormFieldPlacementConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldPlacementConditionDataAttributes { /** * The resource or attribute the condition applies. @@ -126,6 +126,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum ComparisonEnum { EQUAL("equal"), + NOT_EQUAL("not_equal"), + IS_SET("is_set"), IS_NOT_SET("is_not_set"); diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java b/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java index 5925aa01..8e9fde83 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPlacementData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a8a2ee3e..23657e7b 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPlacementDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewFormFieldPlacementDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -184,6 +184,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private PlacementOperatorEnum placementOperator; + public static final String SERIALIZED_NAME_NON_EDITABLE = "non_editable"; + @SerializedName(SERIALIZED_NAME_NON_EDITABLE) + @javax.annotation.Nullable + private Boolean nonEditable; + public NewFormFieldPlacementDataAttributes() { } @@ -301,6 +306,25 @@ public void setPlacementOperator(@javax.annotation.Nullable PlacementOperatorEnu } + public NewFormFieldPlacementDataAttributes nonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + return this; + } + + /** + * Whether the field is read-only and cannot be edited by users. + * @return nonEditable + */ + @javax.annotation.Nullable + public Boolean getNonEditable() { + return nonEditable; + } + + public void setNonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + } + + @Override public boolean equals(Object o) { @@ -316,12 +340,13 @@ public boolean equals(Object o) { Objects.equals(this.position, newFormFieldPlacementDataAttributes.position) && Objects.equals(this.required, newFormFieldPlacementDataAttributes.required) && Objects.equals(this.requiredOperator, newFormFieldPlacementDataAttributes.requiredOperator) && - Objects.equals(this.placementOperator, newFormFieldPlacementDataAttributes.placementOperator); + Objects.equals(this.placementOperator, newFormFieldPlacementDataAttributes.placementOperator) && + Objects.equals(this.nonEditable, newFormFieldPlacementDataAttributes.nonEditable); } @Override public int hashCode() { - return Objects.hash(formSetId, form, position, required, requiredOperator, placementOperator); + return Objects.hash(formSetId, form, position, required, requiredOperator, placementOperator, nonEditable); } @Override @@ -334,6 +359,7 @@ public String toString() { sb.append(" required: ").append(toIndentedString(required)).append("\n"); sb.append(" requiredOperator: ").append(toIndentedString(requiredOperator)).append("\n"); sb.append(" placementOperator: ").append(toIndentedString(placementOperator)).append("\n"); + sb.append(" nonEditable: ").append(toIndentedString(nonEditable)).append("\n"); sb.append("}"); return sb.toString(); } @@ -362,6 +388,7 @@ private String toIndentedString(Object o) { openapiFields.add("required"); openapiFields.add("required_operator"); openapiFields.add("placement_operator"); + openapiFields.add("non_editable"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/NewFormFieldPosition.java b/src/main/java/com/rootly/client/model/NewFormFieldPosition.java index 46d497ca..288fe813 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPosition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPosition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 95873726..df474013 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPositionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormFieldPositionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e5998323..c44f38fb 100644 --- a/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormFieldPositionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewFormFieldPositionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2e0f2feb..ed65f009 100644 --- a/src/main/java/com/rootly/client/model/NewFormSet.java +++ b/src/main/java/com/rootly/client/model/NewFormSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 214409b3..a6a89184 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetCondition.java +++ b/src/main/java/com/rootly/client/model/NewFormSetCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormSetCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 476948f2..43a58bb8 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetConditionData.java +++ b/src/main/java/com/rootly/client/model/NewFormSetConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormSetConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 003c87ef..56f8c93f 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormSetConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewFormSetConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 92e984f4..4da85a3a 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetData.java +++ b/src/main/java/com/rootly/client/model/NewFormSetData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFormSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2ae49895..a832e59d 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewFormSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewFunctionality.java b/src/main/java/com/rootly/client/model/NewFunctionality.java index 08b611b7..042d9bb5 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionality.java +++ b/src/main/java/com/rootly/client/model/NewFunctionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFunctionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3355f182..c9a47a8e 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/NewFunctionalityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c6ea314c..904f0494 100644 --- a/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFunctionalityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * NewFunctionalityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFunctionalityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -194,15 +195,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; + + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @@ -214,6 +220,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewFunctionalityDataAttributes() { } @@ -564,57 +575,76 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public NewFunctionalityDataAttributes ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public NewFunctionalityDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public NewFunctionalityDataAttributes addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public NewFunctionalityDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this functionality - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public NewFunctionalityDataAttributes ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public NewFunctionalityDataAttributes ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public NewFunctionalityDataAttributes addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public NewFunctionalityDataAttributes addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this functionality - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; + } + + + public NewFunctionalityDataAttributes escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the functionality + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; } @@ -672,6 +702,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewFunctionalityDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this functionality. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -699,10 +756,12 @@ public boolean equals(Object o) { Objects.equals(this.showUptimeLastDays, newFunctionalityDataAttributes.showUptimeLastDays) && Objects.equals(this.environmentIds, newFunctionalityDataAttributes.environmentIds) && Objects.equals(this.serviceIds, newFunctionalityDataAttributes.serviceIds) && - Objects.equals(this.ownersGroupIds, newFunctionalityDataAttributes.ownersGroupIds) && - Objects.equals(this.ownersUserIds, newFunctionalityDataAttributes.ownersUserIds) && + Objects.equals(this.ownerGroupIds, newFunctionalityDataAttributes.ownerGroupIds) && + Objects.equals(this.ownerUserIds, newFunctionalityDataAttributes.ownerUserIds) && + Objects.equals(this.escalationPolicyId, newFunctionalityDataAttributes.escalationPolicyId) && Objects.equals(this.slackChannels, newFunctionalityDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, newFunctionalityDataAttributes.slackAliases); + Objects.equals(this.slackAliases, newFunctionalityDataAttributes.slackAliases) && + Objects.equals(this.properties, newFunctionalityDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -711,7 +770,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, showUptime, showUptimeLastDays, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, slackChannels, slackAliases); + return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, showUptime, showUptimeLastDays, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, escalationPolicyId, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -742,10 +801,12 @@ public String toString() { sb.append(" showUptimeLastDays: ").append(toIndentedString(showUptimeLastDays)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -785,10 +846,12 @@ private String toIndentedString(Object o) { openapiFields.add("show_uptime_last_days"); openapiFields.add("environment_ids"); openapiFields.add("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_ids"); + openapiFields.add("owner_group_ids"); + openapiFields.add("owner_user_ids"); + openapiFields.add("escalation_policy_id"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -873,12 +936,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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("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("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); @@ -908,6 +974,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewHeartbeat.java b/src/main/java/com/rootly/client/model/NewHeartbeat.java index 88dba5ef..8f414862 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeat.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeat.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewHeartbeat */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e0d214c4..aa93bb50 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeatData.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeatData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewHeartbeatData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 190831c1..7c1d2ce2 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewHeartbeatDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewHeartbeatDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +66,11 @@ public class NewHeartbeatDataAttributes { @javax.annotation.Nonnull private String alertSummary; + public static final String SERIALIZED_NAME_ALERT_DESCRIPTION = "alert_description"; + @SerializedName(SERIALIZED_NAME_ALERT_DESCRIPTION) + @javax.annotation.Nullable + private String alertDescription; + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) @javax.annotation.Nullable @@ -81,11 +86,11 @@ public class NewHeartbeatDataAttributes { */ @JsonAdapter(IntervalUnitEnum.Adapter.class) public enum IntervalUnitEnum { - SECONDS("seconds"), - MINUTES("minutes"), - HOURS("hours"); + HOURS("hours"), + + DAYS("days"); private String value; @@ -141,7 +146,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private String notificationTargetId; /** - * Gets or Sets notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. */ @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) public enum NotificationTargetTypeEnum { @@ -151,7 +156,9 @@ public enum NotificationTargetTypeEnum { SERVICE("Service"), - ESCALATION_POLICY("EscalationPolicy"); + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); private String value; @@ -266,6 +273,25 @@ public void setAlertSummary(@javax.annotation.Nonnull String alertSummary) { } + public NewHeartbeatDataAttributes alertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + return this; + } + + /** + * Description of alerts triggered when heartbeat expires. + * @return alertDescription + */ + @javax.annotation.Nullable + public String getAlertDescription() { + return alertDescription; + } + + public void setAlertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + } + + public NewHeartbeatDataAttributes alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { this.alertUrgencyId = alertUrgencyId; return this; @@ -348,7 +374,7 @@ public NewHeartbeatDataAttributes notificationTargetType(@javax.annotation.Nonnu } /** - * Get notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. * @return notificationTargetType */ @javax.annotation.Nonnull @@ -393,6 +419,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, newHeartbeatDataAttributes.name) && Objects.equals(this.description, newHeartbeatDataAttributes.description) && Objects.equals(this.alertSummary, newHeartbeatDataAttributes.alertSummary) && + Objects.equals(this.alertDescription, newHeartbeatDataAttributes.alertDescription) && Objects.equals(this.alertUrgencyId, newHeartbeatDataAttributes.alertUrgencyId) && Objects.equals(this.interval, newHeartbeatDataAttributes.interval) && Objects.equals(this.intervalUnit, newHeartbeatDataAttributes.intervalUnit) && @@ -407,7 +434,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, alertSummary, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled); + return Objects.hash(name, description, alertSummary, alertDescription, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -424,6 +451,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" alertSummary: ").append(toIndentedString(alertSummary)).append("\n"); + sb.append(" alertDescription: ").append(toIndentedString(alertDescription)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); sb.append(" intervalUnit: ").append(toIndentedString(intervalUnit)).append("\n"); @@ -455,6 +483,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("alert_summary"); + openapiFields.add("alert_description"); openapiFields.add("alert_urgency_id"); openapiFields.add("interval"); openapiFields.add("interval_unit"); @@ -509,6 +538,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("alert_summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `alert_summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_summary").toString())); } + if ((jsonObj.get("alert_description") != null && !jsonObj.get("alert_description").isJsonNull()) && !jsonObj.get("alert_description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_description").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())); } diff --git a/src/main/java/com/rootly/client/model/NewIncident.java b/src/main/java/com/rootly/client/model/NewIncident.java index 2d9d4336..41219d58 100644 --- a/src/main/java/com/rootly/client/model/NewIncident.java +++ b/src/main/java/com/rootly/client/model/NewIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f92450c0..eb90e286 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItem.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentActionItem */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b51a7a22..a54eb0bf 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentActionItemData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2b0274f7..591ce109 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewIncidentActionItemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentActionItemDataAttributes { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) @@ -260,6 +260,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String jiraIssueId; + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) @javax.annotation.Nullable @@ -447,6 +452,25 @@ public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { } + public NewIncidentActionItemDataAttributes jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * The Jira issue key. + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + public NewIncidentActionItemDataAttributes jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { this.jiraIssueUrl = jiraIssueUrl; return this; @@ -485,6 +509,7 @@ public boolean equals(Object o) { Objects.equals(this.status, newIncidentActionItemDataAttributes.status) && Objects.equals(this.dueDate, newIncidentActionItemDataAttributes.dueDate) && Objects.equals(this.jiraIssueId, newIncidentActionItemDataAttributes.jiraIssueId) && + Objects.equals(this.jiraIssueKey, newIncidentActionItemDataAttributes.jiraIssueKey) && Objects.equals(this.jiraIssueUrl, newIncidentActionItemDataAttributes.jiraIssueUrl); } @@ -494,7 +519,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(summary, description, kind, assignedToUserId, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueUrl); + return Objects.hash(summary, description, kind, assignedToUserId, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueKey, jiraIssueUrl); } private static int hashCodeNullable(JsonNullable a) { @@ -517,6 +542,7 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); sb.append(" jiraIssueId: ").append(toIndentedString(jiraIssueId)).append("\n"); + sb.append(" jiraIssueKey: ").append(toIndentedString(jiraIssueKey)).append("\n"); sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); sb.append("}"); return sb.toString(); @@ -549,6 +575,7 @@ private String toIndentedString(Object o) { openapiFields.add("status"); openapiFields.add("due_date"); openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_key"); openapiFields.add("jira_issue_url"); // a set of required properties/fields (JSON key names) @@ -621,6 +648,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").toString())); } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").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())); } diff --git a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java index 71a00cde..ffe75f41 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 25e98cbc..50b548a4 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 92147662..29dc39b0 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewIncidentCustomFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c8c99217..5952409f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 20d8a3ce..ce66655f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -77,7 +77,9 @@ public enum KindEnum { BACKFILLED("backfilled"), - SCHEDULED("scheduled"); + SCHEDULED("scheduled"), + + SCHEDULED_SUB("scheduled_sub"); private String value; @@ -157,6 +159,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String severityId; + public static final String SERIALIZED_NAME_PUBLIC_TITLE = "public_title"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TITLE) + @javax.annotation.Nullable + private String publicTitle; + + public static final String SERIALIZED_NAME_ALERT_IDS = "alert_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_IDS) + @javax.annotation.Nullable + private List alertIds; + public static final String SERIALIZED_NAME_ENVIRONMENT_IDS = "environment_ids"; @SerializedName(SERIALIZED_NAME_ENVIRONMENT_IDS) @javax.annotation.Nullable @@ -187,6 +199,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List causeIds; + public static final String SERIALIZED_NAME_MUTED_SERVICE_IDS = "muted_service_ids"; + @SerializedName(SERIALIZED_NAME_MUTED_SERVICE_IDS) + @javax.annotation.Nullable + private List mutedServiceIds; + public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @javax.annotation.Nullable @@ -197,6 +214,46 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String slackChannelName; + public static final String SERIALIZED_NAME_SLACK_CHANNEL_ID = "slack_channel_id"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_ID) + @javax.annotation.Nullable + private String slackChannelId; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_URL = "slack_channel_url"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_URL) + @javax.annotation.Nullable + private String slackChannelUrl; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED = "slack_channel_archived"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED) + @javax.annotation.Nullable + private Boolean slackChannelArchived; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID = "google_drive_parent_id"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID) + @javax.annotation.Nullable + private String googleDriveParentId; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_URL = "google_drive_url"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_URL) + @javax.annotation.Nullable + private String googleDriveUrl; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_ID = "jira_issue_id"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_ID) + @javax.annotation.Nullable + private String jiraIssueId; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @javax.annotation.Nullable + private String jiraIssueUrl; + public static final String SERIALIZED_NAME_NOTIFY_EMAILS = "notify_emails"; @SerializedName(SERIALIZED_NAME_NOTIFY_EMAILS) @javax.annotation.Nullable @@ -322,6 +379,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String resolvedAt; + public static final String SERIALIZED_NAME_CLOSED_AT = "closed_at"; + @SerializedName(SERIALIZED_NAME_CLOSED_AT) + @javax.annotation.Nullable + private String closedAt; + public static final String SERIALIZED_NAME_CANCELLED_AT = "cancelled_at"; @SerializedName(SERIALIZED_NAME_CANCELLED_AT) @javax.annotation.Nullable @@ -482,6 +544,52 @@ public void setSeverityId(@javax.annotation.Nullable String severityId) { } + public NewIncidentDataAttributes publicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; + return this; + } + + /** + * The public title of the incident + * @return publicTitle + */ + @javax.annotation.Nullable + public String getPublicTitle() { + return publicTitle; + } + + public void setPublicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; + } + + + public NewIncidentDataAttributes alertIds(@javax.annotation.Nullable List alertIds) { + this.alertIds = alertIds; + return this; + } + + public NewIncidentDataAttributes addAlertIdsItem(String alertIdsItem) { + if (this.alertIds == null) { + this.alertIds = new ArrayList<>(); + } + this.alertIds.add(alertIdsItem); + return this; + } + + /** + * The Alert IDs to attach to the incident + * @return alertIds + */ + @javax.annotation.Nullable + public List getAlertIds() { + return alertIds; + } + + public void setAlertIds(@javax.annotation.Nullable List alertIds) { + this.alertIds = alertIds; + } + + public NewIncidentDataAttributes environmentIds(@javax.annotation.Nullable List environmentIds) { this.environmentIds = environmentIds; return this; @@ -496,7 +604,7 @@ public NewIncidentDataAttributes addEnvironmentIdsItem(String environmentIdsItem } /** - * The Environment ID's to attach to the incident + * The Environment IDs to attach to the incident * @return environmentIds */ @javax.annotation.Nullable @@ -523,7 +631,7 @@ public NewIncidentDataAttributes addIncidentTypeIdsItem(String incidentTypeIdsIt } /** - * The Incident Type ID's to attach to the incident + * The Incident Type IDs to attach to the incident * @return incidentTypeIds */ @javax.annotation.Nullable @@ -550,7 +658,7 @@ public NewIncidentDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the incident + * The Service IDs to attach to the incident * @return serviceIds */ @javax.annotation.Nullable @@ -577,7 +685,7 @@ public NewIncidentDataAttributes addFunctionalityIdsItem(String functionalityIds } /** - * The Functionality ID's to attach to the incident + * The Functionality IDs to attach to the incident * @return functionalityIds */ @javax.annotation.Nullable @@ -604,7 +712,7 @@ public NewIncidentDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the incident + * The Team IDs to attach to the incident * @return groupIds */ @javax.annotation.Nullable @@ -631,7 +739,7 @@ public NewIncidentDataAttributes addCauseIdsItem(String causeIdsItem) { } /** - * The Cause ID's to attach to the incident + * The Cause IDs to attach to the incident * @return causeIds */ @javax.annotation.Nullable @@ -644,6 +752,33 @@ public void setCauseIds(@javax.annotation.Nullable List causeIds) { } + public NewIncidentDataAttributes mutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + return this; + } + + public NewIncidentDataAttributes addMutedServiceIdsItem(String mutedServiceIdsItem) { + if (this.mutedServiceIds == null) { + this.mutedServiceIds = new ArrayList<>(); + } + this.mutedServiceIds.add(mutedServiceIdsItem); + return this; + } + + /** + * The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. + * @return mutedServiceIds + */ + @javax.annotation.Nullable + public List getMutedServiceIds() { + return mutedServiceIds; + } + + public void setMutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + } + + public NewIncidentDataAttributes labels(@javax.annotation.Nullable Object labels) { this.labels = labels; return this; @@ -682,6 +817,158 @@ public void setSlackChannelName(@javax.annotation.Nullable String slackChannelNa } + public NewIncidentDataAttributes slackChannelId(@javax.annotation.Nullable String slackChannelId) { + this.slackChannelId = slackChannelId; + return this; + } + + /** + * Slack channel id + * @return slackChannelId + */ + @javax.annotation.Nullable + public String getSlackChannelId() { + return slackChannelId; + } + + public void setSlackChannelId(@javax.annotation.Nullable String slackChannelId) { + this.slackChannelId = slackChannelId; + } + + + public NewIncidentDataAttributes slackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { + this.slackChannelUrl = slackChannelUrl; + return this; + } + + /** + * Slack channel url + * @return slackChannelUrl + */ + @javax.annotation.Nullable + public String getSlackChannelUrl() { + return slackChannelUrl; + } + + public void setSlackChannelUrl(@javax.annotation.Nullable String slackChannelUrl) { + this.slackChannelUrl = slackChannelUrl; + } + + + public NewIncidentDataAttributes slackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + return this; + } + + /** + * Whether the Slack channel is archived + * @return slackChannelArchived + */ + @javax.annotation.Nullable + public Boolean getSlackChannelArchived() { + return slackChannelArchived; + } + + public void setSlackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + } + + + public NewIncidentDataAttributes googleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + return this; + } + + /** + * Google Drive parent folder ID + * @return googleDriveParentId + */ + @javax.annotation.Nullable + public String getGoogleDriveParentId() { + return googleDriveParentId; + } + + public void setGoogleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + } + + + public NewIncidentDataAttributes googleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + return this; + } + + /** + * Google Drive URL + * @return googleDriveUrl + */ + @javax.annotation.Nullable + public String getGoogleDriveUrl() { + return googleDriveUrl; + } + + public void setGoogleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + } + + + public NewIncidentDataAttributes jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * Jira issue key + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + + public NewIncidentDataAttributes jiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + return this; + } + + /** + * Jira issue ID + * @return jiraIssueId + */ + @javax.annotation.Nullable + public String getJiraIssueId() { + return jiraIssueId; + } + + public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + } + + + public NewIncidentDataAttributes jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * Jira issue URL + * @return jiraIssueUrl + */ + @javax.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + public NewIncidentDataAttributes notifyEmails(@javax.annotation.Nullable List notifyEmails) { this.notifyEmails = notifyEmails; return this; @@ -899,6 +1186,25 @@ public void setResolvedAt(@javax.annotation.Nullable String resolvedAt) { } + public NewIncidentDataAttributes closedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + return this; + } + + /** + * Date of closure + * @return closedAt + */ + @javax.annotation.Nullable + public String getClosedAt() { + return closedAt; + } + + public void setClosedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + } + + public NewIncidentDataAttributes cancelledAt(@javax.annotation.Nullable String cancelledAt) { this.cancelledAt = cancelledAt; return this; @@ -936,14 +1242,25 @@ public boolean equals(Object o) { Objects.equals(this.summary, newIncidentDataAttributes.summary) && Objects.equals(this.userId, newIncidentDataAttributes.userId) && Objects.equals(this.severityId, newIncidentDataAttributes.severityId) && + Objects.equals(this.publicTitle, newIncidentDataAttributes.publicTitle) && + Objects.equals(this.alertIds, newIncidentDataAttributes.alertIds) && Objects.equals(this.environmentIds, newIncidentDataAttributes.environmentIds) && Objects.equals(this.incidentTypeIds, newIncidentDataAttributes.incidentTypeIds) && Objects.equals(this.serviceIds, newIncidentDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, newIncidentDataAttributes.functionalityIds) && Objects.equals(this.groupIds, newIncidentDataAttributes.groupIds) && Objects.equals(this.causeIds, newIncidentDataAttributes.causeIds) && + Objects.equals(this.mutedServiceIds, newIncidentDataAttributes.mutedServiceIds) && Objects.equals(this.labels, newIncidentDataAttributes.labels) && Objects.equals(this.slackChannelName, newIncidentDataAttributes.slackChannelName) && + Objects.equals(this.slackChannelId, newIncidentDataAttributes.slackChannelId) && + Objects.equals(this.slackChannelUrl, newIncidentDataAttributes.slackChannelUrl) && + Objects.equals(this.slackChannelArchived, newIncidentDataAttributes.slackChannelArchived) && + Objects.equals(this.googleDriveParentId, newIncidentDataAttributes.googleDriveParentId) && + Objects.equals(this.googleDriveUrl, newIncidentDataAttributes.googleDriveUrl) && + Objects.equals(this.jiraIssueKey, newIncidentDataAttributes.jiraIssueKey) && + Objects.equals(this.jiraIssueId, newIncidentDataAttributes.jiraIssueId) && + Objects.equals(this.jiraIssueUrl, newIncidentDataAttributes.jiraIssueUrl) && Objects.equals(this.notifyEmails, newIncidentDataAttributes.notifyEmails) && Objects.equals(this.status, newIncidentDataAttributes.status) && Objects.equals(this.url, newIncidentDataAttributes.url) && @@ -955,6 +1272,7 @@ public boolean equals(Object o) { Objects.equals(this.acknowledgedAt, newIncidentDataAttributes.acknowledgedAt) && Objects.equals(this.mitigatedAt, newIncidentDataAttributes.mitigatedAt) && Objects.equals(this.resolvedAt, newIncidentDataAttributes.resolvedAt) && + Objects.equals(this.closedAt, newIncidentDataAttributes.closedAt) && Objects.equals(this.cancelledAt, newIncidentDataAttributes.cancelledAt); } @@ -964,7 +1282,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, _private, summary, userId, severityId, environmentIds, incidentTypeIds, serviceIds, functionalityIds, groupIds, causeIds, labels, slackChannelName, notifyEmails, status, url, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, 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, notifyEmails, status, url, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, closedAt, cancelledAt); } private static int hashCodeNullable(JsonNullable a) { @@ -986,14 +1304,25 @@ public String toString() { sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); sb.append(" severityId: ").append(toIndentedString(severityId)).append("\n"); + sb.append(" publicTitle: ").append(toIndentedString(publicTitle)).append("\n"); + sb.append(" alertIds: ").append(toIndentedString(alertIds)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); 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(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); + sb.append(" mutedServiceIds: ").append(toIndentedString(mutedServiceIds)).append("\n"); sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); sb.append(" slackChannelName: ").append(toIndentedString(slackChannelName)).append("\n"); + sb.append(" slackChannelId: ").append(toIndentedString(slackChannelId)).append("\n"); + sb.append(" slackChannelUrl: ").append(toIndentedString(slackChannelUrl)).append("\n"); + sb.append(" slackChannelArchived: ").append(toIndentedString(slackChannelArchived)).append("\n"); + sb.append(" googleDriveParentId: ").append(toIndentedString(googleDriveParentId)).append("\n"); + sb.append(" googleDriveUrl: ").append(toIndentedString(googleDriveUrl)).append("\n"); + 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(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); @@ -1005,6 +1334,7 @@ public String toString() { sb.append(" acknowledgedAt: ").append(toIndentedString(acknowledgedAt)).append("\n"); sb.append(" mitigatedAt: ").append(toIndentedString(mitigatedAt)).append("\n"); sb.append(" resolvedAt: ").append(toIndentedString(resolvedAt)).append("\n"); + sb.append(" closedAt: ").append(toIndentedString(closedAt)).append("\n"); sb.append(" cancelledAt: ").append(toIndentedString(cancelledAt)).append("\n"); sb.append("}"); return sb.toString(); @@ -1036,14 +1366,25 @@ private String toIndentedString(Object o) { openapiFields.add("summary"); openapiFields.add("user_id"); openapiFields.add("severity_id"); + openapiFields.add("public_title"); + openapiFields.add("alert_ids"); openapiFields.add("environment_ids"); openapiFields.add("incident_type_ids"); openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); openapiFields.add("group_ids"); openapiFields.add("cause_ids"); + openapiFields.add("muted_service_ids"); openapiFields.add("labels"); openapiFields.add("slack_channel_name"); + openapiFields.add("slack_channel_id"); + openapiFields.add("slack_channel_url"); + openapiFields.add("slack_channel_archived"); + openapiFields.add("google_drive_parent_id"); + openapiFields.add("google_drive_url"); + openapiFields.add("jira_issue_key"); + openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_url"); openapiFields.add("notify_emails"); openapiFields.add("status"); openapiFields.add("url"); @@ -1055,6 +1396,7 @@ private String toIndentedString(Object o) { openapiFields.add("acknowledged_at"); openapiFields.add("mitigated_at"); openapiFields.add("resolved_at"); + openapiFields.add("closed_at"); openapiFields.add("cancelled_at"); // a set of required properties/fields (JSON key names) @@ -1107,6 +1449,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("severity_id") != null && !jsonObj.get("severity_id").isJsonNull()) && !jsonObj.get("severity_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `severity_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("severity_id").toString())); } + if ((jsonObj.get("public_title") != null && !jsonObj.get("public_title").isJsonNull()) && !jsonObj.get("public_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `public_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_title").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_ids") != null && !jsonObj.get("alert_ids").isJsonNull() && !jsonObj.get("alert_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alert_ids").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())); @@ -1131,9 +1480,34 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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())); } + // ensure the optional json data is an array if present + if (jsonObj.get("muted_service_ids") != null && !jsonObj.get("muted_service_ids").isJsonNull() && !jsonObj.get("muted_service_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `muted_service_ids` to be an array in the JSON string but got `%s`", jsonObj.get("muted_service_ids").toString())); + } if ((jsonObj.get("slack_channel_name") != null && !jsonObj.get("slack_channel_name").isJsonNull()) && !jsonObj.get("slack_channel_name").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `slack_channel_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_name").toString())); } + if ((jsonObj.get("slack_channel_id") != null && !jsonObj.get("slack_channel_id").isJsonNull()) && !jsonObj.get("slack_channel_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_id").toString())); + } + if ((jsonObj.get("slack_channel_url") != null && !jsonObj.get("slack_channel_url").isJsonNull()) && !jsonObj.get("slack_channel_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_url").toString())); + } + if ((jsonObj.get("google_drive_parent_id") != null && !jsonObj.get("google_drive_parent_id").isJsonNull()) && !jsonObj.get("google_drive_parent_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_parent_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_parent_id").toString())); + } + if ((jsonObj.get("google_drive_url") != null && !jsonObj.get("google_drive_url").isJsonNull()) && !jsonObj.get("google_drive_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_url").toString())); + } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").toString())); + } + if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").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())); + } // 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())); @@ -1172,6 +1546,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolved_at") != null && !jsonObj.get("resolved_at").isJsonNull()) && !jsonObj.get("resolved_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolved_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolved_at").toString())); } + if ((jsonObj.get("closed_at") != null && !jsonObj.get("closed_at").isJsonNull()) && !jsonObj.get("closed_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `closed_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("closed_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())); } diff --git a/src/main/java/com/rootly/client/model/NewIncidentEvent.java b/src/main/java/com/rootly/client/model/NewIncidentEvent.java index e0a3c039..2113c0e1 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEvent.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e531023a..ed40af8b 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eb7357ca..e157e561 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewIncidentEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c3adecdb..5d55f49c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEventFunctionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b2b213a8..3974bdc0 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEventFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6f1a985e..69f07450 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewIncidentEventFunctionalityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0f96ca4c..0b1dd5b6 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventService.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventService.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEventService */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0b00eced..6c5de32c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventServiceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentEventServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 716b7c00..c878309a 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentEventServiceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewIncidentEventServiceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d028c07b..b2d868e1 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedback.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentFeedback */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b5b000a2..2c1fc287 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedbackData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentFeedbackData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 df87c6fd..68c6ab06 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFeedbackDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewIncidentFeedbackDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 55a6d95d..d2adce31 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentFormFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 342df813..d0ce67e2 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentFormFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 13e1880b..55ff7f74 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewIncidentFormFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -98,6 +98,21 @@ public class NewIncidentFormFieldSelectionDataAttributes { @javax.annotation.Nullable private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public NewIncidentFormFieldSelectionDataAttributes() { } @@ -320,6 +335,87 @@ public void setSelectedUserIds(@javax.annotation.Nullable List selected } + public NewIncidentFormFieldSelectionDataAttributes selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public NewIncidentFormFieldSelectionDataAttributes addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public NewIncidentFormFieldSelectionDataAttributes selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public NewIncidentFormFieldSelectionDataAttributes addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public NewIncidentFormFieldSelectionDataAttributes selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public NewIncidentFormFieldSelectionDataAttributes addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -338,7 +434,10 @@ public boolean equals(Object o) { Objects.equals(this.selectedOptionIds, newIncidentFormFieldSelectionDataAttributes.selectedOptionIds) && Objects.equals(this.selectedServiceIds, newIncidentFormFieldSelectionDataAttributes.selectedServiceIds) && Objects.equals(this.selectedFunctionalityIds, newIncidentFormFieldSelectionDataAttributes.selectedFunctionalityIds) && - Objects.equals(this.selectedUserIds, newIncidentFormFieldSelectionDataAttributes.selectedUserIds); + Objects.equals(this.selectedUserIds, newIncidentFormFieldSelectionDataAttributes.selectedUserIds) && + Objects.equals(this.selectedEnvironmentIds, newIncidentFormFieldSelectionDataAttributes.selectedEnvironmentIds) && + Objects.equals(this.selectedCauseIds, newIncidentFormFieldSelectionDataAttributes.selectedCauseIds) && + Objects.equals(this.selectedIncidentTypeIds, newIncidentFormFieldSelectionDataAttributes.selectedIncidentTypeIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -347,7 +446,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(incidentId, formFieldId, value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds); + return Objects.hash(incidentId, formFieldId, value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds, selectedEnvironmentIds, selectedCauseIds, selectedIncidentTypeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -370,6 +469,9 @@ public String toString() { sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedFunctionalityIds: ").append(toIndentedString(selectedFunctionalityIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -401,6 +503,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_service_ids"); openapiFields.add("selected_functionality_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -469,6 +574,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("selected_user_ids") != null && !jsonObj.get("selected_user_ids").isJsonNull() && !jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java index a26d37ab..c9a6a9cb 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e5136dde..10730d51 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBoolean.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBoolean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 441d19b3..8c467cc1 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBooleanData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5c15a295..e6654320 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetBooleanDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a95a778b..62910ca2 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewIncidentPermissionSetBooleanDataAttributesSeverityParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 848baa2c..32596bab 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a0fce2b3..4c3c02be 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,18 +51,13 @@ /** * NewIncidentPermissionSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -212,25 +207,6 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewIncidentPermissionSetDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The incident permission set slug. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public NewIncidentPermissionSetDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -315,7 +291,6 @@ public boolean equals(Object o) { } NewIncidentPermissionSetDataAttributes newIncidentPermissionSetDataAttributes = (NewIncidentPermissionSetDataAttributes) o; return Objects.equals(this.name, newIncidentPermissionSetDataAttributes.name) && - Objects.equals(this.slug, newIncidentPermissionSetDataAttributes.slug) && Objects.equals(this.description, newIncidentPermissionSetDataAttributes.description) && Objects.equals(this.privateIncidentPermissions, newIncidentPermissionSetDataAttributes.privateIncidentPermissions) && Objects.equals(this.publicIncidentPermissions, newIncidentPermissionSetDataAttributes.publicIncidentPermissions); @@ -327,7 +302,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, privateIncidentPermissions, publicIncidentPermissions); + return Objects.hash(name, description, privateIncidentPermissions, publicIncidentPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -342,7 +317,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewIncidentPermissionSetDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" privateIncidentPermissions: ").append(toIndentedString(privateIncidentPermissions)).append("\n"); sb.append(" publicIncidentPermissions: ").append(toIndentedString(publicIncidentPermissions)).append("\n"); @@ -369,7 +343,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("private_incident_permissions"); openapiFields.add("public_incident_permissions"); @@ -410,9 +383,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java index dc45f938..006a4faf 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 af6cb905..3ce42336 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 daaec78a..47c76d1b 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentPermissionSetResourceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 085ed752..af05596b 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRole.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fd3af312..8bcb1758 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7581881f..68492598 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java b/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java index 84367439..e301aef9 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRoleTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4da1e97c..e44354ca 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRoleTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 26f79baa..231a2adf 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentRoleTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 02a249b9..e6e7061c 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 834ff38b..eb0b3199 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e4a36e13..a85543fd 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @@ -78,8 +78,6 @@ public enum StatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java b/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java index 43e164ab..3a6bc667 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentSubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 027d56a1..46d5075f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatusData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f431c17a..5b510dbe 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentSubStatusDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentSubStatusDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 870baf5f..89d83ff1 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentType.java +++ b/src/main/java/com/rootly/client/model/NewIncidentType.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentType */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c376672d..d814db87 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentTypeData.java +++ b/src/main/java/com/rootly/client/model/NewIncidentTypeData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewIncidentTypeData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 44af374a..34c74509 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentTypeDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * NewIncidentTypeDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -90,6 +91,11 @@ public class NewIncidentTypeDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewIncidentTypeDataAttributes() { } @@ -250,6 +256,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewIncidentTypeDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this incident type. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -266,7 +299,8 @@ public boolean equals(Object o) { Objects.equals(this.position, newIncidentTypeDataAttributes.position) && Objects.equals(this.notifyEmails, newIncidentTypeDataAttributes.notifyEmails) && Objects.equals(this.slackChannels, newIncidentTypeDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, newIncidentTypeDataAttributes.slackAliases); + Objects.equals(this.slackAliases, newIncidentTypeDataAttributes.slackAliases) && + Objects.equals(this.properties, newIncidentTypeDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -275,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases); + return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -296,6 +330,7 @@ public String toString() { sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -325,6 +360,7 @@ private String toIndentedString(Object o) { openapiFields.add("notify_emails"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -400,6 +436,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouter.java b/src/main/java/com/rootly/client/model/NewLiveCallRouter.java index 90ad20e4..96184d2e 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouter.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewLiveCallRouter */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f0bcd2da..d974a2bf 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewLiveCallRouterData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1d023c36..89642a40 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,8 +20,11 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams; +import com.rootly.client.model.NewLiveCallRouterDataAttributesPagingTargetsInner; 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; @@ -49,7 +52,7 @@ /** * NewLiveCallRouterDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterDataAttributes { /** * The kind of the live_call_router @@ -123,15 +126,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti */ @JsonAdapter(CountryCodeEnum.Adapter.class) public enum CountryCodeEnum { - US("US"), + AU("AU"), - GB("GB"), + CA("CA"), + + DE("DE"), + + NL("NL"), NZ("NZ"), - CA("CA"), + SE("SE"), + + GB("GB"), - AU("AU"); + US("US"); private String value; @@ -188,7 +197,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PhoneTypeEnum { LOCAL("local"), - TOLL_FREE("toll_free"); + TOLL_FREE("toll_free"), + + MOBILE("mobile"); private String value; @@ -245,7 +256,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_VOICEMAIL_GREETING = "voicemail_greeting"; @SerializedName(SERIALIZED_NAME_VOICEMAIL_GREETING) - @javax.annotation.Nullable + @javax.annotation.Nonnull private String voicemailGreeting; public static final String SERIALIZED_NAME_CALLER_GREETING = "caller_greeting"; @@ -253,10 +264,72 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String callerGreeting; + /** + * The waiting music URL of the live_call_router + */ + @JsonAdapter(WaitingMusicUrlEnum.Adapter.class) + public enum WaitingMusicUrlEnum { + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3("https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3("https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3("https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3("https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3("https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3("https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3("https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3"); + + private String value; + + WaitingMusicUrlEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WaitingMusicUrlEnum fromValue(String value) { + for (WaitingMusicUrlEnum b : WaitingMusicUrlEnum.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 WaitingMusicUrlEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WaitingMusicUrlEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WaitingMusicUrlEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + WaitingMusicUrlEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_WAITING_MUSIC_URL = "waiting_music_url"; @SerializedName(SERIALIZED_NAME_WAITING_MUSIC_URL) @javax.annotation.Nullable - private String waitingMusicUrl; + private WaitingMusicUrlEnum waitingMusicUrl; public static final String SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY = "sent_to_voicemail_delay"; @SerializedName(SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY) @@ -283,9 +356,24 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_CALLING_TREE_ENABLED = "calling_tree_enabled"; + @SerializedName(SERIALIZED_NAME_CALLING_TREE_ENABLED) + @javax.annotation.Nullable + private Boolean callingTreeEnabled; + + public static final String SERIALIZED_NAME_CALLING_TREE_PROMPT = "calling_tree_prompt"; + @SerializedName(SERIALIZED_NAME_CALLING_TREE_PROMPT) + @javax.annotation.Nullable + private String callingTreePrompt; + + public static final String SERIALIZED_NAME_PAGING_TARGETS = "paging_targets"; + @SerializedName(SERIALIZED_NAME_PAGING_TARGETS) + @javax.annotation.Nonnull + 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) - @javax.annotation.Nonnull + @javax.annotation.Nullable private NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams; public NewLiveCallRouterDataAttributes() { @@ -405,7 +493,7 @@ public void setPhoneNumber(@javax.annotation.Nonnull String phoneNumber) { } - public NewLiveCallRouterDataAttributes voicemailGreeting(@javax.annotation.Nullable String voicemailGreeting) { + public NewLiveCallRouterDataAttributes voicemailGreeting(@javax.annotation.Nonnull String voicemailGreeting) { this.voicemailGreeting = voicemailGreeting; return this; } @@ -414,12 +502,12 @@ public NewLiveCallRouterDataAttributes voicemailGreeting(@javax.annotation.Nulla * The voicemail greeting of the live_call_router * @return voicemailGreeting */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public String getVoicemailGreeting() { return voicemailGreeting; } - public void setVoicemailGreeting(@javax.annotation.Nullable String voicemailGreeting) { + public void setVoicemailGreeting(@javax.annotation.Nonnull String voicemailGreeting) { this.voicemailGreeting = voicemailGreeting; } @@ -443,7 +531,7 @@ public void setCallerGreeting(@javax.annotation.Nullable String callerGreeting) } - public NewLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public NewLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; return this; } @@ -453,11 +541,11 @@ public NewLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Nullabl * @return waitingMusicUrl */ @javax.annotation.Nullable - public String getWaitingMusicUrl() { + public WaitingMusicUrlEnum getWaitingMusicUrl() { return waitingMusicUrl; } - public void setWaitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public void setWaitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; } @@ -557,7 +645,72 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } - public NewLiveCallRouterDataAttributes escalationPolicyTriggerParams(@javax.annotation.Nonnull NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { + public NewLiveCallRouterDataAttributes callingTreeEnabled(@javax.annotation.Nullable Boolean callingTreeEnabled) { + this.callingTreeEnabled = callingTreeEnabled; + return this; + } + + /** + * Whether the live call router is configured as a phone tree, requiring callers to press a key before being connected + * @return callingTreeEnabled + */ + @javax.annotation.Nullable + public Boolean getCallingTreeEnabled() { + return callingTreeEnabled; + } + + public void setCallingTreeEnabled(@javax.annotation.Nullable Boolean callingTreeEnabled) { + this.callingTreeEnabled = callingTreeEnabled; + } + + + public NewLiveCallRouterDataAttributes callingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + return this; + } + + /** + * The audio instructions callers will hear when they call this number, prompting them to select from available options to route their call + * @return callingTreePrompt + */ + @javax.annotation.Nullable + public String getCallingTreePrompt() { + return callingTreePrompt; + } + + public void setCallingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + } + + + public NewLiveCallRouterDataAttributes pagingTargets(@javax.annotation.Nonnull List pagingTargets) { + this.pagingTargets = pagingTargets; + return this; + } + + public NewLiveCallRouterDataAttributes addPagingTargetsItem(NewLiveCallRouterDataAttributesPagingTargetsInner pagingTargetsItem) { + if (this.pagingTargets == null) { + this.pagingTargets = new ArrayList<>(); + } + this.pagingTargets.add(pagingTargetsItem); + return this; + } + + /** + * Paging targets that callers can select from when this live call router is configured as a phone tree. + * @return pagingTargets + */ + @javax.annotation.Nonnull + public List getPagingTargets() { + return pagingTargets; + } + + public void setPagingTargets(@javax.annotation.Nonnull List pagingTargets) { + this.pagingTargets = pagingTargets; + } + + + public NewLiveCallRouterDataAttributes escalationPolicyTriggerParams(@javax.annotation.Nullable NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; return this; } @@ -566,12 +719,12 @@ public NewLiveCallRouterDataAttributes escalationPolicyTriggerParams(@javax.anno * Get escalationPolicyTriggerParams * @return escalationPolicyTriggerParams */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams getEscalationPolicyTriggerParams() { return escalationPolicyTriggerParams; } - public void setEscalationPolicyTriggerParams(@javax.annotation.Nonnull NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { + public void setEscalationPolicyTriggerParams(@javax.annotation.Nullable NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; } @@ -600,12 +753,15 @@ public boolean equals(Object o) { Objects.equals(this.escalationLevelDelayInSeconds, newLiveCallRouterDataAttributes.escalationLevelDelayInSeconds) && Objects.equals(this.shouldAutoResolveAlertOnCallEnd, newLiveCallRouterDataAttributes.shouldAutoResolveAlertOnCallEnd) && Objects.equals(this.alertUrgencyId, newLiveCallRouterDataAttributes.alertUrgencyId) && + Objects.equals(this.callingTreeEnabled, newLiveCallRouterDataAttributes.callingTreeEnabled) && + Objects.equals(this.callingTreePrompt, newLiveCallRouterDataAttributes.callingTreePrompt) && + Objects.equals(this.pagingTargets, newLiveCallRouterDataAttributes.pagingTargets) && Objects.equals(this.escalationPolicyTriggerParams, newLiveCallRouterDataAttributes.escalationPolicyTriggerParams); } @Override public int hashCode() { - return Objects.hash(kind, enabled, name, countryCode, phoneType, phoneNumber, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, escalationPolicyTriggerParams); + return Objects.hash(kind, enabled, name, countryCode, phoneType, phoneNumber, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, callingTreeEnabled, callingTreePrompt, pagingTargets, escalationPolicyTriggerParams); } @Override @@ -626,6 +782,9 @@ public String toString() { sb.append(" escalationLevelDelayInSeconds: ").append(toIndentedString(escalationLevelDelayInSeconds)).append("\n"); sb.append(" shouldAutoResolveAlertOnCallEnd: ").append(toIndentedString(shouldAutoResolveAlertOnCallEnd)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" callingTreeEnabled: ").append(toIndentedString(callingTreeEnabled)).append("\n"); + sb.append(" callingTreePrompt: ").append(toIndentedString(callingTreePrompt)).append("\n"); + sb.append(" pagingTargets: ").append(toIndentedString(pagingTargets)).append("\n"); sb.append(" escalationPolicyTriggerParams: ").append(toIndentedString(escalationPolicyTriggerParams)).append("\n"); sb.append("}"); return sb.toString(); @@ -663,6 +822,9 @@ private String toIndentedString(Object o) { openapiFields.add("escalation_level_delay_in_seconds"); openapiFields.add("should_auto_resolve_alert_on_call_end"); openapiFields.add("alert_urgency_id"); + openapiFields.add("calling_tree_enabled"); + openapiFields.add("calling_tree_prompt"); + openapiFields.add("paging_targets"); openapiFields.add("escalation_policy_trigger_params"); // a set of required properties/fields (JSON key names) @@ -672,7 +834,8 @@ private String toIndentedString(Object o) { openapiRequiredFields.add("country_code"); openapiRequiredFields.add("phone_type"); openapiRequiredFields.add("phone_number"); - openapiRequiredFields.add("escalation_policy_trigger_params"); + openapiRequiredFields.add("voicemail_greeting"); + openapiRequiredFields.add("paging_targets"); } /** @@ -724,7 +887,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("phone_number").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `phone_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone_number").toString())); } - if ((jsonObj.get("voicemail_greeting") != null && !jsonObj.get("voicemail_greeting").isJsonNull()) && !jsonObj.get("voicemail_greeting").isJsonPrimitive()) { + if (!jsonObj.get("voicemail_greeting").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `voicemail_greeting` to be a primitive type in the JSON string but got `%s`", jsonObj.get("voicemail_greeting").toString())); } if ((jsonObj.get("caller_greeting") != null && !jsonObj.get("caller_greeting").isJsonNull()) && !jsonObj.get("caller_greeting").isJsonPrimitive()) { @@ -733,11 +896,30 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) && !jsonObj.get("waiting_music_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `waiting_music_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("waiting_music_url").toString())); } + // validate the optional field `waiting_music_url` + if (jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) { + WaitingMusicUrlEnum.validateJsonElement(jsonObj.get("waiting_music_url")); + } 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())); } - // validate the required field `escalation_policy_trigger_params` - NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.validateJsonElement(jsonObj.get("escalation_policy_trigger_params")); + if ((jsonObj.get("calling_tree_prompt") != null && !jsonObj.get("calling_tree_prompt").isJsonNull()) && !jsonObj.get("calling_tree_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `calling_tree_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("calling_tree_prompt").toString())); + } + // ensure the json data is an array + if (!jsonObj.get("paging_targets").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_targets` to be an array in the JSON string but got `%s`", jsonObj.get("paging_targets").toString())); + } + + JsonArray jsonArraypagingTargets = jsonObj.getAsJsonArray("paging_targets"); + // validate the required field `paging_targets` (array) + for (int i = 0; i < jsonArraypagingTargets.size(); i++) { + NewLiveCallRouterDataAttributesPagingTargetsInner.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()) { + NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.validateJsonElement(jsonObj.get("escalation_policy_trigger_params")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java index 87ea2483..13bc8bdc 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -56,7 +56,7 @@ public class NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams { private String id; /** - * The type of the notification target + * 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 { @@ -64,7 +64,9 @@ public enum TypeEnum { GROUP("group"), - ESCALATION_POLICY("escalation_policy"); + ESCALATION_POLICY("escalation_policy"), + + FUNCTIONALITY("functionality"); private String value; @@ -142,7 +144,7 @@ public NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams type(@javax. } /** - * The type of the notification target + * The type of the notification target. Please contact support if you encounter issues using `functionality` as a target type. * @return type */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.java new file mode 100644 index 00000000..c562fa15 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInner.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; + +/** + * NewLiveCallRouterDataAttributesPagingTargetsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewLiveCallRouterDataAttributesPagingTargetsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) + @javax.annotation.Nonnull + private String alertUrgencyId; + + public NewLiveCallRouterDataAttributesPagingTargetsInner() { + } + + public NewLiveCallRouterDataAttributesPagingTargetsInner id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * The ID of paging target + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public NewLiveCallRouterDataAttributesPagingTargetsInner type(@javax.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 + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewLiveCallRouterDataAttributesPagingTargetsInner alertUrgencyId(@javax.annotation.Nonnull String alertUrgencyId) { + this.alertUrgencyId = alertUrgencyId; + return this; + } + + /** + * This is used in escalation paths to determine who to page + * @return alertUrgencyId + */ + @javax.annotation.Nonnull + public String getAlertUrgencyId() { + return alertUrgencyId; + } + + public void setAlertUrgencyId(@javax.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; + } + NewLiveCallRouterDataAttributesPagingTargetsInner newLiveCallRouterDataAttributesPagingTargetsInner = (NewLiveCallRouterDataAttributesPagingTargetsInner) o; + return Objects.equals(this.id, newLiveCallRouterDataAttributesPagingTargetsInner.id) && + Objects.equals(this.type, newLiveCallRouterDataAttributesPagingTargetsInner.type) && + Objects.equals(this.alertUrgencyId, newLiveCallRouterDataAttributesPagingTargetsInner.alertUrgencyId); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, alertUrgencyId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewLiveCallRouterDataAttributesPagingTargetsInner {\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 NewLiveCallRouterDataAttributesPagingTargetsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewLiveCallRouterDataAttributesPagingTargetsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewLiveCallRouterDataAttributesPagingTargetsInner is not found in the empty JSON string", NewLiveCallRouterDataAttributesPagingTargetsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewLiveCallRouterDataAttributesPagingTargetsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewLiveCallRouterDataAttributesPagingTargetsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewLiveCallRouterDataAttributesPagingTargetsInner.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 (!NewLiveCallRouterDataAttributesPagingTargetsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewLiveCallRouterDataAttributesPagingTargetsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewLiveCallRouterDataAttributesPagingTargetsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewLiveCallRouterDataAttributesPagingTargetsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewLiveCallRouterDataAttributesPagingTargetsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewLiveCallRouterDataAttributesPagingTargetsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewLiveCallRouterDataAttributesPagingTargetsInner + * @throws IOException if the JSON string is invalid with respect to NewLiveCallRouterDataAttributesPagingTargetsInner + */ + public static NewLiveCallRouterDataAttributesPagingTargetsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewLiveCallRouterDataAttributesPagingTargetsInner.class); + } + + /** + * Convert an instance of NewLiveCallRouterDataAttributesPagingTargetsInner 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/NewOnCallPayReport.java b/src/main/java/com/rootly/client/model/NewOnCallPayReport.java new file mode 100644 index 00000000..6715353a --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReport.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.NewOnCallPayReportData; +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; + +/** + * NewOnCallPayReport + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewOnCallPayReport { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewOnCallPayReportData data; + + public NewOnCallPayReport() { + } + + public NewOnCallPayReport data(@javax.annotation.Nonnull NewOnCallPayReportData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewOnCallPayReportData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewOnCallPayReportData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewOnCallPayReport newOnCallPayReport = (NewOnCallPayReport) o; + return Objects.equals(this.data, newOnCallPayReport.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewOnCallPayReport {\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 NewOnCallPayReport + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewOnCallPayReport.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewOnCallPayReport is not found in the empty JSON string", NewOnCallPayReport.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewOnCallPayReport.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewOnCallPayReport` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewOnCallPayReport.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` + NewOnCallPayReportData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewOnCallPayReport.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewOnCallPayReport' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewOnCallPayReport.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewOnCallPayReport value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewOnCallPayReport read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewOnCallPayReport given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewOnCallPayReport + * @throws IOException if the JSON string is invalid with respect to NewOnCallPayReport + */ + public static NewOnCallPayReport fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewOnCallPayReport.class); + } + + /** + * Convert an instance of NewOnCallPayReport 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/NewOnCallPayReportData.java b/src/main/java/com/rootly/client/model/NewOnCallPayReportData.java new file mode 100644 index 00000000..a9754362 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReportData.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.NewOnCallPayReportDataAttributes; +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; + +/** + * NewOnCallPayReportData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewOnCallPayReportData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ON_CALL_PAY_REPORTS("on_call_pay_reports"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewOnCallPayReportDataAttributes attributes; + + public NewOnCallPayReportData() { + } + + public NewOnCallPayReportData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewOnCallPayReportData attributes(@javax.annotation.Nonnull NewOnCallPayReportDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewOnCallPayReportDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewOnCallPayReportDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewOnCallPayReportData newOnCallPayReportData = (NewOnCallPayReportData) o; + return Objects.equals(this.type, newOnCallPayReportData.type) && + Objects.equals(this.attributes, newOnCallPayReportData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewOnCallPayReportData {\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 NewOnCallPayReportData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewOnCallPayReportData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewOnCallPayReportData is not found in the empty JSON string", NewOnCallPayReportData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewOnCallPayReportData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewOnCallPayReportData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewOnCallPayReportData.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` + NewOnCallPayReportDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewOnCallPayReportData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewOnCallPayReportData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewOnCallPayReportData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewOnCallPayReportData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewOnCallPayReportData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewOnCallPayReportData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewOnCallPayReportData + * @throws IOException if the JSON string is invalid with respect to NewOnCallPayReportData + */ + public static NewOnCallPayReportData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewOnCallPayReportData.class); + } + + /** + * Convert an instance of NewOnCallPayReportData 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/NewOnCallPayReportDataAttributes.java b/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java new file mode 100644 index 00000000..52591516 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewOnCallPayReportDataAttributes.java @@ -0,0 +1,281 @@ +/* + * 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 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; + +/** + * NewOnCallPayReportDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + @javax.annotation.Nonnull + private LocalDate endDate; + + public static final String SERIALIZED_NAME_SCHEDULE_IDS = "schedule_ids"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_IDS) + @javax.annotation.Nullable + private List scheduleIds = new ArrayList<>(); + + public NewOnCallPayReportDataAttributes() { + } + + public NewOnCallPayReportDataAttributes startDate(@javax.annotation.Nonnull LocalDate startDate) { + this.startDate = startDate; + return this; + } + + /** + * The start date for the report period. + * @return startDate + */ + @javax.annotation.Nonnull + public LocalDate getStartDate() { + return startDate; + } + + public void setStartDate(@javax.annotation.Nonnull LocalDate startDate) { + this.startDate = startDate; + } + + + public NewOnCallPayReportDataAttributes endDate(@javax.annotation.Nonnull LocalDate endDate) { + this.endDate = endDate; + return this; + } + + /** + * The end date for the report period. + * @return endDate + */ + @javax.annotation.Nonnull + public LocalDate getEndDate() { + return endDate; + } + + public void setEndDate(@javax.annotation.Nonnull LocalDate endDate) { + this.endDate = endDate; + } + + + public NewOnCallPayReportDataAttributes scheduleIds(@javax.annotation.Nullable List scheduleIds) { + this.scheduleIds = scheduleIds; + return this; + } + + public NewOnCallPayReportDataAttributes addScheduleIdsItem(String scheduleIdsItem) { + if (this.scheduleIds == null) { + this.scheduleIds = new ArrayList<>(); + } + this.scheduleIds.add(scheduleIdsItem); + return this; + } + + /** + * List of schedule UUIDs to scope the report. + * @return scheduleIds + */ + @javax.annotation.Nullable + public List getScheduleIds() { + return scheduleIds; + } + + public void setScheduleIds(@javax.annotation.Nullable List scheduleIds) { + this.scheduleIds = scheduleIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewOnCallPayReportDataAttributes newOnCallPayReportDataAttributes = (NewOnCallPayReportDataAttributes) o; + return Objects.equals(this.startDate, newOnCallPayReportDataAttributes.startDate) && + Objects.equals(this.endDate, newOnCallPayReportDataAttributes.endDate) && + Objects.equals(this.scheduleIds, newOnCallPayReportDataAttributes.scheduleIds); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, scheduleIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewOnCallPayReportDataAttributes {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" scheduleIds: ").append(toIndentedString(scheduleIds)).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_date"); + openapiFields.add("end_date"); + openapiFields.add("schedule_ids"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("start_date"); + openapiRequiredFields.add("end_date"); + } + + /** + * 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 NewOnCallPayReportDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewOnCallPayReportDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewOnCallPayReportDataAttributes is not found in the empty JSON string", NewOnCallPayReportDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewOnCallPayReportDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewOnCallPayReportDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewOnCallPayReportDataAttributes.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 optional json data is an array if present + if (jsonObj.get("schedule_ids") != null && !jsonObj.get("schedule_ids").isJsonNull() && !jsonObj.get("schedule_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_ids` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_ids").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewOnCallPayReportDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewOnCallPayReportDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewOnCallPayReportDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewOnCallPayReportDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewOnCallPayReportDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewOnCallPayReportDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewOnCallPayReportDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewOnCallPayReportDataAttributes + */ + public static NewOnCallPayReportDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewOnCallPayReportDataAttributes.class); + } + + /** + * Convert an instance of NewOnCallPayReportDataAttributes 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/NewOnCallRole.java b/src/main/java/com/rootly/client/model/NewOnCallRole.java index f2580ec5..135735ca 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRole.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOnCallRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 145aa8de..32a34b81 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRoleData.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOnCallRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c1bc3c40..016e3f8e 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,18 +50,13 @@ /** * NewOnCallRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - /** * Gets or Sets systemRole */ @@ -73,6 +68,8 @@ public enum SystemRoleEnum { CUSTOM("custom"), + OBSERVER("observer"), + NO_ACCESS("no_access"); private String value; @@ -120,9 +117,308 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SYSTEM_ROLE = "system_role"; @SerializedName(SERIALIZED_NAME_SYSTEM_ROLE) - @javax.annotation.Nonnull + @javax.annotation.Nullable private List systemRole = new ArrayList<>(); + /** + * Gets or Sets alertFieldsPermissions + */ + @JsonAdapter(AlertFieldsPermissionsEnum.Adapter.class) + public enum AlertFieldsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertFieldsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertFieldsPermissionsEnum fromValue(String value) { + for (AlertFieldsPermissionsEnum b : AlertFieldsPermissionsEnum.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 AlertFieldsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertFieldsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS = "alert_fields_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS) + @javax.annotation.Nullable + private List alertFieldsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertGroupsPermissions + */ + @JsonAdapter(AlertGroupsPermissionsEnum.Adapter.class) + public enum AlertGroupsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertGroupsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertGroupsPermissionsEnum fromValue(String value) { + for (AlertGroupsPermissionsEnum b : AlertGroupsPermissionsEnum.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 AlertGroupsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertGroupsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS = "alert_groups_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS) + @javax.annotation.Nullable + private List alertGroupsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertRoutingRulesPermissions + */ + @JsonAdapter(AlertRoutingRulesPermissionsEnum.Adapter.class) + public enum AlertRoutingRulesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertRoutingRulesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertRoutingRulesPermissionsEnum fromValue(String value) { + for (AlertRoutingRulesPermissionsEnum b : AlertRoutingRulesPermissionsEnum.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 AlertRoutingRulesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertRoutingRulesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS = "alert_routing_rules_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS) + @javax.annotation.Nullable + private List alertRoutingRulesPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallReadinessReportPermissions + */ + @JsonAdapter(OnCallReadinessReportPermissionsEnum.Adapter.class) + public enum OnCallReadinessReportPermissionsEnum { + READ("read"); + + private String value; + + OnCallReadinessReportPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallReadinessReportPermissionsEnum fromValue(String value) { + for (OnCallReadinessReportPermissionsEnum b : OnCallReadinessReportPermissionsEnum.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 OnCallReadinessReportPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallReadinessReportPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS = "on_call_readiness_report_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS) + @javax.annotation.Nullable + private List onCallReadinessReportPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallRolesPermissions + */ + @JsonAdapter(OnCallRolesPermissionsEnum.Adapter.class) + public enum OnCallRolesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + OnCallRolesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallRolesPermissionsEnum fromValue(String value) { + for (OnCallRolesPermissionsEnum b : OnCallRolesPermissionsEnum.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 OnCallRolesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallRolesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS = "on_call_roles_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS) + @javax.annotation.Nullable + private List onCallRolesPermissions = new ArrayList<>(); + /** * Gets or Sets alertSourcesPermissions */ @@ -130,6 +426,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertSourcesPermissionsEnum { CREATE("create"), + READ("read"), + UPDATE("update"), DELETE("delete"); @@ -252,7 +550,9 @@ public enum AlertsPermissionsEnum { UPDATE("update"), - READ("read"); + READ("read"), + + DELETE("delete"); private String value; @@ -1168,49 +1468,165 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewOnCallRoleDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; + public NewOnCallRoleDataAttributes systemRole(@javax.annotation.Nullable List systemRole) { + this.systemRole = systemRole; + return this; + } + + public NewOnCallRoleDataAttributes addSystemRoleItem(SystemRoleEnum systemRoleItem) { + if (this.systemRole == null) { + this.systemRole = new ArrayList<>(); + } + this.systemRole.add(systemRoleItem); return this; } /** - * The role slug. - * @return slug + * The kind of role (user and custom type roles are only editable) + * @return systemRole */ @javax.annotation.Nullable - public String getSlug() { - return slug; + public List getSystemRole() { + return systemRole; } - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; + public void setSystemRole(@javax.annotation.Nullable List systemRole) { + this.systemRole = systemRole; } - public NewOnCallRoleDataAttributes systemRole(@javax.annotation.Nonnull List systemRole) { - this.systemRole = systemRole; + public NewOnCallRoleDataAttributes alertFieldsPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; return this; } - public NewOnCallRoleDataAttributes addSystemRoleItem(SystemRoleEnum systemRoleItem) { - if (this.systemRole == null) { - this.systemRole = new ArrayList<>(); + public NewOnCallRoleDataAttributes addAlertFieldsPermissionsItem(AlertFieldsPermissionsEnum alertFieldsPermissionsItem) { + if (this.alertFieldsPermissions == null) { + this.alertFieldsPermissions = new ArrayList<>(); } - this.systemRole.add(systemRoleItem); + this.alertFieldsPermissions.add(alertFieldsPermissionsItem); return this; } /** - * The kind of role (user and custom type roles are only editable) - * @return systemRole + * Get alertFieldsPermissions + * @return alertFieldsPermissions */ - @javax.annotation.Nonnull - public List getSystemRole() { - return systemRole; + @javax.annotation.Nullable + public List getAlertFieldsPermissions() { + return alertFieldsPermissions; } - public void setSystemRole(@javax.annotation.Nonnull List systemRole) { - this.systemRole = systemRole; + public void setAlertFieldsPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; + } + + + public NewOnCallRoleDataAttributes alertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + return this; + } + + public NewOnCallRoleDataAttributes addAlertGroupsPermissionsItem(AlertGroupsPermissionsEnum alertGroupsPermissionsItem) { + if (this.alertGroupsPermissions == null) { + this.alertGroupsPermissions = new ArrayList<>(); + } + this.alertGroupsPermissions.add(alertGroupsPermissionsItem); + return this; + } + + /** + * Get alertGroupsPermissions + * @return alertGroupsPermissions + */ + @javax.annotation.Nullable + public List getAlertGroupsPermissions() { + return alertGroupsPermissions; + } + + public void setAlertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + } + + + public NewOnCallRoleDataAttributes alertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + return this; + } + + public NewOnCallRoleDataAttributes addAlertRoutingRulesPermissionsItem(AlertRoutingRulesPermissionsEnum alertRoutingRulesPermissionsItem) { + if (this.alertRoutingRulesPermissions == null) { + this.alertRoutingRulesPermissions = new ArrayList<>(); + } + this.alertRoutingRulesPermissions.add(alertRoutingRulesPermissionsItem); + return this; + } + + /** + * Get alertRoutingRulesPermissions + * @return alertRoutingRulesPermissions + */ + @javax.annotation.Nullable + public List getAlertRoutingRulesPermissions() { + return alertRoutingRulesPermissions; + } + + public void setAlertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + } + + + public NewOnCallRoleDataAttributes onCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + return this; + } + + public NewOnCallRoleDataAttributes addOnCallReadinessReportPermissionsItem(OnCallReadinessReportPermissionsEnum onCallReadinessReportPermissionsItem) { + if (this.onCallReadinessReportPermissions == null) { + this.onCallReadinessReportPermissions = new ArrayList<>(); + } + this.onCallReadinessReportPermissions.add(onCallReadinessReportPermissionsItem); + return this; + } + + /** + * Get onCallReadinessReportPermissions + * @return onCallReadinessReportPermissions + */ + @javax.annotation.Nullable + public List getOnCallReadinessReportPermissions() { + return onCallReadinessReportPermissions; + } + + public void setOnCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + } + + + public NewOnCallRoleDataAttributes onCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; + return this; + } + + public NewOnCallRoleDataAttributes addOnCallRolesPermissionsItem(OnCallRolesPermissionsEnum onCallRolesPermissionsItem) { + if (this.onCallRolesPermissions == null) { + this.onCallRolesPermissions = new ArrayList<>(); + } + this.onCallRolesPermissions.add(onCallRolesPermissionsItem); + return this; + } + + /** + * Get onCallRolesPermissions + * @return onCallRolesPermissions + */ + @javax.annotation.Nullable + public List getOnCallRolesPermissions() { + return onCallRolesPermissions; + } + + public void setOnCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; } @@ -1684,8 +2100,12 @@ public boolean equals(Object o) { } NewOnCallRoleDataAttributes newOnCallRoleDataAttributes = (NewOnCallRoleDataAttributes) o; return Objects.equals(this.name, newOnCallRoleDataAttributes.name) && - Objects.equals(this.slug, newOnCallRoleDataAttributes.slug) && Objects.equals(this.systemRole, newOnCallRoleDataAttributes.systemRole) && + Objects.equals(this.alertFieldsPermissions, newOnCallRoleDataAttributes.alertFieldsPermissions) && + Objects.equals(this.alertGroupsPermissions, newOnCallRoleDataAttributes.alertGroupsPermissions) && + Objects.equals(this.alertRoutingRulesPermissions, newOnCallRoleDataAttributes.alertRoutingRulesPermissions) && + Objects.equals(this.onCallReadinessReportPermissions, newOnCallRoleDataAttributes.onCallReadinessReportPermissions) && + Objects.equals(this.onCallRolesPermissions, newOnCallRoleDataAttributes.onCallRolesPermissions) && Objects.equals(this.alertSourcesPermissions, newOnCallRoleDataAttributes.alertSourcesPermissions) && Objects.equals(this.alertUrgencyPermissions, newOnCallRoleDataAttributes.alertUrgencyPermissions) && Objects.equals(this.alertsPermissions, newOnCallRoleDataAttributes.alertsPermissions) && @@ -1707,7 +2127,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, slug, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions); + return Objects.hash(name, systemRole, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions); } @Override @@ -1715,8 +2135,12 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewOnCallRoleDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" systemRole: ").append(toIndentedString(systemRole)).append("\n"); + sb.append(" alertFieldsPermissions: ").append(toIndentedString(alertFieldsPermissions)).append("\n"); + sb.append(" alertGroupsPermissions: ").append(toIndentedString(alertGroupsPermissions)).append("\n"); + sb.append(" alertRoutingRulesPermissions: ").append(toIndentedString(alertRoutingRulesPermissions)).append("\n"); + sb.append(" onCallReadinessReportPermissions: ").append(toIndentedString(onCallReadinessReportPermissions)).append("\n"); + sb.append(" onCallRolesPermissions: ").append(toIndentedString(onCallRolesPermissions)).append("\n"); sb.append(" alertSourcesPermissions: ").append(toIndentedString(alertSourcesPermissions)).append("\n"); sb.append(" alertUrgencyPermissions: ").append(toIndentedString(alertUrgencyPermissions)).append("\n"); sb.append(" alertsPermissions: ").append(toIndentedString(alertsPermissions)).append("\n"); @@ -1757,8 +2181,12 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("system_role"); + openapiFields.add("alert_fields_permissions"); + openapiFields.add("alert_groups_permissions"); + openapiFields.add("alert_routing_rules_permissions"); + openapiFields.add("on_call_readiness_report_permissions"); + openapiFields.add("on_call_roles_permissions"); openapiFields.add("alert_sources_permissions"); openapiFields.add("alert_urgency_permissions"); openapiFields.add("alerts_permissions"); @@ -1780,7 +2208,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("system_role"); } /** @@ -1814,16 +2241,31 @@ 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())); } - 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())); - } - // ensure the required json array is present - if (jsonObj.get("system_role") == null) { - throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); - } else if (!jsonObj.get("system_role").isJsonArray()) { + // ensure the optional json data is an array if present + if (jsonObj.get("system_role") != null && !jsonObj.get("system_role").isJsonNull() && !jsonObj.get("system_role").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `system_role` to be an array in the JSON string but got `%s`", jsonObj.get("system_role").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("alert_fields_permissions") != null && !jsonObj.get("alert_fields_permissions").isJsonNull() && !jsonObj.get("alert_fields_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_fields_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_fields_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_groups_permissions") != null && !jsonObj.get("alert_groups_permissions").isJsonNull() && !jsonObj.get("alert_groups_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_groups_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_groups_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_routing_rules_permissions") != null && !jsonObj.get("alert_routing_rules_permissions").isJsonNull() && !jsonObj.get("alert_routing_rules_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_routing_rules_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_routing_rules_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_readiness_report_permissions") != null && !jsonObj.get("on_call_readiness_report_permissions").isJsonNull() && !jsonObj.get("on_call_readiness_report_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_readiness_report_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_readiness_report_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_roles_permissions") != null && !jsonObj.get("on_call_roles_permissions").isJsonNull() && !jsonObj.get("on_call_roles_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_roles_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_roles_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("alert_sources_permissions") != null && !jsonObj.get("alert_sources_permissions").isJsonNull() && !jsonObj.get("alert_sources_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `alert_sources_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_sources_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 93fb9ef2..e24895ef 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadow.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOnCallShadow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 361419ac..783c9412 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadowData.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadowData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOnCallShadowData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 94c070be..74ea54f5 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallShadowDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOnCallShadowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 81718acf..5b3642b2 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShift.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShift.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOverrideShift */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7c87d20b..b0d6562e 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShiftData.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShiftData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOverrideShiftData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d732e224..7533e2a2 100644 --- a/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOverrideShiftDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewOverrideShiftDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f1312db4..ed536d2f 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybook.java +++ b/src/main/java/com/rootly/client/model/NewPlaybook.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPlaybook */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7e5d948d..05427208 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookData.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPlaybookData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6fc1f642..34522e40 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewPlaybookDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -172,7 +172,7 @@ public NewPlaybookDataAttributes addSeverityIdsItem(String severityIdsItem) { } /** - * The Severity ID's to attach to the incident + * The Severity IDs to attach to the incident * @return severityIds */ @javax.annotation.Nullable @@ -199,7 +199,7 @@ public NewPlaybookDataAttributes addEnvironmentIdsItem(String environmentIdsItem } /** - * The Environment ID's to attach to the incident + * The Environment IDs to attach to the incident * @return environmentIds */ @javax.annotation.Nullable @@ -226,7 +226,7 @@ public NewPlaybookDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the incident + * The Service IDs to attach to the incident * @return serviceIds */ @javax.annotation.Nullable @@ -253,7 +253,7 @@ public NewPlaybookDataAttributes addFunctionalityIdsItem(String functionalityIds } /** - * The Functionality ID's to attach to the incident + * The Functionality IDs to attach to the incident * @return functionalityIds */ @javax.annotation.Nullable @@ -280,7 +280,7 @@ public NewPlaybookDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the incident + * The Team IDs to attach to the incident * @return groupIds */ @javax.annotation.Nullable @@ -307,7 +307,7 @@ public NewPlaybookDataAttributes addIncidentTypeIdsItem(String incidentTypeIdsIt } /** - * The Incident Type ID's to attach to the incident + * The Incident Type IDs to attach to the incident * @return incidentTypeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewPlaybookTask.java b/src/main/java/com/rootly/client/model/NewPlaybookTask.java index fcacc712..38028fbf 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTask.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPlaybookTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6bf7ee81..0f18bf47 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPlaybookTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1b1ebd2f..311d31f2 100644 --- a/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPlaybookTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPlaybookTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 71c6c06b..b580e204 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPostMortemTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 59881bd6..dc984ff0 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplateData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPostMortemTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e8e7a783..e69b0873 100644 --- a/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPostMortemTemplateDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPostMortemTemplateDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -63,7 +63,7 @@ public class NewPostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_CONTENT = "content"; @SerializedName(SERIALIZED_NAME_CONTENT) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String content; /** @@ -164,21 +164,21 @@ public void setDefault(@javax.annotation.Nullable Boolean _default) { } - public NewPostMortemTemplateDataAttributes content(@javax.annotation.Nonnull String content) { + public NewPostMortemTemplateDataAttributes content(@javax.annotation.Nullable String content) { this.content = content; return this; } /** - * The postmortem template. Liquid syntax is supported + * The postmortem template. Supports TipTap blocks (followup and timeline components), Liquid syntax, and HTML. Will be sanitized and applied to both content and content_html fields. * @return content */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getContent() { return content; } - public void setContent(@javax.annotation.Nonnull String content) { + public void setContent(@javax.annotation.Nullable String content) { this.content = content; } @@ -272,7 +272,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("content"); } /** @@ -306,7 +305,7 @@ 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())); } - if (!jsonObj.get("content").isJsonPrimitive()) { + 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("format") != null && !jsonObj.get("format").isJsonNull()) && !jsonObj.get("format").isJsonPrimitive()) { diff --git a/src/main/java/com/rootly/client/model/NewPulse.java b/src/main/java/com/rootly/client/model/NewPulse.java index d3e847bf..5ee357f0 100644 --- a/src/main/java/com/rootly/client/model/NewPulse.java +++ b/src/main/java/com/rootly/client/model/NewPulse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPulse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 812ab655..1df64731 100644 --- a/src/main/java/com/rootly/client/model/NewPulseData.java +++ b/src/main/java/com/rootly/client/model/NewPulseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewPulseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c01f4f7c..a0d3bb0b 100644 --- a/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -54,7 +54,7 @@ /** * NewPulseDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPulseDataAttributes { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) @@ -94,7 +94,7 @@ public class NewPulseDataAttributes { public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @javax.annotation.Nullable - private List labels = new ArrayList<>(); + private List labels = new ArrayList<>(); public static final String SERIALIZED_NAME_REFS = "refs"; @SerializedName(SERIALIZED_NAME_REFS) @@ -161,7 +161,7 @@ public NewPulseDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the pulse + * The Service IDs to attach to the pulse * @return serviceIds */ @javax.annotation.Nullable @@ -188,7 +188,7 @@ public NewPulseDataAttributes addEnvironmentIdsItem(String environmentIdsItem) { } /** - * The Environment ID's to attach to the pulse + * The Environment IDs to attach to the pulse * @return environmentIds */ @javax.annotation.Nullable @@ -258,12 +258,12 @@ public void setExternalUrl(@javax.annotation.Nullable String externalUrl) { } - public NewPulseDataAttributes labels(@javax.annotation.Nullable List labels) { + public NewPulseDataAttributes labels(@javax.annotation.Nullable List labels) { this.labels = labels; return this; } - public NewPulseDataAttributes addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { + public NewPulseDataAttributes addLabelsItem(NewPulseDataAttributesLabelsInner labelsItem) { if (this.labels == null) { this.labels = new ArrayList<>(); } @@ -276,11 +276,11 @@ public NewPulseDataAttributes addLabelsItem(NewAlertDataAttributesLabelsInner la * @return labels */ @javax.annotation.Nullable - public List getLabels() { + public List getLabels() { return labels; } - public void setLabels(@javax.annotation.Nullable List labels) { + public void setLabels(@javax.annotation.Nullable List labels) { this.labels = labels; } @@ -476,7 +476,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)); + NewPulseDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java b/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.java new file mode 100644 index 00000000..f6c818e4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributesLabelsInner.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; + +/** + * NewPulseDataAttributesLabelsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewPulseDataAttributesLabelsInner { + public static final String SERIALIZED_NAME_KEY = "key"; + @SerializedName(SERIALIZED_NAME_KEY) + @javax.annotation.Nonnull + private String key; + + public static final String SERIALIZED_NAME_VALUE = "value"; + @SerializedName(SERIALIZED_NAME_VALUE) + @javax.annotation.Nonnull + private String value; + + public NewPulseDataAttributesLabelsInner() { + } + + public NewPulseDataAttributesLabelsInner key(@javax.annotation.Nonnull String key) { + this.key = key; + return this; + } + + /** + * Key of the tag + * @return key + */ + @javax.annotation.Nonnull + public String getKey() { + return key; + } + + public void setKey(@javax.annotation.Nonnull String key) { + this.key = key; + } + + + public NewPulseDataAttributesLabelsInner value(@javax.annotation.Nonnull String value) { + this.value = value; + return this; + } + + /** + * Value of the tag + * @return value + */ + @javax.annotation.Nonnull + public String getValue() { + return value; + } + + public void setValue(@javax.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; + } + NewPulseDataAttributesLabelsInner newPulseDataAttributesLabelsInner = (NewPulseDataAttributesLabelsInner) o; + return Objects.equals(this.key, newPulseDataAttributesLabelsInner.key) && + Objects.equals(this.value, newPulseDataAttributesLabelsInner.value); + } + + @Override + public int hashCode() { + return Objects.hash(key, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewPulseDataAttributesLabelsInner {\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 NewPulseDataAttributesLabelsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewPulseDataAttributesLabelsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewPulseDataAttributesLabelsInner is not found in the empty JSON string", NewPulseDataAttributesLabelsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewPulseDataAttributesLabelsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewPulseDataAttributesLabelsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewPulseDataAttributesLabelsInner.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 (!NewPulseDataAttributesLabelsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewPulseDataAttributesLabelsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewPulseDataAttributesLabelsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewPulseDataAttributesLabelsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewPulseDataAttributesLabelsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewPulseDataAttributesLabelsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewPulseDataAttributesLabelsInner + * @throws IOException if the JSON string is invalid with respect to NewPulseDataAttributesLabelsInner + */ + public static NewPulseDataAttributesLabelsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewPulseDataAttributesLabelsInner.class); + } + + /** + * Convert an instance of NewPulseDataAttributesLabelsInner 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/NewPulseDataAttributesRefsInner.java b/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java index adc050bf..fa1bb0ef 100644 --- a/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java +++ b/src/main/java/com/rootly/client/model/NewPulseDataAttributesRefsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewPulseDataAttributesRefsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0018ba8f..b191c2bc 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcess.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcess */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0bec0ddf..86ec9937 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8b3a5e72..e2692a03 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a53198d3..bf200ec8 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -62,7 +62,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e4474c22..0b5448eb 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -74,7 +74,7 @@ public NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria } /** - * Severity ID's for retrospective process matching criteria + * Severity IDs for retrospective process matching criteria * @return severityIds */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java index cd2a3534..676fe3dc 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -74,7 +74,7 @@ public NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria } /** - * Team ID's for retrospective process matching criteria + * Team IDs for retrospective process matching criteria * @return groupIds */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java index 78b27623..2698057a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -74,7 +74,7 @@ public NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteria } /** - * Incident type ID's for retrospective process matching criteria + * Incident type IDs for retrospective process matching criteria * @return incidentTypeIds */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java index fd387e2b..0ef64b1f 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8a4f97a5..499b1cb6 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 da6e3dab..f9e508ba 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewRetrospectiveProcessGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6ec73b99..3842d9e1 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7885629b..ef19ee9f 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveProcessGroupStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 35c529cf..9b1504ee 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewRetrospectiveProcessGroupStepDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 97d9aa49..f3a0679a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6bc6f1e6..605b073a 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStepData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 695960d4..68db49eb 100644 --- a/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRetrospectiveStepDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRetrospectiveStepDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewRole.java b/src/main/java/com/rootly/client/model/NewRole.java index 735fa638..ce491df6 100644 --- a/src/main/java/com/rootly/client/model/NewRole.java +++ b/src/main/java/com/rootly/client/model/NewRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e61f1f34..2cb89ff4 100644 --- a/src/main/java/com/rootly/client/model/NewRoleData.java +++ b/src/main/java/com/rootly/client/model/NewRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 29c18a9f..403fd02a 100644 --- a/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,18 +51,13 @@ /** * NewRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) @javax.annotation.Nullable @@ -1648,6 +1643,435 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List workflowsPermissions = new ArrayList<>(); + /** + * Gets or Sets catalogsPermissions + */ + @JsonAdapter(CatalogsPermissionsEnum.Adapter.class) + public enum CatalogsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CatalogsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogsPermissionsEnum fromValue(String value) { + for (CatalogsPermissionsEnum b : CatalogsPermissionsEnum.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 CatalogsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOGS_PERMISSIONS = "catalogs_permissions"; + @SerializedName(SERIALIZED_NAME_CATALOGS_PERMISSIONS) + @javax.annotation.Nullable + private List catalogsPermissions = new ArrayList<>(); + + /** + * Gets or Sets subStatusesPermissions + */ + @JsonAdapter(SubStatusesPermissionsEnum.Adapter.class) + public enum SubStatusesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SubStatusesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SubStatusesPermissionsEnum fromValue(String value) { + for (SubStatusesPermissionsEnum b : SubStatusesPermissionsEnum.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 SubStatusesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SubStatusesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS = "sub_statuses_permissions"; + @SerializedName(SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS) + @javax.annotation.Nullable + private List subStatusesPermissions = new ArrayList<>(); + + /** + * Gets or Sets edgeConnectorPermissions + */ + @JsonAdapter(EdgeConnectorPermissionsEnum.Adapter.class) + public enum EdgeConnectorPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + EdgeConnectorPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EdgeConnectorPermissionsEnum fromValue(String value) { + for (EdgeConnectorPermissionsEnum b : EdgeConnectorPermissionsEnum.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 EdgeConnectorPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EdgeConnectorPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS = "edge_connector_permissions"; + @SerializedName(SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS) + @javax.annotation.Nullable + private List edgeConnectorPermissions = new ArrayList<>(); + + /** + * Gets or Sets slasPermissions + */ + @JsonAdapter(SlasPermissionsEnum.Adapter.class) + public enum SlasPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SlasPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SlasPermissionsEnum fromValue(String value) { + for (SlasPermissionsEnum b : SlasPermissionsEnum.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 SlasPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SlasPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SlasPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SlasPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SLAS_PERMISSIONS = "slas_permissions"; + @SerializedName(SERIALIZED_NAME_SLAS_PERMISSIONS) + @javax.annotation.Nullable + private List slasPermissions = new ArrayList<>(); + + /** + * Gets or Sets pagingPermissions + */ + @JsonAdapter(PagingPermissionsEnum.Adapter.class) + public enum PagingPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PagingPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PagingPermissionsEnum fromValue(String value) { + for (PagingPermissionsEnum b : PagingPermissionsEnum.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 PagingPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PagingPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PagingPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PagingPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PAGING_PERMISSIONS = "paging_permissions"; + @SerializedName(SERIALIZED_NAME_PAGING_PERMISSIONS) + @javax.annotation.Nullable + private List pagingPermissions = new ArrayList<>(); + + /** + * Gets or Sets incidentCommunicationPermissions + */ + @JsonAdapter(IncidentCommunicationPermissionsEnum.Adapter.class) + public enum IncidentCommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"), + + SEND("send"); + + private String value; + + IncidentCommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentCommunicationPermissionsEnum fromValue(String value) { + for (IncidentCommunicationPermissionsEnum b : IncidentCommunicationPermissionsEnum.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 IncidentCommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentCommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS = "incident_communication_permissions"; + @SerializedName(SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List incidentCommunicationPermissions = new ArrayList<>(); + + /** + * Gets or Sets communicationPermissions + */ + @JsonAdapter(CommunicationPermissionsEnum.Adapter.class) + public enum CommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CommunicationPermissionsEnum fromValue(String value) { + for (CommunicationPermissionsEnum b : CommunicationPermissionsEnum.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 CommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMMUNICATION_PERMISSIONS = "communication_permissions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List communicationPermissions = new ArrayList<>(); + public NewRoleDataAttributes() { } @@ -1670,25 +2094,6 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewRoleDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The role slug. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public NewRoleDataAttributes incidentPermissionSetId(@javax.annotation.Nullable String incidentPermissionSetId) { this.incidentPermissionSetId = incidentPermissionSetId; return this; @@ -2410,6 +2815,195 @@ public void setWorkflowsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + return this; + } + + public NewRoleDataAttributes addCatalogsPermissionsItem(CatalogsPermissionsEnum catalogsPermissionsItem) { + if (this.catalogsPermissions == null) { + this.catalogsPermissions = new ArrayList<>(); + } + this.catalogsPermissions.add(catalogsPermissionsItem); + return this; + } + + /** + * Get catalogsPermissions + * @return catalogsPermissions + */ + @javax.annotation.Nullable + public List getCatalogsPermissions() { + return catalogsPermissions; + } + + public void setCatalogsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + } + + + public NewRoleDataAttributes subStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + return this; + } + + public NewRoleDataAttributes addSubStatusesPermissionsItem(SubStatusesPermissionsEnum subStatusesPermissionsItem) { + if (this.subStatusesPermissions == null) { + this.subStatusesPermissions = new ArrayList<>(); + } + this.subStatusesPermissions.add(subStatusesPermissionsItem); + return this; + } + + /** + * Get subStatusesPermissions + * @return subStatusesPermissions + */ + @javax.annotation.Nullable + public List getSubStatusesPermissions() { + return subStatusesPermissions; + } + + public void setSubStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + } + + + public NewRoleDataAttributes edgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + return this; + } + + public NewRoleDataAttributes addEdgeConnectorPermissionsItem(EdgeConnectorPermissionsEnum edgeConnectorPermissionsItem) { + if (this.edgeConnectorPermissions == null) { + this.edgeConnectorPermissions = new ArrayList<>(); + } + this.edgeConnectorPermissions.add(edgeConnectorPermissionsItem); + return this; + } + + /** + * Get edgeConnectorPermissions + * @return edgeConnectorPermissions + */ + @javax.annotation.Nullable + public List getEdgeConnectorPermissions() { + return edgeConnectorPermissions; + } + + public void setEdgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + } + + + public NewRoleDataAttributes slasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + return this; + } + + public NewRoleDataAttributes addSlasPermissionsItem(SlasPermissionsEnum slasPermissionsItem) { + if (this.slasPermissions == null) { + this.slasPermissions = new ArrayList<>(); + } + this.slasPermissions.add(slasPermissionsItem); + return this; + } + + /** + * Get slasPermissions + * @return slasPermissions + */ + @javax.annotation.Nullable + public List getSlasPermissions() { + return slasPermissions; + } + + public void setSlasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + } + + + public NewRoleDataAttributes pagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + return this; + } + + public NewRoleDataAttributes addPagingPermissionsItem(PagingPermissionsEnum pagingPermissionsItem) { + if (this.pagingPermissions == null) { + this.pagingPermissions = new ArrayList<>(); + } + this.pagingPermissions.add(pagingPermissionsItem); + return this; + } + + /** + * Get pagingPermissions + * @return pagingPermissions + */ + @javax.annotation.Nullable + public List getPagingPermissions() { + return pagingPermissions; + } + + public void setPagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + } + + + public NewRoleDataAttributes incidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + return this; + } + + public NewRoleDataAttributes addIncidentCommunicationPermissionsItem(IncidentCommunicationPermissionsEnum incidentCommunicationPermissionsItem) { + if (this.incidentCommunicationPermissions == null) { + this.incidentCommunicationPermissions = new ArrayList<>(); + } + this.incidentCommunicationPermissions.add(incidentCommunicationPermissionsItem); + return this; + } + + /** + * Get incidentCommunicationPermissions + * @return incidentCommunicationPermissions + */ + @javax.annotation.Nullable + public List getIncidentCommunicationPermissions() { + return incidentCommunicationPermissions; + } + + public void setIncidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + } + + + public NewRoleDataAttributes communicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + return this; + } + + public NewRoleDataAttributes addCommunicationPermissionsItem(CommunicationPermissionsEnum communicationPermissionsItem) { + if (this.communicationPermissions == null) { + this.communicationPermissions = new ArrayList<>(); + } + this.communicationPermissions.add(communicationPermissionsItem); + return this; + } + + /** + * Get communicationPermissions + * @return communicationPermissions + */ + @javax.annotation.Nullable + public List getCommunicationPermissions() { + return communicationPermissions; + } + + public void setCommunicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + } + + @Override public boolean equals(Object o) { @@ -2421,7 +3015,6 @@ public boolean equals(Object o) { } NewRoleDataAttributes newRoleDataAttributes = (NewRoleDataAttributes) o; return Objects.equals(this.name, newRoleDataAttributes.name) && - Objects.equals(this.slug, newRoleDataAttributes.slug) && Objects.equals(this.incidentPermissionSetId, newRoleDataAttributes.incidentPermissionSetId) && Objects.equals(this.alertsPermissions, newRoleDataAttributes.alertsPermissions) && Objects.equals(this.apiKeysPermissions, newRoleDataAttributes.apiKeysPermissions) && @@ -2448,7 +3041,14 @@ public boolean equals(Object o) { Objects.equals(this.severitiesPermissions, newRoleDataAttributes.severitiesPermissions) && Objects.equals(this.statusPagesPermissions, newRoleDataAttributes.statusPagesPermissions) && Objects.equals(this.webhooksPermissions, newRoleDataAttributes.webhooksPermissions) && - Objects.equals(this.workflowsPermissions, newRoleDataAttributes.workflowsPermissions); + 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.slasPermissions, newRoleDataAttributes.slasPermissions) && + Objects.equals(this.pagingPermissions, newRoleDataAttributes.pagingPermissions) && + Objects.equals(this.incidentCommunicationPermissions, newRoleDataAttributes.incidentCommunicationPermissions) && + Objects.equals(this.communicationPermissions, newRoleDataAttributes.communicationPermissions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -2457,7 +3057,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, 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); + return Objects.hash(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); } private static int hashCodeNullable(JsonNullable a) { @@ -2472,7 +3072,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewRoleDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" incidentPermissionSetId: ").append(toIndentedString(incidentPermissionSetId)).append("\n"); sb.append(" alertsPermissions: ").append(toIndentedString(alertsPermissions)).append("\n"); sb.append(" apiKeysPermissions: ").append(toIndentedString(apiKeysPermissions)).append("\n"); @@ -2500,6 +3099,13 @@ public String toString() { sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).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(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); + sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); + sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); + sb.append(" communicationPermissions: ").append(toIndentedString(communicationPermissions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -2523,7 +3129,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("incident_permission_set_id"); openapiFields.add("alerts_permissions"); openapiFields.add("api_keys_permissions"); @@ -2551,6 +3156,13 @@ private String toIndentedString(Object o) { openapiFields.add("status_pages_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("slas_permissions"); + openapiFields.add("paging_permissions"); + openapiFields.add("incident_communication_permissions"); + openapiFields.add("communication_permissions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -2588,9 +3200,6 @@ 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())); } - 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("incident_permission_set_id") != null && !jsonObj.get("incident_permission_set_id").isJsonNull()) && !jsonObj.get("incident_permission_set_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `incident_permission_set_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_permission_set_id").toString())); } @@ -2698,6 +3307,34 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("workflows_permissions") != null && !jsonObj.get("workflows_permissions").isJsonNull() && !jsonObj.get("workflows_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `workflows_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("workflows_permissions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("catalogs_permissions") != null && !jsonObj.get("catalogs_permissions").isJsonNull() && !jsonObj.get("catalogs_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `catalogs_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("catalogs_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("sub_statuses_permissions") != null && !jsonObj.get("sub_statuses_permissions").isJsonNull() && !jsonObj.get("sub_statuses_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `sub_statuses_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("sub_statuses_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("edge_connector_permissions") != null && !jsonObj.get("edge_connector_permissions").isJsonNull() && !jsonObj.get("edge_connector_permissions").isJsonArray()) { + 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("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())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("paging_permissions") != null && !jsonObj.get("paging_permissions").isJsonNull() && !jsonObj.get("paging_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("paging_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_communication_permissions") != null && !jsonObj.get("incident_communication_permissions").isJsonNull() && !jsonObj.get("incident_communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("incident_communication_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("communication_permissions") != null && !jsonObj.get("communication_permissions").isJsonNull() && !jsonObj.get("communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_permissions").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewSchedule.java b/src/main/java/com/rootly/client/model/NewSchedule.java index 799162f7..de49366e 100644 --- a/src/main/java/com/rootly/client/model/NewSchedule.java +++ b/src/main/java/com/rootly/client/model/NewSchedule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSchedule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 46a93b15..bd7f504e 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1aff012c..3b335250 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * NewScheduleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -74,6 +75,11 @@ public class NewScheduleDataAttributes { @javax.annotation.Nullable private NewScheduleDataAttributesSlackUserGroup slackUserGroup; + public static final String SERIALIZED_NAME_SLACK_CHANNEL = "slack_channel"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL) + @javax.annotation.Nullable + private NewScheduleDataAttributesSlackChannel slackChannel; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable @@ -81,9 +87,19 @@ public class NewScheduleDataAttributes { public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) - @javax.annotation.Nullable + @javax.annotation.Nonnull private Integer ownerUserId; + public static final String SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED = "shift_start_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftStartNotificationsEnabled; + + public static final String SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED = "shift_update_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftUpdateNotificationsEnabled; + public NewScheduleDataAttributes() { } @@ -163,6 +179,25 @@ public void setSlackUserGroup(@javax.annotation.Nullable NewScheduleDataAttribut } + public NewScheduleDataAttributes slackChannel(@javax.annotation.Nullable NewScheduleDataAttributesSlackChannel slackChannel) { + this.slackChannel = slackChannel; + return this; + } + + /** + * Get slackChannel + * @return slackChannel + */ + @javax.annotation.Nullable + public NewScheduleDataAttributesSlackChannel getSlackChannel() { + return slackChannel; + } + + public void setSlackChannel(@javax.annotation.Nullable NewScheduleDataAttributesSlackChannel slackChannel) { + this.slackChannel = slackChannel; + } + + public NewScheduleDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { this.ownerGroupIds = ownerGroupIds; return this; @@ -190,7 +225,7 @@ public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupI } - public NewScheduleDataAttributes ownerUserId(@javax.annotation.Nullable Integer ownerUserId) { + public NewScheduleDataAttributes ownerUserId(@javax.annotation.Nonnull Integer ownerUserId) { this.ownerUserId = ownerUserId; return this; } @@ -199,16 +234,54 @@ public NewScheduleDataAttributes ownerUserId(@javax.annotation.Nullable Integer * ID of the owner of the schedule * @return ownerUserId */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public Integer getOwnerUserId() { return ownerUserId; } - public void setOwnerUserId(@javax.annotation.Nullable Integer ownerUserId) { + public void setOwnerUserId(@javax.annotation.Nonnull Integer ownerUserId) { this.ownerUserId = ownerUserId; } + public NewScheduleDataAttributes shiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + return this; + } + + /** + * Whether shift-start notifications are enabled + * @return shiftStartNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftStartNotificationsEnabled() { + return shiftStartNotificationsEnabled; + } + + public void setShiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + } + + + public NewScheduleDataAttributes shiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + return this; + } + + /** + * Whether shift-update notifications are enabled + * @return shiftUpdateNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftUpdateNotificationsEnabled() { + return shiftUpdateNotificationsEnabled; + } + + public void setShiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + } + + @Override public boolean equals(Object o) { @@ -223,8 +296,11 @@ public boolean equals(Object o) { Objects.equals(this.description, newScheduleDataAttributes.description) && Objects.equals(this.allTimeCoverage, newScheduleDataAttributes.allTimeCoverage) && Objects.equals(this.slackUserGroup, newScheduleDataAttributes.slackUserGroup) && + Objects.equals(this.slackChannel, newScheduleDataAttributes.slackChannel) && Objects.equals(this.ownerGroupIds, newScheduleDataAttributes.ownerGroupIds) && - Objects.equals(this.ownerUserId, newScheduleDataAttributes.ownerUserId); + Objects.equals(this.ownerUserId, newScheduleDataAttributes.ownerUserId) && + Objects.equals(this.shiftStartNotificationsEnabled, newScheduleDataAttributes.shiftStartNotificationsEnabled) && + Objects.equals(this.shiftUpdateNotificationsEnabled, newScheduleDataAttributes.shiftUpdateNotificationsEnabled); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -233,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, ownerGroupIds, ownerUserId); + return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled); } private static int hashCodeNullable(JsonNullable a) { @@ -251,8 +327,11 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).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"); sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" shiftStartNotificationsEnabled: ").append(toIndentedString(shiftStartNotificationsEnabled)).append("\n"); + sb.append(" shiftUpdateNotificationsEnabled: ").append(toIndentedString(shiftUpdateNotificationsEnabled)).append("\n"); sb.append("}"); return sb.toString(); } @@ -279,12 +358,16 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("all_time_coverage"); openapiFields.add("slack_user_group"); + openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); openapiFields.add("owner_user_id"); + openapiFields.add("shift_start_notifications_enabled"); + openapiFields.add("shift_update_notifications_enabled"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); + openapiRequiredFields.add("owner_user_id"); } /** @@ -325,6 +408,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { NewScheduleDataAttributesSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); } + // validate the optional field `slack_channel` + if (jsonObj.get("slack_channel") != null && !jsonObj.get("slack_channel").isJsonNull()) { + NewScheduleDataAttributesSlackChannel.validateJsonElement(jsonObj.get("slack_channel")); + } // 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())); diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java new file mode 100644 index 00000000..bd0c0e3a --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.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; + +/** + * NewScheduleDataAttributesSlackChannel + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewScheduleDataAttributesSlackChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public NewScheduleDataAttributesSlackChannel() { + } + + public NewScheduleDataAttributesSlackChannel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public NewScheduleDataAttributesSlackChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewScheduleDataAttributesSlackChannel newScheduleDataAttributesSlackChannel = (NewScheduleDataAttributesSlackChannel) o; + return Objects.equals(this.id, newScheduleDataAttributesSlackChannel.id) && + Objects.equals(this.name, newScheduleDataAttributesSlackChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewScheduleDataAttributesSlackChannel {\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(); + } + + /** + * 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 NewScheduleDataAttributesSlackChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewScheduleDataAttributesSlackChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewScheduleDataAttributesSlackChannel is not found in the empty JSON string", NewScheduleDataAttributesSlackChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewScheduleDataAttributesSlackChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewScheduleDataAttributesSlackChannel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewScheduleDataAttributesSlackChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewScheduleDataAttributesSlackChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewScheduleDataAttributesSlackChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewScheduleDataAttributesSlackChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewScheduleDataAttributesSlackChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewScheduleDataAttributesSlackChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewScheduleDataAttributesSlackChannel + * @throws IOException if the JSON string is invalid with respect to NewScheduleDataAttributesSlackChannel + */ + public static NewScheduleDataAttributesSlackChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewScheduleDataAttributesSlackChannel.class); + } + + /** + * Convert an instance of NewScheduleDataAttributesSlackChannel 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/NewScheduleDataAttributesSlackUserGroup.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java index e85ddbef..84976421 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleDataAttributesSlackUserGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributesSlackUserGroup { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -69,7 +69,7 @@ public NewScheduleDataAttributesSlackUserGroup id(@javax.annotation.Nullable Str } /** - * Slack channel ID + * Slack user group ID * @return id */ @javax.annotation.Nullable @@ -88,7 +88,7 @@ public NewScheduleDataAttributesSlackUserGroup name(@javax.annotation.Nullable S } /** - * Slack channel name + * Slack user group name * @return name */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotation.java b/src/main/java/com/rootly/client/model/NewScheduleRotation.java index 957a26f6..7b9e8eb0 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotation.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotation */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 90555d93..95bbefe7 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDay.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotationActiveDay */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 20989cf1..94582edf 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotationActiveDayData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2ef9f29f..a57ffb88 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewScheduleRotationActiveDayDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 de168fa5..46415425 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5643bebd..9fd649c3 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 719f4ede..272f26f6 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,11 +20,14 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationMembersInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -52,7 +55,7 @@ /** * NewScheduleRotationDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -273,6 +276,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private NewScheduleRotationDataAttributesScheduleRotationableAttributes scheduleRotationableAttributes; + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.annotation.Nullable + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nullable + private OffsetDateTime endTime; + + public static final String SERIALIZED_NAME_SCHEDULE_ROTATION_MEMBERS = "schedule_rotation_members"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_ROTATION_MEMBERS) + @javax.annotation.Nullable + private List scheduleRotationMembers; + public NewScheduleRotationDataAttributes() { } @@ -471,6 +489,71 @@ public void setScheduleRotationableAttributes(@javax.annotation.Nonnull NewSched } + public NewScheduleRotationDataAttributes startTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + return this; + } + + /** + * RFC3339 date-time when rotation starts. Shifts will only be created after this time. + * @return startTime + */ + @javax.annotation.Nullable + public OffsetDateTime getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public NewScheduleRotationDataAttributes endTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + return this; + } + + /** + * RFC3339 date-time when rotation ends. Shifts will only be created before this time. + * @return endTime + */ + @javax.annotation.Nullable + public OffsetDateTime getEndTime() { + return endTime; + } + + public void setEndTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + } + + + public NewScheduleRotationDataAttributes scheduleRotationMembers(@javax.annotation.Nullable List scheduleRotationMembers) { + this.scheduleRotationMembers = scheduleRotationMembers; + return this; + } + + public NewScheduleRotationDataAttributes addScheduleRotationMembersItem(NewScheduleRotationDataAttributesScheduleRotationMembersInner scheduleRotationMembersItem) { + if (this.scheduleRotationMembers == null) { + this.scheduleRotationMembers = new ArrayList<>(); + } + this.scheduleRotationMembers.add(scheduleRotationMembersItem); + return this; + } + + /** + * You can only add schedule rotation members if your account has schedule nesting feature enabled + * @return scheduleRotationMembers + */ + @javax.annotation.Nullable + public List getScheduleRotationMembers() { + return scheduleRotationMembers; + } + + public void setScheduleRotationMembers(@javax.annotation.Nullable List scheduleRotationMembers) { + this.scheduleRotationMembers = scheduleRotationMembers; + } + + @Override public boolean equals(Object o) { @@ -489,12 +572,26 @@ public boolean equals(Object o) { Objects.equals(this.activeTimeType, newScheduleRotationDataAttributes.activeTimeType) && Objects.equals(this.activeTimeAttributes, newScheduleRotationDataAttributes.activeTimeAttributes) && Objects.equals(this.timeZone, newScheduleRotationDataAttributes.timeZone) && - Objects.equals(this.scheduleRotationableAttributes, newScheduleRotationDataAttributes.scheduleRotationableAttributes); + Objects.equals(this.scheduleRotationableAttributes, newScheduleRotationDataAttributes.scheduleRotationableAttributes) && + Objects.equals(this.startTime, newScheduleRotationDataAttributes.startTime) && + Objects.equals(this.endTime, newScheduleRotationDataAttributes.endTime) && + Objects.equals(this.scheduleRotationMembers, newScheduleRotationDataAttributes.scheduleRotationMembers); + } + + 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, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes); + return Objects.hash(name, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes, startTime, endTime, scheduleRotationMembers); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -510,6 +607,9 @@ public String toString() { sb.append(" activeTimeAttributes: ").append(toIndentedString(activeTimeAttributes)).append("\n"); sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" scheduleRotationableAttributes: ").append(toIndentedString(scheduleRotationableAttributes)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" scheduleRotationMembers: ").append(toIndentedString(scheduleRotationMembers)).append("\n"); sb.append("}"); return sb.toString(); } @@ -541,6 +641,9 @@ private String toIndentedString(Object o) { openapiFields.add("active_time_attributes"); openapiFields.add("time_zone"); openapiFields.add("schedule_rotationable_attributes"); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + openapiFields.add("schedule_rotation_members"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -612,6 +715,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the required field `schedule_rotationable_attributes` NewScheduleRotationDataAttributesScheduleRotationableAttributes.validateJsonElement(jsonObj.get("schedule_rotationable_attributes")); + if (jsonObj.get("schedule_rotation_members") != null && !jsonObj.get("schedule_rotation_members").isJsonNull()) { + JsonArray jsonArrayscheduleRotationMembers = jsonObj.getAsJsonArray("schedule_rotation_members"); + if (jsonArrayscheduleRotationMembers != null) { + // ensure the json data is an array + if (!jsonObj.get("schedule_rotation_members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_rotation_members` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_rotation_members").toString())); + } + + // validate the optional field `schedule_rotation_members` (array) + for (int i = 0; i < jsonArrayscheduleRotationMembers.size(); i++) { + NewScheduleRotationDataAttributesScheduleRotationMembersInner.validateJsonElement(jsonArrayscheduleRotationMembers.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java index f0d37d79..6454ed1d 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesActiveTimeAttributesInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..6533b344 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInner.java @@ -0,0 +1,326 @@ +/* + * 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; + +/** + * NewScheduleRotationDataAttributesScheduleRotationMembersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewScheduleRotationDataAttributesScheduleRotationMembersInner { + /** + * Type of member + */ + @JsonAdapter(MemberTypeEnum.Adapter.class) + public enum MemberTypeEnum { + USER("User"), + + SCHEDULE("Schedule"); + + private String value; + + MemberTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static MemberTypeEnum fromValue(String value) { + for (MemberTypeEnum b : MemberTypeEnum.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 MemberTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public MemberTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return MemberTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + MemberTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_MEMBER_TYPE = "member_type"; + @SerializedName(SERIALIZED_NAME_MEMBER_TYPE) + @javax.annotation.Nonnull + private MemberTypeEnum memberType; + + public static final String SERIALIZED_NAME_MEMBER_ID = "member_id"; + @SerializedName(SERIALIZED_NAME_MEMBER_ID) + @javax.annotation.Nonnull + private String memberId; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public NewScheduleRotationDataAttributesScheduleRotationMembersInner() { + } + + public NewScheduleRotationDataAttributesScheduleRotationMembersInner memberType(@javax.annotation.Nonnull MemberTypeEnum memberType) { + this.memberType = memberType; + return this; + } + + /** + * Type of member + * @return memberType + */ + @javax.annotation.Nonnull + public MemberTypeEnum getMemberType() { + return memberType; + } + + public void setMemberType(@javax.annotation.Nonnull MemberTypeEnum memberType) { + this.memberType = memberType; + } + + + public NewScheduleRotationDataAttributesScheduleRotationMembersInner memberId(@javax.annotation.Nonnull String memberId) { + this.memberId = memberId; + return this; + } + + /** + * ID of the member + * @return memberId + */ + @javax.annotation.Nonnull + public String getMemberId() { + return memberId; + } + + public void setMemberId(@javax.annotation.Nonnull String memberId) { + this.memberId = memberId; + } + + + public NewScheduleRotationDataAttributesScheduleRotationMembersInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the member in rotation + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewScheduleRotationDataAttributesScheduleRotationMembersInner newScheduleRotationDataAttributesScheduleRotationMembersInner = (NewScheduleRotationDataAttributesScheduleRotationMembersInner) o; + return Objects.equals(this.memberType, newScheduleRotationDataAttributesScheduleRotationMembersInner.memberType) && + Objects.equals(this.memberId, newScheduleRotationDataAttributesScheduleRotationMembersInner.memberId) && + Objects.equals(this.position, newScheduleRotationDataAttributesScheduleRotationMembersInner.position); + } + + @Override + public int hashCode() { + return Objects.hash(memberType, memberId, position); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewScheduleRotationDataAttributesScheduleRotationMembersInner {\n"); + sb.append(" memberType: ").append(toIndentedString(memberType)).append("\n"); + sb.append(" memberId: ").append(toIndentedString(memberId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("member_type"); + openapiFields.add("member_id"); + openapiFields.add("position"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("member_type"); + openapiRequiredFields.add("member_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 NewScheduleRotationDataAttributesScheduleRotationMembersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewScheduleRotationDataAttributesScheduleRotationMembersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewScheduleRotationDataAttributesScheduleRotationMembersInner is not found in the empty JSON string", NewScheduleRotationDataAttributesScheduleRotationMembersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewScheduleRotationDataAttributesScheduleRotationMembersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewScheduleRotationDataAttributesScheduleRotationMembersInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewScheduleRotationDataAttributesScheduleRotationMembersInner.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("member_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `member_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("member_type").toString())); + } + // validate the required field `member_type` + MemberTypeEnum.validateJsonElement(jsonObj.get("member_type")); + if (!jsonObj.get("member_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `member_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("member_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewScheduleRotationDataAttributesScheduleRotationMembersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewScheduleRotationDataAttributesScheduleRotationMembersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewScheduleRotationDataAttributesScheduleRotationMembersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewScheduleRotationDataAttributesScheduleRotationMembersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewScheduleRotationDataAttributesScheduleRotationMembersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewScheduleRotationDataAttributesScheduleRotationMembersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewScheduleRotationDataAttributesScheduleRotationMembersInner + * @throws IOException if the JSON string is invalid with respect to NewScheduleRotationDataAttributesScheduleRotationMembersInner + */ + public static NewScheduleRotationDataAttributesScheduleRotationMembersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewScheduleRotationDataAttributesScheduleRotationMembersInner.class); + } + + /** + * Convert an instance of NewScheduleRotationDataAttributesScheduleRotationMembersInner 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/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java index 6f3995f2..47fd3b4a 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -61,7 +61,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 dcac4abf..28a68aaf 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7af49f92..10a86e78 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6fb26c53..abd50a36 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c4b378a5..93feff46 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 12d81b3a..d4895f29 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotationUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 71e86512..3849f161 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUserData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewScheduleRotationUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 20a5aab5..14dfea66 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleRotationUserDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * NewScheduleRotationUserDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5c60f201..8c3db7af 100644 --- a/src/main/java/com/rootly/client/model/NewSecret.java +++ b/src/main/java/com/rootly/client/model/NewSecret.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSecret */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d0c846aa..ef8918c7 100644 --- a/src/main/java/com/rootly/client/model/NewSecretData.java +++ b/src/main/java/com/rootly/client/model/NewSecretData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSecretData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6387ea8e..3a53a875 100644 --- a/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSecretDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSecretDataAttributes { /** * The kind of the secret diff --git a/src/main/java/com/rootly/client/model/NewService.java b/src/main/java/com/rootly/client/model/NewService.java index e41de74b..07fdf09e 100644 --- a/src/main/java/com/rootly/client/model/NewService.java +++ b/src/main/java/com/rootly/client/model/NewService.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewService */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 040eea4f..5961e2fc 100644 --- a/src/main/java/com/rootly/client/model/NewServiceData.java +++ b/src/main/java/com/rootly/client/model/NewServiceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 292a22fd..9504a489 100644 --- a/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +56,7 @@ /** * NewServiceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -214,15 +217,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; + + public static final String SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME = "kubernetes_deployment_name"; + @SerializedName(SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME) + @javax.annotation.Nullable + private String kubernetesDeploymentName; public static final String SERIALIZED_NAME_ALERTS_EMAIL_ENABLED = "alerts_email_enabled"; @SerializedName(SERIALIZED_NAME_ALERTS_EMAIL_ENABLED) @@ -234,6 +242,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; + public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @javax.annotation.Nullable @@ -244,6 +257,31 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewServiceDataAttributes() { } @@ -670,57 +708,76 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public NewServiceDataAttributes ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public NewServiceDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public NewServiceDataAttributes addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public NewServiceDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this service - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public NewServiceDataAttributes ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public NewServiceDataAttributes ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public NewServiceDataAttributes addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public NewServiceDataAttributes addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this service - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; + } + + + public NewServiceDataAttributes kubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; + return this; + } + + /** + * The Kubernetes deployment name associated to this service. eg: namespace/deployment-name + * @return kubernetesDeploymentName + */ + @javax.annotation.Nullable + public String getKubernetesDeploymentName() { + return kubernetesDeploymentName; + } + + public void setKubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; } @@ -762,6 +819,25 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public NewServiceDataAttributes escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the service + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + } + + public NewServiceDataAttributes slackChannels(@javax.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; @@ -816,6 +892,109 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewServiceDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this service. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -847,12 +1026,19 @@ public boolean equals(Object o) { Objects.equals(this.gitlabRepositoryBranch, newServiceDataAttributes.gitlabRepositoryBranch) && Objects.equals(this.environmentIds, newServiceDataAttributes.environmentIds) && Objects.equals(this.serviceIds, newServiceDataAttributes.serviceIds) && - Objects.equals(this.ownersGroupIds, newServiceDataAttributes.ownersGroupIds) && - Objects.equals(this.ownersUserIds, newServiceDataAttributes.ownersUserIds) && + Objects.equals(this.ownerGroupIds, newServiceDataAttributes.ownerGroupIds) && + Objects.equals(this.ownerUserIds, newServiceDataAttributes.ownerUserIds) && + Objects.equals(this.kubernetesDeploymentName, newServiceDataAttributes.kubernetesDeploymentName) && Objects.equals(this.alertsEmailEnabled, newServiceDataAttributes.alertsEmailEnabled) && Objects.equals(this.alertUrgencyId, newServiceDataAttributes.alertUrgencyId) && + Objects.equals(this.escalationPolicyId, newServiceDataAttributes.escalationPolicyId) && Objects.equals(this.slackChannels, newServiceDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, newServiceDataAttributes.slackAliases); + Objects.equals(this.slackAliases, newServiceDataAttributes.slackAliases) && + Objects.equals(this.alertBroadcastEnabled, newServiceDataAttributes.alertBroadcastEnabled) && + Objects.equals(this.alertBroadcastChannel, newServiceDataAttributes.alertBroadcastChannel) && + Objects.equals(this.incidentBroadcastEnabled, newServiceDataAttributes.incidentBroadcastEnabled) && + Objects.equals(this.incidentBroadcastChannel, newServiceDataAttributes.incidentBroadcastChannel) && + Objects.equals(this.properties, newServiceDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -861,7 +1047,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, publicDescription, notifyEmails, color, position, showUptime, showUptimeLastDays, backstageId, pagerdutyId, externalId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases); + return Objects.hash(name, description, publicDescription, notifyEmails, color, position, showUptime, showUptimeLastDays, backstageId, pagerdutyId, externalId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, kubernetesDeploymentName, alertsEmailEnabled, alertUrgencyId, escalationPolicyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -896,12 +1082,19 @@ public String toString() { sb.append(" gitlabRepositoryBranch: ").append(toIndentedString(gitlabRepositoryBranch)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); + sb.append(" kubernetesDeploymentName: ").append(toIndentedString(kubernetesDeploymentName)).append("\n"); sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).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("}"); return sb.toString(); } @@ -945,12 +1138,19 @@ private String toIndentedString(Object o) { openapiFields.add("gitlab_repository_branch"); openapiFields.add("environment_ids"); openapiFields.add("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_ids"); + openapiFields.add("owner_group_ids"); + openapiFields.add("owner_user_ids"); + openapiFields.add("kubernetes_deployment_name"); openapiFields.add("alerts_email_enabled"); openapiFields.add("alert_urgency_id"); + openapiFields.add("escalation_policy_id"); 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"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -1047,16 +1247,22 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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("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())); } 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("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); if (jsonArrayslackChannels != null) { @@ -1085,6 +1291,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // validate the optional field `alert_broadcast_channel` + if (jsonObj.get("alert_broadcast_channel") != null && !jsonObj.get("alert_broadcast_channel").isJsonNull()) { + NewServiceDataAttributesAlertBroadcastChannel.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()) { + NewServiceDataAttributesIncidentBroadcastChannel.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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java new file mode 100644 index 00000000..fce5582e --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java @@ -0,0 +1,244 @@ +/* + * 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 to broadcast alerts to + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewServiceDataAttributesAlertBroadcastChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public NewServiceDataAttributesAlertBroadcastChannel() { + } + + public NewServiceDataAttributesAlertBroadcastChannel id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public NewServiceDataAttributesAlertBroadcastChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewServiceDataAttributesAlertBroadcastChannel newServiceDataAttributesAlertBroadcastChannel = (NewServiceDataAttributesAlertBroadcastChannel) o; + return Objects.equals(this.id, newServiceDataAttributesAlertBroadcastChannel.id) && + Objects.equals(this.name, newServiceDataAttributesAlertBroadcastChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewServiceDataAttributesAlertBroadcastChannel {\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"); + } + + /** + * 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 NewServiceDataAttributesAlertBroadcastChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewServiceDataAttributesAlertBroadcastChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewServiceDataAttributesAlertBroadcastChannel is not found in the empty JSON string", NewServiceDataAttributesAlertBroadcastChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewServiceDataAttributesAlertBroadcastChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewServiceDataAttributesAlertBroadcastChannel` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewServiceDataAttributesAlertBroadcastChannel.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") != 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewServiceDataAttributesAlertBroadcastChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewServiceDataAttributesAlertBroadcastChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewServiceDataAttributesAlertBroadcastChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewServiceDataAttributesAlertBroadcastChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewServiceDataAttributesAlertBroadcastChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewServiceDataAttributesAlertBroadcastChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewServiceDataAttributesAlertBroadcastChannel + * @throws IOException if the JSON string is invalid with respect to NewServiceDataAttributesAlertBroadcastChannel + */ + public static NewServiceDataAttributesAlertBroadcastChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewServiceDataAttributesAlertBroadcastChannel.class); + } + + /** + * Convert an instance of NewServiceDataAttributesAlertBroadcastChannel 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/NewServiceDataAttributesIncidentBroadcastChannel.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java new file mode 100644 index 00000000..e90da949 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannel.java @@ -0,0 +1,244 @@ +/* + * 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 to broadcast incidents to + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewServiceDataAttributesIncidentBroadcastChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public NewServiceDataAttributesIncidentBroadcastChannel() { + } + + public NewServiceDataAttributesIncidentBroadcastChannel id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public NewServiceDataAttributesIncidentBroadcastChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewServiceDataAttributesIncidentBroadcastChannel newServiceDataAttributesIncidentBroadcastChannel = (NewServiceDataAttributesIncidentBroadcastChannel) o; + return Objects.equals(this.id, newServiceDataAttributesIncidentBroadcastChannel.id) && + Objects.equals(this.name, newServiceDataAttributesIncidentBroadcastChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewServiceDataAttributesIncidentBroadcastChannel {\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"); + } + + /** + * 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 NewServiceDataAttributesIncidentBroadcastChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewServiceDataAttributesIncidentBroadcastChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewServiceDataAttributesIncidentBroadcastChannel is not found in the empty JSON string", NewServiceDataAttributesIncidentBroadcastChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewServiceDataAttributesIncidentBroadcastChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewServiceDataAttributesIncidentBroadcastChannel` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewServiceDataAttributesIncidentBroadcastChannel.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") != 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewServiceDataAttributesIncidentBroadcastChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewServiceDataAttributesIncidentBroadcastChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewServiceDataAttributesIncidentBroadcastChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewServiceDataAttributesIncidentBroadcastChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewServiceDataAttributesIncidentBroadcastChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewServiceDataAttributesIncidentBroadcastChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewServiceDataAttributesIncidentBroadcastChannel + * @throws IOException if the JSON string is invalid with respect to NewServiceDataAttributesIncidentBroadcastChannel + */ + public static NewServiceDataAttributesIncidentBroadcastChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewServiceDataAttributesIncidentBroadcastChannel.class); + } + + /** + * Convert an instance of NewServiceDataAttributesIncidentBroadcastChannel 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/NewSeverity.java b/src/main/java/com/rootly/client/model/NewSeverity.java index e9204543..b59067ac 100644 --- a/src/main/java/com/rootly/client/model/NewSeverity.java +++ b/src/main/java/com/rootly/client/model/NewSeverity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSeverity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9fbf1998..394b0099 100644 --- a/src/main/java/com/rootly/client/model/NewSeverityData.java +++ b/src/main/java/com/rootly/client/model/NewSeverityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSeverityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e4a8c4c8..aa8df380 100644 --- a/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSeverityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * NewSeverityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSeverityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewSla.java b/src/main/java/com/rootly/client/model/NewSla.java new file mode 100644 index 00000000..156bb1ad --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewSla.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.NewSlaData; +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; + +/** + * NewSla + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewSla { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewSlaData data; + + public NewSla() { + } + + public NewSla data(@javax.annotation.Nonnull NewSlaData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewSlaData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewSlaData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSla newSla = (NewSla) o; + return Objects.equals(this.data, newSla.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewSla {\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 NewSla + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewSla.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewSla is not found in the empty JSON string", NewSla.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewSla.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewSla` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewSla.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` + NewSlaData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewSla.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewSla' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewSla.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewSla value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewSla read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewSla given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewSla + * @throws IOException if the JSON string is invalid with respect to NewSla + */ + public static NewSla fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewSla.class); + } + + /** + * Convert an instance of NewSla 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/NewSlaData.java b/src/main/java/com/rootly/client/model/NewSlaData.java new file mode 100644 index 00000000..9fb0f3b1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewSlaData.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.NewSlaDataAttributes; +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; + +/** + * NewSlaData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewSlaData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SLAS("slas"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewSlaDataAttributes attributes; + + public NewSlaData() { + } + + public NewSlaData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewSlaData attributes(@javax.annotation.Nonnull NewSlaDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewSlaDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewSlaDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSlaData newSlaData = (NewSlaData) o; + return Objects.equals(this.type, newSlaData.type) && + Objects.equals(this.attributes, newSlaData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewSlaData {\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 NewSlaData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewSlaData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewSlaData is not found in the empty JSON string", NewSlaData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewSlaData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewSlaData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewSlaData.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` + NewSlaDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewSlaData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewSlaData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewSlaData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewSlaData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewSlaData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewSlaData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewSlaData + * @throws IOException if the JSON string is invalid with respect to NewSlaData + */ + public static NewSlaData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewSlaData.class); + } + + /** + * Convert an instance of NewSlaData 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/NewSlaDataAttributes.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java new file mode 100644 index 00000000..835a7ddc --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributes.java @@ -0,0 +1,1025 @@ +/* + * 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.NewSlaDataAttributesConditionsInner; +import com.rootly.client.model.NewSlaDataAttributesNotificationConfigurationsInner; +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 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; + +/** + * NewSlaDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewSlaDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + /** + * Whether all or any conditions must match + */ + @JsonAdapter(ConditionMatchTypeEnum.Adapter.class) + public enum ConditionMatchTypeEnum { + ALL("ALL"), + + ANY("ANY"); + + private String value; + + ConditionMatchTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionMatchTypeEnum fromValue(String value) { + for (ConditionMatchTypeEnum b : ConditionMatchTypeEnum.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 ConditionMatchTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionMatchTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionMatchTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionMatchTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITION_MATCH_TYPE = "condition_match_type"; + @SerializedName(SERIALIZED_NAME_CONDITION_MATCH_TYPE) + @javax.annotation.Nullable + private ConditionMatchTypeEnum conditionMatchType; + + public static final String SERIALIZED_NAME_MANAGER_ROLE_ID = "manager_role_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_ROLE_ID) + @javax.annotation.Nullable + private UUID managerRoleId; + + public static final String SERIALIZED_NAME_MANAGER_USER_ID = "manager_user_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_USER_ID) + @javax.annotation.Nullable + private Integer managerUserId; + + /** + * Number of days for the assignment deadline + */ + @JsonAdapter(AssignmentDeadlineDaysEnum.Adapter.class) + public enum AssignmentDeadlineDaysEnum { + NUMBER_1(1), + + NUMBER_2(2), + + NUMBER_3(3), + + NUMBER_4(4), + + NUMBER_5(5), + + NUMBER_6(6), + + NUMBER_7(7), + + NUMBER_14(14), + + NUMBER_21(21), + + NUMBER_30(30); + + private Integer value; + + AssignmentDeadlineDaysEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssignmentDeadlineDaysEnum fromValue(Integer value) { + for (AssignmentDeadlineDaysEnum b : AssignmentDeadlineDaysEnum.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 AssignmentDeadlineDaysEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssignmentDeadlineDaysEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return AssignmentDeadlineDaysEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + AssignmentDeadlineDaysEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS = "assignment_deadline_days"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS) + @javax.annotation.Nonnull + private AssignmentDeadlineDaysEnum assignmentDeadlineDays; + + /** + * The incident parent status that triggers the assignment deadline + */ + @JsonAdapter(AssignmentDeadlineParentStatusEnum.Adapter.class) + public enum AssignmentDeadlineParentStatusEnum { + IN_TRIAGE("in_triage"), + + STARTED("started"), + + MITIGATED("mitigated"), + + RESOLVED("resolved"), + + CLOSED("closed"), + + CANCELLED("cancelled"); + + private String value; + + AssignmentDeadlineParentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssignmentDeadlineParentStatusEnum fromValue(String value) { + for (AssignmentDeadlineParentStatusEnum b : AssignmentDeadlineParentStatusEnum.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 AssignmentDeadlineParentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssignmentDeadlineParentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssignmentDeadlineParentStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AssignmentDeadlineParentStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS = "assignment_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS) + @javax.annotation.Nonnull + private AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus; + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID = "assignment_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID assignmentDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS = "assignment_skip_weekends"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean assignmentSkipWeekends; + + /** + * Number of days for the completion deadline + */ + @JsonAdapter(CompletionDeadlineDaysEnum.Adapter.class) + public enum CompletionDeadlineDaysEnum { + NUMBER_1(1), + + NUMBER_2(2), + + NUMBER_3(3), + + NUMBER_4(4), + + NUMBER_5(5), + + NUMBER_6(6), + + NUMBER_7(7), + + NUMBER_14(14), + + NUMBER_21(21), + + NUMBER_30(30); + + private Integer value; + + CompletionDeadlineDaysEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CompletionDeadlineDaysEnum fromValue(Integer value) { + for (CompletionDeadlineDaysEnum b : CompletionDeadlineDaysEnum.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 CompletionDeadlineDaysEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CompletionDeadlineDaysEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return CompletionDeadlineDaysEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + CompletionDeadlineDaysEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS = "completion_deadline_days"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS) + @javax.annotation.Nonnull + private CompletionDeadlineDaysEnum completionDeadlineDays; + + /** + * The incident parent status that triggers the completion deadline + */ + @JsonAdapter(CompletionDeadlineParentStatusEnum.Adapter.class) + public enum CompletionDeadlineParentStatusEnum { + IN_TRIAGE("in_triage"), + + STARTED("started"), + + MITIGATED("mitigated"), + + RESOLVED("resolved"), + + CLOSED("closed"), + + CANCELLED("cancelled"); + + private String value; + + CompletionDeadlineParentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CompletionDeadlineParentStatusEnum fromValue(String value) { + for (CompletionDeadlineParentStatusEnum b : CompletionDeadlineParentStatusEnum.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 CompletionDeadlineParentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CompletionDeadlineParentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CompletionDeadlineParentStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CompletionDeadlineParentStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS = "completion_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS) + @javax.annotation.Nonnull + private CompletionDeadlineParentStatusEnum completionDeadlineParentStatus; + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID = "completion_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID completionDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS = "completion_skip_weekends"; + @SerializedName(SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean completionSkipWeekends; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS = "notification_configurations"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS) + @javax.annotation.Nullable + private List notificationConfigurations = new ArrayList<>(); + + public NewSlaDataAttributes() { + } + + public NewSlaDataAttributes name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the SLA + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public NewSlaDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the SLA + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public NewSlaDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the SLA for ordering + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public NewSlaDataAttributes conditionMatchType(@javax.annotation.Nullable ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + return this; + } + + /** + * Whether all or any conditions must match + * @return conditionMatchType + */ + @javax.annotation.Nullable + public ConditionMatchTypeEnum getConditionMatchType() { + return conditionMatchType; + } + + public void setConditionMatchType(@javax.annotation.Nullable ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + } + + + public NewSlaDataAttributes managerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + return this; + } + + /** + * The ID of the incident role responsible for this SLA. Must provide either manager_role_id or manager_user_id. + * @return managerRoleId + */ + @javax.annotation.Nullable + public UUID getManagerRoleId() { + return managerRoleId; + } + + public void setManagerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + } + + + public NewSlaDataAttributes managerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + return this; + } + + /** + * The ID of the user responsible for this SLA. Must provide either manager_role_id or manager_user_id. + * @return managerUserId + */ + @javax.annotation.Nullable + public Integer getManagerUserId() { + return managerUserId; + } + + public void setManagerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + } + + + public NewSlaDataAttributes assignmentDeadlineDays(@javax.annotation.Nonnull AssignmentDeadlineDaysEnum assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + return this; + } + + /** + * Number of days for the assignment deadline + * @return assignmentDeadlineDays + */ + @javax.annotation.Nonnull + public AssignmentDeadlineDaysEnum getAssignmentDeadlineDays() { + return assignmentDeadlineDays; + } + + public void setAssignmentDeadlineDays(@javax.annotation.Nonnull AssignmentDeadlineDaysEnum assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + } + + + public NewSlaDataAttributes assignmentDeadlineParentStatus(@javax.annotation.Nonnull AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the assignment deadline + * @return assignmentDeadlineParentStatus + */ + @javax.annotation.Nonnull + public AssignmentDeadlineParentStatusEnum getAssignmentDeadlineParentStatus() { + return assignmentDeadlineParentStatus; + } + + public void setAssignmentDeadlineParentStatus(@javax.annotation.Nonnull AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + } + + + public NewSlaDataAttributes assignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. + * @return assignmentDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getAssignmentDeadlineSubStatusId() { + return assignmentDeadlineSubStatusId; + } + + public void setAssignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + } + + + public NewSlaDataAttributes assignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the assignment deadline + * @return assignmentSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getAssignmentSkipWeekends() { + return assignmentSkipWeekends; + } + + public void setAssignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + } + + + public NewSlaDataAttributes completionDeadlineDays(@javax.annotation.Nonnull CompletionDeadlineDaysEnum completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + return this; + } + + /** + * Number of days for the completion deadline + * @return completionDeadlineDays + */ + @javax.annotation.Nonnull + public CompletionDeadlineDaysEnum getCompletionDeadlineDays() { + return completionDeadlineDays; + } + + public void setCompletionDeadlineDays(@javax.annotation.Nonnull CompletionDeadlineDaysEnum completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + } + + + public NewSlaDataAttributes completionDeadlineParentStatus(@javax.annotation.Nonnull CompletionDeadlineParentStatusEnum completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the completion deadline + * @return completionDeadlineParentStatus + */ + @javax.annotation.Nonnull + public CompletionDeadlineParentStatusEnum getCompletionDeadlineParentStatus() { + return completionDeadlineParentStatus; + } + + public void setCompletionDeadlineParentStatus(@javax.annotation.Nonnull CompletionDeadlineParentStatusEnum completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + } + + + public NewSlaDataAttributes completionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. + * @return completionDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getCompletionDeadlineSubStatusId() { + return completionDeadlineSubStatusId; + } + + public void setCompletionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + } + + + public NewSlaDataAttributes completionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the completion deadline + * @return completionSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getCompletionSkipWeekends() { + return completionSkipWeekends; + } + + public void setCompletionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + } + + + public NewSlaDataAttributes conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public NewSlaDataAttributes addConditionsItem(NewSlaDataAttributesConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Conditions that determine which incidents this SLA applies to. Maximum 20. + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + public NewSlaDataAttributes notificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + return this; + } + + public NewSlaDataAttributes addNotificationConfigurationsItem(NewSlaDataAttributesNotificationConfigurationsInner notificationConfigurationsItem) { + if (this.notificationConfigurations == null) { + this.notificationConfigurations = new ArrayList<>(); + } + this.notificationConfigurations.add(notificationConfigurationsItem); + return this; + } + + /** + * Notification timing configurations. Maximum 20. + * @return notificationConfigurations + */ + @javax.annotation.Nullable + public List getNotificationConfigurations() { + return notificationConfigurations; + } + + public void setNotificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSlaDataAttributes newSlaDataAttributes = (NewSlaDataAttributes) o; + return Objects.equals(this.name, newSlaDataAttributes.name) && + Objects.equals(this.description, newSlaDataAttributes.description) && + Objects.equals(this.position, newSlaDataAttributes.position) && + Objects.equals(this.conditionMatchType, newSlaDataAttributes.conditionMatchType) && + Objects.equals(this.managerRoleId, newSlaDataAttributes.managerRoleId) && + Objects.equals(this.managerUserId, newSlaDataAttributes.managerUserId) && + Objects.equals(this.assignmentDeadlineDays, newSlaDataAttributes.assignmentDeadlineDays) && + Objects.equals(this.assignmentDeadlineParentStatus, newSlaDataAttributes.assignmentDeadlineParentStatus) && + Objects.equals(this.assignmentDeadlineSubStatusId, newSlaDataAttributes.assignmentDeadlineSubStatusId) && + Objects.equals(this.assignmentSkipWeekends, newSlaDataAttributes.assignmentSkipWeekends) && + Objects.equals(this.completionDeadlineDays, newSlaDataAttributes.completionDeadlineDays) && + Objects.equals(this.completionDeadlineParentStatus, newSlaDataAttributes.completionDeadlineParentStatus) && + Objects.equals(this.completionDeadlineSubStatusId, newSlaDataAttributes.completionDeadlineSubStatusId) && + Objects.equals(this.completionSkipWeekends, newSlaDataAttributes.completionSkipWeekends) && + Objects.equals(this.conditions, newSlaDataAttributes.conditions) && + Objects.equals(this.notificationConfigurations, newSlaDataAttributes.notificationConfigurations); + } + + 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, description, position, conditionMatchType, managerRoleId, managerUserId, assignmentDeadlineDays, assignmentDeadlineParentStatus, assignmentDeadlineSubStatusId, assignmentSkipWeekends, completionDeadlineDays, completionDeadlineParentStatus, completionDeadlineSubStatusId, completionSkipWeekends, conditions, notificationConfigurations); + } + + 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 NewSlaDataAttributes {\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(" conditionMatchType: ").append(toIndentedString(conditionMatchType)).append("\n"); + sb.append(" managerRoleId: ").append(toIndentedString(managerRoleId)).append("\n"); + sb.append(" managerUserId: ").append(toIndentedString(managerUserId)).append("\n"); + sb.append(" assignmentDeadlineDays: ").append(toIndentedString(assignmentDeadlineDays)).append("\n"); + sb.append(" assignmentDeadlineParentStatus: ").append(toIndentedString(assignmentDeadlineParentStatus)).append("\n"); + sb.append(" assignmentDeadlineSubStatusId: ").append(toIndentedString(assignmentDeadlineSubStatusId)).append("\n"); + sb.append(" assignmentSkipWeekends: ").append(toIndentedString(assignmentSkipWeekends)).append("\n"); + sb.append(" completionDeadlineDays: ").append(toIndentedString(completionDeadlineDays)).append("\n"); + sb.append(" completionDeadlineParentStatus: ").append(toIndentedString(completionDeadlineParentStatus)).append("\n"); + sb.append(" completionDeadlineSubStatusId: ").append(toIndentedString(completionDeadlineSubStatusId)).append("\n"); + sb.append(" completionSkipWeekends: ").append(toIndentedString(completionSkipWeekends)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" notificationConfigurations: ").append(toIndentedString(notificationConfigurations)).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("position"); + openapiFields.add("condition_match_type"); + openapiFields.add("manager_role_id"); + openapiFields.add("manager_user_id"); + openapiFields.add("assignment_deadline_days"); + openapiFields.add("assignment_deadline_parent_status"); + openapiFields.add("assignment_deadline_sub_status_id"); + openapiFields.add("assignment_skip_weekends"); + openapiFields.add("completion_deadline_days"); + openapiFields.add("completion_deadline_parent_status"); + openapiFields.add("completion_deadline_sub_status_id"); + openapiFields.add("completion_skip_weekends"); + openapiFields.add("conditions"); + openapiFields.add("notification_configurations"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("name"); + openapiRequiredFields.add("assignment_deadline_days"); + openapiRequiredFields.add("assignment_deadline_parent_status"); + openapiRequiredFields.add("completion_deadline_days"); + openapiRequiredFields.add("completion_deadline_parent_status"); + } + + /** + * 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 NewSlaDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewSlaDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewSlaDataAttributes is not found in the empty JSON string", NewSlaDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewSlaDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewSlaDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewSlaDataAttributes.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("condition_match_type") != null && !jsonObj.get("condition_match_type").isJsonNull()) && !jsonObj.get("condition_match_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `condition_match_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("condition_match_type").toString())); + } + // validate the optional field `condition_match_type` + if (jsonObj.get("condition_match_type") != null && !jsonObj.get("condition_match_type").isJsonNull()) { + ConditionMatchTypeEnum.validateJsonElement(jsonObj.get("condition_match_type")); + } + if ((jsonObj.get("manager_role_id") != null && !jsonObj.get("manager_role_id").isJsonNull()) && !jsonObj.get("manager_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `manager_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("manager_role_id").toString())); + } + // validate the required field `assignment_deadline_days` + AssignmentDeadlineDaysEnum.validateJsonElement(jsonObj.get("assignment_deadline_days")); + if (!jsonObj.get("assignment_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_parent_status").toString())); + } + // validate the required field `assignment_deadline_parent_status` + AssignmentDeadlineParentStatusEnum.validateJsonElement(jsonObj.get("assignment_deadline_parent_status")); + if ((jsonObj.get("assignment_deadline_sub_status_id") != null && !jsonObj.get("assignment_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("assignment_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_sub_status_id").toString())); + } + // validate the required field `completion_deadline_days` + CompletionDeadlineDaysEnum.validateJsonElement(jsonObj.get("completion_deadline_days")); + if (!jsonObj.get("completion_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_parent_status").toString())); + } + // validate the required field `completion_deadline_parent_status` + CompletionDeadlineParentStatusEnum.validateJsonElement(jsonObj.get("completion_deadline_parent_status")); + if ((jsonObj.get("completion_deadline_sub_status_id") != null && !jsonObj.get("completion_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("completion_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_sub_status_id").toString())); + } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + NewSlaDataAttributesConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + if (jsonObj.get("notification_configurations") != null && !jsonObj.get("notification_configurations").isJsonNull()) { + JsonArray jsonArraynotificationConfigurations = jsonObj.getAsJsonArray("notification_configurations"); + if (jsonArraynotificationConfigurations != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_configurations").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_configurations` to be an array in the JSON string but got `%s`", jsonObj.get("notification_configurations").toString())); + } + + // validate the optional field `notification_configurations` (array) + for (int i = 0; i < jsonArraynotificationConfigurations.size(); i++) { + NewSlaDataAttributesNotificationConfigurationsInner.validateJsonElement(jsonArraynotificationConfigurations.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewSlaDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewSlaDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewSlaDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewSlaDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewSlaDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewSlaDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewSlaDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewSlaDataAttributes + */ + public static NewSlaDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewSlaDataAttributes.class); + } + + /** + * Convert an instance of NewSlaDataAttributes 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/NewSlaDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java new file mode 100644 index 00000000..e8906280 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java @@ -0,0 +1,528 @@ +/* + * 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 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; + +/** + * NewSlaDataAttributesConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewSlaDataAttributesConditionsInner { + /** + * The type of condition + */ + @JsonAdapter(ConditionableTypeEnum.Adapter.class) + public enum ConditionableTypeEnum { + SLAS_BUILT_IN_FIELD_CONDITION("SLAs::BuiltInFieldCondition"), + + SLAS_CUSTOM_FIELD_CONDITION("SLAs::CustomFieldCondition"); + + 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; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + 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) + @javax.annotation.Nonnull + private ConditionableTypeEnum conditionableType; + + /** + * The property to evaluate (for built-in field conditions). When the team has custom lifecycle statuses enabled, use 'sub_status' (with sub-status IDs as values); otherwise use 'status' (with parent status names). Sending the wrong one will return a validation error. + */ + @JsonAdapter(PropertyEnum.Adapter.class) + public enum PropertyEnum { + SEVERITY("severity"), + + ENVIRONMENT("environment"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + GROUP("group"), + + CAUSE("cause"), + + SUB_STATUS("sub_status"), + + INCIDENT_ROLE("incident_role"), + + STATUS("status"), + + KIND("kind"), + + VISIBILITY("visibility"), + + SUMMARY("summary"), + + STARTED_AT("started_at"), + + DETECTED_AT("detected_at"), + + ACKNOWLEDGED_AT("acknowledged_at"), + + MITIGATED_AT("mitigated_at"), + + RESOLVED_AT("resolved_at"); + + private String value; + + PropertyEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PropertyEnum fromValue(String value) { + for (PropertyEnum b : PropertyEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final PropertyEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PropertyEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PropertyEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PropertyEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PROPERTY = "property"; + @SerializedName(SERIALIZED_NAME_PROPERTY) + @javax.annotation.Nullable + private PropertyEnum property; + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @javax.annotation.Nonnull + private String operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values; + + public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; + @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) + @javax.annotation.Nullable + private UUID formFieldId; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public NewSlaDataAttributesConditionsInner() { + } + + public NewSlaDataAttributesConditionsInner conditionableType(@javax.annotation.Nonnull ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of condition + * @return conditionableType + */ + @javax.annotation.Nonnull + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nonnull ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public NewSlaDataAttributesConditionsInner property(@javax.annotation.Nullable PropertyEnum property) { + this.property = property; + return this; + } + + /** + * The property to evaluate (for built-in field conditions). When the team has custom lifecycle statuses enabled, use 'sub_status' (with sub-status IDs as values); otherwise use 'status' (with parent status names). Sending the wrong one will return a validation error. + * @return property + */ + @javax.annotation.Nullable + public PropertyEnum getProperty() { + return property; + } + + public void setProperty(@javax.annotation.Nullable PropertyEnum property) { + this.property = property; + } + + + public NewSlaDataAttributesConditionsInner operator(@javax.annotation.Nonnull String operator) { + this.operator = operator; + return this; + } + + /** + * The comparison operator + * @return operator + */ + @javax.annotation.Nonnull + public String getOperator() { + return operator; + } + + public void setOperator(@javax.annotation.Nonnull String operator) { + this.operator = operator; + } + + + public NewSlaDataAttributesConditionsInner values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public NewSlaDataAttributesConditionsInner addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * The values to compare against + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.annotation.Nullable List values) { + this.values = values; + } + + + public NewSlaDataAttributesConditionsInner formFieldId(@javax.annotation.Nullable UUID formFieldId) { + this.formFieldId = formFieldId; + return this; + } + + /** + * The ID of the form field (for custom field conditions) + * @return formFieldId + */ + @javax.annotation.Nullable + public UUID getFormFieldId() { + return formFieldId; + } + + public void setFormFieldId(@javax.annotation.Nullable UUID formFieldId) { + this.formFieldId = formFieldId; + } + + + public NewSlaDataAttributesConditionsInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition for ordering + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSlaDataAttributesConditionsInner newSlaDataAttributesConditionsInner = (NewSlaDataAttributesConditionsInner) o; + return Objects.equals(this.conditionableType, newSlaDataAttributesConditionsInner.conditionableType) && + Objects.equals(this.property, newSlaDataAttributesConditionsInner.property) && + Objects.equals(this.operator, newSlaDataAttributesConditionsInner.operator) && + Objects.equals(this.values, newSlaDataAttributesConditionsInner.values) && + Objects.equals(this.formFieldId, newSlaDataAttributesConditionsInner.formFieldId) && + Objects.equals(this.position, newSlaDataAttributesConditionsInner.position); + } + + 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(conditionableType, property, operator, values, formFieldId, position); + } + + 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 NewSlaDataAttributesConditionsInner {\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).append("\n"); + sb.append(" property: ").append(toIndentedString(property)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append(" formFieldId: ").append(toIndentedString(formFieldId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("conditionable_type"); + openapiFields.add("property"); + openapiFields.add("operator"); + openapiFields.add("values"); + openapiFields.add("form_field_id"); + openapiFields.add("position"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("conditionable_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 NewSlaDataAttributesConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewSlaDataAttributesConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewSlaDataAttributesConditionsInner is not found in the empty JSON string", NewSlaDataAttributesConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewSlaDataAttributesConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewSlaDataAttributesConditionsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewSlaDataAttributesConditionsInner.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("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("property") != null && !jsonObj.get("property").isJsonNull()) && !jsonObj.get("property").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property").toString())); + } + // validate the optional field `property` + if (jsonObj.get("property") != null && !jsonObj.get("property").isJsonNull()) { + PropertyEnum.validateJsonElement(jsonObj.get("property")); + } + 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())); + } + // 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())); + } + if ((jsonObj.get("form_field_id") != null && !jsonObj.get("form_field_id").isJsonNull()) && !jsonObj.get("form_field_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `form_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("form_field_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewSlaDataAttributesConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewSlaDataAttributesConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewSlaDataAttributesConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewSlaDataAttributesConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewSlaDataAttributesConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewSlaDataAttributesConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewSlaDataAttributesConditionsInner + * @throws IOException if the JSON string is invalid with respect to NewSlaDataAttributesConditionsInner + */ + public static NewSlaDataAttributesConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewSlaDataAttributesConditionsInner.class); + } + + /** + * Convert an instance of NewSlaDataAttributesConditionsInner 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/NewSlaDataAttributesNotificationConfigurationsInner.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java new file mode 100644 index 00000000..b23446f1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInner.java @@ -0,0 +1,298 @@ +/* + * 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; + +/** + * NewSlaDataAttributesNotificationConfigurationsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewSlaDataAttributesNotificationConfigurationsInner { + /** + * When to send the notification relative to the deadline + */ + @JsonAdapter(OffsetTypeEnum.Adapter.class) + public enum OffsetTypeEnum { + BEFORE_DUE("before_due"), + + WHEN_DUE("when_due"), + + AFTER_DUE("after_due"); + + private String value; + + OffsetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OffsetTypeEnum fromValue(String value) { + for (OffsetTypeEnum b : OffsetTypeEnum.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 OffsetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OffsetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OffsetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OffsetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OFFSET_TYPE = "offset_type"; + @SerializedName(SERIALIZED_NAME_OFFSET_TYPE) + @javax.annotation.Nonnull + private OffsetTypeEnum offsetType; + + public static final String SERIALIZED_NAME_OFFSET_DAYS = "offset_days"; + @SerializedName(SERIALIZED_NAME_OFFSET_DAYS) + @javax.annotation.Nonnull + private Integer offsetDays; + + public NewSlaDataAttributesNotificationConfigurationsInner() { + } + + public NewSlaDataAttributesNotificationConfigurationsInner offsetType(@javax.annotation.Nonnull OffsetTypeEnum offsetType) { + this.offsetType = offsetType; + return this; + } + + /** + * When to send the notification relative to the deadline + * @return offsetType + */ + @javax.annotation.Nonnull + public OffsetTypeEnum getOffsetType() { + return offsetType; + } + + public void setOffsetType(@javax.annotation.Nonnull OffsetTypeEnum offsetType) { + this.offsetType = offsetType; + } + + + public NewSlaDataAttributesNotificationConfigurationsInner offsetDays(@javax.annotation.Nonnull Integer offsetDays) { + this.offsetDays = offsetDays; + return this; + } + + /** + * Number of days before or after the deadline. Must be 0 for when_due. + * @return offsetDays + */ + @javax.annotation.Nonnull + public Integer getOffsetDays() { + return offsetDays; + } + + public void setOffsetDays(@javax.annotation.Nonnull Integer offsetDays) { + this.offsetDays = offsetDays; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewSlaDataAttributesNotificationConfigurationsInner newSlaDataAttributesNotificationConfigurationsInner = (NewSlaDataAttributesNotificationConfigurationsInner) o; + return Objects.equals(this.offsetType, newSlaDataAttributesNotificationConfigurationsInner.offsetType) && + Objects.equals(this.offsetDays, newSlaDataAttributesNotificationConfigurationsInner.offsetDays); + } + + @Override + public int hashCode() { + return Objects.hash(offsetType, offsetDays); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewSlaDataAttributesNotificationConfigurationsInner {\n"); + sb.append(" offsetType: ").append(toIndentedString(offsetType)).append("\n"); + sb.append(" offsetDays: ").append(toIndentedString(offsetDays)).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("offset_type"); + openapiFields.add("offset_days"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("offset_type"); + openapiRequiredFields.add("offset_days"); + } + + /** + * 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 NewSlaDataAttributesNotificationConfigurationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewSlaDataAttributesNotificationConfigurationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewSlaDataAttributesNotificationConfigurationsInner is not found in the empty JSON string", NewSlaDataAttributesNotificationConfigurationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewSlaDataAttributesNotificationConfigurationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewSlaDataAttributesNotificationConfigurationsInner` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewSlaDataAttributesNotificationConfigurationsInner.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("offset_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `offset_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("offset_type").toString())); + } + // validate the required field `offset_type` + OffsetTypeEnum.validateJsonElement(jsonObj.get("offset_type")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewSlaDataAttributesNotificationConfigurationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewSlaDataAttributesNotificationConfigurationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewSlaDataAttributesNotificationConfigurationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewSlaDataAttributesNotificationConfigurationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewSlaDataAttributesNotificationConfigurationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewSlaDataAttributesNotificationConfigurationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewSlaDataAttributesNotificationConfigurationsInner + * @throws IOException if the JSON string is invalid with respect to NewSlaDataAttributesNotificationConfigurationsInner + */ + public static NewSlaDataAttributesNotificationConfigurationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewSlaDataAttributesNotificationConfigurationsInner.class); + } + + /** + * Convert an instance of NewSlaDataAttributesNotificationConfigurationsInner 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/NewStatusPage.java b/src/main/java/com/rootly/client/model/NewStatusPage.java index 419bc07a..c0070e90 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPage.java +++ b/src/main/java/com/rootly/client/model/NewStatusPage.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewStatusPage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/NewStatusPageData.java b/src/main/java/com/rootly/client/model/NewStatusPageData.java index 086e424a..89ee5372 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewStatusPageData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4bdef6e1..7ddae019 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewStatusPageDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -102,11 +102,7 @@ public enum ShowUptimeLastDaysEnum { NUMBER_60(60), - NUMBER_90(90), - - NUMBER_180(180), - - NUMBER_360(360); + NUMBER_90(90); private Integer value; @@ -166,7 +162,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String failureMessage; + /** + * Authentication method + */ + @JsonAdapter(AuthenticationMethodEnum.Adapter.class) + public enum AuthenticationMethodEnum { + NONE("none"), + + PASSWORD("password"), + + SAML("saml"); + + private String value; + + AuthenticationMethodEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AuthenticationMethodEnum fromValue(String value) { + for (AuthenticationMethodEnum b : AuthenticationMethodEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AuthenticationMethodEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AuthenticationMethodEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AuthenticationMethodEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AuthenticationMethodEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AUTHENTICATION_METHOD = "authentication_method"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_METHOD) + @javax.annotation.Nullable + private AuthenticationMethodEnum authenticationMethod = AuthenticationMethodEnum.NONE; + public static final String SERIALIZED_NAME_AUTHENTICATION_ENABLED = "authentication_enabled"; + @Deprecated @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ENABLED) @javax.annotation.Nullable private Boolean authenticationEnabled = false; @@ -176,6 +232,146 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String authenticationPassword; + public static final String SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL = "saml_idp_sso_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSsoServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL = "saml_idp_slo_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSloServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_CERT = "saml_idp_cert"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_CERT) + @javax.annotation.Nullable + private String samlIdpCert; + + /** + * SAML name identifier format + */ + @JsonAdapter(SamlNameIdentifierFormatEnum.Adapter.class) + public enum SamlNameIdentifierFormatEnum { + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT("urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT("urn:oasis:names:tc:SAML:2.0:nameid-format:transient"), + + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED("urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"); + + private String value; + + SamlNameIdentifierFormatEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SamlNameIdentifierFormatEnum fromValue(String value) { + for (SamlNameIdentifierFormatEnum b : SamlNameIdentifierFormatEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SamlNameIdentifierFormatEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SamlNameIdentifierFormatEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT = "saml_name_identifier_format"; + @SerializedName(SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT) + @javax.annotation.Nullable + private SamlNameIdentifierFormatEnum samlNameIdentifierFormat; + + /** + * Gets or Sets sectionOrder + */ + @JsonAdapter(SectionOrderEnum.Adapter.class) + public enum SectionOrderEnum { + MAINTENANCE("maintenance"), + + SYSTEM_STATUS("system_status"), + + INCIDENTS("incidents"); + + private String value; + + SectionOrderEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SectionOrderEnum fromValue(String value) { + for (SectionOrderEnum b : SectionOrderEnum.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 SectionOrderEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SectionOrderEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SectionOrderEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SectionOrderEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SECTION_ORDER = "section_order"; + @SerializedName(SERIALIZED_NAME_SECTION_ORDER) + @javax.annotation.Nullable + private List sectionOrder = new ArrayList<>(Arrays.asList(SectionOrderEnum.MAINTENANCE, SectionOrderEnum.SYSTEM_STATUS, SectionOrderEnum.INCIDENTS)); + + public static final String SERIALIZED_NAME_EXTERNAL_DOMAIN_NAMES = "external_domain_names"; + @SerializedName(SERIALIZED_NAME_EXTERNAL_DOMAIN_NAMES) + @javax.annotation.Nullable + private List externalDomainNames; + public static final String SERIALIZED_NAME_WEBSITE_URL = "website_url"; @SerializedName(SERIALIZED_NAME_WEBSITE_URL) @javax.annotation.Nullable @@ -433,20 +629,43 @@ public void setFailureMessage(@javax.annotation.Nullable String failureMessage) } + public NewStatusPageDataAttributes authenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + return this; + } + + /** + * Authentication method + * @return authenticationMethod + */ + @javax.annotation.Nullable + public AuthenticationMethodEnum getAuthenticationMethod() { + return authenticationMethod; + } + + public void setAuthenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + } + + + @Deprecated public NewStatusPageDataAttributes authenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; return this; } /** - * Enable authentication + * Enable authentication (deprecated - use authentication_method instead) * @return authenticationEnabled + * @deprecated */ + @Deprecated @javax.annotation.Nullable public Boolean getAuthenticationEnabled() { return authenticationEnabled; } + @Deprecated public void setAuthenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; } @@ -471,6 +690,136 @@ public void setAuthenticationPassword(@javax.annotation.Nullable String authenti } + public NewStatusPageDataAttributes samlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + return this; + } + + /** + * SAML IdP SSO service URL + * @return samlIdpSsoServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSsoServiceUrl() { + return samlIdpSsoServiceUrl; + } + + public void setSamlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + } + + + public NewStatusPageDataAttributes samlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + return this; + } + + /** + * SAML IdP SLO service URL + * @return samlIdpSloServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSloServiceUrl() { + return samlIdpSloServiceUrl; + } + + public void setSamlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + } + + + public NewStatusPageDataAttributes samlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + return this; + } + + /** + * SAML IdP certificate + * @return samlIdpCert + */ + @javax.annotation.Nullable + public String getSamlIdpCert() { + return samlIdpCert; + } + + public void setSamlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + } + + + public NewStatusPageDataAttributes samlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + return this; + } + + /** + * SAML name identifier format + * @return samlNameIdentifierFormat + */ + @javax.annotation.Nullable + public SamlNameIdentifierFormatEnum getSamlNameIdentifierFormat() { + return samlNameIdentifierFormat; + } + + public void setSamlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + } + + + public NewStatusPageDataAttributes sectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + return this; + } + + public NewStatusPageDataAttributes addSectionOrderItem(SectionOrderEnum sectionOrderItem) { + if (this.sectionOrder == null) { + this.sectionOrder = new ArrayList<>(Arrays.asList(SectionOrderEnum.MAINTENANCE, SectionOrderEnum.SYSTEM_STATUS, SectionOrderEnum.INCIDENTS)); + } + this.sectionOrder.add(sectionOrderItem); + return this; + } + + /** + * Order of sections on the status page + * @return sectionOrder + */ + @javax.annotation.Nullable + public List getSectionOrder() { + return sectionOrder; + } + + public void setSectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + } + + + public NewStatusPageDataAttributes externalDomainNames(@javax.annotation.Nullable List externalDomainNames) { + this.externalDomainNames = externalDomainNames; + return this; + } + + public NewStatusPageDataAttributes addExternalDomainNamesItem(String externalDomainNamesItem) { + if (this.externalDomainNames == null) { + this.externalDomainNames = new ArrayList<>(); + } + this.externalDomainNames.add(externalDomainNamesItem); + return this; + } + + /** + * External domain names attached to the status page + * @return externalDomainNames + */ + @javax.annotation.Nullable + public List getExternalDomainNames() { + return externalDomainNames; + } + + public void setExternalDomainNames(@javax.annotation.Nullable List externalDomainNames) { + this.externalDomainNames = externalDomainNames; + } + + public NewStatusPageDataAttributes websiteUrl(@javax.annotation.Nullable String websiteUrl) { this.websiteUrl = websiteUrl; return this; @@ -679,8 +1028,15 @@ public boolean equals(Object o) { Objects.equals(this.showUptimeLastDays, newStatusPageDataAttributes.showUptimeLastDays) && Objects.equals(this.successMessage, newStatusPageDataAttributes.successMessage) && Objects.equals(this.failureMessage, newStatusPageDataAttributes.failureMessage) && + Objects.equals(this.authenticationMethod, newStatusPageDataAttributes.authenticationMethod) && Objects.equals(this.authenticationEnabled, newStatusPageDataAttributes.authenticationEnabled) && Objects.equals(this.authenticationPassword, newStatusPageDataAttributes.authenticationPassword) && + Objects.equals(this.samlIdpSsoServiceUrl, newStatusPageDataAttributes.samlIdpSsoServiceUrl) && + Objects.equals(this.samlIdpSloServiceUrl, newStatusPageDataAttributes.samlIdpSloServiceUrl) && + Objects.equals(this.samlIdpCert, newStatusPageDataAttributes.samlIdpCert) && + Objects.equals(this.samlNameIdentifierFormat, newStatusPageDataAttributes.samlNameIdentifierFormat) && + Objects.equals(this.sectionOrder, newStatusPageDataAttributes.sectionOrder) && + Objects.equals(this.externalDomainNames, newStatusPageDataAttributes.externalDomainNames) && Objects.equals(this.websiteUrl, newStatusPageDataAttributes.websiteUrl) && Objects.equals(this.websitePrivacyUrl, newStatusPageDataAttributes.websitePrivacyUrl) && Objects.equals(this.websiteSupportUrl, newStatusPageDataAttributes.websiteSupportUrl) && @@ -698,7 +1054,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationEnabled, authenticationPassword, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, enabled); + return Objects.hash(title, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationMethod, authenticationEnabled, authenticationPassword, samlIdpSsoServiceUrl, samlIdpSloServiceUrl, samlIdpCert, samlNameIdentifierFormat, sectionOrder, externalDomainNames, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -723,8 +1079,15 @@ public String toString() { sb.append(" showUptimeLastDays: ").append(toIndentedString(showUptimeLastDays)).append("\n"); sb.append(" successMessage: ").append(toIndentedString(successMessage)).append("\n"); sb.append(" failureMessage: ").append(toIndentedString(failureMessage)).append("\n"); + sb.append(" authenticationMethod: ").append(toIndentedString(authenticationMethod)).append("\n"); sb.append(" authenticationEnabled: ").append(toIndentedString(authenticationEnabled)).append("\n"); sb.append(" authenticationPassword: ").append(toIndentedString(authenticationPassword)).append("\n"); + sb.append(" samlIdpSsoServiceUrl: ").append(toIndentedString(samlIdpSsoServiceUrl)).append("\n"); + sb.append(" samlIdpSloServiceUrl: ").append(toIndentedString(samlIdpSloServiceUrl)).append("\n"); + sb.append(" samlIdpCert: ").append(toIndentedString(samlIdpCert)).append("\n"); + sb.append(" samlNameIdentifierFormat: ").append(toIndentedString(samlNameIdentifierFormat)).append("\n"); + sb.append(" sectionOrder: ").append(toIndentedString(sectionOrder)).append("\n"); + sb.append(" externalDomainNames: ").append(toIndentedString(externalDomainNames)).append("\n"); sb.append(" websiteUrl: ").append(toIndentedString(websiteUrl)).append("\n"); sb.append(" websitePrivacyUrl: ").append(toIndentedString(websitePrivacyUrl)).append("\n"); sb.append(" websiteSupportUrl: ").append(toIndentedString(websiteSupportUrl)).append("\n"); @@ -767,8 +1130,15 @@ private String toIndentedString(Object o) { openapiFields.add("show_uptime_last_days"); openapiFields.add("success_message"); openapiFields.add("failure_message"); + openapiFields.add("authentication_method"); openapiFields.add("authentication_enabled"); openapiFields.add("authentication_password"); + openapiFields.add("saml_idp_sso_service_url"); + openapiFields.add("saml_idp_slo_service_url"); + openapiFields.add("saml_idp_cert"); + openapiFields.add("saml_name_identifier_format"); + openapiFields.add("section_order"); + openapiFields.add("external_domain_names"); openapiFields.add("website_url"); openapiFields.add("website_privacy_url"); openapiFields.add("website_support_url"); @@ -840,9 +1210,40 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("failure_message") != null && !jsonObj.get("failure_message").isJsonNull()) && !jsonObj.get("failure_message").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `failure_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_message").toString())); } + if ((jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) && !jsonObj.get("authentication_method").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `authentication_method` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_method").toString())); + } + // validate the optional field `authentication_method` + if (jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) { + AuthenticationMethodEnum.validateJsonElement(jsonObj.get("authentication_method")); + } if ((jsonObj.get("authentication_password") != null && !jsonObj.get("authentication_password").isJsonNull()) && !jsonObj.get("authentication_password").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `authentication_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_password").toString())); } + if ((jsonObj.get("saml_idp_sso_service_url") != null && !jsonObj.get("saml_idp_sso_service_url").isJsonNull()) && !jsonObj.get("saml_idp_sso_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_sso_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_sso_service_url").toString())); + } + if ((jsonObj.get("saml_idp_slo_service_url") != null && !jsonObj.get("saml_idp_slo_service_url").isJsonNull()) && !jsonObj.get("saml_idp_slo_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_slo_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_slo_service_url").toString())); + } + if ((jsonObj.get("saml_idp_cert") != null && !jsonObj.get("saml_idp_cert").isJsonNull()) && !jsonObj.get("saml_idp_cert").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_cert` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_cert").toString())); + } + if ((jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) && !jsonObj.get("saml_name_identifier_format").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_name_identifier_format` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_name_identifier_format").toString())); + } + // validate the optional field `saml_name_identifier_format` + if (jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) { + SamlNameIdentifierFormatEnum.validateJsonElement(jsonObj.get("saml_name_identifier_format")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("section_order") != null && !jsonObj.get("section_order").isJsonNull() && !jsonObj.get("section_order").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `section_order` to be an array in the JSON string but got `%s`", jsonObj.get("section_order").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("external_domain_names") != null && !jsonObj.get("external_domain_names").isJsonNull() && !jsonObj.get("external_domain_names").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `external_domain_names` to be an array in the JSON string but got `%s`", jsonObj.get("external_domain_names").toString())); + } if ((jsonObj.get("website_url") != null && !jsonObj.get("website_url").isJsonNull()) && !jsonObj.get("website_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `website_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("website_url").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java b/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java index 6b704ec3..493a854e 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewStatusPageTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 37e4d5ff..1c71b35e 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplateData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewStatusPageTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3c11c70a..e5707adb 100644 --- a/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewStatusPageTemplateDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewStatusPageTemplateDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -61,6 +61,11 @@ public class NewStatusPageTemplateDataAttributes { @javax.annotation.Nonnull private String title; + public static final String SERIALIZED_NAME_UPDATE_TITLE = "update_title"; + @SerializedName(SERIALIZED_NAME_UPDATE_TITLE) + @javax.annotation.Nullable + private String updateTitle; + public static final String SERIALIZED_NAME_BODY = "body"; @SerializedName(SERIALIZED_NAME_BODY) @javax.annotation.Nonnull @@ -83,8 +88,6 @@ public enum UpdateStatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; @@ -248,6 +251,25 @@ public void setTitle(@javax.annotation.Nonnull String title) { } + public NewStatusPageTemplateDataAttributes updateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + return this; + } + + /** + * Title that will be used for the status page update + * @return updateTitle + */ + @javax.annotation.Nullable + public String getUpdateTitle() { + return updateTitle; + } + + public void setUpdateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + } + + public NewStatusPageTemplateDataAttributes body(@javax.annotation.Nonnull String body) { this.body = body; return this; @@ -374,6 +396,7 @@ public boolean equals(Object o) { NewStatusPageTemplateDataAttributes newStatusPageTemplateDataAttributes = (NewStatusPageTemplateDataAttributes) o; return Objects.equals(this.statusPageId, newStatusPageTemplateDataAttributes.statusPageId) && Objects.equals(this.title, newStatusPageTemplateDataAttributes.title) && + Objects.equals(this.updateTitle, newStatusPageTemplateDataAttributes.updateTitle) && Objects.equals(this.body, newStatusPageTemplateDataAttributes.body) && Objects.equals(this.updateStatus, newStatusPageTemplateDataAttributes.updateStatus) && Objects.equals(this.kind, newStatusPageTemplateDataAttributes.kind) && @@ -388,7 +411,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(statusPageId, title, body, updateStatus, kind, shouldNotifySubscribers, position, enabled); + return Objects.hash(statusPageId, title, updateTitle, body, updateStatus, kind, shouldNotifySubscribers, position, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -404,6 +427,7 @@ public String toString() { sb.append("class NewStatusPageTemplateDataAttributes {\n"); sb.append(" statusPageId: ").append(toIndentedString(statusPageId)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" updateTitle: ").append(toIndentedString(updateTitle)).append("\n"); sb.append(" body: ").append(toIndentedString(body)).append("\n"); sb.append(" updateStatus: ").append(toIndentedString(updateStatus)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); @@ -434,6 +458,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("status_page_id"); openapiFields.add("title"); + openapiFields.add("update_title"); openapiFields.add("body"); openapiFields.add("update_status"); openapiFields.add("kind"); @@ -481,6 +506,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("update_title") != null && !jsonObj.get("update_title").isJsonNull()) && !jsonObj.get("update_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `update_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("update_title").toString())); + } if (!jsonObj.get("body").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("body").toString())); } diff --git a/src/main/java/com/rootly/client/model/NewSubStatus.java b/src/main/java/com/rootly/client/model/NewSubStatus.java index 988d1926..f79e102d 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatus.java +++ b/src/main/java/com/rootly/client/model/NewSubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 092b2de9..b19b94b2 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatusData.java +++ b/src/main/java/com/rootly/client/model/NewSubStatusData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 edacf65e..7d6bf164 100644 --- a/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSubStatusDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,18 +49,13 @@ /** * NewSubStatusDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSubStatusDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -150,25 +145,6 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewSubStatusDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * Get slug - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public NewSubStatusDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -237,7 +213,6 @@ public boolean equals(Object o) { } NewSubStatusDataAttributes newSubStatusDataAttributes = (NewSubStatusDataAttributes) o; return Objects.equals(this.name, newSubStatusDataAttributes.name) && - Objects.equals(this.slug, newSubStatusDataAttributes.slug) && Objects.equals(this.description, newSubStatusDataAttributes.description) && Objects.equals(this.parentStatus, newSubStatusDataAttributes.parentStatus) && Objects.equals(this.position, newSubStatusDataAttributes.position); @@ -249,7 +224,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, parentStatus, position); + return Objects.hash(name, description, parentStatus, position); } private static int hashCodeNullable(JsonNullable a) { @@ -264,7 +239,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewSubStatusDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" parentStatus: ").append(toIndentedString(parentStatus)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); @@ -291,7 +265,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("parent_status"); openapiFields.add("position"); @@ -333,9 +306,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/NewTeam.java b/src/main/java/com/rootly/client/model/NewTeam.java index a7b0702b..c57295fa 100644 --- a/src/main/java/com/rootly/client/model/NewTeam.java +++ b/src/main/java/com/rootly/client/model/NewTeam.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewTeam */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 afbc4c39..bbef6ffe 100644 --- a/src/main/java/com/rootly/client/model/NewTeamData.java +++ b/src/main/java/com/rootly/client/model/NewTeamData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewTeamData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c9409d4a..4889f466 100644 --- a/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewTeamDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +56,7 @@ /** * NewTeamDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewTeamDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -160,6 +163,36 @@ public class NewTeamDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED = "auto_add_members_when_attached"; + @SerializedName(SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED) + @javax.annotation.Nullable + private Boolean autoAddMembersWhenAttached; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public NewTeamDataAttributes() { } @@ -602,6 +635,128 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public NewTeamDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this team. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -632,7 +787,13 @@ public boolean equals(Object o) { Objects.equals(this.alertsEmailEnabled, newTeamDataAttributes.alertsEmailEnabled) && Objects.equals(this.alertUrgencyId, newTeamDataAttributes.alertUrgencyId) && Objects.equals(this.slackChannels, newTeamDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, newTeamDataAttributes.slackAliases); + Objects.equals(this.slackAliases, newTeamDataAttributes.slackAliases) && + Objects.equals(this.alertBroadcastEnabled, newTeamDataAttributes.alertBroadcastEnabled) && + Objects.equals(this.alertBroadcastChannel, newTeamDataAttributes.alertBroadcastChannel) && + Objects.equals(this.incidentBroadcastEnabled, newTeamDataAttributes.incidentBroadcastEnabled) && + Objects.equals(this.incidentBroadcastChannel, newTeamDataAttributes.incidentBroadcastChannel) && + Objects.equals(this.autoAddMembersWhenAttached, newTeamDataAttributes.autoAddMembersWhenAttached) && + Objects.equals(this.properties, newTeamDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -641,7 +802,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, opsgenieTeamId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases); + return Objects.hash(name, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, opsgenieTeamId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -676,6 +837,12 @@ public String toString() { sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).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(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -719,6 +886,12 @@ private String toIndentedString(Object o) { openapiFields.add("alert_urgency_id"); 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("auto_add_members_when_attached"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -835,6 +1008,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // validate the optional field `alert_broadcast_channel` + if (jsonObj.get("alert_broadcast_channel") != null && !jsonObj.get("alert_broadcast_channel").isJsonNull()) { + NewServiceDataAttributesAlertBroadcastChannel.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()) { + NewServiceDataAttributesIncidentBroadcastChannel.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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewUserEmailAddress.java b/src/main/java/com/rootly/client/model/NewUserEmailAddress.java new file mode 100644 index 00000000..c2f2c35a --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddress.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.NewUserEmailAddressData; +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; + +/** + * NewUserEmailAddress + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserEmailAddress { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewUserEmailAddressData data; + + public NewUserEmailAddress() { + } + + public NewUserEmailAddress data(@javax.annotation.Nonnull NewUserEmailAddressData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewUserEmailAddressData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewUserEmailAddressData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserEmailAddress newUserEmailAddress = (NewUserEmailAddress) o; + return Objects.equals(this.data, newUserEmailAddress.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserEmailAddress {\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 NewUserEmailAddress + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserEmailAddress.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserEmailAddress is not found in the empty JSON string", NewUserEmailAddress.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserEmailAddress.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserEmailAddress` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserEmailAddress.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` + NewUserEmailAddressData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewUserEmailAddress.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserEmailAddress' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserEmailAddress.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserEmailAddress value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserEmailAddress read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserEmailAddress given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserEmailAddress + * @throws IOException if the JSON string is invalid with respect to NewUserEmailAddress + */ + public static NewUserEmailAddress fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserEmailAddress.class); + } + + /** + * Convert an instance of NewUserEmailAddress 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/NewUserEmailAddressData.java b/src/main/java/com/rootly/client/model/NewUserEmailAddressData.java new file mode 100644 index 00000000..7de0082c --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddressData.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.NewUserEmailAddressDataAttributes; +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; + +/** + * NewUserEmailAddressData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserEmailAddressData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_EMAIL_ADDRESSES("user_email_addresses"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewUserEmailAddressDataAttributes attributes; + + public NewUserEmailAddressData() { + } + + public NewUserEmailAddressData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewUserEmailAddressData attributes(@javax.annotation.Nonnull NewUserEmailAddressDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewUserEmailAddressDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewUserEmailAddressDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserEmailAddressData newUserEmailAddressData = (NewUserEmailAddressData) o; + return Objects.equals(this.type, newUserEmailAddressData.type) && + Objects.equals(this.attributes, newUserEmailAddressData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserEmailAddressData {\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 NewUserEmailAddressData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserEmailAddressData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserEmailAddressData is not found in the empty JSON string", NewUserEmailAddressData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserEmailAddressData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserEmailAddressData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserEmailAddressData.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` + NewUserEmailAddressDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewUserEmailAddressData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserEmailAddressData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserEmailAddressData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserEmailAddressData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserEmailAddressData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserEmailAddressData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserEmailAddressData + * @throws IOException if the JSON string is invalid with respect to NewUserEmailAddressData + */ + public static NewUserEmailAddressData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserEmailAddressData.class); + } + + /** + * Convert an instance of NewUserEmailAddressData 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/NewUserEmailAddressDataAttributes.java b/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.java new file mode 100644 index 00000000..8bbf3d37 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserEmailAddressDataAttributes.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; + +/** + * NewUserEmailAddressDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserEmailAddressDataAttributes { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nonnull + private String email; + + public NewUserEmailAddressDataAttributes() { + } + + public NewUserEmailAddressDataAttributes email(@javax.annotation.Nonnull String email) { + this.email = email; + return this; + } + + /** + * Email address + * @return email + */ + @javax.annotation.Nonnull + public String getEmail() { + return email; + } + + public void setEmail(@javax.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; + } + NewUserEmailAddressDataAttributes newUserEmailAddressDataAttributes = (NewUserEmailAddressDataAttributes) o; + return Objects.equals(this.email, newUserEmailAddressDataAttributes.email); + } + + @Override + public int hashCode() { + return Objects.hash(email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserEmailAddressDataAttributes {\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 NewUserEmailAddressDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserEmailAddressDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserEmailAddressDataAttributes is not found in the empty JSON string", NewUserEmailAddressDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserEmailAddressDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserEmailAddressDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserEmailAddressDataAttributes.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 (!NewUserEmailAddressDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserEmailAddressDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserEmailAddressDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserEmailAddressDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserEmailAddressDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserEmailAddressDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserEmailAddressDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewUserEmailAddressDataAttributes + */ + public static NewUserEmailAddressDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserEmailAddressDataAttributes.class); + } + + /** + * Convert an instance of NewUserEmailAddressDataAttributes 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/NewUserNotificationRule.java b/src/main/java/com/rootly/client/model/NewUserNotificationRule.java index f91caf9d..bde11e06 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewUserNotificationRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0a6c98b6..71b4f8c0 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRuleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewUserNotificationRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 90418b5a..b0bde5bb 100644 --- a/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewUserNotificationRuleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewUserNotificationRuleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewUserNotificationRuleDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) @@ -96,7 +96,9 @@ public enum EnabledContactTypesEnum { DEVICE("device"), - NON_CRITICAL_DEVICE("non_critical_device"); + NON_CRITICAL_DEVICE("non_critical_device"), + + SLACK("slack"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumber.java new file mode 100644 index 00000000..23782497 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumber.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.NewUserPhoneNumberData; +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; + +/** + * NewUserPhoneNumber + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserPhoneNumber { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private NewUserPhoneNumberData data; + + public NewUserPhoneNumber() { + } + + public NewUserPhoneNumber data(@javax.annotation.Nonnull NewUserPhoneNumberData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public NewUserPhoneNumberData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull NewUserPhoneNumberData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserPhoneNumber newUserPhoneNumber = (NewUserPhoneNumber) o; + return Objects.equals(this.data, newUserPhoneNumber.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserPhoneNumber {\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 NewUserPhoneNumber + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserPhoneNumber.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserPhoneNumber is not found in the empty JSON string", NewUserPhoneNumber.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserPhoneNumber.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserPhoneNumber` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserPhoneNumber.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` + NewUserPhoneNumberData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewUserPhoneNumber.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserPhoneNumber' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserPhoneNumber.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserPhoneNumber value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserPhoneNumber read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserPhoneNumber given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserPhoneNumber + * @throws IOException if the JSON string is invalid with respect to NewUserPhoneNumber + */ + public static NewUserPhoneNumber fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserPhoneNumber.class); + } + + /** + * Convert an instance of NewUserPhoneNumber 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/NewUserPhoneNumberData.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.java new file mode 100644 index 00000000..cc519445 --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumberData.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.NewUserPhoneNumberDataAttributes; +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; + +/** + * NewUserPhoneNumberData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserPhoneNumberData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_PHONE_NUMBERS("user_phone_numbers"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private NewUserPhoneNumberDataAttributes attributes; + + public NewUserPhoneNumberData() { + } + + public NewUserPhoneNumberData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public NewUserPhoneNumberData attributes(@javax.annotation.Nonnull NewUserPhoneNumberDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public NewUserPhoneNumberDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull NewUserPhoneNumberDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserPhoneNumberData newUserPhoneNumberData = (NewUserPhoneNumberData) o; + return Objects.equals(this.type, newUserPhoneNumberData.type) && + Objects.equals(this.attributes, newUserPhoneNumberData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserPhoneNumberData {\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 NewUserPhoneNumberData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserPhoneNumberData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserPhoneNumberData is not found in the empty JSON string", NewUserPhoneNumberData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserPhoneNumberData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserPhoneNumberData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserPhoneNumberData.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` + NewUserPhoneNumberDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewUserPhoneNumberData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserPhoneNumberData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserPhoneNumberData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserPhoneNumberData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserPhoneNumberData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserPhoneNumberData given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserPhoneNumberData + * @throws IOException if the JSON string is invalid with respect to NewUserPhoneNumberData + */ + public static NewUserPhoneNumberData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserPhoneNumberData.class); + } + + /** + * Convert an instance of NewUserPhoneNumberData 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/NewUserPhoneNumberDataAttributes.java b/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.java new file mode 100644 index 00000000..449c0dac --- /dev/null +++ b/src/main/java/com/rootly/client/model/NewUserPhoneNumberDataAttributes.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; + +/** + * NewUserPhoneNumberDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class NewUserPhoneNumberDataAttributes { + public static final String SERIALIZED_NAME_PHONE = "phone"; + @SerializedName(SERIALIZED_NAME_PHONE) + @javax.annotation.Nonnull + private String phone; + + public NewUserPhoneNumberDataAttributes() { + } + + public NewUserPhoneNumberDataAttributes phone(@javax.annotation.Nonnull String phone) { + this.phone = phone; + return this; + } + + /** + * Phone number in international format + * @return phone + */ + @javax.annotation.Nonnull + public String getPhone() { + return phone; + } + + public void setPhone(@javax.annotation.Nonnull String phone) { + this.phone = phone; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserPhoneNumberDataAttributes newUserPhoneNumberDataAttributes = (NewUserPhoneNumberDataAttributes) o; + return Objects.equals(this.phone, newUserPhoneNumberDataAttributes.phone); + } + + @Override + public int hashCode() { + return Objects.hash(phone); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserPhoneNumberDataAttributes {\n"); + sb.append(" phone: ").append(toIndentedString(phone)).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("phone"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("phone"); + } + + /** + * 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 NewUserPhoneNumberDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!NewUserPhoneNumberDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in NewUserPhoneNumberDataAttributes is not found in the empty JSON string", NewUserPhoneNumberDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!NewUserPhoneNumberDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `NewUserPhoneNumberDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : NewUserPhoneNumberDataAttributes.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("phone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!NewUserPhoneNumberDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'NewUserPhoneNumberDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(NewUserPhoneNumberDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, NewUserPhoneNumberDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public NewUserPhoneNumberDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of NewUserPhoneNumberDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of NewUserPhoneNumberDataAttributes + * @throws IOException if the JSON string is invalid with respect to NewUserPhoneNumberDataAttributes + */ + public static NewUserPhoneNumberDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, NewUserPhoneNumberDataAttributes.class); + } + + /** + * Convert an instance of NewUserPhoneNumberDataAttributes 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/NewWebhooksEndpoint.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java index 6875dad7..1dd060ac 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWebhooksEndpoint */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b0d08fb1..bfc1de4d 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWebhooksEndpointData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7b074637..c89687b7 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewWebhooksEndpointDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpointDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -128,7 +128,9 @@ public enum EventTypesEnum { GENIUS_WORKFLOW_RUN_FAILED("genius_workflow_run.failed"), - GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"); + GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"), + + AUDIT_LOG_CREATED("audit_log.created"); private String value; diff --git a/src/main/java/com/rootly/client/model/NewWorkflow.java b/src/main/java/com/rootly/client/model/NewWorkflow.java index 4a9680fe..fc3b27d5 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflow.java +++ b/src/main/java/com/rootly/client/model/NewWorkflow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/NewWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java index 191a76cb..c3d79b7f 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d69bf851..83a39bac 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cd2c5597..0628a9b5 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewWorkflowCustomFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -69,6 +69,8 @@ public class NewWorkflowCustomFieldSelectionDataAttributes { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/NewWorkflowData.java b/src/main/java/com/rootly/client/model/NewWorkflowData.java index 1c450a0b..4cf120f2 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8646d32e..486cc6a7 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,18 +52,13 @@ /** * NewWorkflowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nonnull private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -322,25 +317,6 @@ public void setName(@javax.annotation.Nonnull String name) { } - public NewWorkflowDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The slug of the workflow - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public NewWorkflowDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -888,7 +864,6 @@ public boolean equals(Object o) { } NewWorkflowDataAttributes newWorkflowDataAttributes = (NewWorkflowDataAttributes) o; return Objects.equals(this.name, newWorkflowDataAttributes.name) && - Objects.equals(this.slug, newWorkflowDataAttributes.slug) && Objects.equals(this.description, newWorkflowDataAttributes.description) && Objects.equals(this.command, newWorkflowDataAttributes.command) && Objects.equals(this.commandFeedbackEnabled, newWorkflowDataAttributes.commandFeedbackEnabled) && @@ -921,7 +896,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, 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(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); } private static int hashCodeNullable(JsonNullable a) { @@ -936,7 +911,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class NewWorkflowDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" command: ").append(toIndentedString(command)).append("\n"); sb.append(" commandFeedbackEnabled: ").append(toIndentedString(commandFeedbackEnabled)).append("\n"); @@ -984,7 +958,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("command"); openapiFields.add("command_feedback_enabled"); @@ -1046,9 +1019,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java index 14876e42..65931d48 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,8 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.ActionItemTriggerParams; import com.rootly.client.model.AlertTriggerParams; +import com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner; +import com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions; import com.rootly.client.model.IncidentTriggerParams; import com.rootly.client.model.PulseTriggerParams; import com.rootly.client.model.SimpleTriggerParams; @@ -28,6 +30,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.UUID; import org.openapitools.jackson.nullable.JsonNullable; @@ -65,7 +68,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 73d0fa94..7867cac8 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowFormFieldCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 50306463..972d5ffe 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowFormFieldConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7ab9bfb3..e4120a1b 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * NewWorkflowFormFieldConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -69,6 +69,8 @@ public class NewWorkflowFormFieldConditionDataAttributes { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -166,6 +168,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public NewWorkflowFormFieldConditionDataAttributes() { } @@ -415,6 +432,87 @@ public void setSelectedUserIds(@javax.annotation.Nullable List selected } + public NewWorkflowFormFieldConditionDataAttributes selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public NewWorkflowFormFieldConditionDataAttributes addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public NewWorkflowFormFieldConditionDataAttributes selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public NewWorkflowFormFieldConditionDataAttributes addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public NewWorkflowFormFieldConditionDataAttributes selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public NewWorkflowFormFieldConditionDataAttributes addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -434,12 +532,15 @@ public boolean equals(Object o) { Objects.equals(this.selectedGroupIds, newWorkflowFormFieldConditionDataAttributes.selectedGroupIds) && Objects.equals(this.selectedOptionIds, newWorkflowFormFieldConditionDataAttributes.selectedOptionIds) && Objects.equals(this.selectedServiceIds, newWorkflowFormFieldConditionDataAttributes.selectedServiceIds) && - Objects.equals(this.selectedUserIds, newWorkflowFormFieldConditionDataAttributes.selectedUserIds); + Objects.equals(this.selectedUserIds, newWorkflowFormFieldConditionDataAttributes.selectedUserIds) && + Objects.equals(this.selectedCauseIds, newWorkflowFormFieldConditionDataAttributes.selectedCauseIds) && + Objects.equals(this.selectedEnvironmentIds, newWorkflowFormFieldConditionDataAttributes.selectedEnvironmentIds) && + Objects.equals(this.selectedIncidentTypeIds, newWorkflowFormFieldConditionDataAttributes.selectedIncidentTypeIds); } @Override public int hashCode() { - return Objects.hash(workflowId, formFieldId, incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds); + return Objects.hash(workflowId, formFieldId, incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds, selectedCauseIds, selectedEnvironmentIds, selectedIncidentTypeIds); } @Override @@ -456,6 +557,9 @@ public String toString() { sb.append(" selectedOptionIds: ").append(toIndentedString(selectedOptionIds)).append("\n"); sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -488,6 +592,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_option_ids"); openapiFields.add("selected_service_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -562,6 +669,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("selected_user_ids") != null && !jsonObj.get("selected_user_ids").isJsonNull() && !jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/NewWorkflowGroup.java b/src/main/java/com/rootly/client/model/NewWorkflowGroup.java index e8f4ea1a..71c7bfe5 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 13665bd5..ca50f74f 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 376e4960..4dabd3ff 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowGroupDataAttributes { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRun.java b/src/main/java/com/rootly/client/model/NewWorkflowRun.java index 90b775ca..63eab320 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRun.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRun.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowRun */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bdaa7626..ca579bcb 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowRunData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c04403a7..a3d2a313 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -66,7 +66,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6b35960e..2351530d 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 29c16572..6b9743a5 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf1 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1313b195..a4fa4619 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf2 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5cf31b58..92710da0 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf3 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5fa51d07..d1ac8347 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf4 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 68677768..1d54f376 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * NewWorkflowRunDataAttributesAnyOf5 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 89e73928..c1cee254 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTask.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 599b4fe2..abf2d27f 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 77416184..d996e2bd 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * NewWorkflowTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 705ac729..51a1917b 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParams; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.AddMicrosoftTeamsChatTabTaskParams; import com.rootly.client.model.AddMicrosoftTeamsTabTaskParams; import com.rootly.client.model.AddRoleTaskParams; import com.rootly.client.model.AddRoleTaskParamsAssignedToUser; @@ -37,10 +38,13 @@ import com.rootly.client.model.CallPeopleTaskParams; import com.rootly.client.model.ChangeSlackChannelPrivacyTaskParams; import com.rootly.client.model.CreateAirtableTableRecordTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParamsModel; import com.rootly.client.model.CreateAsanaSubtaskTaskParams; import com.rootly.client.model.CreateAsanaTaskTaskParams; import com.rootly.client.model.CreateClickupTaskTaskParams; import com.rootly.client.model.CreateCodaPageTaskParams; +import com.rootly.client.model.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateConfluencePageTaskParams; import com.rootly.client.model.CreateDatadogNotebookTaskParams; import com.rootly.client.model.CreateDropboxPaperPageTaskParams; @@ -50,25 +54,29 @@ import com.rootly.client.model.CreateGoogleCalendarEventTaskParams; import com.rootly.client.model.CreateGoogleDocsPageTaskParams; import com.rootly.client.model.CreateGoogleDocsPermissionsTaskParams; +import com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParams; import com.rootly.client.model.CreateGoogleMeetingTaskParams; import com.rootly.client.model.CreateIncidentPostmortemTaskParams; -import com.rootly.client.model.CreateIncidentPostmortemTaskParamsTemplate; import com.rootly.client.model.CreateIncidentTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsIssueType; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraSubtaskTaskParams; +import com.rootly.client.model.CreateJsmopsAlertTaskParams; import com.rootly.client.model.CreateLinearIssueCommentTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; import com.rootly.client.model.CreateLinearSubtaskIssueTaskParams; import com.rootly.client.model.CreateMicrosoftTeamsChannelTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParamsMembersInner; import com.rootly.client.model.CreateMicrosoftTeamsMeetingTaskParams; +import com.rootly.client.model.CreateMistralChatCompletionTaskParams; import com.rootly.client.model.CreateMotionTaskTaskParams; import com.rootly.client.model.CreateNotionPageTaskParams; import com.rootly.client.model.CreateNotionPageTaskParamsParentPage; +import com.rootly.client.model.CreateOpenaiChatCompletionTaskParams; import com.rootly.client.model.CreateOpsgenieAlertTaskParams; import com.rootly.client.model.CreateOutlookEventTaskParams; import com.rootly.client.model.CreatePagerdutyStatusUpdateTaskParams; @@ -80,17 +88,16 @@ import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; import com.rootly.client.model.CreateSlackChannelTaskParams; +import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParamsArchivation; import com.rootly.client.model.CreateTrelloCardTaskParamsBoard; import com.rootly.client.model.CreateTrelloCardTaskParamsList; +import com.rootly.client.model.CreateWatsonxChatCompletionTaskParams; import com.rootly.client.model.CreateWebexMeetingTaskParams; import com.rootly.client.model.CreateZendeskJiraLinkTaskParams; import com.rootly.client.model.CreateZendeskTicketTaskParams; import com.rootly.client.model.CreateZoomMeetingTaskParams; -import com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParamsModel; import com.rootly.client.model.GetAlertsTaskParams; import com.rootly.client.model.GetGithubCommitsTaskParams; import com.rootly.client.model.GetGitlabCommitsTaskParams; @@ -102,6 +109,7 @@ import com.rootly.client.model.InviteToSlackChannelRootlyTaskParams; import com.rootly.client.model.InviteToSlackChannelTaskParams; import com.rootly.client.model.InviteToSlackChannelVictorOpsTaskParams; +import com.rootly.client.model.PageJsmopsOnCallRespondersTaskParams; import com.rootly.client.model.PageOpsgenieOnCallRespondersTaskParams; import com.rootly.client.model.PagePagerdutyOnCallRespondersTaskParams; import com.rootly.client.model.PageRootlyOnCallRespondersTaskParams; @@ -116,6 +124,7 @@ import com.rootly.client.model.SendDashboardReportTaskParams; import com.rootly.client.model.SendEmailTaskParams; import com.rootly.client.model.SendMicrosoftTeamsBlocksTaskParams; +import com.rootly.client.model.SendMicrosoftTeamsChatMessageTaskParams; import com.rootly.client.model.SendMicrosoftTeamsMessageTaskParams; import com.rootly.client.model.SendSlackBlocksTaskParams; import com.rootly.client.model.SendSlackMessageTaskParams; @@ -133,7 +142,12 @@ import com.rootly.client.model.UpdateAttachedAlertsTaskParams; import com.rootly.client.model.UpdateClickupTaskTaskParams; import com.rootly.client.model.UpdateCodaPageTaskParams; +import com.rootly.client.model.UpdateConfluencePageTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate; +import com.rootly.client.model.UpdateDropboxPaperPageTaskParams; import com.rootly.client.model.UpdateGithubIssueTaskParams; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; import com.rootly.client.model.UpdateGitlabIssueTaskParams; import com.rootly.client.model.UpdateGoogleCalendarEventTaskParams; import com.rootly.client.model.UpdateGoogleDocsPageTaskParams; @@ -142,13 +156,16 @@ import com.rootly.client.model.UpdateIncidentTaskParams; import com.rootly.client.model.UpdateJiraIssueTaskParams; import com.rootly.client.model.UpdateLinearIssueTaskParams; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; import com.rootly.client.model.UpdateMotionTaskTaskParams; import com.rootly.client.model.UpdateNotionPageTaskParams; import com.rootly.client.model.UpdateOpsgenieAlertTaskParams; import com.rootly.client.model.UpdateOpsgenieIncidentTaskParams; import com.rootly.client.model.UpdatePagerdutyIncidentTaskParams; import com.rootly.client.model.UpdatePagertreeAlertTaskParams; +import com.rootly.client.model.UpdateQuipPageTaskParams; import com.rootly.client.model.UpdateServiceNowIncidentTaskParams; +import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; @@ -157,6 +174,7 @@ import com.rootly.client.model.UpdateVictorOpsIncidentTaskParams; import com.rootly.client.model.UpdateZendeskTicketTaskParams; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -197,7 +215,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewWorkflowTaskDataAttributesTaskParams.class.getName()); @@ -248,6 +266,7 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterCreateGoogleMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleMeetingTaskParams.class)); final TypeAdapter adapterCreateGoToMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoToMeetingTaskParams.class)); final TypeAdapter adapterCreateIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateIncidentTaskParams.class)); + final TypeAdapter adapterCreateSubIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSubIncidentTaskParams.class)); final TypeAdapter adapterCreateIncidentPostmortemTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateIncidentPostmortemTaskParams.class)); final TypeAdapter adapterCreateJiraIssueTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJiraIssueTaskParams.class)); final TypeAdapter adapterCreateJiraSubtaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJiraSubtaskTaskParams.class)); @@ -256,14 +275,22 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterCreateLinearIssueCommentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateLinearIssueCommentTaskParams.class)); final TypeAdapter adapterCreateMicrosoftTeamsMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsMeetingTaskParams.class)); final TypeAdapter adapterCreateMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChannelTaskParams.class)); + final TypeAdapter adapterCreateMicrosoftTeamsChatTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChatTaskParams.class)); final TypeAdapter adapterAddMicrosoftTeamsTabTaskParams = gson.getDelegateAdapter(this, TypeToken.get(AddMicrosoftTeamsTabTaskParams.class)); + final TypeAdapter adapterAddMicrosoftTeamsChatTabTaskParams = gson.getDelegateAdapter(this, TypeToken.get(AddMicrosoftTeamsChatTabTaskParams.class)); final TypeAdapter adapterArchiveMicrosoftTeamsChannelsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(ArchiveMicrosoftTeamsChannelsTaskParams.class)); final TypeAdapter adapterRenameMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RenameMicrosoftTeamsChannelTaskParams.class)); final TypeAdapter adapterInviteToMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(InviteToMicrosoftTeamsChannelTaskParams.class)); final TypeAdapter adapterCreateNotionPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateNotionPageTaskParams.class)); final TypeAdapter adapterSendMicrosoftTeamsMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsMessageTaskParams.class)); + final TypeAdapter adapterSendMicrosoftTeamsChatMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsChatMessageTaskParams.class)); final TypeAdapter adapterSendMicrosoftTeamsBlocksTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsBlocksTaskParams.class)); final TypeAdapter adapterUpdateNotionPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateNotionPageTaskParams.class)); + final TypeAdapter adapterUpdateQuipPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateQuipPageTaskParams.class)); + final TypeAdapter adapterUpdateConfluencePageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateConfluencePageTaskParams.class)); + final TypeAdapter adapterUpdateSharepointPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSharepointPageTaskParams.class)); + final TypeAdapter adapterUpdateDropboxPaperPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateDropboxPaperPageTaskParams.class)); + final TypeAdapter adapterUpdateDatadogNotebookTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateDatadogNotebookTaskParams.class)); final TypeAdapter adapterCreateServiceNowIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateServiceNowIncidentTaskParams.class)); final TypeAdapter adapterCreateShortcutStoryTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateShortcutStoryTaskParams.class)); final TypeAdapter adapterCreateShortcutTaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateShortcutTaskTaskParams.class)); @@ -286,6 +313,8 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterInviteToSlackChannelVictorOpsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(InviteToSlackChannelVictorOpsTaskParams.class)); final TypeAdapter adapterPageOpsgenieOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageOpsgenieOnCallRespondersTaskParams.class)); final TypeAdapter adapterCreateOpsgenieAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateOpsgenieAlertTaskParams.class)); + final TypeAdapter adapterCreateJsmopsAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJsmopsAlertTaskParams.class)); + final TypeAdapter adapterPageJsmopsOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageJsmopsOnCallRespondersTaskParams.class)); final TypeAdapter adapterUpdateOpsgenieAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateOpsgenieAlertTaskParams.class)); final TypeAdapter adapterUpdateOpsgenieIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateOpsgenieIncidentTaskParams.class)); final TypeAdapter adapterPageRootlyOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageRootlyOnCallRespondersTaskParams.class)); @@ -330,8 +359,11 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterUpdateAttachedAlertsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateAttachedAlertsTaskParams.class)); final TypeAdapter adapterTriggerWorkflowTaskParams = gson.getDelegateAdapter(this, TypeToken.get(TriggerWorkflowTaskParams.class)); final TypeAdapter adapterSendSlackBlocksTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSlackBlocksTaskParams.class)); - final TypeAdapter adapterGeniusCreateOpenaiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(GeniusCreateOpenaiChatCompletionTaskParams.class)); - final TypeAdapter adapterGeniusCreateWatsonxChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(GeniusCreateWatsonxChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateOpenaiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateOpenaiChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateWatsonxChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateWatsonxChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateGoogleGeminiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleGeminiChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateMistralChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMistralChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateAnthropicChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateAnthropicChatCompletionTaskParams.class)); return (TypeAdapter) new TypeAdapter() { @Override @@ -575,6 +607,12 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateSubIncidentTaskParams` + if (value.getActualInstance() instanceof CreateSubIncidentTaskParams) { + JsonElement element = adapterCreateSubIncidentTaskParams.toJsonTree((CreateSubIncidentTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `CreateIncidentPostmortemTaskParams` if (value.getActualInstance() instanceof CreateIncidentPostmortemTaskParams) { JsonElement element = adapterCreateIncidentPostmortemTaskParams.toJsonTree((CreateIncidentPostmortemTaskParams)value.getActualInstance()); @@ -623,12 +661,24 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateMicrosoftTeamsChatTaskParams` + if (value.getActualInstance() instanceof CreateMicrosoftTeamsChatTaskParams) { + JsonElement element = adapterCreateMicrosoftTeamsChatTaskParams.toJsonTree((CreateMicrosoftTeamsChatTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `AddMicrosoftTeamsTabTaskParams` if (value.getActualInstance() instanceof AddMicrosoftTeamsTabTaskParams) { JsonElement element = adapterAddMicrosoftTeamsTabTaskParams.toJsonTree((AddMicrosoftTeamsTabTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `AddMicrosoftTeamsChatTabTaskParams` + if (value.getActualInstance() instanceof AddMicrosoftTeamsChatTabTaskParams) { + JsonElement element = adapterAddMicrosoftTeamsChatTabTaskParams.toJsonTree((AddMicrosoftTeamsChatTabTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `ArchiveMicrosoftTeamsChannelsTaskParams` if (value.getActualInstance() instanceof ArchiveMicrosoftTeamsChannelsTaskParams) { JsonElement element = adapterArchiveMicrosoftTeamsChannelsTaskParams.toJsonTree((ArchiveMicrosoftTeamsChannelsTaskParams)value.getActualInstance()); @@ -659,6 +709,12 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `SendMicrosoftTeamsChatMessageTaskParams` + if (value.getActualInstance() instanceof SendMicrosoftTeamsChatMessageTaskParams) { + JsonElement element = adapterSendMicrosoftTeamsChatMessageTaskParams.toJsonTree((SendMicrosoftTeamsChatMessageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `SendMicrosoftTeamsBlocksTaskParams` if (value.getActualInstance() instanceof SendMicrosoftTeamsBlocksTaskParams) { JsonElement element = adapterSendMicrosoftTeamsBlocksTaskParams.toJsonTree((SendMicrosoftTeamsBlocksTaskParams)value.getActualInstance()); @@ -671,6 +727,36 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `UpdateQuipPageTaskParams` + if (value.getActualInstance() instanceof UpdateQuipPageTaskParams) { + JsonElement element = adapterUpdateQuipPageTaskParams.toJsonTree((UpdateQuipPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateConfluencePageTaskParams` + if (value.getActualInstance() instanceof UpdateConfluencePageTaskParams) { + JsonElement element = adapterUpdateConfluencePageTaskParams.toJsonTree((UpdateConfluencePageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateSharepointPageTaskParams` + if (value.getActualInstance() instanceof UpdateSharepointPageTaskParams) { + JsonElement element = adapterUpdateSharepointPageTaskParams.toJsonTree((UpdateSharepointPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateDropboxPaperPageTaskParams` + if (value.getActualInstance() instanceof UpdateDropboxPaperPageTaskParams) { + JsonElement element = adapterUpdateDropboxPaperPageTaskParams.toJsonTree((UpdateDropboxPaperPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateDatadogNotebookTaskParams` + if (value.getActualInstance() instanceof UpdateDatadogNotebookTaskParams) { + JsonElement element = adapterUpdateDatadogNotebookTaskParams.toJsonTree((UpdateDatadogNotebookTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `CreateServiceNowIncidentTaskParams` if (value.getActualInstance() instanceof CreateServiceNowIncidentTaskParams) { JsonElement element = adapterCreateServiceNowIncidentTaskParams.toJsonTree((CreateServiceNowIncidentTaskParams)value.getActualInstance()); @@ -803,6 +889,18 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateJsmopsAlertTaskParams` + if (value.getActualInstance() instanceof CreateJsmopsAlertTaskParams) { + JsonElement element = adapterCreateJsmopsAlertTaskParams.toJsonTree((CreateJsmopsAlertTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `PageJsmopsOnCallRespondersTaskParams` + if (value.getActualInstance() instanceof PageJsmopsOnCallRespondersTaskParams) { + JsonElement element = adapterPageJsmopsOnCallRespondersTaskParams.toJsonTree((PageJsmopsOnCallRespondersTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `UpdateOpsgenieAlertTaskParams` if (value.getActualInstance() instanceof UpdateOpsgenieAlertTaskParams) { JsonElement element = adapterUpdateOpsgenieAlertTaskParams.toJsonTree((UpdateOpsgenieAlertTaskParams)value.getActualInstance()); @@ -1067,19 +1165,37 @@ public void write(JsonWriter out, NewWorkflowTaskDataAttributesTaskParams value) elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `GeniusCreateOpenaiChatCompletionTaskParams` - if (value.getActualInstance() instanceof GeniusCreateOpenaiChatCompletionTaskParams) { - JsonElement element = adapterGeniusCreateOpenaiChatCompletionTaskParams.toJsonTree((GeniusCreateOpenaiChatCompletionTaskParams)value.getActualInstance()); + // check if the actual instance is of the type `CreateOpenaiChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateOpenaiChatCompletionTaskParams) { + JsonElement element = adapterCreateOpenaiChatCompletionTaskParams.toJsonTree((CreateOpenaiChatCompletionTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CreateWatsonxChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateWatsonxChatCompletionTaskParams) { + JsonElement element = adapterCreateWatsonxChatCompletionTaskParams.toJsonTree((CreateWatsonxChatCompletionTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CreateGoogleGeminiChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateGoogleGeminiChatCompletionTaskParams) { + JsonElement element = adapterCreateGoogleGeminiChatCompletionTaskParams.toJsonTree((CreateGoogleGeminiChatCompletionTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CreateMistralChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateMistralChatCompletionTaskParams) { + JsonElement element = adapterCreateMistralChatCompletionTaskParams.toJsonTree((CreateMistralChatCompletionTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `GeniusCreateWatsonxChatCompletionTaskParams` - if (value.getActualInstance() instanceof GeniusCreateWatsonxChatCompletionTaskParams) { - JsonElement element = adapterGeniusCreateWatsonxChatCompletionTaskParams.toJsonTree((GeniusCreateWatsonxChatCompletionTaskParams)value.getActualInstance()); + // check if the actual instance is of the type `CreateAnthropicChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateAnthropicChatCompletionTaskParams) { + JsonElement element = adapterCreateAnthropicChatCompletionTaskParams.toJsonTree((CreateAnthropicChatCompletionTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, 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, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } @Override @@ -1559,6 +1675,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for CreateIncidentTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateIncidentTaskParams'", e); } + // deserialize CreateSubIncidentTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateSubIncidentTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateSubIncidentTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateSubIncidentTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateSubIncidentTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateSubIncidentTaskParams'", e); + } // deserialize CreateIncidentPostmortemTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1655,6 +1783,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateMicrosoftTeamsChannelTaskParams'", e); } + // deserialize CreateMicrosoftTeamsChatTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateMicrosoftTeamsChatTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateMicrosoftTeamsChatTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateMicrosoftTeamsChatTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChatTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateMicrosoftTeamsChatTaskParams'", e); + } // deserialize AddMicrosoftTeamsTabTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1667,6 +1807,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsTabTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'AddMicrosoftTeamsTabTaskParams'", e); } + // deserialize AddMicrosoftTeamsChatTabTaskParams + try { + // validate the JSON object to see if any exception is thrown + AddMicrosoftTeamsChatTabTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterAddMicrosoftTeamsChatTabTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'AddMicrosoftTeamsChatTabTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsChatTabTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AddMicrosoftTeamsChatTabTaskParams'", e); + } // deserialize ArchiveMicrosoftTeamsChannelsTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1727,6 +1879,18 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsMessageTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'SendMicrosoftTeamsMessageTaskParams'", e); } + // deserialize SendMicrosoftTeamsChatMessageTaskParams + try { + // validate the JSON object to see if any exception is thrown + SendMicrosoftTeamsChatMessageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterSendMicrosoftTeamsChatMessageTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'SendMicrosoftTeamsChatMessageTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsChatMessageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'SendMicrosoftTeamsChatMessageTaskParams'", e); + } // deserialize SendMicrosoftTeamsBlocksTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1751,6 +1915,66 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for UpdateNotionPageTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'UpdateNotionPageTaskParams'", e); } + // deserialize UpdateQuipPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateQuipPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateQuipPageTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateQuipPageTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateQuipPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateQuipPageTaskParams'", e); + } + // deserialize UpdateConfluencePageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateConfluencePageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateConfluencePageTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateConfluencePageTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateConfluencePageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateConfluencePageTaskParams'", e); + } + // deserialize UpdateSharepointPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateSharepointPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateSharepointPageTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateSharepointPageTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateSharepointPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateSharepointPageTaskParams'", e); + } + // deserialize UpdateDropboxPaperPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateDropboxPaperPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateDropboxPaperPageTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateDropboxPaperPageTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateDropboxPaperPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateDropboxPaperPageTaskParams'", e); + } + // deserialize UpdateDatadogNotebookTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateDatadogNotebookTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateDatadogNotebookTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'UpdateDatadogNotebookTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateDatadogNotebookTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateDatadogNotebookTaskParams'", e); + } // deserialize CreateServiceNowIncidentTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2015,6 +2239,30 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for CreateOpsgenieAlertTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateOpsgenieAlertTaskParams'", e); } + // deserialize CreateJsmopsAlertTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateJsmopsAlertTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateJsmopsAlertTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateJsmopsAlertTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateJsmopsAlertTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateJsmopsAlertTaskParams'", e); + } + // deserialize PageJsmopsOnCallRespondersTaskParams + try { + // validate the JSON object to see if any exception is thrown + PageJsmopsOnCallRespondersTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterPageJsmopsOnCallRespondersTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'PageJsmopsOnCallRespondersTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for PageJsmopsOnCallRespondersTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'PageJsmopsOnCallRespondersTaskParams'", e); + } // deserialize UpdateOpsgenieAlertTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2543,29 +2791,65 @@ public NewWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOExce errorMessages.add(String.format("Deserialization for SendSlackBlocksTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'SendSlackBlocksTaskParams'", e); } - // deserialize GeniusCreateOpenaiChatCompletionTaskParams + // deserialize CreateOpenaiChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateOpenaiChatCompletionTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateOpenaiChatCompletionTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateOpenaiChatCompletionTaskParams'", e); + } + // deserialize CreateWatsonxChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateWatsonxChatCompletionTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateWatsonxChatCompletionTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateWatsonxChatCompletionTaskParams'", e); + } + // deserialize CreateGoogleGeminiChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateGoogleGeminiChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateGoogleGeminiChatCompletionTaskParams; + match++; + log.log(Level.FINER, "Input data matches schema 'CreateGoogleGeminiChatCompletionTaskParams'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateGoogleGeminiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateGoogleGeminiChatCompletionTaskParams'", e); + } + // deserialize CreateMistralChatCompletionTaskParams try { // validate the JSON object to see if any exception is thrown - GeniusCreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); - actualAdapter = adapterGeniusCreateOpenaiChatCompletionTaskParams; + CreateMistralChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateMistralChatCompletionTaskParams; match++; - log.log(Level.FINER, "Input data matches schema 'GeniusCreateOpenaiChatCompletionTaskParams'"); + log.log(Level.FINER, "Input data matches schema 'CreateMistralChatCompletionTaskParams'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for GeniusCreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'GeniusCreateOpenaiChatCompletionTaskParams'", e); + errorMessages.add(String.format("Deserialization for CreateMistralChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateMistralChatCompletionTaskParams'", e); } - // deserialize GeniusCreateWatsonxChatCompletionTaskParams + // deserialize CreateAnthropicChatCompletionTaskParams try { // validate the JSON object to see if any exception is thrown - GeniusCreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); - actualAdapter = adapterGeniusCreateWatsonxChatCompletionTaskParams; + CreateAnthropicChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateAnthropicChatCompletionTaskParams; match++; - log.log(Level.FINER, "Input data matches schema 'GeniusCreateWatsonxChatCompletionTaskParams'"); + log.log(Level.FINER, "Input data matches schema 'CreateAnthropicChatCompletionTaskParams'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for GeniusCreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'GeniusCreateWatsonxChatCompletionTaskParams'", e); + errorMessages.add(String.format("Deserialization for CreateAnthropicChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateAnthropicChatCompletionTaskParams'", e); } if (match == 1) { @@ -2632,6 +2916,7 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("CreateGoogleMeetingTaskParams", CreateGoogleMeetingTaskParams.class); schemas.put("CreateGoToMeetingTaskParams", CreateGoToMeetingTaskParams.class); schemas.put("CreateIncidentTaskParams", CreateIncidentTaskParams.class); + schemas.put("CreateSubIncidentTaskParams", CreateSubIncidentTaskParams.class); schemas.put("CreateIncidentPostmortemTaskParams", CreateIncidentPostmortemTaskParams.class); schemas.put("CreateJiraIssueTaskParams", CreateJiraIssueTaskParams.class); schemas.put("CreateJiraSubtaskTaskParams", CreateJiraSubtaskTaskParams.class); @@ -2640,14 +2925,22 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("CreateLinearIssueCommentTaskParams", CreateLinearIssueCommentTaskParams.class); schemas.put("CreateMicrosoftTeamsMeetingTaskParams", CreateMicrosoftTeamsMeetingTaskParams.class); schemas.put("CreateMicrosoftTeamsChannelTaskParams", CreateMicrosoftTeamsChannelTaskParams.class); + schemas.put("CreateMicrosoftTeamsChatTaskParams", CreateMicrosoftTeamsChatTaskParams.class); schemas.put("AddMicrosoftTeamsTabTaskParams", AddMicrosoftTeamsTabTaskParams.class); + schemas.put("AddMicrosoftTeamsChatTabTaskParams", AddMicrosoftTeamsChatTabTaskParams.class); schemas.put("ArchiveMicrosoftTeamsChannelsTaskParams", ArchiveMicrosoftTeamsChannelsTaskParams.class); schemas.put("RenameMicrosoftTeamsChannelTaskParams", RenameMicrosoftTeamsChannelTaskParams.class); schemas.put("InviteToMicrosoftTeamsChannelTaskParams", InviteToMicrosoftTeamsChannelTaskParams.class); schemas.put("CreateNotionPageTaskParams", CreateNotionPageTaskParams.class); schemas.put("SendMicrosoftTeamsMessageTaskParams", SendMicrosoftTeamsMessageTaskParams.class); + schemas.put("SendMicrosoftTeamsChatMessageTaskParams", SendMicrosoftTeamsChatMessageTaskParams.class); schemas.put("SendMicrosoftTeamsBlocksTaskParams", SendMicrosoftTeamsBlocksTaskParams.class); schemas.put("UpdateNotionPageTaskParams", UpdateNotionPageTaskParams.class); + schemas.put("UpdateQuipPageTaskParams", UpdateQuipPageTaskParams.class); + schemas.put("UpdateConfluencePageTaskParams", UpdateConfluencePageTaskParams.class); + schemas.put("UpdateSharepointPageTaskParams", UpdateSharepointPageTaskParams.class); + schemas.put("UpdateDropboxPaperPageTaskParams", UpdateDropboxPaperPageTaskParams.class); + schemas.put("UpdateDatadogNotebookTaskParams", UpdateDatadogNotebookTaskParams.class); schemas.put("CreateServiceNowIncidentTaskParams", CreateServiceNowIncidentTaskParams.class); schemas.put("CreateShortcutStoryTaskParams", CreateShortcutStoryTaskParams.class); schemas.put("CreateShortcutTaskTaskParams", CreateShortcutTaskTaskParams.class); @@ -2670,6 +2963,8 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("InviteToSlackChannelVictorOpsTaskParams", InviteToSlackChannelVictorOpsTaskParams.class); schemas.put("PageOpsgenieOnCallRespondersTaskParams", PageOpsgenieOnCallRespondersTaskParams.class); schemas.put("CreateOpsgenieAlertTaskParams", CreateOpsgenieAlertTaskParams.class); + schemas.put("CreateJsmopsAlertTaskParams", CreateJsmopsAlertTaskParams.class); + schemas.put("PageJsmopsOnCallRespondersTaskParams", PageJsmopsOnCallRespondersTaskParams.class); schemas.put("UpdateOpsgenieAlertTaskParams", UpdateOpsgenieAlertTaskParams.class); schemas.put("UpdateOpsgenieIncidentTaskParams", UpdateOpsgenieIncidentTaskParams.class); schemas.put("PageRootlyOnCallRespondersTaskParams", PageRootlyOnCallRespondersTaskParams.class); @@ -2714,8 +3009,11 @@ public NewWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("UpdateAttachedAlertsTaskParams", UpdateAttachedAlertsTaskParams.class); schemas.put("TriggerWorkflowTaskParams", TriggerWorkflowTaskParams.class); schemas.put("SendSlackBlocksTaskParams", SendSlackBlocksTaskParams.class); - schemas.put("GeniusCreateOpenaiChatCompletionTaskParams", GeniusCreateOpenaiChatCompletionTaskParams.class); - schemas.put("GeniusCreateWatsonxChatCompletionTaskParams", GeniusCreateWatsonxChatCompletionTaskParams.class); + schemas.put("CreateOpenaiChatCompletionTaskParams", CreateOpenaiChatCompletionTaskParams.class); + schemas.put("CreateWatsonxChatCompletionTaskParams", CreateWatsonxChatCompletionTaskParams.class); + schemas.put("CreateGoogleGeminiChatCompletionTaskParams", CreateGoogleGeminiChatCompletionTaskParams.class); + schemas.put("CreateMistralChatCompletionTaskParams", CreateMistralChatCompletionTaskParams.class); + schemas.put("CreateAnthropicChatCompletionTaskParams", CreateAnthropicChatCompletionTaskParams.class); } @Override @@ -2726,7 +3024,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, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * * It could be an instance of the 'oneOf' schemas. */ @@ -2927,6 +3225,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateSubIncidentTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof CreateIncidentPostmortemTaskParams) { super.setActualInstance(instance); return; @@ -2967,11 +3270,21 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateMicrosoftTeamsChatTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof AddMicrosoftTeamsTabTaskParams) { super.setActualInstance(instance); return; } + if (instance instanceof AddMicrosoftTeamsChatTabTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof ArchiveMicrosoftTeamsChannelsTaskParams) { super.setActualInstance(instance); return; @@ -2997,6 +3310,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof SendMicrosoftTeamsChatMessageTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof SendMicrosoftTeamsBlocksTaskParams) { super.setActualInstance(instance); return; @@ -3007,6 +3325,31 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof UpdateQuipPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateConfluencePageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateSharepointPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateDropboxPaperPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateDatadogNotebookTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof CreateServiceNowIncidentTaskParams) { super.setActualInstance(instance); return; @@ -3117,6 +3460,16 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateJsmopsAlertTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof PageJsmopsOnCallRespondersTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof UpdateOpsgenieAlertTaskParams) { super.setActualInstance(instance); return; @@ -3337,24 +3690,39 @@ public void setActualInstance(Object instance) { return; } - if (instance instanceof GeniusCreateOpenaiChatCompletionTaskParams) { + if (instance instanceof CreateOpenaiChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CreateWatsonxChatCompletionTaskParams) { super.setActualInstance(instance); return; } - if (instance instanceof GeniusCreateWatsonxChatCompletionTaskParams) { + if (instance instanceof CreateGoogleGeminiChatCompletionTaskParams) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + if (instance instanceof CreateMistralChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CreateAnthropicChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } /** * Get the actual instance, which can be the following: - * AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, 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, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) + * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) */ @SuppressWarnings("unchecked") @Override @@ -3791,6 +4159,17 @@ public CreateIncidentTaskParams getCreateIncidentTaskParams() throws ClassCastEx return (CreateIncidentTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateSubIncidentTaskParams`. If the actual instance is not `CreateSubIncidentTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateSubIncidentTaskParams` + * @throws ClassCastException if the instance is not `CreateSubIncidentTaskParams` + */ + public CreateSubIncidentTaskParams getCreateSubIncidentTaskParams() throws ClassCastException { + return (CreateSubIncidentTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `CreateIncidentPostmortemTaskParams`. If the actual instance is not `CreateIncidentPostmortemTaskParams`, * the ClassCastException will be thrown. @@ -3879,6 +4258,17 @@ public CreateMicrosoftTeamsChannelTaskParams getCreateMicrosoftTeamsChannelTaskP return (CreateMicrosoftTeamsChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateMicrosoftTeamsChatTaskParams`. If the actual instance is not `CreateMicrosoftTeamsChatTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateMicrosoftTeamsChatTaskParams` + * @throws ClassCastException if the instance is not `CreateMicrosoftTeamsChatTaskParams` + */ + public CreateMicrosoftTeamsChatTaskParams getCreateMicrosoftTeamsChatTaskParams() throws ClassCastException { + return (CreateMicrosoftTeamsChatTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `AddMicrosoftTeamsTabTaskParams`. If the actual instance is not `AddMicrosoftTeamsTabTaskParams`, * the ClassCastException will be thrown. @@ -3890,6 +4280,17 @@ public AddMicrosoftTeamsTabTaskParams getAddMicrosoftTeamsTabTaskParams() throws return (AddMicrosoftTeamsTabTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `AddMicrosoftTeamsChatTabTaskParams`. If the actual instance is not `AddMicrosoftTeamsChatTabTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AddMicrosoftTeamsChatTabTaskParams` + * @throws ClassCastException if the instance is not `AddMicrosoftTeamsChatTabTaskParams` + */ + public AddMicrosoftTeamsChatTabTaskParams getAddMicrosoftTeamsChatTabTaskParams() throws ClassCastException { + return (AddMicrosoftTeamsChatTabTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `ArchiveMicrosoftTeamsChannelsTaskParams`. If the actual instance is not `ArchiveMicrosoftTeamsChannelsTaskParams`, * the ClassCastException will be thrown. @@ -3945,6 +4346,17 @@ public SendMicrosoftTeamsMessageTaskParams getSendMicrosoftTeamsMessageTaskParam return (SendMicrosoftTeamsMessageTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `SendMicrosoftTeamsChatMessageTaskParams`. If the actual instance is not `SendMicrosoftTeamsChatMessageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `SendMicrosoftTeamsChatMessageTaskParams` + * @throws ClassCastException if the instance is not `SendMicrosoftTeamsChatMessageTaskParams` + */ + public SendMicrosoftTeamsChatMessageTaskParams getSendMicrosoftTeamsChatMessageTaskParams() throws ClassCastException { + return (SendMicrosoftTeamsChatMessageTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `SendMicrosoftTeamsBlocksTaskParams`. If the actual instance is not `SendMicrosoftTeamsBlocksTaskParams`, * the ClassCastException will be thrown. @@ -3967,6 +4379,61 @@ public UpdateNotionPageTaskParams getUpdateNotionPageTaskParams() throws ClassCa return (UpdateNotionPageTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `UpdateQuipPageTaskParams`. If the actual instance is not `UpdateQuipPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateQuipPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateQuipPageTaskParams` + */ + public UpdateQuipPageTaskParams getUpdateQuipPageTaskParams() throws ClassCastException { + return (UpdateQuipPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateConfluencePageTaskParams`. If the actual instance is not `UpdateConfluencePageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateConfluencePageTaskParams` + * @throws ClassCastException if the instance is not `UpdateConfluencePageTaskParams` + */ + public UpdateConfluencePageTaskParams getUpdateConfluencePageTaskParams() throws ClassCastException { + return (UpdateConfluencePageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateSharepointPageTaskParams`. If the actual instance is not `UpdateSharepointPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateSharepointPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateSharepointPageTaskParams` + */ + public UpdateSharepointPageTaskParams getUpdateSharepointPageTaskParams() throws ClassCastException { + return (UpdateSharepointPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateDropboxPaperPageTaskParams`. If the actual instance is not `UpdateDropboxPaperPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateDropboxPaperPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateDropboxPaperPageTaskParams` + */ + public UpdateDropboxPaperPageTaskParams getUpdateDropboxPaperPageTaskParams() throws ClassCastException { + return (UpdateDropboxPaperPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateDatadogNotebookTaskParams`. If the actual instance is not `UpdateDatadogNotebookTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateDatadogNotebookTaskParams` + * @throws ClassCastException if the instance is not `UpdateDatadogNotebookTaskParams` + */ + public UpdateDatadogNotebookTaskParams getUpdateDatadogNotebookTaskParams() throws ClassCastException { + return (UpdateDatadogNotebookTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `CreateServiceNowIncidentTaskParams`. If the actual instance is not `CreateServiceNowIncidentTaskParams`, * the ClassCastException will be thrown. @@ -4209,6 +4676,28 @@ public CreateOpsgenieAlertTaskParams getCreateOpsgenieAlertTaskParams() throws C return (CreateOpsgenieAlertTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateJsmopsAlertTaskParams`. If the actual instance is not `CreateJsmopsAlertTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateJsmopsAlertTaskParams` + * @throws ClassCastException if the instance is not `CreateJsmopsAlertTaskParams` + */ + public CreateJsmopsAlertTaskParams getCreateJsmopsAlertTaskParams() throws ClassCastException { + return (CreateJsmopsAlertTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `PageJsmopsOnCallRespondersTaskParams`. If the actual instance is not `PageJsmopsOnCallRespondersTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `PageJsmopsOnCallRespondersTaskParams` + * @throws ClassCastException if the instance is not `PageJsmopsOnCallRespondersTaskParams` + */ + public PageJsmopsOnCallRespondersTaskParams getPageJsmopsOnCallRespondersTaskParams() throws ClassCastException { + return (PageJsmopsOnCallRespondersTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `UpdateOpsgenieAlertTaskParams`. If the actual instance is not `UpdateOpsgenieAlertTaskParams`, * the ClassCastException will be thrown. @@ -4694,25 +5183,58 @@ public SendSlackBlocksTaskParams getSendSlackBlocksTaskParams() throws ClassCast } /** - * Get the actual instance of `GeniusCreateOpenaiChatCompletionTaskParams`. If the actual instance is not `GeniusCreateOpenaiChatCompletionTaskParams`, + * Get the actual instance of `CreateOpenaiChatCompletionTaskParams`. If the actual instance is not `CreateOpenaiChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateOpenaiChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateOpenaiChatCompletionTaskParams` + */ + public CreateOpenaiChatCompletionTaskParams getCreateOpenaiChatCompletionTaskParams() throws ClassCastException { + return (CreateOpenaiChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateWatsonxChatCompletionTaskParams`. If the actual instance is not `CreateWatsonxChatCompletionTaskParams`, * the ClassCastException will be thrown. * - * @return The actual instance of `GeniusCreateOpenaiChatCompletionTaskParams` - * @throws ClassCastException if the instance is not `GeniusCreateOpenaiChatCompletionTaskParams` + * @return The actual instance of `CreateWatsonxChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateWatsonxChatCompletionTaskParams` */ - public GeniusCreateOpenaiChatCompletionTaskParams getGeniusCreateOpenaiChatCompletionTaskParams() throws ClassCastException { - return (GeniusCreateOpenaiChatCompletionTaskParams)super.getActualInstance(); + public CreateWatsonxChatCompletionTaskParams getCreateWatsonxChatCompletionTaskParams() throws ClassCastException { + return (CreateWatsonxChatCompletionTaskParams)super.getActualInstance(); } /** - * Get the actual instance of `GeniusCreateWatsonxChatCompletionTaskParams`. If the actual instance is not `GeniusCreateWatsonxChatCompletionTaskParams`, + * Get the actual instance of `CreateGoogleGeminiChatCompletionTaskParams`. If the actual instance is not `CreateGoogleGeminiChatCompletionTaskParams`, * the ClassCastException will be thrown. * - * @return The actual instance of `GeniusCreateWatsonxChatCompletionTaskParams` - * @throws ClassCastException if the instance is not `GeniusCreateWatsonxChatCompletionTaskParams` + * @return The actual instance of `CreateGoogleGeminiChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateGoogleGeminiChatCompletionTaskParams` */ - public GeniusCreateWatsonxChatCompletionTaskParams getGeniusCreateWatsonxChatCompletionTaskParams() throws ClassCastException { - return (GeniusCreateWatsonxChatCompletionTaskParams)super.getActualInstance(); + public CreateGoogleGeminiChatCompletionTaskParams getCreateGoogleGeminiChatCompletionTaskParams() throws ClassCastException { + return (CreateGoogleGeminiChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateMistralChatCompletionTaskParams`. If the actual instance is not `CreateMistralChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateMistralChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateMistralChatCompletionTaskParams` + */ + public CreateMistralChatCompletionTaskParams getCreateMistralChatCompletionTaskParams() throws ClassCastException { + return (CreateMistralChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateAnthropicChatCompletionTaskParams`. If the actual instance is not `CreateAnthropicChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateAnthropicChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateAnthropicChatCompletionTaskParams` + */ + public CreateAnthropicChatCompletionTaskParams getCreateAnthropicChatCompletionTaskParams() throws ClassCastException { + return (CreateAnthropicChatCompletionTaskParams)super.getActualInstance(); } /** @@ -5037,6 +5559,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateIncidentTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateSubIncidentTaskParams + try { + CreateSubIncidentTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateSubIncidentTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with CreateIncidentPostmortemTaskParams try { CreateIncidentPostmortemTaskParams.validateJsonElement(jsonElement); @@ -5101,6 +5631,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateMicrosoftTeamsChatTaskParams + try { + CreateMicrosoftTeamsChatTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChatTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with AddMicrosoftTeamsTabTaskParams try { AddMicrosoftTeamsTabTaskParams.validateJsonElement(jsonElement); @@ -5109,6 +5647,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsTabTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with AddMicrosoftTeamsChatTabTaskParams + try { + AddMicrosoftTeamsChatTabTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsChatTabTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with ArchiveMicrosoftTeamsChannelsTaskParams try { ArchiveMicrosoftTeamsChannelsTaskParams.validateJsonElement(jsonElement); @@ -5149,6 +5695,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsMessageTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with SendMicrosoftTeamsChatMessageTaskParams + try { + SendMicrosoftTeamsChatMessageTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsChatMessageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with SendMicrosoftTeamsBlocksTaskParams try { SendMicrosoftTeamsBlocksTaskParams.validateJsonElement(jsonElement); @@ -5165,6 +5719,46 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for UpdateNotionPageTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with UpdateQuipPageTaskParams + try { + UpdateQuipPageTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateQuipPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateConfluencePageTaskParams + try { + UpdateConfluencePageTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateConfluencePageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateSharepointPageTaskParams + try { + UpdateSharepointPageTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateSharepointPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateDropboxPaperPageTaskParams + try { + UpdateDropboxPaperPageTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateDropboxPaperPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateDatadogNotebookTaskParams + try { + UpdateDatadogNotebookTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateDatadogNotebookTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with CreateServiceNowIncidentTaskParams try { CreateServiceNowIncidentTaskParams.validateJsonElement(jsonElement); @@ -5341,6 +5935,22 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateOpsgenieAlertTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateJsmopsAlertTaskParams + try { + CreateJsmopsAlertTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateJsmopsAlertTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with PageJsmopsOnCallRespondersTaskParams + try { + PageJsmopsOnCallRespondersTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for PageJsmopsOnCallRespondersTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with UpdateOpsgenieAlertTaskParams try { UpdateOpsgenieAlertTaskParams.validateJsonElement(jsonElement); @@ -5693,24 +6303,48 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for SendSlackBlocksTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with GeniusCreateOpenaiChatCompletionTaskParams + // validate the json string with CreateOpenaiChatCompletionTaskParams + try { + CreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateWatsonxChatCompletionTaskParams + try { + CreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateGoogleGeminiChatCompletionTaskParams + try { + CreateGoogleGeminiChatCompletionTaskParams.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateGoogleGeminiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateMistralChatCompletionTaskParams try { - GeniusCreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + CreateMistralChatCompletionTaskParams.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for GeniusCreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for CreateMistralChatCompletionTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with GeniusCreateWatsonxChatCompletionTaskParams + // validate the json string with CreateAnthropicChatCompletionTaskParams try { - GeniusCreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + CreateAnthropicChatCompletionTaskParams.validateJsonElement(jsonElement); validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for GeniusCreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for CreateAnthropicChatCompletionTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } if (validCount != 1) { - throw new IOException(String.format("The JSON string is invalid for NewWorkflowTaskDataAttributesTaskParams with oneOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, 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, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, 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())); } } diff --git a/src/main/java/com/rootly/client/model/OnCallPayReport.java b/src/main/java/com/rootly/client/model/OnCallPayReport.java new file mode 100644 index 00000000..650a10ed --- /dev/null +++ b/src/main/java/com/rootly/client/model/OnCallPayReport.java @@ -0,0 +1,873 @@ +/* + * 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.net.URI; +import java.time.LocalDate; +import java.time.OffsetDateTime; +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; + +/** + * OnCallPayReport + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class OnCallPayReport { + /** + * The current status of the report. + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + PROCESSING("processing"), + + GENERATED("generated"), + + DOWNLOADED("downloaded"); + + 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) + @javax.annotation.Nonnull + private StatusEnum status; + + public static final String SERIALIZED_NAME_START_DATE = "start_date"; + @SerializedName(SERIALIZED_NAME_START_DATE) + @javax.annotation.Nonnull + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + @javax.annotation.Nonnull + private LocalDate endDate; + + public static final String SERIALIZED_NAME_TOTAL_DURATION = "total_duration"; + @SerializedName(SERIALIZED_NAME_TOTAL_DURATION) + @javax.annotation.Nullable + private Integer totalDuration; + + public static final String SERIALIZED_NAME_USERS_COUNT = "users_count"; + @SerializedName(SERIALIZED_NAME_USERS_COUNT) + @javax.annotation.Nullable + private Integer usersCount; + + public static final String SERIALIZED_NAME_CURRENCY = "currency"; + @SerializedName(SERIALIZED_NAME_CURRENCY) + @javax.annotation.Nullable + private String currency; + + /** + * The pay calculation type. + */ + @JsonAdapter(PayTypeEnum.Adapter.class) + public enum PayTypeEnum { + HOURLY("hourly"), + + DAILY("daily"); + + private String value; + + PayTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PayTypeEnum fromValue(String value) { + for (PayTypeEnum b : PayTypeEnum.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 PayTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PayTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PayTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PayTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PAY_TYPE = "pay_type"; + @SerializedName(SERIALIZED_NAME_PAY_TYPE) + @javax.annotation.Nullable + private PayTypeEnum payType; + + public static final String SERIALIZED_NAME_HOURLY_RATE_CENTS = "hourly_rate_cents"; + @SerializedName(SERIALIZED_NAME_HOURLY_RATE_CENTS) + @javax.annotation.Nullable + private Integer hourlyRateCents; + + public static final String SERIALIZED_NAME_DAILY_RATE_CENTS = "daily_rate_cents"; + @SerializedName(SERIALIZED_NAME_DAILY_RATE_CENTS) + @javax.annotation.Nullable + private Integer dailyRateCents; + + public static final String SERIALIZED_NAME_TOTAL_PAY_CENTS = "total_pay_cents"; + @SerializedName(SERIALIZED_NAME_TOTAL_PAY_CENTS) + @javax.annotation.Nullable + private Integer totalPayCents; + + public static final String SERIALIZED_NAME_INCLUDE_SHADOW = "include_shadow"; + @SerializedName(SERIALIZED_NAME_INCLUDE_SHADOW) + @javax.annotation.Nullable + private Boolean includeShadow; + + public static final String SERIALIZED_NAME_SHOW_INDIVIDUAL_SHIFT_DATA = "show_individual_shift_data"; + @SerializedName(SERIALIZED_NAME_SHOW_INDIVIDUAL_SHIFT_DATA) + @javax.annotation.Nullable + private Boolean showIndividualShiftData; + + public static final String SERIALIZED_NAME_HAS_SINGLE_RATE = "has_single_rate"; + @SerializedName(SERIALIZED_NAME_HAS_SINGLE_RATE) + @javax.annotation.Nullable + private Boolean hasSingleRate; + + public static final String SERIALIZED_NAME_ENABLED_GRANULAR_TIME_BREAKDOWN = "enabled_granular_time_breakdown"; + @SerializedName(SERIALIZED_NAME_ENABLED_GRANULAR_TIME_BREAKDOWN) + @javax.annotation.Nullable + private Boolean enabledGranularTimeBreakdown; + + public static final String SERIALIZED_NAME_LAST_GENERATED_AT = "last_generated_at"; + @SerializedName(SERIALIZED_NAME_LAST_GENERATED_AT) + @javax.annotation.Nullable + private OffsetDateTime lastGeneratedAt; + + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @javax.annotation.Nullable + private String timeZone; + + public static final String SERIALIZED_NAME_CSV_FILE_URL = "csv_file_url"; + @SerializedName(SERIALIZED_NAME_CSV_FILE_URL) + @javax.annotation.Nullable + private URI csvFileUrl; + + public static final String SERIALIZED_NAME_XLSX_FILE_URL = "xlsx_file_url"; + @SerializedName(SERIALIZED_NAME_XLSX_FILE_URL) + @javax.annotation.Nullable + private URI xlsxFileUrl; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private OffsetDateTime createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private OffsetDateTime updatedAt; + + public OnCallPayReport() { + } + + public OnCallPayReport status(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + return this; + } + + /** + * The current status of the report. + * @return status + */ + @javax.annotation.Nonnull + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nonnull StatusEnum status) { + this.status = status; + } + + + public OnCallPayReport startDate(@javax.annotation.Nonnull LocalDate startDate) { + this.startDate = startDate; + return this; + } + + /** + * The start date of the report period. + * @return startDate + */ + @javax.annotation.Nonnull + public LocalDate getStartDate() { + return startDate; + } + + public void setStartDate(@javax.annotation.Nonnull LocalDate startDate) { + this.startDate = startDate; + } + + + public OnCallPayReport endDate(@javax.annotation.Nonnull LocalDate endDate) { + this.endDate = endDate; + return this; + } + + /** + * The end date of the report period. + * @return endDate + */ + @javax.annotation.Nonnull + public LocalDate getEndDate() { + return endDate; + } + + public void setEndDate(@javax.annotation.Nonnull LocalDate endDate) { + this.endDate = endDate; + } + + + public OnCallPayReport totalDuration(@javax.annotation.Nullable Integer totalDuration) { + this.totalDuration = totalDuration; + return this; + } + + /** + * Total on-call duration in seconds. + * @return totalDuration + */ + @javax.annotation.Nullable + public Integer getTotalDuration() { + return totalDuration; + } + + public void setTotalDuration(@javax.annotation.Nullable Integer totalDuration) { + this.totalDuration = totalDuration; + } + + + public OnCallPayReport usersCount(@javax.annotation.Nullable Integer usersCount) { + this.usersCount = usersCount; + return this; + } + + /** + * Number of users included in the report. + * @return usersCount + */ + @javax.annotation.Nullable + public Integer getUsersCount() { + return usersCount; + } + + public void setUsersCount(@javax.annotation.Nullable Integer usersCount) { + this.usersCount = usersCount; + } + + + public OnCallPayReport currency(@javax.annotation.Nullable String currency) { + this.currency = currency; + return this; + } + + /** + * The currency code for monetary values. + * @return currency + */ + @javax.annotation.Nullable + public String getCurrency() { + return currency; + } + + public void setCurrency(@javax.annotation.Nullable String currency) { + this.currency = currency; + } + + + public OnCallPayReport payType(@javax.annotation.Nullable PayTypeEnum payType) { + this.payType = payType; + return this; + } + + /** + * The pay calculation type. + * @return payType + */ + @javax.annotation.Nullable + public PayTypeEnum getPayType() { + return payType; + } + + public void setPayType(@javax.annotation.Nullable PayTypeEnum payType) { + this.payType = payType; + } + + + public OnCallPayReport hourlyRateCents(@javax.annotation.Nullable Integer hourlyRateCents) { + this.hourlyRateCents = hourlyRateCents; + return this; + } + + /** + * Hourly pay rate in cents. + * @return hourlyRateCents + */ + @javax.annotation.Nullable + public Integer getHourlyRateCents() { + return hourlyRateCents; + } + + public void setHourlyRateCents(@javax.annotation.Nullable Integer hourlyRateCents) { + this.hourlyRateCents = hourlyRateCents; + } + + + public OnCallPayReport dailyRateCents(@javax.annotation.Nullable Integer dailyRateCents) { + this.dailyRateCents = dailyRateCents; + return this; + } + + /** + * Daily pay rate in cents. + * @return dailyRateCents + */ + @javax.annotation.Nullable + public Integer getDailyRateCents() { + return dailyRateCents; + } + + public void setDailyRateCents(@javax.annotation.Nullable Integer dailyRateCents) { + this.dailyRateCents = dailyRateCents; + } + + + public OnCallPayReport totalPayCents(@javax.annotation.Nullable Integer totalPayCents) { + this.totalPayCents = totalPayCents; + return this; + } + + /** + * Total pay amount in cents. + * @return totalPayCents + */ + @javax.annotation.Nullable + public Integer getTotalPayCents() { + return totalPayCents; + } + + public void setTotalPayCents(@javax.annotation.Nullable Integer totalPayCents) { + this.totalPayCents = totalPayCents; + } + + + public OnCallPayReport includeShadow(@javax.annotation.Nullable Boolean includeShadow) { + this.includeShadow = includeShadow; + return this; + } + + /** + * Whether shadow shifts are included. + * @return includeShadow + */ + @javax.annotation.Nullable + public Boolean getIncludeShadow() { + return includeShadow; + } + + public void setIncludeShadow(@javax.annotation.Nullable Boolean includeShadow) { + this.includeShadow = includeShadow; + } + + + public OnCallPayReport showIndividualShiftData(@javax.annotation.Nullable Boolean showIndividualShiftData) { + this.showIndividualShiftData = showIndividualShiftData; + return this; + } + + /** + * Whether individual shift data is shown. + * @return showIndividualShiftData + */ + @javax.annotation.Nullable + public Boolean getShowIndividualShiftData() { + return showIndividualShiftData; + } + + public void setShowIndividualShiftData(@javax.annotation.Nullable Boolean showIndividualShiftData) { + this.showIndividualShiftData = showIndividualShiftData; + } + + + public OnCallPayReport hasSingleRate(@javax.annotation.Nullable Boolean hasSingleRate) { + this.hasSingleRate = hasSingleRate; + return this; + } + + /** + * Whether a single rate is applied to all users. + * @return hasSingleRate + */ + @javax.annotation.Nullable + public Boolean getHasSingleRate() { + return hasSingleRate; + } + + public void setHasSingleRate(@javax.annotation.Nullable Boolean hasSingleRate) { + this.hasSingleRate = hasSingleRate; + } + + + public OnCallPayReport enabledGranularTimeBreakdown(@javax.annotation.Nullable Boolean enabledGranularTimeBreakdown) { + this.enabledGranularTimeBreakdown = enabledGranularTimeBreakdown; + return this; + } + + /** + * Whether granular time breakdown is enabled. + * @return enabledGranularTimeBreakdown + */ + @javax.annotation.Nullable + public Boolean getEnabledGranularTimeBreakdown() { + return enabledGranularTimeBreakdown; + } + + public void setEnabledGranularTimeBreakdown(@javax.annotation.Nullable Boolean enabledGranularTimeBreakdown) { + this.enabledGranularTimeBreakdown = enabledGranularTimeBreakdown; + } + + + public OnCallPayReport lastGeneratedAt(@javax.annotation.Nullable OffsetDateTime lastGeneratedAt) { + this.lastGeneratedAt = lastGeneratedAt; + return this; + } + + /** + * When the report was last generated. + * @return lastGeneratedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getLastGeneratedAt() { + return lastGeneratedAt; + } + + public void setLastGeneratedAt(@javax.annotation.Nullable OffsetDateTime lastGeneratedAt) { + this.lastGeneratedAt = lastGeneratedAt; + } + + + public OnCallPayReport timeZone(@javax.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * The team's IANA timezone used to interpret start_date and end_date. + * @return timeZone + */ + @javax.annotation.Nullable + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(@javax.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + } + + + public OnCallPayReport csvFileUrl(@javax.annotation.Nullable URI csvFileUrl) { + this.csvFileUrl = csvFileUrl; + return this; + } + + /** + * Download URL for the generated CSV report. Null until the report is generated. + * @return csvFileUrl + */ + @javax.annotation.Nullable + public URI getCsvFileUrl() { + return csvFileUrl; + } + + public void setCsvFileUrl(@javax.annotation.Nullable URI csvFileUrl) { + this.csvFileUrl = csvFileUrl; + } + + + public OnCallPayReport xlsxFileUrl(@javax.annotation.Nullable URI xlsxFileUrl) { + this.xlsxFileUrl = xlsxFileUrl; + return this; + } + + /** + * Download URL for the generated XLSX report. Null until the report is generated. + * @return xlsxFileUrl + */ + @javax.annotation.Nullable + public URI getXlsxFileUrl() { + return xlsxFileUrl; + } + + public void setXlsxFileUrl(@javax.annotation.Nullable URI xlsxFileUrl) { + this.xlsxFileUrl = xlsxFileUrl; + } + + + public OnCallPayReport createdAt(@javax.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nonnull + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull OffsetDateTime createdAt) { + this.createdAt = createdAt; + } + + + public OnCallPayReport updatedAt(@javax.annotation.Nonnull OffsetDateTime updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @javax.annotation.Nonnull + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + OnCallPayReport onCallPayReport = (OnCallPayReport) o; + return Objects.equals(this.status, onCallPayReport.status) && + Objects.equals(this.startDate, onCallPayReport.startDate) && + Objects.equals(this.endDate, onCallPayReport.endDate) && + Objects.equals(this.totalDuration, onCallPayReport.totalDuration) && + Objects.equals(this.usersCount, onCallPayReport.usersCount) && + Objects.equals(this.currency, onCallPayReport.currency) && + Objects.equals(this.payType, onCallPayReport.payType) && + Objects.equals(this.hourlyRateCents, onCallPayReport.hourlyRateCents) && + Objects.equals(this.dailyRateCents, onCallPayReport.dailyRateCents) && + Objects.equals(this.totalPayCents, onCallPayReport.totalPayCents) && + Objects.equals(this.includeShadow, onCallPayReport.includeShadow) && + Objects.equals(this.showIndividualShiftData, onCallPayReport.showIndividualShiftData) && + Objects.equals(this.hasSingleRate, onCallPayReport.hasSingleRate) && + Objects.equals(this.enabledGranularTimeBreakdown, onCallPayReport.enabledGranularTimeBreakdown) && + Objects.equals(this.lastGeneratedAt, onCallPayReport.lastGeneratedAt) && + Objects.equals(this.timeZone, onCallPayReport.timeZone) && + Objects.equals(this.csvFileUrl, onCallPayReport.csvFileUrl) && + Objects.equals(this.xlsxFileUrl, onCallPayReport.xlsxFileUrl) && + Objects.equals(this.createdAt, onCallPayReport.createdAt) && + Objects.equals(this.updatedAt, onCallPayReport.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(status, startDate, endDate, totalDuration, usersCount, currency, payType, hourlyRateCents, dailyRateCents, totalPayCents, includeShadow, showIndividualShiftData, hasSingleRate, enabledGranularTimeBreakdown, lastGeneratedAt, timeZone, csvFileUrl, xlsxFileUrl, 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 OnCallPayReport {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" totalDuration: ").append(toIndentedString(totalDuration)).append("\n"); + sb.append(" usersCount: ").append(toIndentedString(usersCount)).append("\n"); + sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); + sb.append(" payType: ").append(toIndentedString(payType)).append("\n"); + sb.append(" hourlyRateCents: ").append(toIndentedString(hourlyRateCents)).append("\n"); + sb.append(" dailyRateCents: ").append(toIndentedString(dailyRateCents)).append("\n"); + sb.append(" totalPayCents: ").append(toIndentedString(totalPayCents)).append("\n"); + sb.append(" includeShadow: ").append(toIndentedString(includeShadow)).append("\n"); + sb.append(" showIndividualShiftData: ").append(toIndentedString(showIndividualShiftData)).append("\n"); + sb.append(" hasSingleRate: ").append(toIndentedString(hasSingleRate)).append("\n"); + sb.append(" enabledGranularTimeBreakdown: ").append(toIndentedString(enabledGranularTimeBreakdown)).append("\n"); + sb.append(" lastGeneratedAt: ").append(toIndentedString(lastGeneratedAt)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); + sb.append(" csvFileUrl: ").append(toIndentedString(csvFileUrl)).append("\n"); + sb.append(" xlsxFileUrl: ").append(toIndentedString(xlsxFileUrl)).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"); + openapiFields.add("start_date"); + openapiFields.add("end_date"); + openapiFields.add("total_duration"); + openapiFields.add("users_count"); + openapiFields.add("currency"); + openapiFields.add("pay_type"); + openapiFields.add("hourly_rate_cents"); + openapiFields.add("daily_rate_cents"); + openapiFields.add("total_pay_cents"); + openapiFields.add("include_shadow"); + openapiFields.add("show_individual_shift_data"); + openapiFields.add("has_single_rate"); + openapiFields.add("enabled_granular_time_breakdown"); + openapiFields.add("last_generated_at"); + openapiFields.add("time_zone"); + openapiFields.add("csv_file_url"); + openapiFields.add("xlsx_file_url"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("status"); + openapiRequiredFields.add("start_date"); + openapiRequiredFields.add("end_date"); + 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 OnCallPayReport + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!OnCallPayReport.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in OnCallPayReport is not found in the empty JSON string", OnCallPayReport.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!OnCallPayReport.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `OnCallPayReport` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : OnCallPayReport.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").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("currency") != null && !jsonObj.get("currency").isJsonNull()) && !jsonObj.get("currency").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `currency` to be a primitive type in the JSON string but got `%s`", jsonObj.get("currency").toString())); + } + if ((jsonObj.get("pay_type") != null && !jsonObj.get("pay_type").isJsonNull()) && !jsonObj.get("pay_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `pay_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("pay_type").toString())); + } + // validate the optional field `pay_type` + if (jsonObj.get("pay_type") != null && !jsonObj.get("pay_type").isJsonNull()) { + PayTypeEnum.validateJsonElement(jsonObj.get("pay_type")); + } + 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())); + } + if ((jsonObj.get("csv_file_url") != null && !jsonObj.get("csv_file_url").isJsonNull()) && !jsonObj.get("csv_file_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `csv_file_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("csv_file_url").toString())); + } + if ((jsonObj.get("xlsx_file_url") != null && !jsonObj.get("xlsx_file_url").isJsonNull()) && !jsonObj.get("xlsx_file_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `xlsx_file_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("xlsx_file_url").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!OnCallPayReport.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'OnCallPayReport' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(OnCallPayReport.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, OnCallPayReport value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public OnCallPayReport read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of OnCallPayReport given an JSON string + * + * @param jsonString JSON string + * @return An instance of OnCallPayReport + * @throws IOException if the JSON string is invalid with respect to OnCallPayReport + */ + public static OnCallPayReport fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, OnCallPayReport.class); + } + + /** + * Convert an instance of OnCallPayReport 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/OnCallPayReportList.java b/src/main/java/com/rootly/client/model/OnCallPayReportList.java new file mode 100644 index 00000000..e5a1a67f --- /dev/null +++ b/src/main/java/com/rootly/client/model/OnCallPayReportList.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 com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.OnCallPayReportResponseData; +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; + +/** + * OnCallPayReportList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class OnCallPayReportList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public OnCallPayReportList() { + } + + public OnCallPayReportList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public OnCallPayReportList addDataItem(OnCallPayReportResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public OnCallPayReportList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public OnCallPayReportList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallPayReportList onCallPayReportList = (OnCallPayReportList) o; + return Objects.equals(this.data, onCallPayReportList.data) && + Objects.equals(this.links, onCallPayReportList.links) && + Objects.equals(this.meta, onCallPayReportList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallPayReportList {\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("}"); + 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"); + + // 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 OnCallPayReportList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!OnCallPayReportList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in OnCallPayReportList is not found in the empty JSON string", OnCallPayReportList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!OnCallPayReportList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `OnCallPayReportList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : OnCallPayReportList.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++) { + OnCallPayReportResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!OnCallPayReportList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'OnCallPayReportList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(OnCallPayReportList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, OnCallPayReportList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public OnCallPayReportList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of OnCallPayReportList given an JSON string + * + * @param jsonString JSON string + * @return An instance of OnCallPayReportList + * @throws IOException if the JSON string is invalid with respect to OnCallPayReportList + */ + public static OnCallPayReportList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, OnCallPayReportList.class); + } + + /** + * Convert an instance of OnCallPayReportList 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/OnCallPayReportResponse.java b/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java new file mode 100644 index 00000000..bc70e8a1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/OnCallPayReportResponse.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.OnCallPayReportResponseData; +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; + +/** + * OnCallPayReportResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class OnCallPayReportResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private OnCallPayReportResponseData data; + + public OnCallPayReportResponse() { + } + + public OnCallPayReportResponse data(@javax.annotation.Nonnull OnCallPayReportResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public OnCallPayReportResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull OnCallPayReportResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallPayReportResponse onCallPayReportResponse = (OnCallPayReportResponse) o; + return Objects.equals(this.data, onCallPayReportResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallPayReportResponse {\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 OnCallPayReportResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!OnCallPayReportResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in OnCallPayReportResponse is not found in the empty JSON string", OnCallPayReportResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!OnCallPayReportResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `OnCallPayReportResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : OnCallPayReportResponse.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` + OnCallPayReportResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!OnCallPayReportResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'OnCallPayReportResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(OnCallPayReportResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, OnCallPayReportResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public OnCallPayReportResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of OnCallPayReportResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of OnCallPayReportResponse + * @throws IOException if the JSON string is invalid with respect to OnCallPayReportResponse + */ + public static OnCallPayReportResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, OnCallPayReportResponse.class); + } + + /** + * Convert an instance of OnCallPayReportResponse 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/OnCallPayReportResponseData.java b/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.java new file mode 100644 index 00000000..b7f927de --- /dev/null +++ b/src/main/java/com/rootly/client/model/OnCallPayReportResponseData.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.OnCallPayReport; +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; + +/** + * OnCallPayReportResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class OnCallPayReportResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ON_CALL_PAY_REPORTS("on_call_pay_reports"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private OnCallPayReport attributes; + + public OnCallPayReportResponseData() { + } + + public OnCallPayReportResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the on_call_pay_report + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public OnCallPayReportResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public OnCallPayReportResponseData attributes(@javax.annotation.Nonnull OnCallPayReport attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public OnCallPayReport getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull OnCallPayReport attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallPayReportResponseData onCallPayReportResponseData = (OnCallPayReportResponseData) o; + return Objects.equals(this.id, onCallPayReportResponseData.id) && + Objects.equals(this.type, onCallPayReportResponseData.type) && + Objects.equals(this.attributes, onCallPayReportResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallPayReportResponseData {\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 OnCallPayReportResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!OnCallPayReportResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in OnCallPayReportResponseData is not found in the empty JSON string", OnCallPayReportResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!OnCallPayReportResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `OnCallPayReportResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : OnCallPayReportResponseData.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` + OnCallPayReport.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!OnCallPayReportResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'OnCallPayReportResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(OnCallPayReportResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, OnCallPayReportResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public OnCallPayReportResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of OnCallPayReportResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of OnCallPayReportResponseData + * @throws IOException if the JSON string is invalid with respect to OnCallPayReportResponseData + */ + public static OnCallPayReportResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, OnCallPayReportResponseData.class); + } + + /** + * Convert an instance of OnCallPayReportResponseData 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/OnCallRole.java b/src/main/java/com/rootly/client/model/OnCallRole.java index 6f0a8aaa..8e605a56 100644 --- a/src/main/java/com/rootly/client/model/OnCallRole.java +++ b/src/main/java/com/rootly/client/model/OnCallRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * OnCallRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRole { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -59,7 +59,7 @@ public class OnCallRole { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; /** @@ -73,6 +73,8 @@ public enum SystemRoleEnum { CUSTOM("custom"), + OBSERVER("observer"), + NO_ACCESS("no_access"); private String value; @@ -120,7 +122,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_SYSTEM_ROLE = "system_role"; @SerializedName(SERIALIZED_NAME_SYSTEM_ROLE) - @javax.annotation.Nonnull + @javax.annotation.Nullable private List systemRole = new ArrayList<>(); /** @@ -130,6 +132,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertSourcesPermissionsEnum { CREATE("create"), + READ("read"), + UPDATE("update"), DELETE("delete"); @@ -243,6 +247,305 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List alertUrgencyPermissions = new ArrayList<>(); + /** + * Gets or Sets alertFieldsPermissions + */ + @JsonAdapter(AlertFieldsPermissionsEnum.Adapter.class) + public enum AlertFieldsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertFieldsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertFieldsPermissionsEnum fromValue(String value) { + for (AlertFieldsPermissionsEnum b : AlertFieldsPermissionsEnum.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 AlertFieldsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertFieldsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS = "alert_fields_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS) + @javax.annotation.Nullable + private List alertFieldsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertGroupsPermissions + */ + @JsonAdapter(AlertGroupsPermissionsEnum.Adapter.class) + public enum AlertGroupsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertGroupsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertGroupsPermissionsEnum fromValue(String value) { + for (AlertGroupsPermissionsEnum b : AlertGroupsPermissionsEnum.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 AlertGroupsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertGroupsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS = "alert_groups_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS) + @javax.annotation.Nullable + private List alertGroupsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertRoutingRulesPermissions + */ + @JsonAdapter(AlertRoutingRulesPermissionsEnum.Adapter.class) + public enum AlertRoutingRulesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertRoutingRulesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertRoutingRulesPermissionsEnum fromValue(String value) { + for (AlertRoutingRulesPermissionsEnum b : AlertRoutingRulesPermissionsEnum.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 AlertRoutingRulesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertRoutingRulesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS = "alert_routing_rules_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS) + @javax.annotation.Nullable + private List alertRoutingRulesPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallReadinessReportPermissions + */ + @JsonAdapter(OnCallReadinessReportPermissionsEnum.Adapter.class) + public enum OnCallReadinessReportPermissionsEnum { + READ("read"); + + private String value; + + OnCallReadinessReportPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallReadinessReportPermissionsEnum fromValue(String value) { + for (OnCallReadinessReportPermissionsEnum b : OnCallReadinessReportPermissionsEnum.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 OnCallReadinessReportPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallReadinessReportPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS = "on_call_readiness_report_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS) + @javax.annotation.Nullable + private List onCallReadinessReportPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallRolesPermissions + */ + @JsonAdapter(OnCallRolesPermissionsEnum.Adapter.class) + public enum OnCallRolesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + OnCallRolesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallRolesPermissionsEnum fromValue(String value) { + for (OnCallRolesPermissionsEnum b : OnCallRolesPermissionsEnum.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 OnCallRolesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallRolesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS = "on_call_roles_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS) + @javax.annotation.Nullable + private List onCallRolesPermissions = new ArrayList<>(); + /** * Gets or Sets alertsPermissions */ @@ -252,7 +555,9 @@ public enum AlertsPermissionsEnum { UPDATE("update"), - READ("read"); + READ("read"), + + DELETE("delete"); private String value; @@ -1178,7 +1483,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public OnCallRole slug(@javax.annotation.Nonnull String slug) { + public OnCallRole slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -1187,17 +1492,17 @@ public OnCallRole slug(@javax.annotation.Nonnull String slug) { * The role slug. * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } - public OnCallRole systemRole(@javax.annotation.Nonnull List systemRole) { + public OnCallRole systemRole(@javax.annotation.Nullable List systemRole) { this.systemRole = systemRole; return this; } @@ -1214,12 +1519,12 @@ public OnCallRole addSystemRoleItem(SystemRoleEnum systemRoleItem) { * The kind of role * @return systemRole */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public List getSystemRole() { return systemRole; } - public void setSystemRole(@javax.annotation.Nonnull List systemRole) { + public void setSystemRole(@javax.annotation.Nullable List systemRole) { this.systemRole = systemRole; } @@ -1278,6 +1583,141 @@ public void setAlertUrgencyPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; + return this; + } + + public OnCallRole addAlertFieldsPermissionsItem(AlertFieldsPermissionsEnum alertFieldsPermissionsItem) { + if (this.alertFieldsPermissions == null) { + this.alertFieldsPermissions = new ArrayList<>(); + } + this.alertFieldsPermissions.add(alertFieldsPermissionsItem); + return this; + } + + /** + * Get alertFieldsPermissions + * @return alertFieldsPermissions + */ + @javax.annotation.Nullable + public List getAlertFieldsPermissions() { + return alertFieldsPermissions; + } + + public void setAlertFieldsPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; + } + + + public OnCallRole alertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + return this; + } + + public OnCallRole addAlertGroupsPermissionsItem(AlertGroupsPermissionsEnum alertGroupsPermissionsItem) { + if (this.alertGroupsPermissions == null) { + this.alertGroupsPermissions = new ArrayList<>(); + } + this.alertGroupsPermissions.add(alertGroupsPermissionsItem); + return this; + } + + /** + * Get alertGroupsPermissions + * @return alertGroupsPermissions + */ + @javax.annotation.Nullable + public List getAlertGroupsPermissions() { + return alertGroupsPermissions; + } + + public void setAlertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + } + + + public OnCallRole alertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + return this; + } + + public OnCallRole addAlertRoutingRulesPermissionsItem(AlertRoutingRulesPermissionsEnum alertRoutingRulesPermissionsItem) { + if (this.alertRoutingRulesPermissions == null) { + this.alertRoutingRulesPermissions = new ArrayList<>(); + } + this.alertRoutingRulesPermissions.add(alertRoutingRulesPermissionsItem); + return this; + } + + /** + * Get alertRoutingRulesPermissions + * @return alertRoutingRulesPermissions + */ + @javax.annotation.Nullable + public List getAlertRoutingRulesPermissions() { + return alertRoutingRulesPermissions; + } + + public void setAlertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + } + + + public OnCallRole onCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + return this; + } + + public OnCallRole addOnCallReadinessReportPermissionsItem(OnCallReadinessReportPermissionsEnum onCallReadinessReportPermissionsItem) { + if (this.onCallReadinessReportPermissions == null) { + this.onCallReadinessReportPermissions = new ArrayList<>(); + } + this.onCallReadinessReportPermissions.add(onCallReadinessReportPermissionsItem); + return this; + } + + /** + * Get onCallReadinessReportPermissions + * @return onCallReadinessReportPermissions + */ + @javax.annotation.Nullable + public List getOnCallReadinessReportPermissions() { + return onCallReadinessReportPermissions; + } + + public void setOnCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + } + + + public OnCallRole onCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; + return this; + } + + public OnCallRole addOnCallRolesPermissionsItem(OnCallRolesPermissionsEnum onCallRolesPermissionsItem) { + if (this.onCallRolesPermissions == null) { + this.onCallRolesPermissions = new ArrayList<>(); + } + this.onCallRolesPermissions.add(onCallRolesPermissionsItem); + return this; + } + + /** + * Get onCallRolesPermissions + * @return onCallRolesPermissions + */ + @javax.annotation.Nullable + public List getOnCallRolesPermissions() { + return onCallRolesPermissions; + } + + public void setOnCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; + } + + public OnCallRole alertsPermissions(@javax.annotation.Nullable List alertsPermissions) { this.alertsPermissions = alertsPermissions; return this; @@ -1736,6 +2176,11 @@ public boolean equals(Object o) { Objects.equals(this.systemRole, onCallRole.systemRole) && Objects.equals(this.alertSourcesPermissions, onCallRole.alertSourcesPermissions) && Objects.equals(this.alertUrgencyPermissions, onCallRole.alertUrgencyPermissions) && + Objects.equals(this.alertFieldsPermissions, onCallRole.alertFieldsPermissions) && + Objects.equals(this.alertGroupsPermissions, onCallRole.alertGroupsPermissions) && + Objects.equals(this.alertRoutingRulesPermissions, onCallRole.alertRoutingRulesPermissions) && + Objects.equals(this.onCallReadinessReportPermissions, onCallRole.onCallReadinessReportPermissions) && + Objects.equals(this.onCallRolesPermissions, onCallRole.onCallRolesPermissions) && Objects.equals(this.alertsPermissions, onCallRole.alertsPermissions) && Objects.equals(this.apiKeysPermissions, onCallRole.apiKeysPermissions) && Objects.equals(this.auditsPermissions, onCallRole.auditsPermissions) && @@ -1757,7 +2202,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, slug, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions, 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, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions, createdAt, updatedAt); } @Override @@ -1769,6 +2214,11 @@ public String toString() { sb.append(" systemRole: ").append(toIndentedString(systemRole)).append("\n"); sb.append(" alertSourcesPermissions: ").append(toIndentedString(alertSourcesPermissions)).append("\n"); sb.append(" alertUrgencyPermissions: ").append(toIndentedString(alertUrgencyPermissions)).append("\n"); + sb.append(" alertFieldsPermissions: ").append(toIndentedString(alertFieldsPermissions)).append("\n"); + sb.append(" alertGroupsPermissions: ").append(toIndentedString(alertGroupsPermissions)).append("\n"); + sb.append(" alertRoutingRulesPermissions: ").append(toIndentedString(alertRoutingRulesPermissions)).append("\n"); + sb.append(" onCallReadinessReportPermissions: ").append(toIndentedString(onCallReadinessReportPermissions)).append("\n"); + sb.append(" onCallRolesPermissions: ").append(toIndentedString(onCallRolesPermissions)).append("\n"); sb.append(" alertsPermissions: ").append(toIndentedString(alertsPermissions)).append("\n"); sb.append(" apiKeysPermissions: ").append(toIndentedString(apiKeysPermissions)).append("\n"); sb.append(" auditsPermissions: ").append(toIndentedString(auditsPermissions)).append("\n"); @@ -1813,6 +2263,11 @@ private String toIndentedString(Object o) { openapiFields.add("system_role"); openapiFields.add("alert_sources_permissions"); openapiFields.add("alert_urgency_permissions"); + openapiFields.add("alert_fields_permissions"); + openapiFields.add("alert_groups_permissions"); + openapiFields.add("alert_routing_rules_permissions"); + openapiFields.add("on_call_readiness_report_permissions"); + openapiFields.add("on_call_roles_permissions"); openapiFields.add("alerts_permissions"); openapiFields.add("api_keys_permissions"); openapiFields.add("audits_permissions"); @@ -1834,8 +2289,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); - openapiRequiredFields.add("system_role"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -1871,13 +2324,11 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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())); } - // ensure the required json array is present - if (jsonObj.get("system_role") == null) { - throw new IllegalArgumentException("Expected the field `linkedContent` to be an array in the JSON string but got `null`"); - } else if (!jsonObj.get("system_role").isJsonArray()) { + // ensure the optional json data is an array if present + if (jsonObj.get("system_role") != null && !jsonObj.get("system_role").isJsonNull() && !jsonObj.get("system_role").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `system_role` to be an array in the JSON string but got `%s`", jsonObj.get("system_role").toString())); } // ensure the optional json data is an array if present @@ -1889,6 +2340,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_urgency_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("alert_fields_permissions") != null && !jsonObj.get("alert_fields_permissions").isJsonNull() && !jsonObj.get("alert_fields_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_fields_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_fields_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_groups_permissions") != null && !jsonObj.get("alert_groups_permissions").isJsonNull() && !jsonObj.get("alert_groups_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_groups_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_groups_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_routing_rules_permissions") != null && !jsonObj.get("alert_routing_rules_permissions").isJsonNull() && !jsonObj.get("alert_routing_rules_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_routing_rules_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_routing_rules_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_readiness_report_permissions") != null && !jsonObj.get("on_call_readiness_report_permissions").isJsonNull() && !jsonObj.get("on_call_readiness_report_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_readiness_report_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_readiness_report_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_roles_permissions") != null && !jsonObj.get("on_call_roles_permissions").isJsonNull() && !jsonObj.get("on_call_roles_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_roles_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_roles_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("alerts_permissions") != null && !jsonObj.get("alerts_permissions").isJsonNull() && !jsonObj.get("alerts_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `alerts_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_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 6ae86e81..71c16ef4 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleList.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OnCallRoleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * OnCallRoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class OnCallRoleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public OnCallRoleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public OnCallRoleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } OnCallRoleList onCallRoleList = (OnCallRoleList) o; return Objects.equals(this.data, onCallRoleList.data) && - Objects.equals(this.links, onCallRoleList.links); + Objects.equals(this.links, onCallRoleList.links) && + Objects.equals(this.meta, onCallRoleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class OnCallRoleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java b/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java index 32c0848b..a91c5dc8 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleRelationship.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * OnCallRoleRelationship */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 505e5dfd..c7954d91 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleRelationshipData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * OnCallRoleRelationshipData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f90a2c28..1250ccbd 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallRoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 306511d7..448d6548 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallRoleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9332a98d..4fc81ccf 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadow.java +++ b/src/main/java/com/rootly/client/model/OnCallShadow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallShadow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9b963871..3d2bf618 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallShadowResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2baf4d17..ce50ac81 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallShadowResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4e227f13..016bc89a 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowsList.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowsList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OnCallShadowsListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * OnCallShadowsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallShadowsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class OnCallShadowsList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public OnCallShadowsList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public OnCallShadowsList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } OnCallShadowsList onCallShadowsList = (OnCallShadowsList) o; return Objects.equals(this.data, onCallShadowsList.data) && - Objects.equals(this.links, onCallShadowsList.links); + Objects.equals(this.links, onCallShadowsList.links) && + Objects.equals(this.meta, onCallShadowsList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class OnCallShadowsList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java b/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java index 2257ed9a..426fa878 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowsListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OnCallShadowsListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/OverrideShift.java b/src/main/java/com/rootly/client/model/OverrideShift.java index 22da159a..bafabc90 100644 --- a/src/main/java/com/rootly/client/model/OverrideShift.java +++ b/src/main/java/com/rootly/client/model/OverrideShift.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * OverrideShift */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -93,6 +93,11 @@ public class OverrideShift { @javax.annotation.Nullable private ShiftOverrideResponse shiftOverride; + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) + @javax.annotation.Nullable + private Integer userId; + public static final String SERIALIZED_NAME_USER = "user"; @SerializedName(SERIALIZED_NAME_USER) @javax.annotation.Nullable @@ -253,6 +258,25 @@ public void setShiftOverride(@javax.annotation.Nullable ShiftOverrideResponse sh } + public OverrideShift userId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + return this; + } + + /** + * Override shift user + * @return userId + */ + @javax.annotation.Nullable + public Integer getUserId() { + return userId; + } + + public void setUserId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + } + + public OverrideShift user(@javax.annotation.Nullable UserResponse user) { this.user = user; return this; @@ -290,6 +314,7 @@ public boolean equals(Object o) { Objects.equals(this.createdAt, overrideShift.createdAt) && Objects.equals(this.updatedAt, overrideShift.updatedAt) && Objects.equals(this.shiftOverride, overrideShift.shiftOverride) && + Objects.equals(this.userId, overrideShift.userId) && Objects.equals(this.user, overrideShift.user); } @@ -299,7 +324,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, createdAt, updatedAt, shiftOverride, user); + return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, createdAt, updatedAt, shiftOverride, userId, user); } private static int hashCodeNullable(JsonNullable a) { @@ -321,6 +346,7 @@ public String toString() { sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append(" shiftOverride: ").append(toIndentedString(shiftOverride)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); sb.append(" user: ").append(toIndentedString(user)).append("\n"); sb.append("}"); return sb.toString(); @@ -352,6 +378,7 @@ private String toIndentedString(Object o) { openapiFields.add("created_at"); openapiFields.add("updated_at"); openapiFields.add("shift_override"); + openapiFields.add("user_id"); openapiFields.add("user"); // a set of required properties/fields (JSON key names) diff --git a/src/main/java/com/rootly/client/model/OverrideShiftList.java b/src/main/java/com/rootly/client/model/OverrideShiftList.java index 97ac1f36..1a63a9b1 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftList.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OverrideShiftResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * OverrideShiftList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OverrideShiftList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class OverrideShiftList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public OverrideShiftList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public OverrideShiftList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } OverrideShiftList overrideShiftList = (OverrideShiftList) o; return Objects.equals(this.data, overrideShiftList.data) && - Objects.equals(this.links, overrideShiftList.links); + Objects.equals(this.links, overrideShiftList.links) && + Objects.equals(this.meta, overrideShiftList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class OverrideShiftList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/OverrideShiftResponse.java b/src/main/java/com/rootly/client/model/OverrideShiftResponse.java index 9b4fca39..911cd9df 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftResponse.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OverrideShiftResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4c662779..e3ad0039 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * OverrideShiftResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..0635e02b --- /dev/null +++ b/src/main/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParams.java @@ -0,0 +1,559 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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; + +/** + * PageJsmopsOnCallRespondersTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PageJsmopsOnCallRespondersTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + PAGE_JSMOPS_ON_CALL_RESPONDERS("page_jsmops_on_call_responders"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @javax.annotation.Nullable + private String message; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_TEAMS = "teams"; + @SerializedName(SERIALIZED_NAME_TEAMS) + @javax.annotation.Nullable + private List teams = new ArrayList<>(); + + public static final String SERIALIZED_NAME_USERS = "users"; + @SerializedName(SERIALIZED_NAME_USERS) + @javax.annotation.Nullable + private List users = new ArrayList<>(); + + /** + * Gets or Sets priority + */ + @JsonAdapter(PriorityEnum.Adapter.class) + public enum PriorityEnum { + P3("P3"), + + P1("P1"), + + P2("P2"), + + P32("P3"), + + P4("P4"), + + P5("P5"), + + AUTO("auto"); + + 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) + @javax.annotation.Nullable + private PriorityEnum priority = PriorityEnum.P3; + + public PageJsmopsOnCallRespondersTaskParams() { + } + + public PageJsmopsOnCallRespondersTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public PageJsmopsOnCallRespondersTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * Incident title. + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public PageJsmopsOnCallRespondersTaskParams message(@javax.annotation.Nullable String message) { + this.message = message; + return this; + } + + /** + * Message of the incident + * @return message + */ + @javax.annotation.Nullable + public String getMessage() { + return message; + } + + public void setMessage(@javax.annotation.Nullable String message) { + this.message = message; + } + + + public PageJsmopsOnCallRespondersTaskParams description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Description field of the incident that is generally used to provide a detailed information about the incident + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public PageJsmopsOnCallRespondersTaskParams teams(@javax.annotation.Nullable List teams) { + this.teams = teams; + return this; + } + + public PageJsmopsOnCallRespondersTaskParams addTeamsItem(AddActionItemTaskParamsPostToSlackChannelsInner teamsItem) { + if (this.teams == null) { + this.teams = new ArrayList<>(); + } + this.teams.add(teamsItem); + return this; + } + + /** + * Get teams + * @return teams + */ + @javax.annotation.Nullable + public List getTeams() { + return teams; + } + + public void setTeams(@javax.annotation.Nullable List teams) { + this.teams = teams; + } + + + public PageJsmopsOnCallRespondersTaskParams users(@javax.annotation.Nullable List users) { + this.users = users; + return this; + } + + public PageJsmopsOnCallRespondersTaskParams addUsersItem(AddActionItemTaskParamsPostToSlackChannelsInner usersItem) { + if (this.users == null) { + this.users = new ArrayList<>(); + } + this.users.add(usersItem); + return this; + } + + /** + * Get users + * @return users + */ + @javax.annotation.Nullable + public List getUsers() { + return users; + } + + public void setUsers(@javax.annotation.Nullable List users) { + this.users = users; + } + + + public PageJsmopsOnCallRespondersTaskParams priority(@javax.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + return this; + } + + /** + * Get priority + * @return priority + */ + @javax.annotation.Nullable + public PriorityEnum getPriority() { + return priority; + } + + public void setPriority(@javax.annotation.Nullable PriorityEnum priority) { + this.priority = priority; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageJsmopsOnCallRespondersTaskParams pageJsmopsOnCallRespondersTaskParams = (PageJsmopsOnCallRespondersTaskParams) o; + return Objects.equals(this.taskType, pageJsmopsOnCallRespondersTaskParams.taskType) && + Objects.equals(this.title, pageJsmopsOnCallRespondersTaskParams.title) && + Objects.equals(this.message, pageJsmopsOnCallRespondersTaskParams.message) && + Objects.equals(this.description, pageJsmopsOnCallRespondersTaskParams.description) && + Objects.equals(this.teams, pageJsmopsOnCallRespondersTaskParams.teams) && + Objects.equals(this.users, pageJsmopsOnCallRespondersTaskParams.users) && + Objects.equals(this.priority, pageJsmopsOnCallRespondersTaskParams.priority); + } + + 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, title, message, description, teams, users, priority); + } + + 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 PageJsmopsOnCallRespondersTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" teams: ").append(toIndentedString(teams)).append("\n"); + sb.append(" users: ").append(toIndentedString(users)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).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("title"); + openapiFields.add("message"); + openapiFields.add("description"); + openapiFields.add("teams"); + openapiFields.add("users"); + openapiFields.add("priority"); + + // 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 PageJsmopsOnCallRespondersTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PageJsmopsOnCallRespondersTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PageJsmopsOnCallRespondersTaskParams is not found in the empty JSON string", PageJsmopsOnCallRespondersTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PageJsmopsOnCallRespondersTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PageJsmopsOnCallRespondersTaskParams` 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("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("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())); + } + 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("teams") != null && !jsonObj.get("teams").isJsonNull()) { + JsonArray jsonArrayteams = jsonObj.getAsJsonArray("teams"); + if (jsonArrayteams != null) { + // ensure the json data is an array + if (!jsonObj.get("teams").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `teams` to be an array in the JSON string but got `%s`", jsonObj.get("teams").toString())); + } + + // validate the optional field `teams` (array) + for (int i = 0; i < jsonArrayteams.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayteams.get(i)); + }; + } + } + if (jsonObj.get("users") != null && !jsonObj.get("users").isJsonNull()) { + JsonArray jsonArrayusers = jsonObj.getAsJsonArray("users"); + if (jsonArrayusers != null) { + // ensure the json data is an array + if (!jsonObj.get("users").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `users` to be an array in the JSON string but got `%s`", jsonObj.get("users").toString())); + } + + // validate the optional field `users` (array) + for (int i = 0; i < jsonArrayusers.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArrayusers.get(i)); + }; + } + } + 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")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PageJsmopsOnCallRespondersTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PageJsmopsOnCallRespondersTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PageJsmopsOnCallRespondersTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PageJsmopsOnCallRespondersTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PageJsmopsOnCallRespondersTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PageJsmopsOnCallRespondersTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of PageJsmopsOnCallRespondersTaskParams + * @throws IOException if the JSON string is invalid with respect to PageJsmopsOnCallRespondersTaskParams + */ + public static PageJsmopsOnCallRespondersTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PageJsmopsOnCallRespondersTaskParams.class); + } + + /** + * Convert an instance of PageJsmopsOnCallRespondersTaskParams 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/PageOpsgenieOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java index abb2bed5..35841763 100644 --- a/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * PageOpsgenieOnCallRespondersTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6685a3e2..ca0f163f 100644 --- a/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * PagePagerdutyOnCallRespondersTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4cb837c4..1a3c6454 100644 --- a/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PageRootlyOnCallRespondersTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageRootlyOnCallRespondersTaskParams { /** * Gets or Sets taskType @@ -126,9 +126,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private AddActionItemTaskParamsPostToSlackChannelsInner groupTarget; + public static final String SERIALIZED_NAME_FUNCTIONALITY_TARGET = "functionality_target"; + @SerializedName(SERIALIZED_NAME_FUNCTIONALITY_TARGET) + @javax.annotation.Nullable + private AddActionItemTaskParamsPostToSlackChannelsInner functionalityTarget; + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) - @javax.annotation.Nullable + @javax.annotation.Nonnull private String alertUrgencyId; public static final String SERIALIZED_NAME_SUMMARY = "summary"; @@ -244,7 +249,26 @@ public void setGroupTarget(@javax.annotation.Nullable AddActionItemTaskParamsPos } - public PageRootlyOnCallRespondersTaskParams alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + public PageRootlyOnCallRespondersTaskParams functionalityTarget(@javax.annotation.Nullable AddActionItemTaskParamsPostToSlackChannelsInner functionalityTarget) { + this.functionalityTarget = functionalityTarget; + return this; + } + + /** + * Get functionalityTarget + * @return functionalityTarget + */ + @javax.annotation.Nullable + public AddActionItemTaskParamsPostToSlackChannelsInner getFunctionalityTarget() { + return functionalityTarget; + } + + public void setFunctionalityTarget(@javax.annotation.Nullable AddActionItemTaskParamsPostToSlackChannelsInner functionalityTarget) { + this.functionalityTarget = functionalityTarget; + } + + + public PageRootlyOnCallRespondersTaskParams alertUrgencyId(@javax.annotation.Nonnull String alertUrgencyId) { this.alertUrgencyId = alertUrgencyId; return this; } @@ -253,12 +277,12 @@ public PageRootlyOnCallRespondersTaskParams alertUrgencyId(@javax.annotation.Nul * Alert urgency ID * @return alertUrgencyId */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public String getAlertUrgencyId() { return alertUrgencyId; } - public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { + public void setAlertUrgencyId(@javax.annotation.Nonnull String alertUrgencyId) { this.alertUrgencyId = alertUrgencyId; } @@ -335,6 +359,7 @@ public boolean equals(Object o) { Objects.equals(this.serviceTarget, pageRootlyOnCallRespondersTaskParams.serviceTarget) && Objects.equals(this.userTarget, pageRootlyOnCallRespondersTaskParams.userTarget) && Objects.equals(this.groupTarget, pageRootlyOnCallRespondersTaskParams.groupTarget) && + Objects.equals(this.functionalityTarget, pageRootlyOnCallRespondersTaskParams.functionalityTarget) && Objects.equals(this.alertUrgencyId, pageRootlyOnCallRespondersTaskParams.alertUrgencyId) && Objects.equals(this.summary, pageRootlyOnCallRespondersTaskParams.summary) && Objects.equals(this.description, pageRootlyOnCallRespondersTaskParams.description) && @@ -343,7 +368,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(taskType, escalationPolicyTarget, serviceTarget, userTarget, groupTarget, alertUrgencyId, summary, description, escalationNote); + return Objects.hash(taskType, escalationPolicyTarget, serviceTarget, userTarget, groupTarget, functionalityTarget, alertUrgencyId, summary, description, escalationNote); } @Override @@ -355,6 +380,7 @@ public String toString() { sb.append(" serviceTarget: ").append(toIndentedString(serviceTarget)).append("\n"); sb.append(" userTarget: ").append(toIndentedString(userTarget)).append("\n"); sb.append(" groupTarget: ").append(toIndentedString(groupTarget)).append("\n"); + sb.append(" functionalityTarget: ").append(toIndentedString(functionalityTarget)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" summary: ").append(toIndentedString(summary)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); @@ -386,6 +412,7 @@ private String toIndentedString(Object o) { openapiFields.add("service_target"); openapiFields.add("user_target"); openapiFields.add("group_target"); + openapiFields.add("functionality_target"); openapiFields.add("alert_urgency_id"); openapiFields.add("summary"); openapiFields.add("description"); @@ -393,6 +420,7 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("alert_urgency_id"); openapiRequiredFields.add("summary"); } @@ -447,7 +475,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("group_target") != null && !jsonObj.get("group_target").isJsonNull()) { AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonObj.get("group_target")); } - if ((jsonObj.get("alert_urgency_id") != null && !jsonObj.get("alert_urgency_id").isJsonNull()) && !jsonObj.get("alert_urgency_id").isJsonPrimitive()) { + // validate the optional field `functionality_target` + if (jsonObj.get("functionality_target") != null && !jsonObj.get("functionality_target").isJsonNull()) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonObj.get("functionality_target")); + } + 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())); } if (!jsonObj.get("summary").isJsonPrimitive()) { diff --git a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java index b948f354..0bf369c8 100644 --- a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * PageVictorOpsOnCallRespondersTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageVictorOpsOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PatchAlertRoute.java b/src/main/java/com/rootly/client/model/PatchAlertRoute.java new file mode 100644 index 00000000..519df22e --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRoute.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.PatchAlertRouteData; +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; + +/** + * PatchAlertRoute + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRoute { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private PatchAlertRouteData data; + + public PatchAlertRoute() { + } + + public PatchAlertRoute data(@javax.annotation.Nonnull PatchAlertRouteData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public PatchAlertRouteData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull PatchAlertRouteData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRoute patchAlertRoute = (PatchAlertRoute) o; + return Objects.equals(this.data, patchAlertRoute.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRoute {\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 PatchAlertRoute + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRoute.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRoute is not found in the empty JSON string", PatchAlertRoute.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRoute.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRoute` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PatchAlertRoute.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` + PatchAlertRouteData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRoute.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRoute' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRoute.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRoute value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRoute read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRoute given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRoute + * @throws IOException if the JSON string is invalid with respect to PatchAlertRoute + */ + public static PatchAlertRoute fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRoute.class); + } + + /** + * Convert an instance of PatchAlertRoute 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/PatchAlertRouteData.java b/src/main/java/com/rootly/client/model/PatchAlertRouteData.java new file mode 100644 index 00000000..598e2e05 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteData.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.PatchAlertRouteDataAttributes; +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; + +/** + * PatchAlertRouteData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_ROUTES("alert_routes"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private PatchAlertRouteDataAttributes attributes; + + public PatchAlertRouteData() { + } + + public PatchAlertRouteData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public PatchAlertRouteData attributes(@javax.annotation.Nonnull PatchAlertRouteDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public PatchAlertRouteDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull PatchAlertRouteDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRouteData patchAlertRouteData = (PatchAlertRouteData) o; + return Objects.equals(this.type, patchAlertRouteData.type) && + Objects.equals(this.attributes, patchAlertRouteData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRouteData {\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 PatchAlertRouteData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteData is not found in the empty JSON string", PatchAlertRouteData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : PatchAlertRouteData.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` + PatchAlertRouteDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRouteData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteData given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteData + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteData + */ + public static PatchAlertRouteData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteData.class); + } + + /** + * Convert an instance of PatchAlertRouteData 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/PatchAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java new file mode 100644 index 00000000..b797cee7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.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.PatchAlertRouteDataAttributesRulesInner; +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; + +/** + * PatchAlertRouteDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @javax.annotation.Nullable + private Boolean enabled; + + public static final String SERIALIZED_NAME_ALERTS_SOURCE_IDS = "alerts_source_ids"; + @SerializedName(SERIALIZED_NAME_ALERTS_SOURCE_IDS) + @javax.annotation.Nullable + private List alertsSourceIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNING_TEAM_IDS = "owning_team_ids"; + @SerializedName(SERIALIZED_NAME_OWNING_TEAM_IDS) + @javax.annotation.Nullable + private List owningTeamIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + @javax.annotation.Nullable + private List rules = new ArrayList<>(); + + public PatchAlertRouteDataAttributes() { + } + + public PatchAlertRouteDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the alert route + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public PatchAlertRouteDataAttributes enabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the alert route is enabled + * @return enabled + */ + @javax.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public PatchAlertRouteDataAttributes alertsSourceIds(@javax.annotation.Nullable List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + return this; + } + + public PatchAlertRouteDataAttributes addAlertsSourceIdsItem(UUID alertsSourceIdsItem) { + if (this.alertsSourceIds == null) { + this.alertsSourceIds = new ArrayList<>(); + } + this.alertsSourceIds.add(alertsSourceIdsItem); + return this; + } + + /** + * Get alertsSourceIds + * @return alertsSourceIds + */ + @javax.annotation.Nullable + public List getAlertsSourceIds() { + return alertsSourceIds; + } + + public void setAlertsSourceIds(@javax.annotation.Nullable List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + } + + + public PatchAlertRouteDataAttributes owningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + return this; + } + + public PatchAlertRouteDataAttributes addOwningTeamIdsItem(UUID owningTeamIdsItem) { + if (this.owningTeamIds == null) { + this.owningTeamIds = new ArrayList<>(); + } + this.owningTeamIds.add(owningTeamIdsItem); + return this; + } + + /** + * Get owningTeamIds + * @return owningTeamIds + */ + @javax.annotation.Nullable + public List getOwningTeamIds() { + return owningTeamIds; + } + + public void setOwningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + } + + + public PatchAlertRouteDataAttributes rules(@javax.annotation.Nullable List rules) { + this.rules = rules; + return this; + } + + public PatchAlertRouteDataAttributes addRulesItem(PatchAlertRouteDataAttributesRulesInner rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList<>(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Get rules + * @return rules + */ + @javax.annotation.Nullable + public List getRules() { + return rules; + } + + public void setRules(@javax.annotation.Nullable List rules) { + this.rules = rules; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRouteDataAttributes patchAlertRouteDataAttributes = (PatchAlertRouteDataAttributes) o; + return Objects.equals(this.name, patchAlertRouteDataAttributes.name) && + Objects.equals(this.enabled, patchAlertRouteDataAttributes.enabled) && + Objects.equals(this.alertsSourceIds, patchAlertRouteDataAttributes.alertsSourceIds) && + Objects.equals(this.owningTeamIds, patchAlertRouteDataAttributes.owningTeamIds) && + Objects.equals(this.rules, patchAlertRouteDataAttributes.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, enabled, alertsSourceIds, owningTeamIds, rules); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRouteDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" alertsSourceIds: ").append(toIndentedString(alertsSourceIds)).append("\n"); + sb.append(" owningTeamIds: ").append(toIndentedString(owningTeamIds)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).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("alerts_source_ids"); + openapiFields.add("owning_team_ids"); + openapiFields.add("rules"); + + // 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 PatchAlertRouteDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteDataAttributes is not found in the empty JSON string", PatchAlertRouteDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteDataAttributes` 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())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alerts_source_ids") != null && !jsonObj.get("alerts_source_ids").isJsonNull() && !jsonObj.get("alerts_source_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alerts_source_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_source_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("owning_team_ids") != null && !jsonObj.get("owning_team_ids").isJsonNull() && !jsonObj.get("owning_team_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owning_team_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owning_team_ids").toString())); + } + if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { + JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); + if (jsonArrayrules != null) { + // ensure the json data is an array + if (!jsonObj.get("rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString())); + } + + // validate the optional field `rules` (array) + for (int i = 0; i < jsonArrayrules.size(); i++) { + PatchAlertRouteDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRouteDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteDataAttributes + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteDataAttributes + */ + public static PatchAlertRouteDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteDataAttributes.class); + } + + /** + * Convert an instance of PatchAlertRouteDataAttributes 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/PatchAlertRouteDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java new file mode 100644 index 00000000..c1d5d80e --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInner.java @@ -0,0 +1,420 @@ +/* + * 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.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner; +import com.rootly.client.model.PatchAlertRouteDataAttributesRulesInnerDestinationsInner; +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; + +/** + * PatchAlertRouteDataAttributesRulesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteDataAttributesRulesInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_DESTROY = "_destroy"; + @SerializedName(SERIALIZED_NAME_DESTROY) + @javax.annotation.Nullable + private Boolean destroy; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_FALLBACK_RULE = "fallback_rule"; + @SerializedName(SERIALIZED_NAME_FALLBACK_RULE) + @javax.annotation.Nullable + private Boolean fallbackRule = false; + + public static final String SERIALIZED_NAME_DESTINATIONS = "destinations"; + @SerializedName(SERIALIZED_NAME_DESTINATIONS) + @javax.annotation.Nullable + private List destinations = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CONDITION_GROUPS = "condition_groups"; + @SerializedName(SERIALIZED_NAME_CONDITION_GROUPS) + @javax.annotation.Nullable + private List conditionGroups = new ArrayList<>(); + + public PatchAlertRouteDataAttributesRulesInner() { + } + + public PatchAlertRouteDataAttributesRulesInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the alert routing rule. Required for updating or deleting existing rules. + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public PatchAlertRouteDataAttributesRulesInner destroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + return this; + } + + /** + * Set to true to delete this rule. When true, only the id field is required. + * @return destroy + */ + @javax.annotation.Nullable + public Boolean getDestroy() { + return destroy; + } + + public void setDestroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + } + + + public PatchAlertRouteDataAttributesRulesInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the alert routing rule + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public PatchAlertRouteDataAttributesRulesInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public PatchAlertRouteDataAttributesRulesInner fallbackRule(@javax.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + return this; + } + + /** + * Whether this is a fallback rule + * @return fallbackRule + */ + @javax.annotation.Nullable + public Boolean getFallbackRule() { + return fallbackRule; + } + + public void setFallbackRule(@javax.annotation.Nullable Boolean fallbackRule) { + this.fallbackRule = fallbackRule; + } + + + public PatchAlertRouteDataAttributesRulesInner destinations(@javax.annotation.Nullable List destinations) { + this.destinations = destinations; + return this; + } + + public PatchAlertRouteDataAttributesRulesInner addDestinationsItem(PatchAlertRouteDataAttributesRulesInnerDestinationsInner destinationsItem) { + if (this.destinations == null) { + this.destinations = new ArrayList<>(); + } + this.destinations.add(destinationsItem); + return this; + } + + /** + * Get destinations + * @return destinations + */ + @javax.annotation.Nullable + public List getDestinations() { + return destinations; + } + + public void setDestinations(@javax.annotation.Nullable List destinations) { + this.destinations = destinations; + } + + + public PatchAlertRouteDataAttributesRulesInner conditionGroups(@javax.annotation.Nullable List conditionGroups) { + this.conditionGroups = conditionGroups; + return this; + } + + public PatchAlertRouteDataAttributesRulesInner addConditionGroupsItem(PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner conditionGroupsItem) { + if (this.conditionGroups == null) { + this.conditionGroups = new ArrayList<>(); + } + this.conditionGroups.add(conditionGroupsItem); + return this; + } + + /** + * Get conditionGroups + * @return conditionGroups + */ + @javax.annotation.Nullable + public List getConditionGroups() { + return conditionGroups; + } + + public void setConditionGroups(@javax.annotation.Nullable List conditionGroups) { + this.conditionGroups = conditionGroups; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRouteDataAttributesRulesInner patchAlertRouteDataAttributesRulesInner = (PatchAlertRouteDataAttributesRulesInner) o; + return Objects.equals(this.id, patchAlertRouteDataAttributesRulesInner.id) && + Objects.equals(this.destroy, patchAlertRouteDataAttributesRulesInner.destroy) && + Objects.equals(this.name, patchAlertRouteDataAttributesRulesInner.name) && + Objects.equals(this.position, patchAlertRouteDataAttributesRulesInner.position) && + Objects.equals(this.fallbackRule, patchAlertRouteDataAttributesRulesInner.fallbackRule) && + Objects.equals(this.destinations, patchAlertRouteDataAttributesRulesInner.destinations) && + Objects.equals(this.conditionGroups, patchAlertRouteDataAttributesRulesInner.conditionGroups); + } + + @Override + public int hashCode() { + return Objects.hash(id, destroy, name, position, fallbackRule, destinations, conditionGroups); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRouteDataAttributesRulesInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" destroy: ").append(toIndentedString(destroy)).append("\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("id"); + openapiFields.add("_destroy"); + 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(); + } + + /** + * 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 PatchAlertRouteDataAttributesRulesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteDataAttributesRulesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteDataAttributesRulesInner is not found in the empty JSON string", PatchAlertRouteDataAttributesRulesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteDataAttributesRulesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteDataAttributesRulesInner` 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("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("destinations") != null && !jsonObj.get("destinations").isJsonNull()) { + JsonArray jsonArraydestinations = jsonObj.getAsJsonArray("destinations"); + if (jsonArraydestinations != null) { + // 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())); + } + + // validate the optional field `destinations` (array) + for (int i = 0; i < jsonArraydestinations.size(); i++) { + PatchAlertRouteDataAttributesRulesInnerDestinationsInner.validateJsonElement(jsonArraydestinations.get(i)); + }; + } + } + if (jsonObj.get("condition_groups") != null && !jsonObj.get("condition_groups").isJsonNull()) { + JsonArray jsonArrayconditionGroups = jsonObj.getAsJsonArray("condition_groups"); + if (jsonArrayconditionGroups != null) { + // 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())); + } + + // validate the optional field `condition_groups` (array) + for (int i = 0; i < jsonArrayconditionGroups.size(); i++) { + PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.validateJsonElement(jsonArrayconditionGroups.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRouteDataAttributesRulesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteDataAttributesRulesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteDataAttributesRulesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteDataAttributesRulesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteDataAttributesRulesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteDataAttributesRulesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteDataAttributesRulesInner + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteDataAttributesRulesInner + */ + public static PatchAlertRouteDataAttributesRulesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteDataAttributesRulesInner.class); + } + + /** + * Convert an instance of PatchAlertRouteDataAttributesRulesInner 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/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java new file mode 100644 index 00000000..8d6df268 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.java @@ -0,0 +1,313 @@ +/* + * 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.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner; +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; + +/** + * PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_DESTROY = "_destroy"; + @SerializedName(SERIALIZED_NAME_DESTROY) + @javax.annotation.Nullable + private Boolean destroy; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner() { + } + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the condition group. Required for updating or deleting existing condition groups. + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner destroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + return this; + } + + /** + * Set to true to delete this condition group + * @return destroy + */ + @javax.annotation.Nullable + public Boolean getDestroy() { + return destroy; + } + + public void setDestroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition group + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner addConditionsItem(PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner patchAlertRouteDataAttributesRulesInnerConditionGroupsInner = (PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner) o; + return Objects.equals(this.id, patchAlertRouteDataAttributesRulesInnerConditionGroupsInner.id) && + Objects.equals(this.destroy, patchAlertRouteDataAttributesRulesInnerConditionGroupsInner.destroy) && + Objects.equals(this.position, patchAlertRouteDataAttributesRulesInnerConditionGroupsInner.position) && + Objects.equals(this.conditions, patchAlertRouteDataAttributesRulesInnerConditionGroupsInner.conditions); + } + + @Override + public int hashCode() { + return Objects.hash(id, destroy, position, conditions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" destroy: ").append(toIndentedString(destroy)).append("\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("id"); + openapiFields.add("_destroy"); + openapiFields.add("position"); + openapiFields.add("conditions"); + + // 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 PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner is not found in the empty JSON string", PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner` 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("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + public static PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner.class); + } + + /** + * Convert an instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner 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/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java new file mode 100644 index 00000000..ddd2e738 --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.java @@ -0,0 +1,686 @@ +/* + * 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 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; + +/** + * PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_DESTROY = "_destroy"; + @SerializedName(SERIALIZED_NAME_DESTROY) + @javax.annotation.Nullable + private Boolean destroy; + + /** + * 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) + @javax.annotation.Nullable + private PropertyFieldConditionTypeEnum propertyFieldConditionType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_NAME = "property_field_name"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_NAME) + @javax.annotation.Nullable + 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) + @javax.annotation.Nullable + private PropertyFieldTypeEnum propertyFieldType; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUE = "property_field_value"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUE) + @javax.annotation.Nullable + private String propertyFieldValue; + + public static final String SERIALIZED_NAME_PROPERTY_FIELD_VALUES = "property_field_values"; + @SerializedName(SERIALIZED_NAME_PROPERTY_FIELD_VALUES) + @javax.annotation.Nullable + private List propertyFieldValues; + + public static final String SERIALIZED_NAME_ALERT_URGENCY_IDS = "alert_urgency_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_IDS) + @javax.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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_CONDITIONABLE_ID = "conditionable_id"; + @SerializedName(SERIALIZED_NAME_CONDITIONABLE_ID) + @javax.annotation.Nullable + private UUID conditionableId; + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner() { + } + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the condition. Required for updating or deleting existing conditions. + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner destroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + return this; + } + + /** + * Set to true to delete this condition + * @return destroy + */ + @javax.annotation.Nullable + public Boolean getDestroy() { + return destroy; + } + + public void setDestroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldConditionType(@javax.annotation.Nullable PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + return this; + } + + /** + * Get propertyFieldConditionType + * @return propertyFieldConditionType + */ + @javax.annotation.Nullable + public PropertyFieldConditionTypeEnum getPropertyFieldConditionType() { + return propertyFieldConditionType; + } + + public void setPropertyFieldConditionType(@javax.annotation.Nullable PropertyFieldConditionTypeEnum propertyFieldConditionType) { + this.propertyFieldConditionType = propertyFieldConditionType; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + return this; + } + + /** + * The name of the property field + * @return propertyFieldName + */ + @javax.annotation.Nullable + public String getPropertyFieldName() { + return propertyFieldName; + } + + public void setPropertyFieldName(@javax.annotation.Nullable String propertyFieldName) { + this.propertyFieldName = propertyFieldName; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldType(@javax.annotation.Nullable PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + return this; + } + + /** + * Get propertyFieldType + * @return propertyFieldType + */ + @javax.annotation.Nullable + public PropertyFieldTypeEnum getPropertyFieldType() { + return propertyFieldType; + } + + public void setPropertyFieldType(@javax.annotation.Nullable PropertyFieldTypeEnum propertyFieldType) { + this.propertyFieldType = propertyFieldType; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + return this; + } + + /** + * The value of the property field + * @return propertyFieldValue + */ + @javax.annotation.Nullable + public String getPropertyFieldValue() { + return propertyFieldValue; + } + + public void setPropertyFieldValue(@javax.annotation.Nullable String propertyFieldValue) { + this.propertyFieldValue = propertyFieldValue; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner propertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + return this; + } + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner addPropertyFieldValuesItem(String propertyFieldValuesItem) { + if (this.propertyFieldValues == null) { + this.propertyFieldValues = new ArrayList<>(); + } + this.propertyFieldValues.add(propertyFieldValuesItem); + return this; + } + + /** + * Get propertyFieldValues + * @return propertyFieldValues + */ + @javax.annotation.Nullable + public List getPropertyFieldValues() { + return propertyFieldValues; + } + + public void setPropertyFieldValues(@javax.annotation.Nullable List propertyFieldValues) { + this.propertyFieldValues = propertyFieldValues; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner alertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + return this; + } + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner 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 + */ + @javax.annotation.Nullable + public List getAlertUrgencyIds() { + return alertUrgencyIds; + } + + public void setAlertUrgencyIds(@javax.annotation.Nullable List alertUrgencyIds) { + this.alertUrgencyIds = alertUrgencyIds; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of the conditionable + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner conditionableId(@javax.annotation.Nullable UUID conditionableId) { + this.conditionableId = conditionableId; + return this; + } + + /** + * The ID of the conditionable + * @return conditionableId + */ + @javax.annotation.Nullable + public UUID getConditionableId() { + return conditionableId; + } + + public void setConditionableId(@javax.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; + } + PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner = (PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner) o; + return Objects.equals(this.id, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.id) && + Objects.equals(this.destroy, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.destroy) && + Objects.equals(this.propertyFieldConditionType, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldConditionType) && + Objects.equals(this.propertyFieldName, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldName) && + Objects.equals(this.propertyFieldType, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldType) && + Objects.equals(this.propertyFieldValue, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValue) && + Objects.equals(this.propertyFieldValues, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.propertyFieldValues) && + Objects.equals(this.alertUrgencyIds, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.alertUrgencyIds) && + Objects.equals(this.conditionableType, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.conditionableType) && + Objects.equals(this.conditionableId, patchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.conditionableId); + } + + 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, destroy, propertyFieldConditionType, propertyFieldName, propertyFieldType, propertyFieldValue, propertyFieldValues, alertUrgencyIds, conditionableType, conditionableId); + } + + 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 PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" destroy: ").append(toIndentedString(destroy)).append("\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("id"); + openapiFields.add("_destroy"); + 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(); + } + + /** + * 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 PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner is not found in the empty JSON string", PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner` 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("property_field_condition_type") != null && !jsonObj.get("property_field_condition_type").isJsonNull()) && !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 optional field `property_field_condition_type` + if (jsonObj.get("property_field_condition_type") != null && !jsonObj.get("property_field_condition_type").isJsonNull()) { + PropertyFieldConditionTypeEnum.validateJsonElement(jsonObj.get("property_field_condition_type")); + } + if ((jsonObj.get("property_field_name") != null && !jsonObj.get("property_field_name").isJsonNull()) && !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") != null && !jsonObj.get("property_field_type").isJsonNull()) && !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 optional field `property_field_type` + if (jsonObj.get("property_field_type") != null && !jsonObj.get("property_field_type").isJsonNull()) { + 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 optional json data is an array if present + if (jsonObj.get("property_field_values") != null && !jsonObj.get("property_field_values").isJsonNull() && !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 optional json data is an array if present + if (jsonObj.get("alert_urgency_ids") != null && !jsonObj.get("alert_urgency_ids").isJsonNull() && !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 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + public static PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner.class); + } + + /** + * Convert an instance of PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner 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/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java new file mode 100644 index 00000000..7079ffba --- /dev/null +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInner.java @@ -0,0 +1,354 @@ +/* + * 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; + +/** + * PatchAlertRouteDataAttributesRulesInnerDestinationsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PatchAlertRouteDataAttributesRulesInnerDestinationsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_DESTROY = "_destroy"; + @SerializedName(SERIALIZED_NAME_DESTROY) + @javax.annotation.Nullable + private Boolean destroy; + + /** + * 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) + @javax.annotation.Nullable + private TargetTypeEnum targetType; + + public static final String SERIALIZED_NAME_TARGET_ID = "target_id"; + @SerializedName(SERIALIZED_NAME_TARGET_ID) + @javax.annotation.Nullable + private UUID targetId; + + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner() { + } + + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the destination. Required for updating or deleting existing destinations. + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner destroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + return this; + } + + /** + * Set to true to delete this destination + * @return destroy + */ + @javax.annotation.Nullable + public Boolean getDestroy() { + return destroy; + } + + public void setDestroy(@javax.annotation.Nullable Boolean destroy) { + this.destroy = destroy; + } + + + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner targetType(@javax.annotation.Nullable 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 + */ + @javax.annotation.Nullable + public TargetTypeEnum getTargetType() { + return targetType; + } + + public void setTargetType(@javax.annotation.Nullable TargetTypeEnum targetType) { + this.targetType = targetType; + } + + + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner targetId(@javax.annotation.Nullable UUID targetId) { + this.targetId = targetId; + return this; + } + + /** + * The ID of the target + * @return targetId + */ + @javax.annotation.Nullable + public UUID getTargetId() { + return targetId; + } + + public void setTargetId(@javax.annotation.Nullable UUID targetId) { + this.targetId = targetId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PatchAlertRouteDataAttributesRulesInnerDestinationsInner patchAlertRouteDataAttributesRulesInnerDestinationsInner = (PatchAlertRouteDataAttributesRulesInnerDestinationsInner) o; + return Objects.equals(this.id, patchAlertRouteDataAttributesRulesInnerDestinationsInner.id) && + Objects.equals(this.destroy, patchAlertRouteDataAttributesRulesInnerDestinationsInner.destroy) && + Objects.equals(this.targetType, patchAlertRouteDataAttributesRulesInnerDestinationsInner.targetType) && + Objects.equals(this.targetId, patchAlertRouteDataAttributesRulesInnerDestinationsInner.targetId); + } + + @Override + public int hashCode() { + return Objects.hash(id, destroy, targetType, targetId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PatchAlertRouteDataAttributesRulesInnerDestinationsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" destroy: ").append(toIndentedString(destroy)).append("\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("id"); + openapiFields.add("_destroy"); + openapiFields.add("target_type"); + openapiFields.add("target_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 PatchAlertRouteDataAttributesRulesInnerDestinationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PatchAlertRouteDataAttributesRulesInnerDestinationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PatchAlertRouteDataAttributesRulesInnerDestinationsInner is not found in the empty JSON string", PatchAlertRouteDataAttributesRulesInnerDestinationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PatchAlertRouteDataAttributesRulesInnerDestinationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PatchAlertRouteDataAttributesRulesInnerDestinationsInner` 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("target_type") != null && !jsonObj.get("target_type").isJsonNull()) && !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 optional field `target_type` + if (jsonObj.get("target_type") != null && !jsonObj.get("target_type").isJsonNull()) { + TargetTypeEnum.validateJsonElement(jsonObj.get("target_type")); + } + if ((jsonObj.get("target_id") != null && !jsonObj.get("target_id").isJsonNull()) && !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 (!PatchAlertRouteDataAttributesRulesInnerDestinationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PatchAlertRouteDataAttributesRulesInnerDestinationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PatchAlertRouteDataAttributesRulesInnerDestinationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PatchAlertRouteDataAttributesRulesInnerDestinationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PatchAlertRouteDataAttributesRulesInnerDestinationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PatchAlertRouteDataAttributesRulesInnerDestinationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of PatchAlertRouteDataAttributesRulesInnerDestinationsInner + * @throws IOException if the JSON string is invalid with respect to PatchAlertRouteDataAttributesRulesInnerDestinationsInner + */ + public static PatchAlertRouteDataAttributesRulesInnerDestinationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PatchAlertRouteDataAttributesRulesInnerDestinationsInner.class); + } + + /** + * Convert an instance of PatchAlertRouteDataAttributesRulesInnerDestinationsInner 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/PhoneVerificationResponse.java b/src/main/java/com/rootly/client/model/PhoneVerificationResponse.java new file mode 100644 index 00000000..88f0635c --- /dev/null +++ b/src/main/java/com/rootly/client/model/PhoneVerificationResponse.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; + +/** + * PhoneVerificationResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class PhoneVerificationResponse { + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + @javax.annotation.Nullable + private String message; + + public static final String SERIALIZED_NAME_ERROR = "error"; + @SerializedName(SERIALIZED_NAME_ERROR) + @javax.annotation.Nullable + private String error; + + public PhoneVerificationResponse() { + } + + public PhoneVerificationResponse message(@javax.annotation.Nullable String message) { + this.message = message; + return this; + } + + /** + * Success message + * @return message + */ + @javax.annotation.Nullable + public String getMessage() { + return message; + } + + public void setMessage(@javax.annotation.Nullable String message) { + this.message = message; + } + + + public PhoneVerificationResponse error(@javax.annotation.Nullable String error) { + this.error = error; + return this; + } + + /** + * Error message + * @return error + */ + @javax.annotation.Nullable + public String getError() { + return error; + } + + public void setError(@javax.annotation.Nullable String error) { + this.error = error; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PhoneVerificationResponse phoneVerificationResponse = (PhoneVerificationResponse) o; + return Objects.equals(this.message, phoneVerificationResponse.message) && + Objects.equals(this.error, phoneVerificationResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(message, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PhoneVerificationResponse {\n"); + sb.append(" message: ").append(toIndentedString(message)).append("\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("message"); + openapiFields.add("error"); + + // 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 PhoneVerificationResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!PhoneVerificationResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in PhoneVerificationResponse is not found in the empty JSON string", PhoneVerificationResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!PhoneVerificationResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `PhoneVerificationResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + 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())); + } + if ((jsonObj.get("error") != null && !jsonObj.get("error").isJsonNull()) && !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 (!PhoneVerificationResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'PhoneVerificationResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(PhoneVerificationResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, PhoneVerificationResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public PhoneVerificationResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of PhoneVerificationResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of PhoneVerificationResponse + * @throws IOException if the JSON string is invalid with respect to PhoneVerificationResponse + */ + public static PhoneVerificationResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, PhoneVerificationResponse.class); + } + + /** + * Convert an instance of PhoneVerificationResponse 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/Playbook.java b/src/main/java/com/rootly/client/model/Playbook.java index c8f254d9..d8a3a8a7 100644 --- a/src/main/java/com/rootly/client/model/Playbook.java +++ b/src/main/java/com/rootly/client/model/Playbook.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * Playbook */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Playbook { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -182,7 +182,7 @@ public Playbook addSeverityIdsItem(String severityIdsItem) { } /** - * The Severity ID's to attach to the incident + * The Severity IDs to attach to the incident * @return severityIds */ @javax.annotation.Nullable @@ -209,7 +209,7 @@ public Playbook addEnvironmentIdsItem(String environmentIdsItem) { } /** - * The Environment ID's to attach to the incident + * The Environment IDs to attach to the incident * @return environmentIds */ @javax.annotation.Nullable @@ -236,7 +236,7 @@ public Playbook addFunctionalityIdsItem(String functionalityIdsItem) { } /** - * The Functionality ID's to attach to the incident + * The Functionality IDs to attach to the incident * @return functionalityIds */ @javax.annotation.Nullable @@ -263,7 +263,7 @@ public Playbook addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the incident + * The Service IDs to attach to the incident * @return serviceIds */ @javax.annotation.Nullable @@ -290,7 +290,7 @@ public Playbook addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the incident + * The Team IDs to attach to the incident * @return groupIds */ @javax.annotation.Nullable @@ -317,7 +317,7 @@ public Playbook addIncidentTypeIdsItem(String incidentTypeIdsItem) { } /** - * The Incident Type ID's to attach to the incident + * The Incident Type IDs to attach to the incident * @return incidentTypeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/PlaybookList.java b/src/main/java/com/rootly/client/model/PlaybookList.java index 588d1239..c7f6b865 100644 --- a/src/main/java/com/rootly/client/model/PlaybookList.java +++ b/src/main/java/com/rootly/client/model/PlaybookList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PlaybookResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * PlaybookList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class PlaybookList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public PlaybookList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public PlaybookList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } PlaybookList playbookList = (PlaybookList) o; return Objects.equals(this.data, playbookList.data) && - Objects.equals(this.links, playbookList.links); + Objects.equals(this.links, playbookList.links) && + Objects.equals(this.meta, playbookList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class PlaybookList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/PlaybookResponse.java b/src/main/java/com/rootly/client/model/PlaybookResponse.java index 2a65e622..89f36680 100644 --- a/src/main/java/com/rootly/client/model/PlaybookResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PlaybookResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a0df0b3e..ccd03101 100644 --- a/src/main/java/com/rootly/client/model/PlaybookResponseData.java +++ b/src/main/java/com/rootly/client/model/PlaybookResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PlaybookResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b77c21b8..bacbe9d7 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTask.java +++ b/src/main/java/com/rootly/client/model/PlaybookTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PlaybookTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cb51a21a..0d0c5311 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskList.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PlaybookTaskResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * PlaybookTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PlaybookTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class PlaybookTaskList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public PlaybookTaskList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public PlaybookTaskList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } PlaybookTaskList playbookTaskList = (PlaybookTaskList) o; return Objects.equals(this.data, playbookTaskList.data) && - Objects.equals(this.links, playbookTaskList.links); + Objects.equals(this.links, playbookTaskList.links) && + Objects.equals(this.meta, playbookTaskList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class PlaybookTaskList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java b/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java index 8d12a53c..07e982a6 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PlaybookTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 964eba04..500860df 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PlaybookTaskResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 32477fbc..3c3cf2a2 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PostMortemTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplate { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -71,6 +71,16 @@ public class PostMortemTemplate { @javax.annotation.Nullable private String content; + public static final String SERIALIZED_NAME_CONTENT_HTML = "content_html"; + @SerializedName(SERIALIZED_NAME_CONTENT_HTML) + @javax.annotation.Nullable + private String contentHtml; + + public static final String SERIALIZED_NAME_CONTENT_JSON = "content_json"; + @SerializedName(SERIALIZED_NAME_CONTENT_JSON) + @javax.annotation.Nullable + private Object contentJson; + /** * The format of the input */ @@ -217,6 +227,44 @@ public void setContent(@javax.annotation.Nullable String content) { } + public PostMortemTemplate contentHtml(@javax.annotation.Nullable String contentHtml) { + this.contentHtml = contentHtml; + return this; + } + + /** + * The postmortem template in HTML format with TipTap blocks support. Supports followup and timeline components. Liquid syntax is supported. + * @return contentHtml + */ + @javax.annotation.Nullable + public String getContentHtml() { + return contentHtml; + } + + public void setContentHtml(@javax.annotation.Nullable String contentHtml) { + this.contentHtml = contentHtml; + } + + + public PostMortemTemplate contentJson(@javax.annotation.Nullable Object contentJson) { + this.contentJson = contentJson; + return this; + } + + /** + * The postmortem template in TipTap JSON format + * @return contentJson + */ + @javax.annotation.Nullable + public Object getContentJson() { + return contentJson; + } + + public void setContentJson(@javax.annotation.Nullable Object contentJson) { + this.contentJson = contentJson; + } + + public PostMortemTemplate format(@javax.annotation.Nullable FormatEnum format) { this.format = format; return this; @@ -288,6 +336,8 @@ public boolean equals(Object o) { Objects.equals(this.slug, postMortemTemplate.slug) && Objects.equals(this._default, postMortemTemplate._default) && Objects.equals(this.content, postMortemTemplate.content) && + Objects.equals(this.contentHtml, postMortemTemplate.contentHtml) && + Objects.equals(this.contentJson, postMortemTemplate.contentJson) && Objects.equals(this.format, postMortemTemplate.format) && Objects.equals(this.createdAt, postMortemTemplate.createdAt) && Objects.equals(this.updatedAt, postMortemTemplate.updatedAt); @@ -299,7 +349,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, _default, content, format, createdAt, updatedAt); + return Objects.hash(name, slug, _default, content, contentHtml, contentJson, format, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -317,6 +367,8 @@ public String toString() { sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" contentHtml: ").append(toIndentedString(contentHtml)).append("\n"); + sb.append(" contentJson: ").append(toIndentedString(contentJson)).append("\n"); sb.append(" format: ").append(toIndentedString(format)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -346,6 +398,8 @@ private String toIndentedString(Object o) { openapiFields.add("slug"); openapiFields.add("default"); openapiFields.add("content"); + openapiFields.add("content_html"); + openapiFields.add("content_json"); openapiFields.add("format"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -394,6 +448,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("content_html") != null && !jsonObj.get("content_html").isJsonNull()) && !jsonObj.get("content_html").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `content_html` to be a primitive type in the JSON string but got `%s`", jsonObj.get("content_html").toString())); + } if ((jsonObj.get("format") != null && !jsonObj.get("format").isJsonNull()) && !jsonObj.get("format").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `format` to be a primitive type in the JSON string but got `%s`", jsonObj.get("format").toString())); } diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplateList.java b/src/main/java/com/rootly/client/model/PostMortemTemplateList.java index a94cdb59..f51bc969 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateList.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PostMortemTemplateResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * PostMortemTemplateList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTemplateList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class PostMortemTemplateList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public PostMortemTemplateList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public PostMortemTemplateList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } PostMortemTemplateList postMortemTemplateList = (PostMortemTemplateList) o; return Objects.equals(this.data, postMortemTemplateList.data) && - Objects.equals(this.links, postMortemTemplateList.links); + Objects.equals(this.links, postMortemTemplateList.links) && + Objects.equals(this.meta, postMortemTemplateList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class PostMortemTemplateList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java b/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java index 47bc2284..da2bce46 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PostMortemTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f3a8f356..294b3c36 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PostMortemTemplateResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6cf18193..82a12dad 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java +++ b/src/main/java/com/rootly/client/model/PostMortemTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * PostMortemTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTriggerParams { /** * Gets or Sets triggerType @@ -137,7 +137,9 @@ public enum IncidentKindsEnum { BACKFILLED("backfilled"), - SCHEDULED("scheduled"); + SCHEDULED("scheduled"), + + SCHEDULED_SUB("scheduled_sub"); private String value; @@ -333,6 +335,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionVisibilityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -402,6 +406,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionKindEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -471,6 +477,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -540,6 +548,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSubStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -609,6 +619,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionEnvironmentEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -678,6 +690,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionSeverityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -747,6 +761,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentTypeEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -816,6 +832,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionIncidentRolesEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -885,6 +903,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionServiceEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -954,6 +974,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionFunctionalityEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1023,6 +1045,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionGroupEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1092,6 +1116,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentConditionCauseEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1161,6 +1187,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentPostMortemConditionCauseEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -1686,6 +1714,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum IncidentPostMortemConditionStatusEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/PrintTaskParams.java b/src/main/java/com/rootly/client/model/PrintTaskParams.java index 677068ad..593789c4 100644 --- a/src/main/java/com/rootly/client/model/PrintTaskParams.java +++ b/src/main/java/com/rootly/client/model/PrintTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * PrintTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/PublishIncidentTaskParams.java b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java index db636ba4..662d7c79 100644 --- a/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * PublishIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PublishIncidentTaskParams { /** * Gets or Sets taskType @@ -139,8 +139,6 @@ public enum StatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; diff --git a/src/main/java/com/rootly/client/model/Pulse.java b/src/main/java/com/rootly/client/model/Pulse.java index 12ae8692..e6f0acee 100644 --- a/src/main/java/com/rootly/client/model/Pulse.java +++ b/src/main/java/com/rootly/client/model/Pulse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,7 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; -import com.rootly.client.model.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import com.rootly.client.model.Service; import java.io.IOException; @@ -55,7 +55,7 @@ /** * Pulse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Pulse { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) @@ -85,7 +85,7 @@ public class Pulse { public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @javax.annotation.Nullable - private List labels = new ArrayList<>(); + private List labels = new ArrayList<>(); public static final String SERIALIZED_NAME_REFS = "refs"; @SerializedName(SERIALIZED_NAME_REFS) @@ -221,12 +221,12 @@ public void setExternalUrl(@javax.annotation.Nullable String externalUrl) { } - public Pulse labels(@javax.annotation.Nullable List labels) { + public Pulse labels(@javax.annotation.Nullable List labels) { this.labels = labels; return this; } - public Pulse addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { + public Pulse addLabelsItem(NewPulseDataAttributesLabelsInner labelsItem) { if (this.labels == null) { this.labels = new ArrayList<>(); } @@ -239,11 +239,11 @@ public Pulse addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { * @return labels */ @javax.annotation.Nullable - public List getLabels() { + public List getLabels() { return labels; } - public void setLabels(@javax.annotation.Nullable List labels) { + public void setLabels(@javax.annotation.Nullable List labels) { this.labels = labels; } @@ -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++) { - NewAlertDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); + NewPulseDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/PulseList.java b/src/main/java/com/rootly/client/model/PulseList.java index a7385c0e..fea23383 100644 --- a/src/main/java/com/rootly/client/model/PulseList.java +++ b/src/main/java/com/rootly/client/model/PulseList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PulseResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * PulseList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class PulseList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public PulseList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public PulseList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } PulseList pulseList = (PulseList) o; return Objects.equals(this.data, pulseList.data) && - Objects.equals(this.links, pulseList.links); + Objects.equals(this.links, pulseList.links) && + Objects.equals(this.meta, pulseList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class PulseList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/PulseResponse.java b/src/main/java/com/rootly/client/model/PulseResponse.java index 93536fe9..60f985c2 100644 --- a/src/main/java/com/rootly/client/model/PulseResponse.java +++ b/src/main/java/com/rootly/client/model/PulseResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PulseResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 48518651..cb798032 100644 --- a/src/main/java/com/rootly/client/model/PulseResponseData.java +++ b/src/main/java/com/rootly/client/model/PulseResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * PulseResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ada76b3a..9fb606bd 100644 --- a/src/main/java/com/rootly/client/model/PulseTriggerParams.java +++ b/src/main/java/com/rootly/client/model/PulseTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * PulseTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PulseTriggerParams { /** * Gets or Sets triggerType @@ -229,6 +229,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PulseConditionSourceEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -308,6 +310,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PulseConditionLabelEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -387,6 +391,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PulseConditionPayloadEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/RedisClientTaskParams.java b/src/main/java/com/rootly/client/model/RedisClientTaskParams.java index e822ce8a..7d42279b 100644 --- a/src/main/java/com/rootly/client/model/RedisClientTaskParams.java +++ b/src/main/java/com/rootly/client/model/RedisClientTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * RedisClientTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/RemoveGoogleDocsPermissionsTaskParams.java b/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java index 7a2e2b24..b35c6a90 100644 --- a/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java +++ b/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * RemoveGoogleDocsPermissionsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 793c5c6a..c9950780 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribers.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribers.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RemoveSubscribers */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fa8d2807..b2fab8cb 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribersData.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribersData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RemoveSubscribersData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b219b6d7..9f2cc570 100644 --- a/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java +++ b/src/main/java/com/rootly/client/model/RemoveSubscribersDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * RemoveSubscribersDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/RenameMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java index 1c5d86ff..31c9bcf0 100644 --- a/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RenameMicrosoftTeamsChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 39f0a8dc..c1b3cb08 100644 --- a/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/RenameSlackChannelTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RenameSlackChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RenameSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/ResolveAlert.java b/src/main/java/com/rootly/client/model/ResolveAlert.java index 598d8a7b..63792a80 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlert.java +++ b/src/main/java/com/rootly/client/model/ResolveAlert.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveAlert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 67ae0a1d..29aa6dd0 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlertData.java +++ b/src/main/java/com/rootly/client/model/ResolveAlertData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveAlertData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cdabcb3a..88e63634 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) diff --git a/src/main/java/com/rootly/client/model/ResolveIncident.java b/src/main/java/com/rootly/client/model/ResolveIncident.java index e5514897..fb479efd 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncident.java +++ b/src/main/java/com/rootly/client/model/ResolveIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 51924529..c3a7c5e7 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncidentData.java +++ b/src/main/java/com/rootly/client/model/ResolveIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java index aae6ac74..e5ece123 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ResolveIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5ada006a..690200e1 100644 --- a/src/main/java/com/rootly/client/model/RestartIncident.java +++ b/src/main/java/com/rootly/client/model/RestartIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RestartIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 22d171c8..27c66b6b 100644 --- a/src/main/java/com/rootly/client/model/RestartIncidentData.java +++ b/src/main/java/com/rootly/client/model/RestartIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * RestartIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RestartIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java b/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java index 06a0e71c..84acd298 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * RetrospectiveConfiguration */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveConfiguration { /** * The kind of the configuration. @@ -171,7 +171,7 @@ public RetrospectiveConfiguration addSeverityIdsItem(String severityIdsItem) { } /** - * The Severity ID's to attach to the retrospective configuration + * The Severity IDs to attach to the retrospective configuration * @return severityIds */ @javax.annotation.Nullable @@ -198,7 +198,7 @@ public RetrospectiveConfiguration addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the retrospective configuration + * The Team IDs to attach to the retrospective configuration * @return groupIds */ @javax.annotation.Nullable @@ -225,7 +225,7 @@ public RetrospectiveConfiguration addIncidentTypeIdsItem(String incidentTypeIdsI } /** - * The Incident Type ID's to attach to the retrospective configuration + * The Incident Type IDs to attach to the retrospective configuration * @return incidentTypeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java index 29b1b686..bf878bd3 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * RetrospectiveConfigurationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ea8bbd3a..1afae896 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c0263ccc..a79b5f0c 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4158bd90..ea5c530e 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2ef31c14..a082b0ad 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcess.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * RetrospectiveProcess */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 87d2ff61..ee71dabe 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * RetrospectiveProcessGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7bdb59a1..8f132af2 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessGroupResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * RetrospectiveProcessGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class RetrospectiveProcessGroupList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public RetrospectiveProcessGroupList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public RetrospectiveProcessGroupList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } RetrospectiveProcessGroupList retrospectiveProcessGroupList = (RetrospectiveProcessGroupList) o; return Objects.equals(this.data, retrospectiveProcessGroupList.data) && - Objects.equals(this.links, retrospectiveProcessGroupList.links); + Objects.equals(this.links, retrospectiveProcessGroupList.links) && + Objects.equals(this.meta, retrospectiveProcessGroupList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class RetrospectiveProcessGroupList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java index c069c98b..ca3a0035 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f98ed25f..18afe557 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 59ff951d..77de47b1 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * RetrospectiveProcessGroupStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c943caeb..4d8f80ee 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessGroupStepResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * RetrospectiveProcessGroupStepList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessGroupStepList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class RetrospectiveProcessGroupStepList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public RetrospectiveProcessGroupStepList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public RetrospectiveProcessGroupStepList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } RetrospectiveProcessGroupStepList retrospectiveProcessGroupStepList = (RetrospectiveProcessGroupStepList) o; return Objects.equals(this.data, retrospectiveProcessGroupStepList.data) && - Objects.equals(this.links, retrospectiveProcessGroupStepList.links); + Objects.equals(this.links, retrospectiveProcessGroupStepList.links) && + Objects.equals(this.meta, retrospectiveProcessGroupStepList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class RetrospectiveProcessGroupStepList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java index 5d265875..481c19af 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 75a78ee4..60af9844 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupStepResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 022e64bc..cf7d28d7 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * RetrospectiveProcessList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveProcessList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class RetrospectiveProcessList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public RetrospectiveProcessList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public RetrospectiveProcessList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } RetrospectiveProcessList retrospectiveProcessList = (RetrospectiveProcessList) o; return Objects.equals(this.data, retrospectiveProcessList.data) && - Objects.equals(this.links, retrospectiveProcessList.links); + Objects.equals(this.links, retrospectiveProcessList.links) && + Objects.equals(this.meta, retrospectiveProcessList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class RetrospectiveProcessList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java b/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java index 815dbf88..5bdd5a7b 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f817229b..1f7d5d1d 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 058aa460..8d74347a 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveProcessResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c560f61e..4b66e150 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d005ee18..cb327a75 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveStepResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * RetrospectiveStepList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RetrospectiveStepList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class RetrospectiveStepList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public RetrospectiveStepList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public RetrospectiveStepList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } RetrospectiveStepList retrospectiveStepList = (RetrospectiveStepList) o; return Objects.equals(this.data, retrospectiveStepList.data) && - Objects.equals(this.links, retrospectiveStepList.links); + Objects.equals(this.links, retrospectiveStepList.links) && + Objects.equals(this.meta, retrospectiveStepList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class RetrospectiveStepList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java b/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java index 7856a696..38a1815c 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 45607a72..cc886f2b 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RetrospectiveStepResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e6d83d03..b7745ca6 100644 --- a/src/main/java/com/rootly/client/model/Role.java +++ b/src/main/java/com/rootly/client/model/Role.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * Role */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Role { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -60,7 +60,7 @@ public class Role { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @@ -1658,6 +1658,435 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List workflowsPermissions = new ArrayList<>(); + /** + * Gets or Sets catalogsPermissions + */ + @JsonAdapter(CatalogsPermissionsEnum.Adapter.class) + public enum CatalogsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CatalogsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogsPermissionsEnum fromValue(String value) { + for (CatalogsPermissionsEnum b : CatalogsPermissionsEnum.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 CatalogsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOGS_PERMISSIONS = "catalogs_permissions"; + @SerializedName(SERIALIZED_NAME_CATALOGS_PERMISSIONS) + @javax.annotation.Nullable + private List catalogsPermissions = new ArrayList<>(); + + /** + * Gets or Sets subStatusesPermissions + */ + @JsonAdapter(SubStatusesPermissionsEnum.Adapter.class) + public enum SubStatusesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SubStatusesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SubStatusesPermissionsEnum fromValue(String value) { + for (SubStatusesPermissionsEnum b : SubStatusesPermissionsEnum.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 SubStatusesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SubStatusesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS = "sub_statuses_permissions"; + @SerializedName(SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS) + @javax.annotation.Nullable + private List subStatusesPermissions = new ArrayList<>(); + + /** + * Gets or Sets edgeConnectorPermissions + */ + @JsonAdapter(EdgeConnectorPermissionsEnum.Adapter.class) + public enum EdgeConnectorPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + EdgeConnectorPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EdgeConnectorPermissionsEnum fromValue(String value) { + for (EdgeConnectorPermissionsEnum b : EdgeConnectorPermissionsEnum.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 EdgeConnectorPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EdgeConnectorPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS = "edge_connector_permissions"; + @SerializedName(SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS) + @javax.annotation.Nullable + private List edgeConnectorPermissions = new ArrayList<>(); + + /** + * Gets or Sets slasPermissions + */ + @JsonAdapter(SlasPermissionsEnum.Adapter.class) + public enum SlasPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SlasPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SlasPermissionsEnum fromValue(String value) { + for (SlasPermissionsEnum b : SlasPermissionsEnum.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 SlasPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SlasPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SlasPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SlasPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SLAS_PERMISSIONS = "slas_permissions"; + @SerializedName(SERIALIZED_NAME_SLAS_PERMISSIONS) + @javax.annotation.Nullable + private List slasPermissions = new ArrayList<>(); + + /** + * Gets or Sets pagingPermissions + */ + @JsonAdapter(PagingPermissionsEnum.Adapter.class) + public enum PagingPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PagingPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PagingPermissionsEnum fromValue(String value) { + for (PagingPermissionsEnum b : PagingPermissionsEnum.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 PagingPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PagingPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PagingPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PagingPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PAGING_PERMISSIONS = "paging_permissions"; + @SerializedName(SERIALIZED_NAME_PAGING_PERMISSIONS) + @javax.annotation.Nullable + private List pagingPermissions = new ArrayList<>(); + + /** + * Gets or Sets incidentCommunicationPermissions + */ + @JsonAdapter(IncidentCommunicationPermissionsEnum.Adapter.class) + public enum IncidentCommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"), + + SEND("send"); + + private String value; + + IncidentCommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentCommunicationPermissionsEnum fromValue(String value) { + for (IncidentCommunicationPermissionsEnum b : IncidentCommunicationPermissionsEnum.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 IncidentCommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentCommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS = "incident_communication_permissions"; + @SerializedName(SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List incidentCommunicationPermissions = new ArrayList<>(); + + /** + * Gets or Sets communicationPermissions + */ + @JsonAdapter(CommunicationPermissionsEnum.Adapter.class) + public enum CommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CommunicationPermissionsEnum fromValue(String value) { + for (CommunicationPermissionsEnum b : CommunicationPermissionsEnum.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 CommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMMUNICATION_PERMISSIONS = "communication_permissions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List communicationPermissions = new ArrayList<>(); + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -1690,7 +2119,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public Role slug(@javax.annotation.Nonnull String slug) { + public Role slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -1699,12 +2128,12 @@ public Role slug(@javax.annotation.Nonnull String slug) { * The role slug. * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -2468,6 +2897,195 @@ public void setWorkflowsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + return this; + } + + public Role addCatalogsPermissionsItem(CatalogsPermissionsEnum catalogsPermissionsItem) { + if (this.catalogsPermissions == null) { + this.catalogsPermissions = new ArrayList<>(); + } + this.catalogsPermissions.add(catalogsPermissionsItem); + return this; + } + + /** + * Get catalogsPermissions + * @return catalogsPermissions + */ + @javax.annotation.Nullable + public List getCatalogsPermissions() { + return catalogsPermissions; + } + + public void setCatalogsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + } + + + public Role subStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + return this; + } + + public Role addSubStatusesPermissionsItem(SubStatusesPermissionsEnum subStatusesPermissionsItem) { + if (this.subStatusesPermissions == null) { + this.subStatusesPermissions = new ArrayList<>(); + } + this.subStatusesPermissions.add(subStatusesPermissionsItem); + return this; + } + + /** + * Get subStatusesPermissions + * @return subStatusesPermissions + */ + @javax.annotation.Nullable + public List getSubStatusesPermissions() { + return subStatusesPermissions; + } + + public void setSubStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + } + + + public Role edgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + return this; + } + + public Role addEdgeConnectorPermissionsItem(EdgeConnectorPermissionsEnum edgeConnectorPermissionsItem) { + if (this.edgeConnectorPermissions == null) { + this.edgeConnectorPermissions = new ArrayList<>(); + } + this.edgeConnectorPermissions.add(edgeConnectorPermissionsItem); + return this; + } + + /** + * Get edgeConnectorPermissions + * @return edgeConnectorPermissions + */ + @javax.annotation.Nullable + public List getEdgeConnectorPermissions() { + return edgeConnectorPermissions; + } + + public void setEdgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + } + + + public Role slasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + return this; + } + + public Role addSlasPermissionsItem(SlasPermissionsEnum slasPermissionsItem) { + if (this.slasPermissions == null) { + this.slasPermissions = new ArrayList<>(); + } + this.slasPermissions.add(slasPermissionsItem); + return this; + } + + /** + * Get slasPermissions + * @return slasPermissions + */ + @javax.annotation.Nullable + public List getSlasPermissions() { + return slasPermissions; + } + + public void setSlasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + } + + + public Role pagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + return this; + } + + public Role addPagingPermissionsItem(PagingPermissionsEnum pagingPermissionsItem) { + if (this.pagingPermissions == null) { + this.pagingPermissions = new ArrayList<>(); + } + this.pagingPermissions.add(pagingPermissionsItem); + return this; + } + + /** + * Get pagingPermissions + * @return pagingPermissions + */ + @javax.annotation.Nullable + public List getPagingPermissions() { + return pagingPermissions; + } + + public void setPagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + } + + + public Role incidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + return this; + } + + public Role addIncidentCommunicationPermissionsItem(IncidentCommunicationPermissionsEnum incidentCommunicationPermissionsItem) { + if (this.incidentCommunicationPermissions == null) { + this.incidentCommunicationPermissions = new ArrayList<>(); + } + this.incidentCommunicationPermissions.add(incidentCommunicationPermissionsItem); + return this; + } + + /** + * Get incidentCommunicationPermissions + * @return incidentCommunicationPermissions + */ + @javax.annotation.Nullable + public List getIncidentCommunicationPermissions() { + return incidentCommunicationPermissions; + } + + public void setIncidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + } + + + public Role communicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + return this; + } + + public Role addCommunicationPermissionsItem(CommunicationPermissionsEnum communicationPermissionsItem) { + if (this.communicationPermissions == null) { + this.communicationPermissions = new ArrayList<>(); + } + this.communicationPermissions.add(communicationPermissionsItem); + return this; + } + + /** + * Get communicationPermissions + * @return communicationPermissions + */ + @javax.annotation.Nullable + public List getCommunicationPermissions() { + return communicationPermissions; + } + + public void setCommunicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + } + + public Role createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -2547,6 +3165,13 @@ public boolean equals(Object o) { Objects.equals(this.statusPagesPermissions, role.statusPagesPermissions) && 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.slasPermissions, role.slasPermissions) && + Objects.equals(this.pagingPermissions, role.pagingPermissions) && + Objects.equals(this.incidentCommunicationPermissions, role.incidentCommunicationPermissions) && + Objects.equals(this.communicationPermissions, role.communicationPermissions) && Objects.equals(this.createdAt, role.createdAt) && Objects.equals(this.updatedAt, role.updatedAt); } @@ -2557,7 +3182,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, 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, webhooksPermissions, workflowsPermissions, catalogsPermissions, subStatusesPermissions, edgeConnectorPermissions, slasPermissions, pagingPermissions, incidentCommunicationPermissions, communicationPermissions, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -2602,6 +3227,13 @@ public String toString() { sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).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(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); + sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); + sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); + sb.append(" communicationPermissions: ").append(toIndentedString(communicationPermissions)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -2657,13 +3289,19 @@ private String toIndentedString(Object o) { openapiFields.add("status_pages_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("slas_permissions"); + openapiFields.add("paging_permissions"); + openapiFields.add("incident_communication_permissions"); + openapiFields.add("communication_permissions"); 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("slug"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -2699,7 +3337,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("incident_permission_set_id") != null && !jsonObj.get("incident_permission_set_id").isJsonNull()) && !jsonObj.get("incident_permission_set_id").isJsonPrimitive()) { @@ -2809,6 +3447,34 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("workflows_permissions") != null && !jsonObj.get("workflows_permissions").isJsonNull() && !jsonObj.get("workflows_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `workflows_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("workflows_permissions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("catalogs_permissions") != null && !jsonObj.get("catalogs_permissions").isJsonNull() && !jsonObj.get("catalogs_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `catalogs_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("catalogs_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("sub_statuses_permissions") != null && !jsonObj.get("sub_statuses_permissions").isJsonNull() && !jsonObj.get("sub_statuses_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `sub_statuses_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("sub_statuses_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("edge_connector_permissions") != null && !jsonObj.get("edge_connector_permissions").isJsonNull() && !jsonObj.get("edge_connector_permissions").isJsonArray()) { + 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("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())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("paging_permissions") != null && !jsonObj.get("paging_permissions").isJsonNull() && !jsonObj.get("paging_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("paging_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_communication_permissions") != null && !jsonObj.get("incident_communication_permissions").isJsonNull() && !jsonObj.get("incident_communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("incident_communication_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("communication_permissions") != null && !jsonObj.get("communication_permissions").isJsonNull() && !jsonObj.get("communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_permissions").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/RoleList.java b/src/main/java/com/rootly/client/model/RoleList.java index c026b126..af91b6cc 100644 --- a/src/main/java/com/rootly/client/model/RoleList.java +++ b/src/main/java/com/rootly/client/model/RoleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RoleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * RoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RoleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class RoleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public RoleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public RoleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } RoleList roleList = (RoleList) o; return Objects.equals(this.data, roleList.data) && - Objects.equals(this.links, roleList.links); + Objects.equals(this.links, roleList.links) && + Objects.equals(this.meta, roleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class RoleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/RoleRelationship.java b/src/main/java/com/rootly/client/model/RoleRelationship.java index fe599424..d68217c1 100644 --- a/src/main/java/com/rootly/client/model/RoleRelationship.java +++ b/src/main/java/com/rootly/client/model/RoleRelationship.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * RoleRelationship */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a1d7c53e..bbd1c4f4 100644 --- a/src/main/java/com/rootly/client/model/RoleRelationshipData.java +++ b/src/main/java/com/rootly/client/model/RoleRelationshipData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * RoleRelationshipData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 585d879a..3e6d5a14 100644 --- a/src/main/java/com/rootly/client/model/RoleResponse.java +++ b/src/main/java/com/rootly/client/model/RoleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 697e873b..0b0d18ae 100644 --- a/src/main/java/com/rootly/client/model/RoleResponseData.java +++ b/src/main/java/com/rootly/client/model/RoleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * RoleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..4abb1ea7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/RotateApiKey.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.RotateApiKeyData; +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; + +/** + * RotateApiKey + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class RotateApiKey { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private RotateApiKeyData data; + + public RotateApiKey() { + } + + public RotateApiKey data(@javax.annotation.Nonnull RotateApiKeyData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public RotateApiKeyData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull RotateApiKeyData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RotateApiKey rotateApiKey = (RotateApiKey) o; + return Objects.equals(this.data, rotateApiKey.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RotateApiKey {\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 RotateApiKey + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!RotateApiKey.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RotateApiKey is not found in the empty JSON string", RotateApiKey.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!RotateApiKey.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `RotateApiKey` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RotateApiKey.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` + RotateApiKeyData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RotateApiKey.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RotateApiKey' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RotateApiKey.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RotateApiKey value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public RotateApiKey read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RotateApiKey given an JSON string + * + * @param jsonString JSON string + * @return An instance of RotateApiKey + * @throws IOException if the JSON string is invalid with respect to RotateApiKey + */ + public static RotateApiKey fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RotateApiKey.class); + } + + /** + * Convert an instance of RotateApiKey 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/RotateApiKeyData.java b/src/main/java/com/rootly/client/model/RotateApiKeyData.java new file mode 100644 index 00000000..f952ce4a --- /dev/null +++ b/src/main/java/com/rootly/client/model/RotateApiKeyData.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.RotateApiKeyDataAttributes; +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; + +/** + * RotateApiKeyData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class RotateApiKeyData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + API_KEYS("api_keys"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private RotateApiKeyDataAttributes attributes; + + public RotateApiKeyData() { + } + + public RotateApiKeyData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public RotateApiKeyData attributes(@javax.annotation.Nonnull RotateApiKeyDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public RotateApiKeyDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull RotateApiKeyDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RotateApiKeyData rotateApiKeyData = (RotateApiKeyData) o; + return Objects.equals(this.type, rotateApiKeyData.type) && + Objects.equals(this.attributes, rotateApiKeyData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RotateApiKeyData {\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 RotateApiKeyData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!RotateApiKeyData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RotateApiKeyData is not found in the empty JSON string", RotateApiKeyData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!RotateApiKeyData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `RotateApiKeyData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : RotateApiKeyData.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` + RotateApiKeyDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RotateApiKeyData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RotateApiKeyData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RotateApiKeyData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RotateApiKeyData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public RotateApiKeyData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RotateApiKeyData given an JSON string + * + * @param jsonString JSON string + * @return An instance of RotateApiKeyData + * @throws IOException if the JSON string is invalid with respect to RotateApiKeyData + */ + public static RotateApiKeyData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RotateApiKeyData.class); + } + + /** + * Convert an instance of RotateApiKeyData 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/RotateApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.java new file mode 100644 index 00000000..010ed23b --- /dev/null +++ b/src/main/java/com/rootly/client/model/RotateApiKeyDataAttributes.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.time.OffsetDateTime; +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; + +/** + * RotateApiKeyDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private OffsetDateTime expiresAt; + + public static final String SERIALIZED_NAME_GRACE_PERIOD_MINUTES = "grace_period_minutes"; + @SerializedName(SERIALIZED_NAME_GRACE_PERIOD_MINUTES) + @javax.annotation.Nullable + private Integer gracePeriodMinutes = 30; + + public RotateApiKeyDataAttributes() { + } + + public RotateApiKeyDataAttributes expiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * The new expiration date after rotation (ISO 8601) + * @return expiresAt + */ + @javax.annotation.Nullable + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + + public RotateApiKeyDataAttributes gracePeriodMinutes(@javax.annotation.Nullable Integer gracePeriodMinutes) { + this.gracePeriodMinutes = gracePeriodMinutes; + return this; + } + + /** + * How many minutes to keep the old token valid. Only applies when the grace period feature is enabled for your organization. Defaults to 30. + * minimum: 0 + * maximum: 1440 + * @return gracePeriodMinutes + */ + @javax.annotation.Nullable + public Integer getGracePeriodMinutes() { + return gracePeriodMinutes; + } + + public void setGracePeriodMinutes(@javax.annotation.Nullable Integer gracePeriodMinutes) { + this.gracePeriodMinutes = gracePeriodMinutes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RotateApiKeyDataAttributes rotateApiKeyDataAttributes = (RotateApiKeyDataAttributes) o; + return Objects.equals(this.expiresAt, rotateApiKeyDataAttributes.expiresAt) && + Objects.equals(this.gracePeriodMinutes, rotateApiKeyDataAttributes.gracePeriodMinutes); + } + + 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(expiresAt, gracePeriodMinutes); + } + + 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 RotateApiKeyDataAttributes {\n"); + sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n"); + sb.append(" gracePeriodMinutes: ").append(toIndentedString(gracePeriodMinutes)).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("expires_at"); + openapiFields.add("grace_period_minutes"); + + // 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 RotateApiKeyDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!RotateApiKeyDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in RotateApiKeyDataAttributes is not found in the empty JSON string", RotateApiKeyDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!RotateApiKeyDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `RotateApiKeyDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!RotateApiKeyDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'RotateApiKeyDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(RotateApiKeyDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, RotateApiKeyDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public RotateApiKeyDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of RotateApiKeyDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of RotateApiKeyDataAttributes + * @throws IOException if the JSON string is invalid with respect to RotateApiKeyDataAttributes + */ + public static RotateApiKeyDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, RotateApiKeyDataAttributes.class); + } + + /** + * Convert an instance of RotateApiKeyDataAttributes 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/RunCommandHerokuTaskParams.java b/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java index fdade818..e4061cee 100644 --- a/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java +++ b/src/main/java/com/rootly/client/model/RunCommandHerokuTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * RunCommandHerokuTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6c0c8971..a94d2aa4 100644 --- a/src/main/java/com/rootly/client/model/Schedule.java +++ b/src/main/java/com/rootly/client/model/Schedule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.ScheduleSlackChannel; import com.rootly.client.model.ScheduleSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * Schedule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Schedule { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -74,6 +75,11 @@ public class Schedule { @javax.annotation.Nullable private ScheduleSlackUserGroup slackUserGroup; + public static final String SERIALIZED_NAME_SLACK_CHANNEL = "slack_channel"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL) + @javax.annotation.Nullable + private ScheduleSlackChannel slackChannel; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable @@ -81,9 +87,19 @@ public class Schedule { public static final String SERIALIZED_NAME_OWNER_USER_ID = "owner_user_id"; @SerializedName(SERIALIZED_NAME_OWNER_USER_ID) - @javax.annotation.Nullable + @javax.annotation.Nonnull private Integer ownerUserId; + public static final String SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED = "shift_start_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftStartNotificationsEnabled; + + public static final String SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED = "shift_update_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftUpdateNotificationsEnabled; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -173,6 +189,25 @@ public void setSlackUserGroup(@javax.annotation.Nullable ScheduleSlackUserGroup } + public Schedule slackChannel(@javax.annotation.Nullable ScheduleSlackChannel slackChannel) { + this.slackChannel = slackChannel; + return this; + } + + /** + * Get slackChannel + * @return slackChannel + */ + @javax.annotation.Nullable + public ScheduleSlackChannel getSlackChannel() { + return slackChannel; + } + + public void setSlackChannel(@javax.annotation.Nullable ScheduleSlackChannel slackChannel) { + this.slackChannel = slackChannel; + } + + public Schedule ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { this.ownerGroupIds = ownerGroupIds; return this; @@ -200,7 +235,7 @@ public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupI } - public Schedule ownerUserId(@javax.annotation.Nullable Integer ownerUserId) { + public Schedule ownerUserId(@javax.annotation.Nonnull Integer ownerUserId) { this.ownerUserId = ownerUserId; return this; } @@ -209,16 +244,54 @@ public Schedule ownerUserId(@javax.annotation.Nullable Integer ownerUserId) { * ID of user assigned as owner of the schedule * @return ownerUserId */ - @javax.annotation.Nullable + @javax.annotation.Nonnull public Integer getOwnerUserId() { return ownerUserId; } - public void setOwnerUserId(@javax.annotation.Nullable Integer ownerUserId) { + public void setOwnerUserId(@javax.annotation.Nonnull Integer ownerUserId) { this.ownerUserId = ownerUserId; } + public Schedule shiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + return this; + } + + /** + * Whether shift-start notifications are enabled + * @return shiftStartNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftStartNotificationsEnabled() { + return shiftStartNotificationsEnabled; + } + + public void setShiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + } + + + public Schedule shiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + return this; + } + + /** + * Whether shift-update notifications are enabled + * @return shiftUpdateNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftUpdateNotificationsEnabled() { + return shiftUpdateNotificationsEnabled; + } + + public void setShiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + } + + public Schedule createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -271,8 +344,11 @@ public boolean equals(Object o) { Objects.equals(this.description, schedule.description) && Objects.equals(this.allTimeCoverage, schedule.allTimeCoverage) && Objects.equals(this.slackUserGroup, schedule.slackUserGroup) && + Objects.equals(this.slackChannel, schedule.slackChannel) && Objects.equals(this.ownerGroupIds, schedule.ownerGroupIds) && Objects.equals(this.ownerUserId, schedule.ownerUserId) && + Objects.equals(this.shiftStartNotificationsEnabled, schedule.shiftStartNotificationsEnabled) && + Objects.equals(this.shiftUpdateNotificationsEnabled, schedule.shiftUpdateNotificationsEnabled) && Objects.equals(this.createdAt, schedule.createdAt) && Objects.equals(this.updatedAt, schedule.updatedAt); } @@ -283,7 +359,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, ownerGroupIds, ownerUserId, createdAt, updatedAt); + return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -301,8 +377,11 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).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"); sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" shiftStartNotificationsEnabled: ").append(toIndentedString(shiftStartNotificationsEnabled)).append("\n"); + sb.append(" shiftUpdateNotificationsEnabled: ").append(toIndentedString(shiftUpdateNotificationsEnabled)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -331,14 +410,18 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("all_time_coverage"); openapiFields.add("slack_user_group"); + openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); openapiFields.add("owner_user_id"); + openapiFields.add("shift_start_notifications_enabled"); + openapiFields.add("shift_update_notifications_enabled"); 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("owner_user_id"); openapiRequiredFields.add("created_at"); openapiRequiredFields.add("updated_at"); } @@ -381,6 +464,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { ScheduleSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); } + // validate the optional field `slack_channel` + if (jsonObj.get("slack_channel") != null && !jsonObj.get("slack_channel").isJsonNull()) { + ScheduleSlackChannel.validateJsonElement(jsonObj.get("slack_channel")); + } // 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())); diff --git a/src/main/java/com/rootly/client/model/ScheduleList.java b/src/main/java/com/rootly/client/model/ScheduleList.java index d154bc4b..24df97bb 100644 --- a/src/main/java/com/rootly/client/model/ScheduleList.java +++ b/src/main/java/com/rootly/client/model/ScheduleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * ScheduleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class ScheduleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public ScheduleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public ScheduleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } ScheduleList scheduleList = (ScheduleList) o; return Objects.equals(this.data, scheduleList.data) && - Objects.equals(this.links, scheduleList.links); + Objects.equals(this.links, scheduleList.links) && + Objects.equals(this.meta, scheduleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class ScheduleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ScheduleListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleListDataInner.java index dff38769..5ccde4d8 100644 --- a/src/main/java/com/rootly/client/model/ScheduleListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 82258ad7..9a60803a 100644 --- a/src/main/java/com/rootly/client/model/ScheduleResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ff274f49..c92ddb5e 100644 --- a/src/main/java/com/rootly/client/model/ScheduleResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c835e082..c20b9386 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotation.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -22,9 +22,11 @@ import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -52,7 +54,7 @@ /** * ScheduleRotation */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -278,6 +280,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private NewScheduleRotationDataAttributesScheduleRotationableAttributes scheduleRotationableAttributes; + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.annotation.Nullable + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nullable + private OffsetDateTime endTime; + public ScheduleRotation() { } @@ -495,6 +507,44 @@ public void setScheduleRotationableAttributes(@javax.annotation.Nonnull NewSched } + public ScheduleRotation startTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + return this; + } + + /** + * RFC3339 date-time when rotation starts. Shifts will only be created after this time. + * @return startTime + */ + @javax.annotation.Nullable + public OffsetDateTime getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public ScheduleRotation endTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + return this; + } + + /** + * RFC3339 date-time when rotation ends. Shifts will only be created before this time. + * @return endTime + */ + @javax.annotation.Nullable + public OffsetDateTime getEndTime() { + return endTime; + } + + public void setEndTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + } + + @Override public boolean equals(Object o) { @@ -514,12 +564,25 @@ public boolean equals(Object o) { Objects.equals(this.activeTimeType, scheduleRotation.activeTimeType) && Objects.equals(this.activeTimeAttributes, scheduleRotation.activeTimeAttributes) && Objects.equals(this.timeZone, scheduleRotation.timeZone) && - Objects.equals(this.scheduleRotationableAttributes, scheduleRotation.scheduleRotationableAttributes); + Objects.equals(this.scheduleRotationableAttributes, scheduleRotation.scheduleRotationableAttributes) && + Objects.equals(this.startTime, scheduleRotation.startTime) && + Objects.equals(this.endTime, scheduleRotation.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(scheduleId, name, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes); + return Objects.hash(scheduleId, name, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes, startTime, endTime); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -536,6 +599,8 @@ public String toString() { sb.append(" activeTimeAttributes: ").append(toIndentedString(activeTimeAttributes)).append("\n"); sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" scheduleRotationableAttributes: ").append(toIndentedString(scheduleRotationableAttributes)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); sb.append("}"); return sb.toString(); } @@ -568,6 +633,8 @@ private String toIndentedString(Object o) { openapiFields.add("active_time_attributes"); openapiFields.add("time_zone"); openapiFields.add("schedule_rotationable_attributes"); + openapiFields.add("start_time"); + openapiFields.add("end_time"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java index 43a7000b..93b4ea2d 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * ScheduleRotationActiveDay */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java index 0353c363..a375ca9f 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationActiveDayListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * ScheduleRotationActiveDayList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationActiveDayList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class ScheduleRotationActiveDayList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public ScheduleRotationActiveDayList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public ScheduleRotationActiveDayList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } ScheduleRotationActiveDayList scheduleRotationActiveDayList = (ScheduleRotationActiveDayList) o; return Objects.equals(this.data, scheduleRotationActiveDayList.data) && - Objects.equals(this.links, scheduleRotationActiveDayList.links); + Objects.equals(this.links, scheduleRotationActiveDayList.links) && + Objects.equals(this.meta, scheduleRotationActiveDayList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class ScheduleRotationActiveDayList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java index aa7305ae..7488dccb 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6fbf7dba..c429a2c3 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 db6ad425..a9233449 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/ScheduleRotationList.java b/src/main/java/com/rootly/client/model/ScheduleRotationList.java index da882689..b9bc2c2b 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * ScheduleRotationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class ScheduleRotationList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public ScheduleRotationList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public ScheduleRotationList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } ScheduleRotationList scheduleRotationList = (ScheduleRotationList) o; return Objects.equals(this.data, scheduleRotationList.data) && - Objects.equals(this.links, scheduleRotationList.links); + Objects.equals(this.links, scheduleRotationList.links) && + Objects.equals(this.meta, scheduleRotationList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class ScheduleRotationList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java b/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java index bbb90cd9..c3331bcd 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 465d6b28..fc0fb0c5 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0c5a6f79..d931f5f8 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * ScheduleRotationUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b7477aed..dae18e32 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationUserListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * ScheduleRotationUserList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleRotationUserList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class ScheduleRotationUserList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public ScheduleRotationUserList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public ScheduleRotationUserList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } ScheduleRotationUserList scheduleRotationUserList = (ScheduleRotationUserList) o; return Objects.equals(this.data, scheduleRotationUserList.data) && - Objects.equals(this.links, scheduleRotationUserList.links); + Objects.equals(this.links, scheduleRotationUserList.links) && + Objects.equals(this.meta, scheduleRotationUserList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class ScheduleRotationUserList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java b/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java index da4bceb9..cf276057 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationUserListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fc18ea1c..30bd118f 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ScheduleRotationUserResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..df22267f --- /dev/null +++ b/src/main/java/com/rootly/client/model/ScheduleSlackChannel.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; + +/** + * Synced slack channel of the schedule + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ScheduleSlackChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public ScheduleSlackChannel() { + } + + public ScheduleSlackChannel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ScheduleSlackChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScheduleSlackChannel scheduleSlackChannel = (ScheduleSlackChannel) o; + return Objects.equals(this.id, scheduleSlackChannel.id) && + Objects.equals(this.name, scheduleSlackChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScheduleSlackChannel {\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(); + } + + /** + * 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 ScheduleSlackChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ScheduleSlackChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ScheduleSlackChannel is not found in the empty JSON string", ScheduleSlackChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ScheduleSlackChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ScheduleSlackChannel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ScheduleSlackChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ScheduleSlackChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ScheduleSlackChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ScheduleSlackChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ScheduleSlackChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ScheduleSlackChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of ScheduleSlackChannel + * @throws IOException if the JSON string is invalid with respect to ScheduleSlackChannel + */ + public static ScheduleSlackChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ScheduleSlackChannel.class); + } + + /** + * Convert an instance of ScheduleSlackChannel 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/ScheduleSlackUserGroup.java b/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java index 64e157ce..1525f5e1 100644 --- a/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java +++ b/src/main/java/com/rootly/client/model/ScheduleSlackUserGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * Synced slack group of the schedule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ScheduleSlackUserGroup { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -69,7 +69,7 @@ public ScheduleSlackUserGroup id(@javax.annotation.Nullable String id) { } /** - * Slack channel ID + * Slack user group ID * @return id */ @javax.annotation.Nullable @@ -88,7 +88,7 @@ public ScheduleSlackUserGroup name(@javax.annotation.Nullable String name) { } /** - * Slack channel name + * Slack user group name * @return name */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/Secret.java b/src/main/java/com/rootly/client/model/Secret.java index 7030b020..9c970eb5 100644 --- a/src/main/java/com/rootly/client/model/Secret.java +++ b/src/main/java/com/rootly/client/model/Secret.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * Secret */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Secret { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/SecretList.java b/src/main/java/com/rootly/client/model/SecretList.java index 601cf516..c56ec9fe 100644 --- a/src/main/java/com/rootly/client/model/SecretList.java +++ b/src/main/java/com/rootly/client/model/SecretList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SecretResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * SecretList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SecretList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class SecretList { @javax.annotation.Nullable private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + public SecretList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nullable Links links) { } + public SecretList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } SecretList secretList = (SecretList) o; return Objects.equals(this.data, secretList.data) && - Objects.equals(this.links, secretList.links); + Objects.equals(this.links, secretList.links) && + Objects.equals(this.meta, secretList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class SecretList {\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("}"); return sb.toString(); } @@ -162,6 +189,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -210,6 +238,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { Links.validateJsonElement(jsonObj.get("links")); } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/SecretResponse.java b/src/main/java/com/rootly/client/model/SecretResponse.java index e735e296..d535cace 100644 --- a/src/main/java/com/rootly/client/model/SecretResponse.java +++ b/src/main/java/com/rootly/client/model/SecretResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SecretResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9a549a14..a7892016 100644 --- a/src/main/java/com/rootly/client/model/SecretResponseData.java +++ b/src/main/java/com/rootly/client/model/SecretResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SecretResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e0d166b1..1b7737fb 100644 --- a/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendDashboardReportTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SendDashboardReportTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 233d5309..67db4a25 100644 --- a/src/main/java/com/rootly/client/model/SendEmailTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendEmailTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SendEmailTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/SendMicrosoftTeamsBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java index 571affe9..80cc5e0e 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * SendMicrosoftTeamsBlocksTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsBlocksTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java new file mode 100644 index 00000000..2e09c707 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java @@ -0,0 +1,347 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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; + +/** + * SendMicrosoftTeamsChatMessageTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SendMicrosoftTeamsChatMessageTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + SEND_MICROSOFT_TEAMS_CHAT_MESSAGE("send_microsoft_teams_chat_message"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_CHATS = "chats"; + @SerializedName(SERIALIZED_NAME_CHATS) + @javax.annotation.Nonnull + private List chats = new ArrayList<>(); + + public static final String SERIALIZED_NAME_TEXT = "text"; + @SerializedName(SERIALIZED_NAME_TEXT) + @javax.annotation.Nonnull + private String text; + + public SendMicrosoftTeamsChatMessageTaskParams() { + } + + public SendMicrosoftTeamsChatMessageTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public SendMicrosoftTeamsChatMessageTaskParams chats(@javax.annotation.Nonnull List chats) { + this.chats = chats; + return this; + } + + public SendMicrosoftTeamsChatMessageTaskParams addChatsItem(AddActionItemTaskParamsPostToSlackChannelsInner chatsItem) { + if (this.chats == null) { + this.chats = new ArrayList<>(); + } + this.chats.add(chatsItem); + return this; + } + + /** + * Get chats + * @return chats + */ + @javax.annotation.Nonnull + public List getChats() { + return chats; + } + + public void setChats(@javax.annotation.Nonnull List chats) { + this.chats = chats; + } + + + public SendMicrosoftTeamsChatMessageTaskParams text(@javax.annotation.Nonnull String text) { + this.text = text; + return this; + } + + /** + * The message text + * @return text + */ + @javax.annotation.Nonnull + public String getText() { + return text; + } + + public void setText(@javax.annotation.Nonnull String text) { + this.text = text; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SendMicrosoftTeamsChatMessageTaskParams sendMicrosoftTeamsChatMessageTaskParams = (SendMicrosoftTeamsChatMessageTaskParams) o; + return Objects.equals(this.taskType, sendMicrosoftTeamsChatMessageTaskParams.taskType) && + Objects.equals(this.chats, sendMicrosoftTeamsChatMessageTaskParams.chats) && + Objects.equals(this.text, sendMicrosoftTeamsChatMessageTaskParams.text); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, chats, text); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SendMicrosoftTeamsChatMessageTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" chats: ").append(toIndentedString(chats)).append("\n"); + sb.append(" text: ").append(toIndentedString(text)).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("chats"); + openapiFields.add("text"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("chats"); + openapiRequiredFields.add("text"); + } + + /** + * 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 SendMicrosoftTeamsChatMessageTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SendMicrosoftTeamsChatMessageTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SendMicrosoftTeamsChatMessageTaskParams is not found in the empty JSON string", SendMicrosoftTeamsChatMessageTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SendMicrosoftTeamsChatMessageTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SendMicrosoftTeamsChatMessageTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SendMicrosoftTeamsChatMessageTaskParams.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")); + } + // ensure the json data is an array + if (!jsonObj.get("chats").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `chats` to be an array in the JSON string but got `%s`", jsonObj.get("chats").toString())); + } + + JsonArray jsonArraychats = jsonObj.getAsJsonArray("chats"); + // validate the required field `chats` (array) + for (int i = 0; i < jsonArraychats.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArraychats.get(i)); + }; + if (!jsonObj.get("text").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `text` to be a primitive type in the JSON string but got `%s`", jsonObj.get("text").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SendMicrosoftTeamsChatMessageTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SendMicrosoftTeamsChatMessageTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsChatMessageTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SendMicrosoftTeamsChatMessageTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SendMicrosoftTeamsChatMessageTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SendMicrosoftTeamsChatMessageTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of SendMicrosoftTeamsChatMessageTaskParams + * @throws IOException if the JSON string is invalid with respect to SendMicrosoftTeamsChatMessageTaskParams + */ + public static SendMicrosoftTeamsChatMessageTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SendMicrosoftTeamsChatMessageTaskParams.class); + } + + /** + * Convert an instance of SendMicrosoftTeamsChatMessageTaskParams 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/SendMicrosoftTeamsMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java index dbda03ff..bce0a237 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SendMicrosoftTeamsMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java index 75b528ee..276f8246 100644 --- a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SendSlackBlocksTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackBlocksTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java index 18ab9017..30b3738d 100644 --- a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SendSlackMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSmsTaskParams.java b/src/main/java/com/rootly/client/model/SendSmsTaskParams.java index e73db06d..8bcd83ce 100644 --- a/src/main/java/com/rootly/client/model/SendSmsTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSmsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SendSmsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5ac83a26..3eec582e 100644 --- a/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendWhatsappMessageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SendWhatsappMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eb4619f9..94589dd4 100644 --- a/src/main/java/com/rootly/client/model/Service.java +++ b/src/main/java/com/rootly/client/model/Service.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.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; @@ -53,7 +56,7 @@ /** * Service */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Service { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -140,6 +143,11 @@ public class Service { @javax.annotation.Nullable private String gitlabRepositoryBranch; + public static final String SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME = "kubernetes_deployment_name"; + @SerializedName(SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME) + @javax.annotation.Nullable + private String kubernetesDeploymentName; + public static final String SERIALIZED_NAME_ENVIRONMENT_IDS = "environment_ids"; @SerializedName(SERIALIZED_NAME_ENVIRONMENT_IDS) @javax.annotation.Nullable @@ -150,21 +158,26 @@ public class Service { @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; + public static final String SERIALIZED_NAME_ALERTS_EMAIL_ENABLED = "alerts_email_enabled"; @SerializedName(SERIALIZED_NAME_ALERTS_EMAIL_ENABLED) @javax.annotation.Nullable @@ -185,6 +198,31 @@ public class Service { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private ServiceAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private ServiceIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -529,6 +567,25 @@ public void setGitlabRepositoryBranch(@javax.annotation.Nullable String gitlabRe } + public Service kubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; + return this; + } + + /** + * The Kubernetes deployment name associated to this service. eg: namespace/deployment-name + * @return kubernetesDeploymentName + */ + @javax.annotation.Nullable + public String getKubernetesDeploymentName() { + return kubernetesDeploymentName; + } + + public void setKubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; + } + + public Service environmentIds(@javax.annotation.Nullable List environmentIds) { this.environmentIds = environmentIds; return this; @@ -583,57 +640,57 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public Service ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public Service ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public Service addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public Service addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this service - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public Service ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public Service ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public Service addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public Service addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this service - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; } @@ -656,6 +713,25 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public Service escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the service + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + } + + public Service alertsEmailEnabled(@javax.annotation.Nullable Boolean alertsEmailEnabled) { this.alertsEmailEnabled = alertsEmailEnabled; return this; @@ -748,6 +824,109 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public Service addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this service. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public Service createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -813,15 +992,22 @@ public boolean equals(Object o) { 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) && Objects.equals(this.serviceIds, service.serviceIds) && - Objects.equals(this.ownersGroupIds, service.ownersGroupIds) && - Objects.equals(this.ownersUserIds, service.ownersUserIds) && + 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); } @@ -832,7 +1018,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, alertUrgencyId, alertsEmailEnabled, alertsEmailAddress, slackChannels, slackAliases, createdAt, updatedAt); + return Objects.hash(name, slug, 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) { @@ -863,15 +1049,22 @@ public String toString() { 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(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).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("}"); @@ -913,15 +1106,22 @@ private String toIndentedString(Object o) { 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("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_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"); @@ -1009,6 +1209,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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())); @@ -1018,16 +1221,19 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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())); } @@ -1059,6 +1265,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // 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())); } diff --git a/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java new file mode 100644 index 00000000..693f24ad --- /dev/null +++ b/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.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; + +/** + * Slack channel to broadcast alerts to + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ServiceAlertBroadcastChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public ServiceAlertBroadcastChannel() { + } + + public ServiceAlertBroadcastChannel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ServiceAlertBroadcastChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceAlertBroadcastChannel serviceAlertBroadcastChannel = (ServiceAlertBroadcastChannel) o; + return Objects.equals(this.id, serviceAlertBroadcastChannel.id) && + Objects.equals(this.name, serviceAlertBroadcastChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServiceAlertBroadcastChannel {\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(); + } + + /** + * 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 ServiceAlertBroadcastChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ServiceAlertBroadcastChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ServiceAlertBroadcastChannel is not found in the empty JSON string", ServiceAlertBroadcastChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ServiceAlertBroadcastChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ServiceAlertBroadcastChannel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ServiceAlertBroadcastChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ServiceAlertBroadcastChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ServiceAlertBroadcastChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ServiceAlertBroadcastChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ServiceAlertBroadcastChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ServiceAlertBroadcastChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of ServiceAlertBroadcastChannel + * @throws IOException if the JSON string is invalid with respect to ServiceAlertBroadcastChannel + */ + public static ServiceAlertBroadcastChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ServiceAlertBroadcastChannel.class); + } + + /** + * Convert an instance of ServiceAlertBroadcastChannel 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/ServiceIncidentBroadcastChannel.java b/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.java new file mode 100644 index 00000000..3abb97b1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ServiceIncidentBroadcastChannel.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; + +/** + * Slack channel to broadcast incidents to + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ServiceIncidentBroadcastChannel { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public ServiceIncidentBroadcastChannel() { + } + + public ServiceIncidentBroadcastChannel id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Slack channel ID + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ServiceIncidentBroadcastChannel name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Slack channel name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ServiceIncidentBroadcastChannel serviceIncidentBroadcastChannel = (ServiceIncidentBroadcastChannel) o; + return Objects.equals(this.id, serviceIncidentBroadcastChannel.id) && + Objects.equals(this.name, serviceIncidentBroadcastChannel.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ServiceIncidentBroadcastChannel {\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(); + } + + /** + * 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 ServiceIncidentBroadcastChannel + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ServiceIncidentBroadcastChannel.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ServiceIncidentBroadcastChannel is not found in the empty JSON string", ServiceIncidentBroadcastChannel.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ServiceIncidentBroadcastChannel.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ServiceIncidentBroadcastChannel` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ServiceIncidentBroadcastChannel.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ServiceIncidentBroadcastChannel' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ServiceIncidentBroadcastChannel.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ServiceIncidentBroadcastChannel value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ServiceIncidentBroadcastChannel read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ServiceIncidentBroadcastChannel given an JSON string + * + * @param jsonString JSON string + * @return An instance of ServiceIncidentBroadcastChannel + * @throws IOException if the JSON string is invalid with respect to ServiceIncidentBroadcastChannel + */ + public static ServiceIncidentBroadcastChannel fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ServiceIncidentBroadcastChannel.class); + } + + /** + * Convert an instance of ServiceIncidentBroadcastChannel 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/ServiceList.java b/src/main/java/com/rootly/client/model/ServiceList.java index 19b8da7f..29b8370d 100644 --- a/src/main/java/com/rootly/client/model/ServiceList.java +++ b/src/main/java/com/rootly/client/model/ServiceList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ServiceResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * ServiceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ServiceList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class ServiceList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public ServiceList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public ServiceList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } ServiceList serviceList = (ServiceList) o; return Objects.equals(this.data, serviceList.data) && - Objects.equals(this.links, serviceList.links); + Objects.equals(this.links, serviceList.links) && + Objects.equals(this.meta, serviceList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class ServiceList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ServiceResponse.java b/src/main/java/com/rootly/client/model/ServiceResponse.java index 6b3f20df..60d1c373 100644 --- a/src/main/java/com/rootly/client/model/ServiceResponse.java +++ b/src/main/java/com/rootly/client/model/ServiceResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ServiceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 09e7ba5e..d74be7b8 100644 --- a/src/main/java/com/rootly/client/model/ServiceResponseData.java +++ b/src/main/java/com/rootly/client/model/ServiceResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ServiceResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1a8a654a..a59f8dba 100644 --- a/src/main/java/com/rootly/client/model/Severity.java +++ b/src/main/java/com/rootly/client/model/Severity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * Severity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Severity { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/SeverityList.java b/src/main/java/com/rootly/client/model/SeverityList.java index 67f58c19..de6f5c09 100644 --- a/src/main/java/com/rootly/client/model/SeverityList.java +++ b/src/main/java/com/rootly/client/model/SeverityList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SeverityResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * SeverityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SeverityList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class SeverityList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public SeverityList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public SeverityList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } SeverityList severityList = (SeverityList) o; return Objects.equals(this.data, severityList.data) && - Objects.equals(this.links, severityList.links); + Objects.equals(this.links, severityList.links) && + Objects.equals(this.meta, severityList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class SeverityList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/SeverityResponse.java b/src/main/java/com/rootly/client/model/SeverityResponse.java index af60d22a..3f077a5e 100644 --- a/src/main/java/com/rootly/client/model/SeverityResponse.java +++ b/src/main/java/com/rootly/client/model/SeverityResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SeverityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b0335dd1..260c47bb 100644 --- a/src/main/java/com/rootly/client/model/SeverityResponseData.java +++ b/src/main/java/com/rootly/client/model/SeverityResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SeverityResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a2bf67b2..89fc7812 100644 --- a/src/main/java/com/rootly/client/model/Shift.java +++ b/src/main/java/com/rootly/client/model/Shift.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,8 +19,6 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.ShiftOverrideResponse; -import com.rootly.client.model.UserResponse; import java.io.IOException; import java.util.Arrays; import org.openapitools.jackson.nullable.JsonNullable; @@ -51,7 +49,7 @@ /** * Shift */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -78,15 +76,15 @@ public class Shift { @javax.annotation.Nonnull private Boolean isOverride; - public static final String SERIALIZED_NAME_SHIFT_OVERRIDE = "shift_override"; - @SerializedName(SERIALIZED_NAME_SHIFT_OVERRIDE) - @javax.annotation.Nullable - private ShiftOverrideResponse shiftOverride; + public static final String SERIALIZED_NAME_IS_SHADOW = "is_shadow"; + @SerializedName(SERIALIZED_NAME_IS_SHADOW) + @javax.annotation.Nonnull + private Boolean isShadow; - public static final String SERIALIZED_NAME_USER = "user"; - @SerializedName(SERIALIZED_NAME_USER) + public static final String SERIALIZED_NAME_USER_ID = "user_id"; + @SerializedName(SERIALIZED_NAME_USER_ID) @javax.annotation.Nullable - private UserResponse user; + private Integer userId; public Shift() { } @@ -186,41 +184,41 @@ public void setIsOverride(@javax.annotation.Nonnull Boolean isOverride) { } - public Shift shiftOverride(@javax.annotation.Nullable ShiftOverrideResponse shiftOverride) { - this.shiftOverride = shiftOverride; + public Shift isShadow(@javax.annotation.Nonnull Boolean isShadow) { + this.isShadow = isShadow; return this; } /** - * Override metadata - * @return shiftOverride + * Denotes shift is a shadow shift + * @return isShadow */ - @javax.annotation.Nullable - public ShiftOverrideResponse getShiftOverride() { - return shiftOverride; + @javax.annotation.Nonnull + public Boolean getIsShadow() { + return isShadow; } - public void setShiftOverride(@javax.annotation.Nullable ShiftOverrideResponse shiftOverride) { - this.shiftOverride = shiftOverride; + public void setIsShadow(@javax.annotation.Nonnull Boolean isShadow) { + this.isShadow = isShadow; } - public Shift user(@javax.annotation.Nullable UserResponse user) { - this.user = user; + public Shift userId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; return this; } /** - * User metadata - * @return user + * ID of user on shift + * @return userId */ @javax.annotation.Nullable - public UserResponse getUser() { - return user; + public Integer getUserId() { + return userId; } - public void setUser(@javax.annotation.Nullable UserResponse user) { - this.user = user; + public void setUserId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; } @@ -239,8 +237,8 @@ public boolean equals(Object o) { Objects.equals(this.startsAt, shift.startsAt) && Objects.equals(this.endsAt, shift.endsAt) && Objects.equals(this.isOverride, shift.isOverride) && - Objects.equals(this.shiftOverride, shift.shiftOverride) && - Objects.equals(this.user, shift.user); + Objects.equals(this.isShadow, shift.isShadow) && + Objects.equals(this.userId, shift.userId); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -249,7 +247,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, shiftOverride, user); + return Objects.hash(scheduleId, rotationId, startsAt, endsAt, isOverride, isShadow, userId); } private static int hashCodeNullable(JsonNullable a) { @@ -268,8 +266,8 @@ public String toString() { sb.append(" startsAt: ").append(toIndentedString(startsAt)).append("\n"); sb.append(" endsAt: ").append(toIndentedString(endsAt)).append("\n"); sb.append(" isOverride: ").append(toIndentedString(isOverride)).append("\n"); - sb.append(" shiftOverride: ").append(toIndentedString(shiftOverride)).append("\n"); - sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" isShadow: ").append(toIndentedString(isShadow)).append("\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); sb.append("}"); return sb.toString(); } @@ -297,8 +295,8 @@ private String toIndentedString(Object o) { openapiFields.add("starts_at"); openapiFields.add("ends_at"); openapiFields.add("is_override"); - openapiFields.add("shift_override"); - openapiFields.add("user"); + openapiFields.add("is_shadow"); + openapiFields.add("user_id"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -307,6 +305,7 @@ private String toIndentedString(Object o) { openapiRequiredFields.add("starts_at"); openapiRequiredFields.add("ends_at"); openapiRequiredFields.add("is_override"); + openapiRequiredFields.add("is_shadow"); } /** @@ -349,14 +348,6 @@ 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())); } - // validate the optional field `shift_override` - if (jsonObj.get("shift_override") != null && !jsonObj.get("shift_override").isJsonNull()) { - ShiftOverrideResponse.validateJsonElement(jsonObj.get("shift_override")); - } - // validate the optional field `user` - if (jsonObj.get("user") != null && !jsonObj.get("user").isJsonNull()) { - UserResponse.validateJsonElement(jsonObj.get("user")); - } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ShiftList.java b/src/main/java/com/rootly/client/model/ShiftList.java index 727fbea8..7f3c3ad7 100644 --- a/src/main/java/com/rootly/client/model/ShiftList.java +++ b/src/main/java/com/rootly/client/model/ShiftList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.Meta; import com.rootly.client.model.ShiftListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -51,13 +52,18 @@ /** * ShiftList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @javax.annotation.Nonnull private List data = new ArrayList<>(); + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + public ShiftList() { } @@ -88,6 +94,25 @@ public void setData(@javax.annotation.Nonnull List data) { } + public ShiftList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -98,12 +123,13 @@ public boolean equals(Object o) { return false; } ShiftList shiftList = (ShiftList) o; - return Objects.equals(this.data, shiftList.data); + return Objects.equals(this.data, shiftList.data) && + Objects.equals(this.meta, shiftList.meta); } @Override public int hashCode() { - return Objects.hash(data); + return Objects.hash(data, meta); } @Override @@ -111,6 +137,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ShiftList {\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); sb.append("}"); return sb.toString(); } @@ -134,6 +161,7 @@ private String toIndentedString(Object o) { // 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(); @@ -178,6 +206,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti for (int i = 0; i < jsonArraydata.size(); i++) { ShiftListDataInner.validateJsonElement(jsonArraydata.get(i)); }; + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ShiftListDataInner.java b/src/main/java/com/rootly/client/model/ShiftListDataInner.java index ef885965..bfced59e 100644 --- a/src/main/java/com/rootly/client/model/ShiftListDataInner.java +++ b/src/main/java/com/rootly/client/model/ShiftListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Shift; +import com.rootly.client.model.ShiftRelationships; import java.io.IOException; import java.util.Arrays; @@ -49,7 +50,7 @@ /** * ShiftListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -116,6 +117,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private Shift attributes; + public static final String SERIALIZED_NAME_RELATIONSHIPS = "relationships"; + @SerializedName(SERIALIZED_NAME_RELATIONSHIPS) + @javax.annotation.Nullable + private ShiftRelationships relationships; + public ShiftListDataInner() { } @@ -176,6 +182,25 @@ public void setAttributes(@javax.annotation.Nonnull Shift attributes) { } + public ShiftListDataInner relationships(@javax.annotation.Nullable ShiftRelationships relationships) { + this.relationships = relationships; + return this; + } + + /** + * Get relationships + * @return relationships + */ + @javax.annotation.Nullable + public ShiftRelationships getRelationships() { + return relationships; + } + + public void setRelationships(@javax.annotation.Nullable ShiftRelationships relationships) { + this.relationships = relationships; + } + + @Override public boolean equals(Object o) { @@ -188,12 +213,13 @@ public boolean equals(Object o) { ShiftListDataInner shiftListDataInner = (ShiftListDataInner) o; return Objects.equals(this.id, shiftListDataInner.id) && Objects.equals(this.type, shiftListDataInner.type) && - Objects.equals(this.attributes, shiftListDataInner.attributes); + Objects.equals(this.attributes, shiftListDataInner.attributes) && + Objects.equals(this.relationships, shiftListDataInner.relationships); } @Override public int hashCode() { - return Objects.hash(id, type, attributes); + return Objects.hash(id, type, attributes, relationships); } @Override @@ -203,6 +229,7 @@ public String toString() { 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(" relationships: ").append(toIndentedString(relationships)).append("\n"); sb.append("}"); return sb.toString(); } @@ -228,6 +255,7 @@ private String toIndentedString(Object o) { openapiFields.add("id"); openapiFields.add("type"); openapiFields.add("attributes"); + openapiFields.add("relationships"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -274,6 +302,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti TypeEnum.validateJsonElement(jsonObj.get("type")); // validate the required field `attributes` Shift.validateJsonElement(jsonObj.get("attributes")); + // validate the optional field `relationships` + if (jsonObj.get("relationships") != null && !jsonObj.get("relationships").isJsonNull()) { + ShiftRelationships.validateJsonElement(jsonObj.get("relationships")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/ShiftOverride.java b/src/main/java/com/rootly/client/model/ShiftOverride.java index 1d1e0062..ab901c5a 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverride.java +++ b/src/main/java/com/rootly/client/model/ShiftOverride.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * ShiftOverride */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 40720be8..52e513e5 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java +++ b/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ShiftOverrideResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2d837f89..64320ec1 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java +++ b/src/main/java/com/rootly/client/model/ShiftOverrideResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * ShiftOverrideResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..8d2d1007 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationships.java @@ -0,0 +1,272 @@ +/* + * 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.ShiftRelationshipsAssignee; +import com.rootly.client.model.ShiftRelationshipsShiftOverride; +import com.rootly.client.model.ShiftRelationshipsUser; +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; + +/** + * ShiftRelationships + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private ShiftRelationshipsShiftOverride shiftOverride; + + public static final String SERIALIZED_NAME_USER = "user"; + @SerializedName(SERIALIZED_NAME_USER) + @javax.annotation.Nullable + private ShiftRelationshipsUser user; + + public static final String SERIALIZED_NAME_ASSIGNEE = "assignee"; + @SerializedName(SERIALIZED_NAME_ASSIGNEE) + @javax.annotation.Nullable + private ShiftRelationshipsAssignee assignee; + + public ShiftRelationships() { + } + + public ShiftRelationships shiftOverride(@javax.annotation.Nullable ShiftRelationshipsShiftOverride shiftOverride) { + this.shiftOverride = shiftOverride; + return this; + } + + /** + * Get shiftOverride + * @return shiftOverride + */ + @javax.annotation.Nullable + public ShiftRelationshipsShiftOverride getShiftOverride() { + return shiftOverride; + } + + public void setShiftOverride(@javax.annotation.Nullable ShiftRelationshipsShiftOverride shiftOverride) { + this.shiftOverride = shiftOverride; + } + + + public ShiftRelationships user(@javax.annotation.Nullable ShiftRelationshipsUser user) { + this.user = user; + return this; + } + + /** + * Get user + * @return user + */ + @javax.annotation.Nullable + public ShiftRelationshipsUser getUser() { + return user; + } + + public void setUser(@javax.annotation.Nullable ShiftRelationshipsUser user) { + this.user = user; + } + + + public ShiftRelationships assignee(@javax.annotation.Nullable ShiftRelationshipsAssignee assignee) { + this.assignee = assignee; + return this; + } + + /** + * Get assignee + * @return assignee + */ + @javax.annotation.Nullable + public ShiftRelationshipsAssignee getAssignee() { + return assignee; + } + + public void setAssignee(@javax.annotation.Nullable ShiftRelationshipsAssignee assignee) { + this.assignee = assignee; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationships shiftRelationships = (ShiftRelationships) o; + return Objects.equals(this.shiftOverride, shiftRelationships.shiftOverride) && + Objects.equals(this.user, shiftRelationships.user) && + Objects.equals(this.assignee, shiftRelationships.assignee); + } + + @Override + public int hashCode() { + return Objects.hash(shiftOverride, user, assignee); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ShiftRelationships {\n"); + sb.append(" shiftOverride: ").append(toIndentedString(shiftOverride)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).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("shift_override"); + openapiFields.add("user"); + openapiFields.add("assignee"); + + // 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 ShiftRelationships + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationships.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationships is not found in the empty JSON string", ShiftRelationships.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationships.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationships` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `shift_override` + if (jsonObj.get("shift_override") != null && !jsonObj.get("shift_override").isJsonNull()) { + ShiftRelationshipsShiftOverride.validateJsonElement(jsonObj.get("shift_override")); + } + // validate the optional field `user` + if (jsonObj.get("user") != null && !jsonObj.get("user").isJsonNull()) { + ShiftRelationshipsUser.validateJsonElement(jsonObj.get("user")); + } + // validate the optional field `assignee` + if (jsonObj.get("assignee") != null && !jsonObj.get("assignee").isJsonNull()) { + ShiftRelationshipsAssignee.validateJsonElement(jsonObj.get("assignee")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationships.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationships' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationships.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationships value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationships read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationships given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationships + * @throws IOException if the JSON string is invalid with respect to ShiftRelationships + */ + public static ShiftRelationships fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationships.class); + } + + /** + * Convert an instance of ShiftRelationships 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/ShiftRelationshipsAssignee.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.java new file mode 100644 index 00000000..29d26b34 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssignee.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.ShiftRelationshipsAssigneeData; +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; + +/** + * Assignee can be either a User or Schedule + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsAssignee { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private ShiftRelationshipsAssigneeData data; + + public ShiftRelationshipsAssignee() { + } + + public ShiftRelationshipsAssignee data(@javax.annotation.Nullable ShiftRelationshipsAssigneeData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public ShiftRelationshipsAssigneeData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable ShiftRelationshipsAssigneeData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsAssignee shiftRelationshipsAssignee = (ShiftRelationshipsAssignee) o; + return Objects.equals(this.data, shiftRelationshipsAssignee.data); + } + + 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(data); + } + + 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 ShiftRelationshipsAssignee {\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 ShiftRelationshipsAssignee + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsAssignee.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsAssignee is not found in the empty JSON string", ShiftRelationshipsAssignee.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsAssignee.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsAssignee` 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()) { + ShiftRelationshipsAssigneeData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsAssignee.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsAssignee' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsAssignee.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsAssignee value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsAssignee read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsAssignee given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsAssignee + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsAssignee + */ + public static ShiftRelationshipsAssignee fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsAssignee.class); + } + + /** + * Convert an instance of ShiftRelationshipsAssignee 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/ShiftRelationshipsAssigneeData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.java new file mode 100644 index 00000000..269f6247 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsAssigneeData.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; + +/** + * ShiftRelationshipsAssigneeData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsAssigneeData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + @javax.annotation.Nullable + private String type; + + public ShiftRelationshipsAssigneeData() { + } + + public ShiftRelationshipsAssigneeData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ShiftRelationshipsAssigneeData type(@javax.annotation.Nullable String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public String getType() { + return type; + } + + public void setType(@javax.annotation.Nullable String type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsAssigneeData shiftRelationshipsAssigneeData = (ShiftRelationshipsAssigneeData) o; + return Objects.equals(this.id, shiftRelationshipsAssigneeData.id) && + Objects.equals(this.type, shiftRelationshipsAssigneeData.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ShiftRelationshipsAssigneeData {\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(); + } + + /** + * 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 ShiftRelationshipsAssigneeData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsAssigneeData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsAssigneeData is not found in the empty JSON string", ShiftRelationshipsAssigneeData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsAssigneeData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsAssigneeData` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsAssigneeData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsAssigneeData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsAssigneeData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsAssigneeData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsAssigneeData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsAssigneeData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsAssigneeData + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsAssigneeData + */ + public static ShiftRelationshipsAssigneeData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsAssigneeData.class); + } + + /** + * Convert an instance of ShiftRelationshipsAssigneeData 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/ShiftRelationshipsShiftOverride.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.java new file mode 100644 index 00000000..f8c475b7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverride.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.ShiftRelationshipsShiftOverrideData; +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; + +/** + * ShiftRelationshipsShiftOverride + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsShiftOverride { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private ShiftRelationshipsShiftOverrideData data; + + public ShiftRelationshipsShiftOverride() { + } + + public ShiftRelationshipsShiftOverride data(@javax.annotation.Nullable ShiftRelationshipsShiftOverrideData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public ShiftRelationshipsShiftOverrideData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable ShiftRelationshipsShiftOverrideData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsShiftOverride shiftRelationshipsShiftOverride = (ShiftRelationshipsShiftOverride) o; + return Objects.equals(this.data, shiftRelationshipsShiftOverride.data); + } + + 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(data); + } + + 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 ShiftRelationshipsShiftOverride {\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 ShiftRelationshipsShiftOverride + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsShiftOverride.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsShiftOverride is not found in the empty JSON string", ShiftRelationshipsShiftOverride.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsShiftOverride.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsShiftOverride` 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()) { + ShiftRelationshipsShiftOverrideData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsShiftOverride.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsShiftOverride' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsShiftOverride.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsShiftOverride value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsShiftOverride read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsShiftOverride given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsShiftOverride + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsShiftOverride + */ + public static ShiftRelationshipsShiftOverride fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsShiftOverride.class); + } + + /** + * Convert an instance of ShiftRelationshipsShiftOverride 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/ShiftRelationshipsShiftOverrideData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java new file mode 100644 index 00000000..3f46fb30 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideData.java @@ -0,0 +1,290 @@ +/* + * 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; + +/** + * ShiftRelationshipsShiftOverrideData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsShiftOverrideData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SHIFT_OVERRIDES("shift_overrides"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public ShiftRelationshipsShiftOverrideData() { + } + + public ShiftRelationshipsShiftOverrideData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ShiftRelationshipsShiftOverrideData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsShiftOverrideData shiftRelationshipsShiftOverrideData = (ShiftRelationshipsShiftOverrideData) o; + return Objects.equals(this.id, shiftRelationshipsShiftOverrideData.id) && + Objects.equals(this.type, shiftRelationshipsShiftOverrideData.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ShiftRelationshipsShiftOverrideData {\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(); + } + + /** + * 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 ShiftRelationshipsShiftOverrideData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsShiftOverrideData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsShiftOverrideData is not found in the empty JSON string", ShiftRelationshipsShiftOverrideData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsShiftOverrideData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsShiftOverrideData` 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("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")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsShiftOverrideData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsShiftOverrideData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsShiftOverrideData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsShiftOverrideData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsShiftOverrideData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsShiftOverrideData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsShiftOverrideData + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsShiftOverrideData + */ + public static ShiftRelationshipsShiftOverrideData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsShiftOverrideData.class); + } + + /** + * Convert an instance of ShiftRelationshipsShiftOverrideData 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/ShiftRelationshipsUser.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java new file mode 100644 index 00000000..c779e505 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsUser.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.ShiftRelationshipsUserData; +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; + +/** + * ShiftRelationshipsUser + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsUser { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private ShiftRelationshipsUserData data; + + public ShiftRelationshipsUser() { + } + + public ShiftRelationshipsUser data(@javax.annotation.Nullable ShiftRelationshipsUserData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public ShiftRelationshipsUserData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable ShiftRelationshipsUserData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsUser shiftRelationshipsUser = (ShiftRelationshipsUser) o; + return Objects.equals(this.data, shiftRelationshipsUser.data); + } + + 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(data); + } + + 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 ShiftRelationshipsUser {\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 ShiftRelationshipsUser + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsUser.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsUser is not found in the empty JSON string", ShiftRelationshipsUser.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsUser.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsUser` 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()) { + ShiftRelationshipsUserData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsUser.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsUser' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsUser.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsUser value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsUser read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsUser given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsUser + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsUser + */ + public static ShiftRelationshipsUser fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsUser.class); + } + + /** + * Convert an instance of ShiftRelationshipsUser 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/ShiftRelationshipsUserData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java new file mode 100644 index 00000000..0bf291a3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java @@ -0,0 +1,290 @@ +/* + * 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; + +/** + * ShiftRelationshipsUserData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class ShiftRelationshipsUserData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USERS("users"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public ShiftRelationshipsUserData() { + } + + public ShiftRelationshipsUserData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public ShiftRelationshipsUserData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ShiftRelationshipsUserData shiftRelationshipsUserData = (ShiftRelationshipsUserData) o; + return Objects.equals(this.id, shiftRelationshipsUserData.id) && + Objects.equals(this.type, shiftRelationshipsUserData.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ShiftRelationshipsUserData {\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(); + } + + /** + * 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 ShiftRelationshipsUserData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!ShiftRelationshipsUserData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in ShiftRelationshipsUserData is not found in the empty JSON string", ShiftRelationshipsUserData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!ShiftRelationshipsUserData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `ShiftRelationshipsUserData` 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("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")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!ShiftRelationshipsUserData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'ShiftRelationshipsUserData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(ShiftRelationshipsUserData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, ShiftRelationshipsUserData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public ShiftRelationshipsUserData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of ShiftRelationshipsUserData given an JSON string + * + * @param jsonString JSON string + * @return An instance of ShiftRelationshipsUserData + * @throws IOException if the JSON string is invalid with respect to ShiftRelationshipsUserData + */ + public static ShiftRelationshipsUserData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, ShiftRelationshipsUserData.class); + } + + /** + * Convert an instance of ShiftRelationshipsUserData 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/SimpleTriggerParams.java b/src/main/java/com/rootly/client/model/SimpleTriggerParams.java index baee92f8..67a5476b 100644 --- a/src/main/java/com/rootly/client/model/SimpleTriggerParams.java +++ b/src/main/java/com/rootly/client/model/SimpleTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * SimpleTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..d32cc042 --- /dev/null +++ b/src/main/java/com/rootly/client/model/Sla.java @@ -0,0 +1,936 @@ +/* + * 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.SlaConditionsInner; +import com.rootly.client.model.SlaNotificationConfigurationsInner; +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 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; + +/** + * Sla + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class Sla { + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + /** + * The entity type this SLA applies to + */ + @JsonAdapter(EntityTypeEnum.Adapter.class) + public enum EntityTypeEnum { + FOLLOW_UP("follow_up"); + + private String value; + + EntityTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EntityTypeEnum fromValue(String value) { + for (EntityTypeEnum b : EntityTypeEnum.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 EntityTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EntityTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EntityTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + EntityTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ENTITY_TYPE = "entity_type"; + @SerializedName(SERIALIZED_NAME_ENTITY_TYPE) + @javax.annotation.Nullable + private EntityTypeEnum entityType; + + /** + * Whether all or any conditions must match + */ + @JsonAdapter(ConditionMatchTypeEnum.Adapter.class) + public enum ConditionMatchTypeEnum { + ALL("ALL"), + + ANY("ANY"); + + private String value; + + ConditionMatchTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionMatchTypeEnum fromValue(String value) { + for (ConditionMatchTypeEnum b : ConditionMatchTypeEnum.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 ConditionMatchTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionMatchTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionMatchTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionMatchTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITION_MATCH_TYPE = "condition_match_type"; + @SerializedName(SERIALIZED_NAME_CONDITION_MATCH_TYPE) + @javax.annotation.Nonnull + private ConditionMatchTypeEnum conditionMatchType; + + public static final String SERIALIZED_NAME_MANAGER_ROLE_ID = "manager_role_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_ROLE_ID) + @javax.annotation.Nullable + private UUID managerRoleId; + + public static final String SERIALIZED_NAME_MANAGER_USER_ID = "manager_user_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_USER_ID) + @javax.annotation.Nullable + private Integer managerUserId; + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS = "assignment_deadline_days"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS) + @javax.annotation.Nonnull + private Integer assignmentDeadlineDays; + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS = "assignment_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS) + @javax.annotation.Nonnull + private String assignmentDeadlineParentStatus; + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID = "assignment_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID assignmentDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS = "assignment_skip_weekends"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean assignmentSkipWeekends; + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS = "completion_deadline_days"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS) + @javax.annotation.Nonnull + private Integer completionDeadlineDays; + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS = "completion_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS) + @javax.annotation.Nonnull + private String completionDeadlineParentStatus; + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID = "completion_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID completionDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS = "completion_skip_weekends"; + @SerializedName(SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean completionSkipWeekends; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS = "notification_configurations"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS) + @javax.annotation.Nullable + private List notificationConfigurations = new ArrayList<>(); + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public Sla() { + } + + public Sla slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the SLA + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public Sla name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * The name of the SLA + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public Sla description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the SLA + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public Sla position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the SLA for ordering + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public Sla entityType(@javax.annotation.Nullable EntityTypeEnum entityType) { + this.entityType = entityType; + return this; + } + + /** + * The entity type this SLA applies to + * @return entityType + */ + @javax.annotation.Nullable + public EntityTypeEnum getEntityType() { + return entityType; + } + + public void setEntityType(@javax.annotation.Nullable EntityTypeEnum entityType) { + this.entityType = entityType; + } + + + public Sla conditionMatchType(@javax.annotation.Nonnull ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + return this; + } + + /** + * Whether all or any conditions must match + * @return conditionMatchType + */ + @javax.annotation.Nonnull + public ConditionMatchTypeEnum getConditionMatchType() { + return conditionMatchType; + } + + public void setConditionMatchType(@javax.annotation.Nonnull ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + } + + + public Sla managerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + return this; + } + + /** + * The ID of the manager incident role. Exactly one of `manager_role_id` or `manager_user_id` must be provided. + * @return managerRoleId + */ + @javax.annotation.Nullable + public UUID getManagerRoleId() { + return managerRoleId; + } + + public void setManagerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + } + + + public Sla managerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + return this; + } + + /** + * The ID of the manager user. Exactly one of `manager_role_id` or `manager_user_id` must be provided. + * @return managerUserId + */ + @javax.annotation.Nullable + public Integer getManagerUserId() { + return managerUserId; + } + + public void setManagerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + } + + + public Sla assignmentDeadlineDays(@javax.annotation.Nonnull Integer assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + return this; + } + + /** + * Number of days for the assignment deadline + * @return assignmentDeadlineDays + */ + @javax.annotation.Nonnull + public Integer getAssignmentDeadlineDays() { + return assignmentDeadlineDays; + } + + public void setAssignmentDeadlineDays(@javax.annotation.Nonnull Integer assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + } + + + public Sla assignmentDeadlineParentStatus(@javax.annotation.Nonnull String assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the assignment deadline + * @return assignmentDeadlineParentStatus + */ + @javax.annotation.Nonnull + public String getAssignmentDeadlineParentStatus() { + return assignmentDeadlineParentStatus; + } + + public void setAssignmentDeadlineParentStatus(@javax.annotation.Nonnull String assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + } + + + public Sla assignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. + * @return assignmentDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getAssignmentDeadlineSubStatusId() { + return assignmentDeadlineSubStatusId; + } + + public void setAssignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + } + + + public Sla assignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the assignment deadline + * @return assignmentSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getAssignmentSkipWeekends() { + return assignmentSkipWeekends; + } + + public void setAssignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + } + + + public Sla completionDeadlineDays(@javax.annotation.Nonnull Integer completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + return this; + } + + /** + * Number of days for the completion deadline + * @return completionDeadlineDays + */ + @javax.annotation.Nonnull + public Integer getCompletionDeadlineDays() { + return completionDeadlineDays; + } + + public void setCompletionDeadlineDays(@javax.annotation.Nonnull Integer completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + } + + + public Sla completionDeadlineParentStatus(@javax.annotation.Nonnull String completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the completion deadline + * @return completionDeadlineParentStatus + */ + @javax.annotation.Nonnull + public String getCompletionDeadlineParentStatus() { + return completionDeadlineParentStatus; + } + + public void setCompletionDeadlineParentStatus(@javax.annotation.Nonnull String completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + } + + + public Sla completionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. + * @return completionDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getCompletionDeadlineSubStatusId() { + return completionDeadlineSubStatusId; + } + + public void setCompletionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + } + + + public Sla completionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the completion deadline + * @return completionSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getCompletionSkipWeekends() { + return completionSkipWeekends; + } + + public void setCompletionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + } + + + public Sla conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public Sla addConditionsItem(SlaConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Conditions that determine which incidents this SLA applies to + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + public Sla notificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + return this; + } + + public Sla addNotificationConfigurationsItem(SlaNotificationConfigurationsInner notificationConfigurationsItem) { + if (this.notificationConfigurations == null) { + this.notificationConfigurations = new ArrayList<>(); + } + this.notificationConfigurations.add(notificationConfigurationsItem); + return this; + } + + /** + * Notification timing configurations + * @return notificationConfigurations + */ + @javax.annotation.Nullable + public List getNotificationConfigurations() { + return notificationConfigurations; + } + + public void setNotificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + } + + + public Sla createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public Sla updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + Sla sla = (Sla) o; + return Objects.equals(this.slug, sla.slug) && + Objects.equals(this.name, sla.name) && + Objects.equals(this.description, sla.description) && + Objects.equals(this.position, sla.position) && + Objects.equals(this.entityType, sla.entityType) && + Objects.equals(this.conditionMatchType, sla.conditionMatchType) && + Objects.equals(this.managerRoleId, sla.managerRoleId) && + Objects.equals(this.managerUserId, sla.managerUserId) && + Objects.equals(this.assignmentDeadlineDays, sla.assignmentDeadlineDays) && + Objects.equals(this.assignmentDeadlineParentStatus, sla.assignmentDeadlineParentStatus) && + Objects.equals(this.assignmentDeadlineSubStatusId, sla.assignmentDeadlineSubStatusId) && + Objects.equals(this.assignmentSkipWeekends, sla.assignmentSkipWeekends) && + Objects.equals(this.completionDeadlineDays, sla.completionDeadlineDays) && + Objects.equals(this.completionDeadlineParentStatus, sla.completionDeadlineParentStatus) && + Objects.equals(this.completionDeadlineSubStatusId, sla.completionDeadlineSubStatusId) && + Objects.equals(this.completionSkipWeekends, sla.completionSkipWeekends) && + Objects.equals(this.conditions, sla.conditions) && + Objects.equals(this.notificationConfigurations, sla.notificationConfigurations) && + Objects.equals(this.createdAt, sla.createdAt) && + Objects.equals(this.updatedAt, sla.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(slug, name, description, position, entityType, conditionMatchType, managerRoleId, managerUserId, assignmentDeadlineDays, assignmentDeadlineParentStatus, assignmentDeadlineSubStatusId, assignmentSkipWeekends, completionDeadlineDays, completionDeadlineParentStatus, completionDeadlineSubStatusId, completionSkipWeekends, conditions, notificationConfigurations, 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 Sla {\n"); + sb.append(" slug: ").append(toIndentedString(slug)).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(" entityType: ").append(toIndentedString(entityType)).append("\n"); + sb.append(" conditionMatchType: ").append(toIndentedString(conditionMatchType)).append("\n"); + sb.append(" managerRoleId: ").append(toIndentedString(managerRoleId)).append("\n"); + sb.append(" managerUserId: ").append(toIndentedString(managerUserId)).append("\n"); + sb.append(" assignmentDeadlineDays: ").append(toIndentedString(assignmentDeadlineDays)).append("\n"); + sb.append(" assignmentDeadlineParentStatus: ").append(toIndentedString(assignmentDeadlineParentStatus)).append("\n"); + sb.append(" assignmentDeadlineSubStatusId: ").append(toIndentedString(assignmentDeadlineSubStatusId)).append("\n"); + sb.append(" assignmentSkipWeekends: ").append(toIndentedString(assignmentSkipWeekends)).append("\n"); + sb.append(" completionDeadlineDays: ").append(toIndentedString(completionDeadlineDays)).append("\n"); + sb.append(" completionDeadlineParentStatus: ").append(toIndentedString(completionDeadlineParentStatus)).append("\n"); + sb.append(" completionDeadlineSubStatusId: ").append(toIndentedString(completionDeadlineSubStatusId)).append("\n"); + sb.append(" completionSkipWeekends: ").append(toIndentedString(completionSkipWeekends)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" notificationConfigurations: ").append(toIndentedString(notificationConfigurations)).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("slug"); + openapiFields.add("name"); + openapiFields.add("description"); + openapiFields.add("position"); + openapiFields.add("entity_type"); + openapiFields.add("condition_match_type"); + openapiFields.add("manager_role_id"); + openapiFields.add("manager_user_id"); + openapiFields.add("assignment_deadline_days"); + openapiFields.add("assignment_deadline_parent_status"); + openapiFields.add("assignment_deadline_sub_status_id"); + openapiFields.add("assignment_skip_weekends"); + openapiFields.add("completion_deadline_days"); + openapiFields.add("completion_deadline_parent_status"); + openapiFields.add("completion_deadline_sub_status_id"); + openapiFields.add("completion_skip_weekends"); + openapiFields.add("conditions"); + openapiFields.add("notification_configurations"); + 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("condition_match_type"); + openapiRequiredFields.add("assignment_deadline_days"); + openapiRequiredFields.add("assignment_deadline_parent_status"); + openapiRequiredFields.add("completion_deadline_days"); + openapiRequiredFields.add("completion_deadline_parent_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 Sla + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Sla.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in Sla is not found in the empty JSON string", Sla.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Sla.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `Sla` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : Sla.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("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("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("entity_type") != null && !jsonObj.get("entity_type").isJsonNull()) && !jsonObj.get("entity_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `entity_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("entity_type").toString())); + } + // validate the optional field `entity_type` + if (jsonObj.get("entity_type") != null && !jsonObj.get("entity_type").isJsonNull()) { + EntityTypeEnum.validateJsonElement(jsonObj.get("entity_type")); + } + if (!jsonObj.get("condition_match_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `condition_match_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("condition_match_type").toString())); + } + // validate the required field `condition_match_type` + ConditionMatchTypeEnum.validateJsonElement(jsonObj.get("condition_match_type")); + if ((jsonObj.get("manager_role_id") != null && !jsonObj.get("manager_role_id").isJsonNull()) && !jsonObj.get("manager_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `manager_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("manager_role_id").toString())); + } + if (!jsonObj.get("assignment_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_parent_status").toString())); + } + if ((jsonObj.get("assignment_deadline_sub_status_id") != null && !jsonObj.get("assignment_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("assignment_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_sub_status_id").toString())); + } + if (!jsonObj.get("completion_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_parent_status").toString())); + } + if ((jsonObj.get("completion_deadline_sub_status_id") != null && !jsonObj.get("completion_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("completion_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_sub_status_id").toString())); + } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + SlaConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + if (jsonObj.get("notification_configurations") != null && !jsonObj.get("notification_configurations").isJsonNull()) { + JsonArray jsonArraynotificationConfigurations = jsonObj.getAsJsonArray("notification_configurations"); + if (jsonArraynotificationConfigurations != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_configurations").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_configurations` to be an array in the JSON string but got `%s`", jsonObj.get("notification_configurations").toString())); + } + + // validate the optional field `notification_configurations` (array) + for (int i = 0; i < jsonArraynotificationConfigurations.size(); i++) { + SlaNotificationConfigurationsInner.validateJsonElement(jsonArraynotificationConfigurations.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("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 (!Sla.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Sla' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Sla.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Sla value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Sla read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Sla given an JSON string + * + * @param jsonString JSON string + * @return An instance of Sla + * @throws IOException if the JSON string is invalid with respect to Sla + */ + public static Sla fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Sla.class); + } + + /** + * Convert an instance of Sla 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/SlaConditionsInner.java b/src/main/java/com/rootly/client/model/SlaConditionsInner.java new file mode 100644 index 00000000..05e3b71c --- /dev/null +++ b/src/main/java/com/rootly/client/model/SlaConditionsInner.java @@ -0,0 +1,463 @@ +/* + * 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 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; + +/** + * SlaConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SlaConditionsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + /** + * The type of condition + */ + @JsonAdapter(ConditionableTypeEnum.Adapter.class) + public enum ConditionableTypeEnum { + SLAS_BUILT_IN_FIELD_CONDITION("SLAs::BuiltInFieldCondition"), + + SLAS_CUSTOM_FIELD_CONDITION("SLAs::CustomFieldCondition"); + + 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; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + 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) + @javax.annotation.Nullable + private ConditionableTypeEnum conditionableType; + + public static final String SERIALIZED_NAME_PROPERTY = "property"; + @SerializedName(SERIALIZED_NAME_PROPERTY) + @javax.annotation.Nullable + private String property; + + public static final String SERIALIZED_NAME_OPERATOR = "operator"; + @SerializedName(SERIALIZED_NAME_OPERATOR) + @javax.annotation.Nullable + private String operator; + + public static final String SERIALIZED_NAME_VALUES = "values"; + @SerializedName(SERIALIZED_NAME_VALUES) + @javax.annotation.Nullable + private List values; + + public static final String SERIALIZED_NAME_FORM_FIELD_ID = "form_field_id"; + @SerializedName(SERIALIZED_NAME_FORM_FIELD_ID) + @javax.annotation.Nullable + private UUID formFieldId; + + public SlaConditionsInner() { + } + + public SlaConditionsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the condition + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public SlaConditionsInner position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the condition + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public SlaConditionsInner conditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + return this; + } + + /** + * The type of condition + * @return conditionableType + */ + @javax.annotation.Nullable + public ConditionableTypeEnum getConditionableType() { + return conditionableType; + } + + public void setConditionableType(@javax.annotation.Nullable ConditionableTypeEnum conditionableType) { + this.conditionableType = conditionableType; + } + + + public SlaConditionsInner property(@javax.annotation.Nullable String property) { + this.property = property; + return this; + } + + /** + * The property to evaluate (for built-in field conditions) + * @return property + */ + @javax.annotation.Nullable + public String getProperty() { + return property; + } + + public void setProperty(@javax.annotation.Nullable String property) { + this.property = property; + } + + + public SlaConditionsInner operator(@javax.annotation.Nullable String operator) { + this.operator = operator; + return this; + } + + /** + * The comparison operator + * @return operator + */ + @javax.annotation.Nullable + public String getOperator() { + return operator; + } + + public void setOperator(@javax.annotation.Nullable String operator) { + this.operator = operator; + } + + + public SlaConditionsInner values(@javax.annotation.Nullable List values) { + this.values = values; + return this; + } + + public SlaConditionsInner addValuesItem(String valuesItem) { + if (this.values == null) { + this.values = new ArrayList<>(); + } + this.values.add(valuesItem); + return this; + } + + /** + * The values to compare against + * @return values + */ + @javax.annotation.Nullable + public List getValues() { + return values; + } + + public void setValues(@javax.annotation.Nullable List values) { + this.values = values; + } + + + public SlaConditionsInner formFieldId(@javax.annotation.Nullable UUID formFieldId) { + this.formFieldId = formFieldId; + return this; + } + + /** + * The ID of the form field (for custom field conditions) + * @return formFieldId + */ + @javax.annotation.Nullable + public UUID getFormFieldId() { + return formFieldId; + } + + public void setFormFieldId(@javax.annotation.Nullable UUID formFieldId) { + this.formFieldId = formFieldId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlaConditionsInner slaConditionsInner = (SlaConditionsInner) o; + return Objects.equals(this.id, slaConditionsInner.id) && + Objects.equals(this.position, slaConditionsInner.position) && + Objects.equals(this.conditionableType, slaConditionsInner.conditionableType) && + Objects.equals(this.property, slaConditionsInner.property) && + Objects.equals(this.operator, slaConditionsInner.operator) && + Objects.equals(this.values, slaConditionsInner.values) && + Objects.equals(this.formFieldId, slaConditionsInner.formFieldId); + } + + 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, position, conditionableType, property, operator, values, formFieldId); + } + + 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 SlaConditionsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" conditionableType: ").append(toIndentedString(conditionableType)).append("\n"); + sb.append(" property: ").append(toIndentedString(property)).append("\n"); + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append(" formFieldId: ").append(toIndentedString(formFieldId)).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("position"); + openapiFields.add("conditionable_type"); + openapiFields.add("property"); + openapiFields.add("operator"); + openapiFields.add("values"); + openapiFields.add("form_field_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 SlaConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SlaConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SlaConditionsInner is not found in the empty JSON string", SlaConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SlaConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SlaConditionsInner` 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("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("property") != null && !jsonObj.get("property").isJsonNull()) && !jsonObj.get("property").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `property` to be a primitive type in the JSON string but got `%s`", jsonObj.get("property").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())); + } + // 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())); + } + if ((jsonObj.get("form_field_id") != null && !jsonObj.get("form_field_id").isJsonNull()) && !jsonObj.get("form_field_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `form_field_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("form_field_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SlaConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SlaConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SlaConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SlaConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SlaConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SlaConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of SlaConditionsInner + * @throws IOException if the JSON string is invalid with respect to SlaConditionsInner + */ + public static SlaConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SlaConditionsInner.class); + } + + /** + * Convert an instance of SlaConditionsInner 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/SlaList.java b/src/main/java/com/rootly/client/model/SlaList.java new file mode 100644 index 00000000..9bbe62b7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SlaList.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 com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.SlaResponseData; +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; + +/** + * SlaList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SlaList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public SlaList() { + } + + public SlaList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public SlaList addDataItem(SlaResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public SlaList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public SlaList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlaList slaList = (SlaList) o; + return Objects.equals(this.data, slaList.data) && + Objects.equals(this.links, slaList.links) && + Objects.equals(this.meta, slaList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SlaList {\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("}"); + 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"); + + // 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 SlaList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SlaList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SlaList is not found in the empty JSON string", SlaList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SlaList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SlaList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SlaList.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++) { + SlaResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SlaList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SlaList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SlaList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SlaList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SlaList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SlaList given an JSON string + * + * @param jsonString JSON string + * @return An instance of SlaList + * @throws IOException if the JSON string is invalid with respect to SlaList + */ + public static SlaList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SlaList.class); + } + + /** + * Convert an instance of SlaList 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/SlaNotificationConfigurationsInner.java b/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java new file mode 100644 index 00000000..0674f22b --- /dev/null +++ b/src/main/java/com/rootly/client/model/SlaNotificationConfigurationsInner.java @@ -0,0 +1,382 @@ +/* + * 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; + +/** + * SlaNotificationConfigurationsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SlaNotificationConfigurationsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private UUID id; + + /** + * When to send the notification relative to the deadline + */ + @JsonAdapter(OffsetTypeEnum.Adapter.class) + public enum OffsetTypeEnum { + BEFORE_DUE("before_due"), + + WHEN_DUE("when_due"), + + AFTER_DUE("after_due"); + + private String value; + + OffsetTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OffsetTypeEnum fromValue(String value) { + for (OffsetTypeEnum b : OffsetTypeEnum.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 OffsetTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OffsetTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OffsetTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OffsetTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_OFFSET_TYPE = "offset_type"; + @SerializedName(SERIALIZED_NAME_OFFSET_TYPE) + @javax.annotation.Nullable + private OffsetTypeEnum offsetType; + + public static final String SERIALIZED_NAME_OFFSET_DAYS = "offset_days"; + @SerializedName(SERIALIZED_NAME_OFFSET_DAYS) + @javax.annotation.Nullable + private Integer offsetDays; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public SlaNotificationConfigurationsInner() { + } + + public SlaNotificationConfigurationsInner id(@javax.annotation.Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Unique ID of the notification configuration + * @return id + */ + @javax.annotation.Nullable + public UUID getId() { + return id; + } + + public void setId(@javax.annotation.Nullable UUID id) { + this.id = id; + } + + + public SlaNotificationConfigurationsInner offsetType(@javax.annotation.Nullable OffsetTypeEnum offsetType) { + this.offsetType = offsetType; + return this; + } + + /** + * When to send the notification relative to the deadline + * @return offsetType + */ + @javax.annotation.Nullable + public OffsetTypeEnum getOffsetType() { + return offsetType; + } + + public void setOffsetType(@javax.annotation.Nullable OffsetTypeEnum offsetType) { + this.offsetType = offsetType; + } + + + public SlaNotificationConfigurationsInner offsetDays(@javax.annotation.Nullable Integer offsetDays) { + this.offsetDays = offsetDays; + return this; + } + + /** + * Number of days offset from the deadline + * @return offsetDays + */ + @javax.annotation.Nullable + public Integer getOffsetDays() { + return offsetDays; + } + + public void setOffsetDays(@javax.annotation.Nullable Integer offsetDays) { + this.offsetDays = offsetDays; + } + + + public SlaNotificationConfigurationsInner createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public SlaNotificationConfigurationsInner updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlaNotificationConfigurationsInner slaNotificationConfigurationsInner = (SlaNotificationConfigurationsInner) o; + return Objects.equals(this.id, slaNotificationConfigurationsInner.id) && + Objects.equals(this.offsetType, slaNotificationConfigurationsInner.offsetType) && + Objects.equals(this.offsetDays, slaNotificationConfigurationsInner.offsetDays) && + Objects.equals(this.createdAt, slaNotificationConfigurationsInner.createdAt) && + Objects.equals(this.updatedAt, slaNotificationConfigurationsInner.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(id, offsetType, offsetDays, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SlaNotificationConfigurationsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" offsetType: ").append(toIndentedString(offsetType)).append("\n"); + sb.append(" offsetDays: ").append(toIndentedString(offsetDays)).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("id"); + openapiFields.add("offset_type"); + openapiFields.add("offset_days"); + 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 SlaNotificationConfigurationsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SlaNotificationConfigurationsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SlaNotificationConfigurationsInner is not found in the empty JSON string", SlaNotificationConfigurationsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SlaNotificationConfigurationsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SlaNotificationConfigurationsInner` 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("offset_type") != null && !jsonObj.get("offset_type").isJsonNull()) && !jsonObj.get("offset_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `offset_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("offset_type").toString())); + } + // validate the optional field `offset_type` + if (jsonObj.get("offset_type") != null && !jsonObj.get("offset_type").isJsonNull()) { + OffsetTypeEnum.validateJsonElement(jsonObj.get("offset_type")); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!SlaNotificationConfigurationsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SlaNotificationConfigurationsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SlaNotificationConfigurationsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SlaNotificationConfigurationsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SlaNotificationConfigurationsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SlaNotificationConfigurationsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of SlaNotificationConfigurationsInner + * @throws IOException if the JSON string is invalid with respect to SlaNotificationConfigurationsInner + */ + public static SlaNotificationConfigurationsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SlaNotificationConfigurationsInner.class); + } + + /** + * Convert an instance of SlaNotificationConfigurationsInner 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/SlaResponse.java b/src/main/java/com/rootly/client/model/SlaResponse.java new file mode 100644 index 00000000..cbd92c5e --- /dev/null +++ b/src/main/java/com/rootly/client/model/SlaResponse.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.SlaResponseData; +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; + +/** + * SlaResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SlaResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private SlaResponseData data; + + public SlaResponse() { + } + + public SlaResponse data(@javax.annotation.Nonnull SlaResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public SlaResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull SlaResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlaResponse slaResponse = (SlaResponse) o; + return Objects.equals(this.data, slaResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SlaResponse {\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 SlaResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SlaResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SlaResponse is not found in the empty JSON string", SlaResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SlaResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SlaResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SlaResponse.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` + SlaResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SlaResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SlaResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SlaResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SlaResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SlaResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SlaResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of SlaResponse + * @throws IOException if the JSON string is invalid with respect to SlaResponse + */ + public static SlaResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SlaResponse.class); + } + + /** + * Convert an instance of SlaResponse 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/SlaResponseData.java b/src/main/java/com/rootly/client/model/SlaResponseData.java new file mode 100644 index 00000000..7c8c53d6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SlaResponseData.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.Sla; +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; + +/** + * SlaResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SlaResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SLAS("slas"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private Sla attributes; + + public SlaResponseData() { + } + + public SlaResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the SLA + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public SlaResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public SlaResponseData attributes(@javax.annotation.Nonnull Sla attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public Sla getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull Sla attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SlaResponseData slaResponseData = (SlaResponseData) o; + return Objects.equals(this.id, slaResponseData.id) && + Objects.equals(this.type, slaResponseData.type) && + Objects.equals(this.attributes, slaResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SlaResponseData {\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 SlaResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SlaResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SlaResponseData is not found in the empty JSON string", SlaResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SlaResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SlaResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SlaResponseData.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` + Sla.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SlaResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SlaResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SlaResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SlaResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SlaResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SlaResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of SlaResponseData + * @throws IOException if the JSON string is invalid with respect to SlaResponseData + */ + public static SlaResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SlaResponseData.class); + } + + /** + * Convert an instance of SlaResponseData 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/SnapshotDatadogGraphTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java index cb5b62da..58257d00 100644 --- a/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SnapshotDatadogGraphTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8f427794..3b6c3aaa 100644 --- a/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SnapshotGrafanaDashboardTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e6601c0e..b9defe83 100644 --- a/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotLookerLookTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SnapshotLookerLookTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 977d691b..b44f3d7b 100644 --- a/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java +++ b/src/main/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * SnapshotNewRelicGraphTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..fe747012 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SnoozeAlert.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.SnoozeAlertData; +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; + +/** + * SnoozeAlert + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SnoozeAlert { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private SnoozeAlertData data; + + public SnoozeAlert() { + } + + public SnoozeAlert data(@javax.annotation.Nonnull SnoozeAlertData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public SnoozeAlertData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull SnoozeAlertData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SnoozeAlert snoozeAlert = (SnoozeAlert) o; + return Objects.equals(this.data, snoozeAlert.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SnoozeAlert {\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 SnoozeAlert + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SnoozeAlert.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SnoozeAlert is not found in the empty JSON string", SnoozeAlert.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SnoozeAlert.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SnoozeAlert` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SnoozeAlert.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` + SnoozeAlertData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SnoozeAlert.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SnoozeAlert' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SnoozeAlert.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SnoozeAlert value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SnoozeAlert read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SnoozeAlert given an JSON string + * + * @param jsonString JSON string + * @return An instance of SnoozeAlert + * @throws IOException if the JSON string is invalid with respect to SnoozeAlert + */ + public static SnoozeAlert fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SnoozeAlert.class); + } + + /** + * Convert an instance of SnoozeAlert 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/SnoozeAlertData.java b/src/main/java/com/rootly/client/model/SnoozeAlertData.java new file mode 100644 index 00000000..5c1e2a32 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SnoozeAlertData.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.SnoozeAlertDataAttributes; +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; + +/** + * SnoozeAlertData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class SnoozeAlertData { + /** + * 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private SnoozeAlertDataAttributes attributes; + + public SnoozeAlertData() { + } + + public SnoozeAlertData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public SnoozeAlertData attributes(@javax.annotation.Nonnull SnoozeAlertDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public SnoozeAlertDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull SnoozeAlertDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SnoozeAlertData snoozeAlertData = (SnoozeAlertData) o; + return Objects.equals(this.type, snoozeAlertData.type) && + Objects.equals(this.attributes, snoozeAlertData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SnoozeAlertData {\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 SnoozeAlertData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SnoozeAlertData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SnoozeAlertData is not found in the empty JSON string", SnoozeAlertData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SnoozeAlertData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SnoozeAlertData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SnoozeAlertData.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` + SnoozeAlertDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SnoozeAlertData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SnoozeAlertData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SnoozeAlertData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SnoozeAlertData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SnoozeAlertData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SnoozeAlertData given an JSON string + * + * @param jsonString JSON string + * @return An instance of SnoozeAlertData + * @throws IOException if the JSON string is invalid with respect to SnoozeAlertData + */ + public static SnoozeAlertData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SnoozeAlertData.class); + } + + /** + * Convert an instance of SnoozeAlertData 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/SnoozeAlertDataAttributes.java b/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java new file mode 100644 index 00000000..c9708622 --- /dev/null +++ b/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java @@ -0,0 +1,213 @@ +/* + * 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; + +/** + * SnoozeAlertDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private Integer delayMinutes; + + public SnoozeAlertDataAttributes() { + } + + public SnoozeAlertDataAttributes delayMinutes(@javax.annotation.Nonnull Integer delayMinutes) { + this.delayMinutes = delayMinutes; + return this; + } + + /** + * Number of minutes to snooze the alert for + * minimum: 1 + * maximum: 1440 + * @return delayMinutes + */ + @javax.annotation.Nonnull + public Integer getDelayMinutes() { + return delayMinutes; + } + + public void setDelayMinutes(@javax.annotation.Nonnull Integer delayMinutes) { + this.delayMinutes = delayMinutes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SnoozeAlertDataAttributes snoozeAlertDataAttributes = (SnoozeAlertDataAttributes) o; + return Objects.equals(this.delayMinutes, snoozeAlertDataAttributes.delayMinutes); + } + + @Override + public int hashCode() { + return Objects.hash(delayMinutes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SnoozeAlertDataAttributes {\n"); + sb.append(" delayMinutes: ").append(toIndentedString(delayMinutes)).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("delay_minutes"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("delay_minutes"); + } + + /** + * 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 SnoozeAlertDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!SnoozeAlertDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in SnoozeAlertDataAttributes is not found in the empty JSON string", SnoozeAlertDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!SnoozeAlertDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `SnoozeAlertDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : SnoozeAlertDataAttributes.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(); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!SnoozeAlertDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'SnoozeAlertDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(SnoozeAlertDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, SnoozeAlertDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public SnoozeAlertDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of SnoozeAlertDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of SnoozeAlertDataAttributes + * @throws IOException if the JSON string is invalid with respect to SnoozeAlertDataAttributes + */ + public static SnoozeAlertDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, SnoozeAlertDataAttributes.class); + } + + /** + * Convert an instance of SnoozeAlertDataAttributes 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/Status.java b/src/main/java/com/rootly/client/model/Status.java new file mode 100644 index 00000000..cef7cdc1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/Status.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; + +/** + * Status + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class Status { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nonnull + private String name; + + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COLOR = "color"; + @SerializedName(SERIALIZED_NAME_COLOR) + @javax.annotation.Nonnull + private String color; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @javax.annotation.Nonnull + private Boolean enabled; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public Status() { + } + + public Status name(@javax.annotation.Nonnull String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nonnull + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nonnull String name) { + this.name = name; + } + + + public Status slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * Get slug + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + + public Status description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public Status color(@javax.annotation.Nonnull String color) { + this.color = color; + return this; + } + + /** + * Get color + * @return color + */ + @javax.annotation.Nonnull + public String getColor() { + return color; + } + + public void setColor(@javax.annotation.Nonnull String color) { + this.color = color; + } + + + public Status enabled(@javax.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Get enabled + * @return enabled + */ + @javax.annotation.Nonnull + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@javax.annotation.Nonnull Boolean enabled) { + this.enabled = enabled; + } + + + public Status createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Get createdAt + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public Status updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Get updatedAt + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + Status status = (Status) o; + return Objects.equals(this.name, status.name) && + Objects.equals(this.slug, status.slug) && + Objects.equals(this.description, status.description) && + Objects.equals(this.color, status.color) && + Objects.equals(this.enabled, status.enabled) && + Objects.equals(this.createdAt, status.createdAt) && + Objects.equals(this.updatedAt, status.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(name, slug, description, color, enabled, 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 Status {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" color: ").append(toIndentedString(color)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).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("slug"); + openapiFields.add("description"); + openapiFields.add("color"); + openapiFields.add("enabled"); + 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("color"); + openapiRequiredFields.add("enabled"); + 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 Status + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!Status.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in Status is not found in the empty JSON string", Status.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!Status.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `Status` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : Status.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("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("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("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("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 (!Status.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'Status' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(Status.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, Status value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public Status read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of Status given an JSON string + * + * @param jsonString JSON string + * @return An instance of Status + * @throws IOException if the JSON string is invalid with respect to Status + */ + public static Status fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, Status.class); + } + + /** + * Convert an instance of Status 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/StatusList.java b/src/main/java/com/rootly/client/model/StatusList.java new file mode 100644 index 00000000..6bf06f85 --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusList.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 com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.StatusResponseData; +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; + +/** + * StatusList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public StatusList() { + } + + public StatusList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public StatusList addDataItem(StatusResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public StatusList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public StatusList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusList statusList = (StatusList) o; + return Objects.equals(this.data, statusList.data) && + Objects.equals(this.links, statusList.links) && + Objects.equals(this.meta, statusList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusList {\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("}"); + 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"); + + // 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 StatusList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusList is not found in the empty JSON string", StatusList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusList.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++) { + StatusResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusList given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusList + * @throws IOException if the JSON string is invalid with respect to StatusList + */ + public static StatusList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusList.class); + } + + /** + * Convert an instance of StatusList 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/StatusPage.java b/src/main/java/com/rootly/client/model/StatusPage.java index 2a73a7cc..9cce8f57 100644 --- a/src/main/java/com/rootly/client/model/StatusPage.java +++ b/src/main/java/com/rootly/client/model/StatusPage.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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 com.google.gson.Gson; @@ -51,13 +53,18 @@ /** * StatusPage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPage { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @javax.annotation.Nonnull private String title; + public static final String SERIALIZED_NAME_SLUG = "slug"; + @SerializedName(SERIALIZED_NAME_SLUG) + @javax.annotation.Nullable + private String slug; + public static final String SERIALIZED_NAME_PUBLIC_TITLE = "public_title"; @SerializedName(SERIALIZED_NAME_PUBLIC_TITLE) @javax.annotation.Nullable @@ -102,11 +109,7 @@ public enum ShowUptimeLastDaysEnum { NUMBER_60(60), - NUMBER_90(90), - - NUMBER_180(180), - - NUMBER_360(360); + NUMBER_90(90); private Integer value; @@ -166,7 +169,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String failureMessage; + /** + * Authentication method + */ + @JsonAdapter(AuthenticationMethodEnum.Adapter.class) + public enum AuthenticationMethodEnum { + NONE("none"), + + PASSWORD("password"), + + SAML("saml"); + + private String value; + + AuthenticationMethodEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AuthenticationMethodEnum fromValue(String value) { + for (AuthenticationMethodEnum b : AuthenticationMethodEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AuthenticationMethodEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AuthenticationMethodEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AuthenticationMethodEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AuthenticationMethodEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AUTHENTICATION_METHOD = "authentication_method"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_METHOD) + @javax.annotation.Nullable + private AuthenticationMethodEnum authenticationMethod = AuthenticationMethodEnum.NONE; + public static final String SERIALIZED_NAME_AUTHENTICATION_ENABLED = "authentication_enabled"; + @Deprecated @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ENABLED) @javax.annotation.Nullable private Boolean authenticationEnabled = false; @@ -176,6 +239,146 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String authenticationPassword; + public static final String SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL = "saml_idp_sso_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSsoServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL = "saml_idp_slo_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSloServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_CERT = "saml_idp_cert"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_CERT) + @javax.annotation.Nullable + private String samlIdpCert; + + public static final String SERIALIZED_NAME_SAML_IDP_CERT_FINGERPRINT = "saml_idp_cert_fingerprint"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_CERT_FINGERPRINT) + @javax.annotation.Nullable + private String samlIdpCertFingerprint; + + /** + * SAML name identifier format + */ + @JsonAdapter(SamlNameIdentifierFormatEnum.Adapter.class) + public enum SamlNameIdentifierFormatEnum { + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT("urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT("urn:oasis:names:tc:SAML:2.0:nameid-format:transient"), + + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED("urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"); + + private String value; + + SamlNameIdentifierFormatEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SamlNameIdentifierFormatEnum fromValue(String value) { + for (SamlNameIdentifierFormatEnum b : SamlNameIdentifierFormatEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SamlNameIdentifierFormatEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SamlNameIdentifierFormatEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT = "saml_name_identifier_format"; + @SerializedName(SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT) + @javax.annotation.Nullable + private SamlNameIdentifierFormatEnum samlNameIdentifierFormat; + + /** + * Gets or Sets sectionOrder + */ + @JsonAdapter(SectionOrderEnum.Adapter.class) + public enum SectionOrderEnum { + MAINTENANCE("maintenance"), + + SYSTEM_STATUS("system_status"), + + INCIDENTS("incidents"); + + private String value; + + SectionOrderEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SectionOrderEnum fromValue(String value) { + for (SectionOrderEnum b : SectionOrderEnum.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 SectionOrderEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SectionOrderEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SectionOrderEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SectionOrderEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SECTION_ORDER = "section_order"; + @SerializedName(SERIALIZED_NAME_SECTION_ORDER) + @javax.annotation.Nullable + private List sectionOrder; + public static final String SERIALIZED_NAME_WEBSITE_URL = "website_url"; @SerializedName(SERIALIZED_NAME_WEBSITE_URL) @javax.annotation.Nullable @@ -221,6 +424,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List externalDomainNames = new ArrayList<>(); + public static final String SERIALIZED_NAME_CNAME_RECORDS = "cname_records"; + @SerializedName(SERIALIZED_NAME_CNAME_RECORDS) + @javax.annotation.Nullable + private Map cnameRecords; + public static final String SERIALIZED_NAME_ENABLED = "enabled"; @SerializedName(SERIALIZED_NAME_ENABLED) @javax.annotation.Nullable @@ -239,6 +447,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public StatusPage() { } + public StatusPage( + Map cnameRecords + ) { + this(); + this.cnameRecords = cnameRecords; + } + public StatusPage title(@javax.annotation.Nonnull String title) { this.title = title; return this; @@ -258,6 +473,25 @@ public void setTitle(@javax.annotation.Nonnull String title) { } + public StatusPage slug(@javax.annotation.Nullable String slug) { + this.slug = slug; + return this; + } + + /** + * The slug of the status page + * @return slug + */ + @javax.annotation.Nullable + public String getSlug() { + return slug; + } + + public void setSlug(@javax.annotation.Nullable String slug) { + this.slug = slug; + } + + public StatusPage publicTitle(@javax.annotation.Nullable String publicTitle) { this.publicTitle = publicTitle; return this; @@ -448,20 +682,43 @@ public void setFailureMessage(@javax.annotation.Nullable String failureMessage) } + public StatusPage authenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + return this; + } + + /** + * Authentication method + * @return authenticationMethod + */ + @javax.annotation.Nullable + public AuthenticationMethodEnum getAuthenticationMethod() { + return authenticationMethod; + } + + public void setAuthenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + } + + + @Deprecated public StatusPage authenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; return this; } /** - * Enable authentication + * Enable authentication (deprecated - use authentication_method instead) * @return authenticationEnabled + * @deprecated */ + @Deprecated @javax.annotation.Nullable public Boolean getAuthenticationEnabled() { return authenticationEnabled; } + @Deprecated public void setAuthenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; } @@ -486,6 +743,128 @@ public void setAuthenticationPassword(@javax.annotation.Nullable String authenti } + public StatusPage samlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + return this; + } + + /** + * SAML IdP SSO service URL + * @return samlIdpSsoServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSsoServiceUrl() { + return samlIdpSsoServiceUrl; + } + + public void setSamlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + } + + + public StatusPage samlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + return this; + } + + /** + * SAML IdP SLO service URL + * @return samlIdpSloServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSloServiceUrl() { + return samlIdpSloServiceUrl; + } + + public void setSamlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + } + + + public StatusPage samlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + return this; + } + + /** + * SAML IdP certificate + * @return samlIdpCert + */ + @javax.annotation.Nullable + public String getSamlIdpCert() { + return samlIdpCert; + } + + public void setSamlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + } + + + public StatusPage samlIdpCertFingerprint(@javax.annotation.Nullable String samlIdpCertFingerprint) { + this.samlIdpCertFingerprint = samlIdpCertFingerprint; + return this; + } + + /** + * SAML IdP certificate fingerprint + * @return samlIdpCertFingerprint + */ + @javax.annotation.Nullable + public String getSamlIdpCertFingerprint() { + return samlIdpCertFingerprint; + } + + public void setSamlIdpCertFingerprint(@javax.annotation.Nullable String samlIdpCertFingerprint) { + this.samlIdpCertFingerprint = samlIdpCertFingerprint; + } + + + public StatusPage samlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + return this; + } + + /** + * SAML name identifier format + * @return samlNameIdentifierFormat + */ + @javax.annotation.Nullable + public SamlNameIdentifierFormatEnum getSamlNameIdentifierFormat() { + return samlNameIdentifierFormat; + } + + public void setSamlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + } + + + public StatusPage sectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + return this; + } + + public StatusPage addSectionOrderItem(SectionOrderEnum sectionOrderItem) { + if (this.sectionOrder == null) { + this.sectionOrder = new ArrayList<>(); + } + this.sectionOrder.add(sectionOrderItem); + return this; + } + + /** + * Order of sections on the status page + * @return sectionOrder + */ + @javax.annotation.Nullable + public List getSectionOrder() { + return sectionOrder; + } + + public void setSectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + } + + public StatusPage websiteUrl(@javax.annotation.Nullable String websiteUrl) { this.websiteUrl = websiteUrl; return this; @@ -681,6 +1060,17 @@ public void setExternalDomainNames(@javax.annotation.Nullable List exter } + /** + * CNAME records mapping external domain names to their DNS target values. These are populated asynchronously after setting external_domain_names. + * @return cnameRecords + */ + @javax.annotation.Nullable + public Map getCnameRecords() { + return cnameRecords; + } + + + public StatusPage enabled(@javax.annotation.Nullable Boolean enabled) { this.enabled = enabled; return this; @@ -749,6 +1139,7 @@ public boolean equals(Object o) { } StatusPage statusPage = (StatusPage) o; return Objects.equals(this.title, statusPage.title) && + Objects.equals(this.slug, statusPage.slug) && Objects.equals(this.publicTitle, statusPage.publicTitle) && Objects.equals(this.description, statusPage.description) && Objects.equals(this.publicDescription, statusPage.publicDescription) && @@ -759,8 +1150,15 @@ public boolean equals(Object o) { Objects.equals(this.showUptimeLastDays, statusPage.showUptimeLastDays) && Objects.equals(this.successMessage, statusPage.successMessage) && Objects.equals(this.failureMessage, statusPage.failureMessage) && + Objects.equals(this.authenticationMethod, statusPage.authenticationMethod) && Objects.equals(this.authenticationEnabled, statusPage.authenticationEnabled) && Objects.equals(this.authenticationPassword, statusPage.authenticationPassword) && + Objects.equals(this.samlIdpSsoServiceUrl, statusPage.samlIdpSsoServiceUrl) && + Objects.equals(this.samlIdpSloServiceUrl, statusPage.samlIdpSloServiceUrl) && + Objects.equals(this.samlIdpCert, statusPage.samlIdpCert) && + Objects.equals(this.samlIdpCertFingerprint, statusPage.samlIdpCertFingerprint) && + Objects.equals(this.samlNameIdentifierFormat, statusPage.samlNameIdentifierFormat) && + Objects.equals(this.sectionOrder, statusPage.sectionOrder) && Objects.equals(this.websiteUrl, statusPage.websiteUrl) && Objects.equals(this.websitePrivacyUrl, statusPage.websitePrivacyUrl) && Objects.equals(this.websiteSupportUrl, statusPage.websiteSupportUrl) && @@ -770,6 +1168,7 @@ public boolean equals(Object o) { Objects.equals(this.serviceIds, statusPage.serviceIds) && Objects.equals(this.functionalityIds, statusPage.functionalityIds) && Objects.equals(this.externalDomainNames, statusPage.externalDomainNames) && + Objects.equals(this.cnameRecords, statusPage.cnameRecords) && Objects.equals(this.enabled, statusPage.enabled) && Objects.equals(this.createdAt, statusPage.createdAt) && Objects.equals(this.updatedAt, statusPage.updatedAt); @@ -781,7 +1180,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationEnabled, authenticationPassword, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, externalDomainNames, enabled, createdAt, updatedAt); + return Objects.hash(title, slug, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationMethod, authenticationEnabled, authenticationPassword, samlIdpSsoServiceUrl, samlIdpSloServiceUrl, samlIdpCert, samlIdpCertFingerprint, samlNameIdentifierFormat, sectionOrder, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, externalDomainNames, cnameRecords, enabled, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -796,6 +1195,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class StatusPage {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" publicTitle: ").append(toIndentedString(publicTitle)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" publicDescription: ").append(toIndentedString(publicDescription)).append("\n"); @@ -806,8 +1206,15 @@ public String toString() { sb.append(" showUptimeLastDays: ").append(toIndentedString(showUptimeLastDays)).append("\n"); sb.append(" successMessage: ").append(toIndentedString(successMessage)).append("\n"); sb.append(" failureMessage: ").append(toIndentedString(failureMessage)).append("\n"); + sb.append(" authenticationMethod: ").append(toIndentedString(authenticationMethod)).append("\n"); sb.append(" authenticationEnabled: ").append(toIndentedString(authenticationEnabled)).append("\n"); sb.append(" authenticationPassword: ").append(toIndentedString(authenticationPassword)).append("\n"); + sb.append(" samlIdpSsoServiceUrl: ").append(toIndentedString(samlIdpSsoServiceUrl)).append("\n"); + sb.append(" samlIdpSloServiceUrl: ").append(toIndentedString(samlIdpSloServiceUrl)).append("\n"); + sb.append(" samlIdpCert: ").append(toIndentedString(samlIdpCert)).append("\n"); + sb.append(" samlIdpCertFingerprint: ").append(toIndentedString(samlIdpCertFingerprint)).append("\n"); + sb.append(" samlNameIdentifierFormat: ").append(toIndentedString(samlNameIdentifierFormat)).append("\n"); + sb.append(" sectionOrder: ").append(toIndentedString(sectionOrder)).append("\n"); sb.append(" websiteUrl: ").append(toIndentedString(websiteUrl)).append("\n"); sb.append(" websitePrivacyUrl: ").append(toIndentedString(websitePrivacyUrl)).append("\n"); sb.append(" websiteSupportUrl: ").append(toIndentedString(websiteSupportUrl)).append("\n"); @@ -817,6 +1224,7 @@ public String toString() { sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); sb.append(" externalDomainNames: ").append(toIndentedString(externalDomainNames)).append("\n"); + sb.append(" cnameRecords: ").append(toIndentedString(cnameRecords)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); @@ -843,6 +1251,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("title"); + openapiFields.add("slug"); openapiFields.add("public_title"); openapiFields.add("description"); openapiFields.add("public_description"); @@ -853,8 +1262,15 @@ private String toIndentedString(Object o) { openapiFields.add("show_uptime_last_days"); openapiFields.add("success_message"); openapiFields.add("failure_message"); + openapiFields.add("authentication_method"); openapiFields.add("authentication_enabled"); openapiFields.add("authentication_password"); + openapiFields.add("saml_idp_sso_service_url"); + openapiFields.add("saml_idp_slo_service_url"); + openapiFields.add("saml_idp_cert"); + openapiFields.add("saml_idp_cert_fingerprint"); + openapiFields.add("saml_name_identifier_format"); + openapiFields.add("section_order"); openapiFields.add("website_url"); openapiFields.add("website_privacy_url"); openapiFields.add("website_support_url"); @@ -864,6 +1280,7 @@ private String toIndentedString(Object o) { openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); openapiFields.add("external_domain_names"); + openapiFields.add("cname_records"); openapiFields.add("enabled"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -906,6 +1323,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("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("public_title") != null && !jsonObj.get("public_title").isJsonNull()) && !jsonObj.get("public_title").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `public_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_title").toString())); } @@ -931,9 +1351,39 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("failure_message") != null && !jsonObj.get("failure_message").isJsonNull()) && !jsonObj.get("failure_message").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `failure_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_message").toString())); } + if ((jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) && !jsonObj.get("authentication_method").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `authentication_method` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_method").toString())); + } + // validate the optional field `authentication_method` + if (jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) { + AuthenticationMethodEnum.validateJsonElement(jsonObj.get("authentication_method")); + } if ((jsonObj.get("authentication_password") != null && !jsonObj.get("authentication_password").isJsonNull()) && !jsonObj.get("authentication_password").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `authentication_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_password").toString())); } + if ((jsonObj.get("saml_idp_sso_service_url") != null && !jsonObj.get("saml_idp_sso_service_url").isJsonNull()) && !jsonObj.get("saml_idp_sso_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_sso_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_sso_service_url").toString())); + } + if ((jsonObj.get("saml_idp_slo_service_url") != null && !jsonObj.get("saml_idp_slo_service_url").isJsonNull()) && !jsonObj.get("saml_idp_slo_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_slo_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_slo_service_url").toString())); + } + if ((jsonObj.get("saml_idp_cert") != null && !jsonObj.get("saml_idp_cert").isJsonNull()) && !jsonObj.get("saml_idp_cert").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_cert` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_cert").toString())); + } + if ((jsonObj.get("saml_idp_cert_fingerprint") != null && !jsonObj.get("saml_idp_cert_fingerprint").isJsonNull()) && !jsonObj.get("saml_idp_cert_fingerprint").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_cert_fingerprint` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_cert_fingerprint").toString())); + } + if ((jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) && !jsonObj.get("saml_name_identifier_format").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_name_identifier_format` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_name_identifier_format").toString())); + } + // validate the optional field `saml_name_identifier_format` + if (jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) { + SamlNameIdentifierFormatEnum.validateJsonElement(jsonObj.get("saml_name_identifier_format")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("section_order") != null && !jsonObj.get("section_order").isJsonNull() && !jsonObj.get("section_order").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `section_order` to be an array in the JSON string but got `%s`", jsonObj.get("section_order").toString())); + } if ((jsonObj.get("website_url") != null && !jsonObj.get("website_url").isJsonNull()) && !jsonObj.get("website_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `website_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("website_url").toString())); } diff --git a/src/main/java/com/rootly/client/model/StatusPageList.java b/src/main/java/com/rootly/client/model/StatusPageList.java index a9b2a228..7e522edd 100644 --- a/src/main/java/com/rootly/client/model/StatusPageList.java +++ b/src/main/java/com/rootly/client/model/StatusPageList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.StatusPageResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * StatusPageList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class StatusPageList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public StatusPageList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public StatusPageList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } StatusPageList statusPageList = (StatusPageList) o; return Objects.equals(this.data, statusPageList.data) && - Objects.equals(this.links, statusPageList.links); + Objects.equals(this.links, statusPageList.links) && + Objects.equals(this.meta, statusPageList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class StatusPageList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/StatusPageResponse.java b/src/main/java/com/rootly/client/model/StatusPageResponse.java index 7fd58bb8..5d1c6ac8 100644 --- a/src/main/java/com/rootly/client/model/StatusPageResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 038bb92a..3b024d2a 100644 --- a/src/main/java/com/rootly/client/model/StatusPageResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/StatusPageTemplate.java b/src/main/java/com/rootly/client/model/StatusPageTemplate.java index 2341e809..db392f0e 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -61,6 +61,11 @@ public class StatusPageTemplate { @javax.annotation.Nonnull private String title; + public static final String SERIALIZED_NAME_UPDATE_TITLE = "update_title"; + @SerializedName(SERIALIZED_NAME_UPDATE_TITLE) + @javax.annotation.Nullable + private String updateTitle; + public static final String SERIALIZED_NAME_BODY = "body"; @SerializedName(SERIALIZED_NAME_BODY) @javax.annotation.Nonnull @@ -194,6 +199,25 @@ public void setTitle(@javax.annotation.Nonnull String title) { } + public StatusPageTemplate updateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + return this; + } + + /** + * Title that will be used for the status page update + * @return updateTitle + */ + @javax.annotation.Nullable + public String getUpdateTitle() { + return updateTitle; + } + + public void setUpdateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + } + + public StatusPageTemplate body(@javax.annotation.Nonnull String body) { this.body = body; return this; @@ -358,6 +382,7 @@ public boolean equals(Object o) { StatusPageTemplate statusPageTemplate = (StatusPageTemplate) o; return Objects.equals(this.statusPageId, statusPageTemplate.statusPageId) && Objects.equals(this.title, statusPageTemplate.title) && + Objects.equals(this.updateTitle, statusPageTemplate.updateTitle) && Objects.equals(this.body, statusPageTemplate.body) && Objects.equals(this.updateStatus, statusPageTemplate.updateStatus) && Objects.equals(this.kind, statusPageTemplate.kind) && @@ -374,7 +399,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(statusPageId, title, body, updateStatus, kind, shouldNotifySubscribers, enabled, position, createdAt, updatedAt); + return Objects.hash(statusPageId, title, updateTitle, body, updateStatus, kind, shouldNotifySubscribers, enabled, position, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -390,6 +415,7 @@ public String toString() { sb.append("class StatusPageTemplate {\n"); sb.append(" statusPageId: ").append(toIndentedString(statusPageId)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" updateTitle: ").append(toIndentedString(updateTitle)).append("\n"); sb.append(" body: ").append(toIndentedString(body)).append("\n"); sb.append(" updateStatus: ").append(toIndentedString(updateStatus)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); @@ -422,6 +448,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("status_page_id"); openapiFields.add("title"); + openapiFields.add("update_title"); openapiFields.add("body"); openapiFields.add("update_status"); openapiFields.add("kind"); @@ -474,6 +501,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("update_title") != null && !jsonObj.get("update_title").isJsonNull()) && !jsonObj.get("update_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `update_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("update_title").toString())); + } if (!jsonObj.get("body").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("body").toString())); } diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateList.java b/src/main/java/com/rootly/client/model/StatusPageTemplateList.java index 018b45eb..0126cbc9 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateList.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.StatusPageTemplateListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * StatusPageTemplateList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class StatusPageTemplateList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class StatusPageTemplateList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public StatusPageTemplateList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public StatusPageTemplateList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } StatusPageTemplateList statusPageTemplateList = (StatusPageTemplateList) o; return Objects.equals(this.data, statusPageTemplateList.data) && - Objects.equals(this.links, statusPageTemplateList.links); + Objects.equals(this.links, statusPageTemplateList.links) && + Objects.equals(this.meta, statusPageTemplateList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class StatusPageTemplateList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java b/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java index 84b397e4..1ede956d 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateListDataInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageTemplateListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 30378de3..0d8953fb 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 78c74242..adfd8018 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * StatusPageTemplateResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..d9da932d --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusResponse.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.StatusResponseData; +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; + +/** + * StatusResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private StatusResponseData data; + + public StatusResponse() { + } + + public StatusResponse data(@javax.annotation.Nonnull StatusResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public StatusResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull StatusResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusResponse statusResponse = (StatusResponse) o; + return Objects.equals(this.data, statusResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusResponse {\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 StatusResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusResponse is not found in the empty JSON string", StatusResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusResponse.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` + StatusResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusResponse + * @throws IOException if the JSON string is invalid with respect to StatusResponse + */ + public static StatusResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusResponse.class); + } + + /** + * Convert an instance of StatusResponse 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/StatusResponseData.java b/src/main/java/com/rootly/client/model/StatusResponseData.java new file mode 100644 index 00000000..78d86915 --- /dev/null +++ b/src/main/java/com/rootly/client/model/StatusResponseData.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.Status; +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; + +/** + * StatusResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class StatusResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + STATUSES("statuses"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private Status attributes; + + public StatusResponseData() { + } + + public StatusResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the status + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public StatusResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public StatusResponseData attributes(@javax.annotation.Nonnull Status attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public Status getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull Status attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusResponseData statusResponseData = (StatusResponseData) o; + return Objects.equals(this.id, statusResponseData.id) && + Objects.equals(this.type, statusResponseData.type) && + Objects.equals(this.attributes, statusResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusResponseData {\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 StatusResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!StatusResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in StatusResponseData is not found in the empty JSON string", StatusResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!StatusResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `StatusResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : StatusResponseData.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` + Status.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!StatusResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'StatusResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(StatusResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, StatusResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public StatusResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of StatusResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of StatusResponseData + * @throws IOException if the JSON string is invalid with respect to StatusResponseData + */ + public static StatusResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, StatusResponseData.class); + } + + /** + * Convert an instance of StatusResponseData 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/SubStatus.java b/src/main/java/com/rootly/client/model/SubStatus.java index 5acedc38..eebf3e67 100644 --- a/src/main/java/com/rootly/client/model/SubStatus.java +++ b/src/main/java/com/rootly/client/model/SubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatus { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -81,10 +81,14 @@ public enum ParentStatusEnum { CANCELLED("cancelled"), + PLANNING("planning"), + SCHEDULED("scheduled"), IN_PROGRESS("in_progress"), + VERIFYING("verifying"), + COMPLETED("completed"); private String value; diff --git a/src/main/java/com/rootly/client/model/SubStatusList.java b/src/main/java/com/rootly/client/model/SubStatusList.java index c56838f5..29bbb7b8 100644 --- a/src/main/java/com/rootly/client/model/SubStatusList.java +++ b/src/main/java/com/rootly/client/model/SubStatusList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SubStatusResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * SubStatusList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SubStatusList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class SubStatusList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public SubStatusList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public SubStatusList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } SubStatusList subStatusList = (SubStatusList) o; return Objects.equals(this.data, subStatusList.data) && - Objects.equals(this.links, subStatusList.links); + Objects.equals(this.links, subStatusList.links) && + Objects.equals(this.meta, subStatusList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class SubStatusList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/SubStatusResponse.java b/src/main/java/com/rootly/client/model/SubStatusResponse.java index 7aabf991..ed046014 100644 --- a/src/main/java/com/rootly/client/model/SubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/SubStatusResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SubStatusResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fda372e8..eefe0c84 100644 --- a/src/main/java/com/rootly/client/model/SubStatusResponseData.java +++ b/src/main/java/com/rootly/client/model/SubStatusResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * SubStatusResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9c3b6e8f..cc30c95d 100644 --- a/src/main/java/com/rootly/client/model/Team.java +++ b/src/main/java/com/rootly/client/model/Team.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.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; @@ -53,7 +56,7 @@ /** * Team */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Team { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -165,6 +168,36 @@ public class Team { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private ServiceAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private ServiceIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED = "auto_add_members_when_attached"; + @SerializedName(SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED) + @javax.annotation.Nullable + private Boolean autoAddMembersWhenAttached; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nonnull @@ -636,6 +669,128 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public Team addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this team. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + public Team createdAt(@javax.annotation.Nonnull String createdAt) { this.createdAt = createdAt; return this; @@ -706,6 +861,12 @@ public boolean equals(Object o) { Objects.equals(this.alertUrgencyId, team.alertUrgencyId) && Objects.equals(this.slackChannels, team.slackChannels) && Objects.equals(this.slackAliases, team.slackAliases) && + Objects.equals(this.alertBroadcastEnabled, team.alertBroadcastEnabled) && + Objects.equals(this.alertBroadcastChannel, team.alertBroadcastChannel) && + Objects.equals(this.incidentBroadcastEnabled, team.incidentBroadcastEnabled) && + Objects.equals(this.incidentBroadcastChannel, team.incidentBroadcastChannel) && + Objects.equals(this.autoAddMembersWhenAttached, team.autoAddMembersWhenAttached) && + Objects.equals(this.properties, team.properties) && Objects.equals(this.createdAt, team.createdAt) && Objects.equals(this.updatedAt, team.updatedAt); } @@ -716,7 +877,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertsEmailAddress, alertUrgencyId, slackChannels, slackAliases, createdAt, updatedAt); + return Objects.hash(name, slug, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertsEmailAddress, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, properties, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -752,6 +913,12 @@ public String toString() { sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).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(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).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("}"); @@ -798,6 +965,12 @@ private String toIndentedString(Object o) { openapiFields.add("alert_urgency_id"); 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("auto_add_members_when_attached"); + openapiFields.add("properties"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -921,6 +1094,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // 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())); } diff --git a/src/main/java/com/rootly/client/model/TeamList.java b/src/main/java/com/rootly/client/model/TeamList.java index 70cdd7de..692b5a05 100644 --- a/src/main/java/com/rootly/client/model/TeamList.java +++ b/src/main/java/com/rootly/client/model/TeamList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.TeamResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * TeamList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TeamList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class TeamList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public TeamList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public TeamList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } TeamList teamList = (TeamList) o; return Objects.equals(this.data, teamList.data) && - Objects.equals(this.links, teamList.links); + Objects.equals(this.links, teamList.links) && + Objects.equals(this.meta, teamList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class TeamList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/TeamResponse.java b/src/main/java/com/rootly/client/model/TeamResponse.java index 3777f73d..308a2080 100644 --- a/src/main/java/com/rootly/client/model/TeamResponse.java +++ b/src/main/java/com/rootly/client/model/TeamResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * TeamResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3a7f1a43..bb772c3d 100644 --- a/src/main/java/com/rootly/client/model/TeamResponseData.java +++ b/src/main/java/com/rootly/client/model/TeamResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * TeamResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..ad4bba46 --- /dev/null +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchema.java @@ -0,0 +1,240 @@ +/* + * 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.TiptapBlockSchemaFollowupComponent; +import com.rootly.client.model.TiptapBlockSchemaTimelineComponent; +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; + +/** + * TipTap block component schema for post mortem templates + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private TiptapBlockSchemaFollowupComponent followupComponent; + + public static final String SERIALIZED_NAME_TIMELINE_COMPONENT = "timeline_component"; + @SerializedName(SERIALIZED_NAME_TIMELINE_COMPONENT) + @javax.annotation.Nullable + private TiptapBlockSchemaTimelineComponent timelineComponent; + + public TiptapBlockSchema() { + } + + public TiptapBlockSchema followupComponent(@javax.annotation.Nullable TiptapBlockSchemaFollowupComponent followupComponent) { + this.followupComponent = followupComponent; + return this; + } + + /** + * Get followupComponent + * @return followupComponent + */ + @javax.annotation.Nullable + public TiptapBlockSchemaFollowupComponent getFollowupComponent() { + return followupComponent; + } + + public void setFollowupComponent(@javax.annotation.Nullable TiptapBlockSchemaFollowupComponent followupComponent) { + this.followupComponent = followupComponent; + } + + + public TiptapBlockSchema timelineComponent(@javax.annotation.Nullable TiptapBlockSchemaTimelineComponent timelineComponent) { + this.timelineComponent = timelineComponent; + return this; + } + + /** + * Get timelineComponent + * @return timelineComponent + */ + @javax.annotation.Nullable + public TiptapBlockSchemaTimelineComponent getTimelineComponent() { + return timelineComponent; + } + + public void setTimelineComponent(@javax.annotation.Nullable TiptapBlockSchemaTimelineComponent timelineComponent) { + this.timelineComponent = timelineComponent; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TiptapBlockSchema tiptapBlockSchema = (TiptapBlockSchema) o; + return Objects.equals(this.followupComponent, tiptapBlockSchema.followupComponent) && + Objects.equals(this.timelineComponent, tiptapBlockSchema.timelineComponent); + } + + @Override + public int hashCode() { + return Objects.hash(followupComponent, timelineComponent); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TiptapBlockSchema {\n"); + sb.append(" followupComponent: ").append(toIndentedString(followupComponent)).append("\n"); + sb.append(" timelineComponent: ").append(toIndentedString(timelineComponent)).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("followup_component"); + openapiFields.add("timeline_component"); + + // 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 TiptapBlockSchema + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!TiptapBlockSchema.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TiptapBlockSchema is not found in the empty JSON string", TiptapBlockSchema.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!TiptapBlockSchema.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `TiptapBlockSchema` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `followup_component` + if (jsonObj.get("followup_component") != null && !jsonObj.get("followup_component").isJsonNull()) { + TiptapBlockSchemaFollowupComponent.validateJsonElement(jsonObj.get("followup_component")); + } + // validate the optional field `timeline_component` + if (jsonObj.get("timeline_component") != null && !jsonObj.get("timeline_component").isJsonNull()) { + TiptapBlockSchemaTimelineComponent.validateJsonElement(jsonObj.get("timeline_component")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TiptapBlockSchema.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TiptapBlockSchema' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TiptapBlockSchema.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TiptapBlockSchema value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public TiptapBlockSchema read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of TiptapBlockSchema given an JSON string + * + * @param jsonString JSON string + * @return An instance of TiptapBlockSchema + * @throws IOException if the JSON string is invalid with respect to TiptapBlockSchema + */ + public static TiptapBlockSchema fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TiptapBlockSchema.class); + } + + /** + * Convert an instance of TiptapBlockSchema 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/TiptapBlockSchemaFollowupComponent.java b/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.java new file mode 100644 index 00000000..7f437a58 --- /dev/null +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponent.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; + +/** + * Followup component block + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class TiptapBlockSchemaFollowupComponent { + public static final String SERIALIZED_NAME_HTML = "html"; + @SerializedName(SERIALIZED_NAME_HTML) + @javax.annotation.Nonnull + private String html; + + /** + * Sort order for followups. Valid values: due_date, status, priority + */ + @JsonAdapter(DataSortEnum.Adapter.class) + public enum DataSortEnum { + DUE_DATE("due_date"), + + STATUS("status"), + + PRIORITY("priority"); + + private String value; + + DataSortEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DataSortEnum fromValue(String value) { + for (DataSortEnum b : DataSortEnum.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 DataSortEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DataSortEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DataSortEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DataSortEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DATA_SORT = "data_sort"; + @SerializedName(SERIALIZED_NAME_DATA_SORT) + @javax.annotation.Nullable + private DataSortEnum dataSort = DataSortEnum.DUE_DATE; + + public TiptapBlockSchemaFollowupComponent() { + } + + public TiptapBlockSchemaFollowupComponent html(@javax.annotation.Nonnull String html) { + this.html = html; + return this; + } + + /** + * HTML representation: <div data-sort=\"due_date\" data-followup-component=\"true\" class=\"followups-node-placeholder\"></div> + * @return html + */ + @javax.annotation.Nonnull + public String getHtml() { + return html; + } + + public void setHtml(@javax.annotation.Nonnull String html) { + this.html = html; + } + + + public TiptapBlockSchemaFollowupComponent dataSort(@javax.annotation.Nullable DataSortEnum dataSort) { + this.dataSort = dataSort; + return this; + } + + /** + * Sort order for followups. Valid values: due_date, status, priority + * @return dataSort + */ + @javax.annotation.Nullable + public DataSortEnum getDataSort() { + return dataSort; + } + + public void setDataSort(@javax.annotation.Nullable DataSortEnum dataSort) { + this.dataSort = dataSort; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TiptapBlockSchemaFollowupComponent tiptapBlockSchemaFollowupComponent = (TiptapBlockSchemaFollowupComponent) o; + return Objects.equals(this.html, tiptapBlockSchemaFollowupComponent.html) && + Objects.equals(this.dataSort, tiptapBlockSchemaFollowupComponent.dataSort); + } + + @Override + public int hashCode() { + return Objects.hash(html, dataSort); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TiptapBlockSchemaFollowupComponent {\n"); + sb.append(" html: ").append(toIndentedString(html)).append("\n"); + sb.append(" dataSort: ").append(toIndentedString(dataSort)).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("html"); + openapiFields.add("data_sort"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("html"); + } + + /** + * 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 TiptapBlockSchemaFollowupComponent + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!TiptapBlockSchemaFollowupComponent.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TiptapBlockSchemaFollowupComponent is not found in the empty JSON string", TiptapBlockSchemaFollowupComponent.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!TiptapBlockSchemaFollowupComponent.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `TiptapBlockSchemaFollowupComponent` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : TiptapBlockSchemaFollowupComponent.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("html").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `html` to be a primitive type in the JSON string but got `%s`", jsonObj.get("html").toString())); + } + if ((jsonObj.get("data_sort") != null && !jsonObj.get("data_sort").isJsonNull()) && !jsonObj.get("data_sort").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `data_sort` to be a primitive type in the JSON string but got `%s`", jsonObj.get("data_sort").toString())); + } + // validate the optional field `data_sort` + if (jsonObj.get("data_sort") != null && !jsonObj.get("data_sort").isJsonNull()) { + DataSortEnum.validateJsonElement(jsonObj.get("data_sort")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TiptapBlockSchemaFollowupComponent.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TiptapBlockSchemaFollowupComponent' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TiptapBlockSchemaFollowupComponent.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TiptapBlockSchemaFollowupComponent value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public TiptapBlockSchemaFollowupComponent read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of TiptapBlockSchemaFollowupComponent given an JSON string + * + * @param jsonString JSON string + * @return An instance of TiptapBlockSchemaFollowupComponent + * @throws IOException if the JSON string is invalid with respect to TiptapBlockSchemaFollowupComponent + */ + public static TiptapBlockSchemaFollowupComponent fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TiptapBlockSchemaFollowupComponent.class); + } + + /** + * Convert an instance of TiptapBlockSchemaFollowupComponent 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/TiptapBlockSchemaTimelineComponent.java b/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.java new file mode 100644 index 00000000..211ddbea --- /dev/null +++ b/src/main/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponent.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; + +/** + * Timeline component block + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class TiptapBlockSchemaTimelineComponent { + public static final String SERIALIZED_NAME_HTML = "html"; + @SerializedName(SERIALIZED_NAME_HTML) + @javax.annotation.Nonnull + private String html; + + public TiptapBlockSchemaTimelineComponent() { + } + + public TiptapBlockSchemaTimelineComponent html(@javax.annotation.Nonnull String html) { + this.html = html; + return this; + } + + /** + * HTML representation: <div data-timeline-component=\"true\" class=\"timeline-node-placeholder\"></div> + * @return html + */ + @javax.annotation.Nonnull + public String getHtml() { + return html; + } + + public void setHtml(@javax.annotation.Nonnull String html) { + this.html = html; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TiptapBlockSchemaTimelineComponent tiptapBlockSchemaTimelineComponent = (TiptapBlockSchemaTimelineComponent) o; + return Objects.equals(this.html, tiptapBlockSchemaTimelineComponent.html); + } + + @Override + public int hashCode() { + return Objects.hash(html); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TiptapBlockSchemaTimelineComponent {\n"); + sb.append(" html: ").append(toIndentedString(html)).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("html"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("html"); + } + + /** + * 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 TiptapBlockSchemaTimelineComponent + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!TiptapBlockSchemaTimelineComponent.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in TiptapBlockSchemaTimelineComponent is not found in the empty JSON string", TiptapBlockSchemaTimelineComponent.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!TiptapBlockSchemaTimelineComponent.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `TiptapBlockSchemaTimelineComponent` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : TiptapBlockSchemaTimelineComponent.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("html").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `html` to be a primitive type in the JSON string but got `%s`", jsonObj.get("html").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!TiptapBlockSchemaTimelineComponent.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'TiptapBlockSchemaTimelineComponent' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(TiptapBlockSchemaTimelineComponent.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, TiptapBlockSchemaTimelineComponent value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public TiptapBlockSchemaTimelineComponent read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of TiptapBlockSchemaTimelineComponent given an JSON string + * + * @param jsonString JSON string + * @return An instance of TiptapBlockSchemaTimelineComponent + * @throws IOException if the JSON string is invalid with respect to TiptapBlockSchemaTimelineComponent + */ + public static TiptapBlockSchemaTimelineComponent fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, TiptapBlockSchemaTimelineComponent.class); + } + + /** + * Convert an instance of TiptapBlockSchemaTimelineComponent 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/TriggerWorkflowTaskParams.java b/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java index 7d5908cd..58d296b5 100644 --- a/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java +++ b/src/main/java/com/rootly/client/model/TriggerWorkflowTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * TriggerWorkflowTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TriggerWorkflowTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java b/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java index 7aab73f8..8a01fb66 100644 --- a/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * TweetTwitterMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 147669ca..bbff39eb 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UnassignRoleFromUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 febd4734..08b7b1af 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUserData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UnassignRoleFromUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7aa8a320..27b31c1e 100644 --- a/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UnassignRoleFromUserDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UnassignRoleFromUserDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 71fe904d..53927a7a 100644 --- a/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateActionItemTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateActionItemTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4cefc257..0a97aafc 100644 --- a/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAirtableTableRecordTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a4de243d..55c494ae 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlert.java +++ b/src/main/java/com/rootly/client/model/UpdateAlert.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/UpdateAlertData.java b/src/main/java/com/rootly/client/model/UpdateAlertData.java index 4dca3459..5581d8bf 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java index f7647c71..e055f043 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -53,7 +54,7 @@ /** * UpdateAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertDataAttributes { /** * Whether the alert is marked as noise @@ -123,6 +124,8 @@ public enum SourceEnum { API("api"), + HEARTBEAT("heartbeat"), + WEB("web"), SLACK("slack"), @@ -133,6 +136,8 @@ public enum SourceEnum { LIVE_CALL_ROUTING("live_call_routing"), + MOBILE("mobile"), + PAGERDUTY("pagerduty"), OPSGENIE("opsgenie"), @@ -143,6 +148,8 @@ public enum SourceEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + NOBL9("nobl9"), ZENDESK("zendesk"), @@ -173,6 +180,8 @@ public enum SourceEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + AZURE("azure"), SPLUNK("splunk"), @@ -307,6 +316,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Object data; + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY = "deduplication_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY) + @javax.annotation.Nullable + private String deduplicationKey; + + public static final String SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES = "alert_field_values_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELD_VALUES_ATTRIBUTES) + @javax.annotation.Nullable + private List alertFieldValuesAttributes = new ArrayList<>(); + public UpdateAlertDataAttributes() { } @@ -400,7 +419,7 @@ public UpdateAlertDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the alert + * The Service IDs to attach to the alert * @return serviceIds */ @javax.annotation.Nullable @@ -427,7 +446,7 @@ public UpdateAlertDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Group ID's to attach to the alert + * The Group IDs to attach to the alert * @return groupIds */ @javax.annotation.Nullable @@ -454,7 +473,7 @@ public UpdateAlertDataAttributes addEnvironmentIdsItem(String environmentIdsItem } /** - * The Environment ID's to attach to the alert + * The Environment IDs to attach to the alert * @return environmentIds */ @javax.annotation.Nullable @@ -608,6 +627,52 @@ public void setData(@javax.annotation.Nullable Object data) { } + public UpdateAlertDataAttributes deduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + return this; + } + + /** + * Alerts sharing the same deduplication key are treated as a single alert. + * @return deduplicationKey + */ + @javax.annotation.Nullable + public String getDeduplicationKey() { + return deduplicationKey; + } + + public void setDeduplicationKey(@javax.annotation.Nullable String deduplicationKey) { + this.deduplicationKey = deduplicationKey; + } + + + public UpdateAlertDataAttributes alertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + return this; + } + + public UpdateAlertDataAttributes addAlertFieldValuesAttributesItem(NewAlertDataAttributesAlertFieldValuesAttributesInner alertFieldValuesAttributesItem) { + if (this.alertFieldValuesAttributes == null) { + this.alertFieldValuesAttributes = new ArrayList<>(); + } + this.alertFieldValuesAttributes.add(alertFieldValuesAttributesItem); + return this; + } + + /** + * Custom alert field values to create with the alert + * @return alertFieldValuesAttributes + */ + @javax.annotation.Nullable + public List getAlertFieldValuesAttributes() { + return alertFieldValuesAttributes; + } + + public void setAlertFieldValuesAttributes(@javax.annotation.Nullable List alertFieldValuesAttributes) { + this.alertFieldValuesAttributes = alertFieldValuesAttributes; + } + + @Override public boolean equals(Object o) { @@ -631,7 +696,9 @@ public boolean equals(Object o) { Objects.equals(this.externalUrl, updateAlertDataAttributes.externalUrl) && Objects.equals(this.alertUrgencyId, updateAlertDataAttributes.alertUrgencyId) && Objects.equals(this.labels, updateAlertDataAttributes.labels) && - Objects.equals(this.data, updateAlertDataAttributes.data); + Objects.equals(this.data, updateAlertDataAttributes.data) && + Objects.equals(this.deduplicationKey, updateAlertDataAttributes.deduplicationKey) && + Objects.equals(this.alertFieldValuesAttributes, updateAlertDataAttributes.alertFieldValuesAttributes); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -640,7 +707,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(noise, source, summary, description, serviceIds, groupIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, labels, data); + return Objects.hash(noise, source, summary, description, serviceIds, groupIds, environmentIds, startedAt, endedAt, externalId, externalUrl, alertUrgencyId, labels, data, deduplicationKey, alertFieldValuesAttributes); } private static int hashCodeNullable(JsonNullable a) { @@ -668,6 +735,8 @@ public String toString() { sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" deduplicationKey: ").append(toIndentedString(deduplicationKey)).append("\n"); + sb.append(" alertFieldValuesAttributes: ").append(toIndentedString(alertFieldValuesAttributes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -704,6 +773,8 @@ private String toIndentedString(Object o) { openapiFields.add("alert_urgency_id"); openapiFields.add("labels"); openapiFields.add("data"); + openapiFields.add("deduplication_key"); + openapiFields.add("alert_field_values_attributes"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -785,6 +856,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + if ((jsonObj.get("deduplication_key") != null && !jsonObj.get("deduplication_key").isJsonNull()) && !jsonObj.get("deduplication_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key").toString())); + } + if (jsonObj.get("alert_field_values_attributes") != null && !jsonObj.get("alert_field_values_attributes").isJsonNull()) { + JsonArray jsonArrayalertFieldValuesAttributes = jsonObj.getAsJsonArray("alert_field_values_attributes"); + if (jsonArrayalertFieldValuesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_field_values_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_field_values_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_field_values_attributes").toString())); + } + + // validate the optional field `alert_field_values_attributes` (array) + for (int i = 0; i < jsonArrayalertFieldValuesAttributes.size(); i++) { + NewAlertDataAttributesAlertFieldValuesAttributesInner.validateJsonElement(jsonArrayalertFieldValuesAttributes.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEvent.java b/src/main/java/com/rootly/client/model/UpdateAlertEvent.java index 2588df6a..c11185b0 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,9 +47,9 @@ import com.rootly.client.JSON; /** - * UpdateAlertEvent + * Update an alert event. Note: Only alert events with kind='note' can be updated. You cannot change the kind field. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f147c05a..ccf04d5f 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java index 2ad89464..dd326eb0 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateAlertEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..c1662e5e --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertField.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.UpdateAlertFieldData; +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; + +/** + * UpdateAlertField + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertField { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateAlertFieldData data; + + public UpdateAlertField() { + } + + public UpdateAlertField data(@javax.annotation.Nonnull UpdateAlertFieldData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateAlertFieldData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateAlertFieldData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertField updateAlertField = (UpdateAlertField) o; + return Objects.equals(this.data, updateAlertField.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertField {\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 UpdateAlertField + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertField.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertField is not found in the empty JSON string", UpdateAlertField.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertField.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertField` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertField.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` + UpdateAlertFieldData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertField.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertField' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertField.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertField value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertField read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertField given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertField + * @throws IOException if the JSON string is invalid with respect to UpdateAlertField + */ + public static UpdateAlertField fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertField.class); + } + + /** + * Convert an instance of UpdateAlertField 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/UpdateAlertFieldData.java b/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java new file mode 100644 index 00000000..96667dc8 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldData.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.UpdateAlertFieldDataAttributes; +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; + +/** + * UpdateAlertFieldData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertFieldData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_FIELDS("alert_fields"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateAlertFieldDataAttributes attributes; + + public UpdateAlertFieldData() { + } + + public UpdateAlertFieldData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateAlertFieldData attributes(@javax.annotation.Nonnull UpdateAlertFieldDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateAlertFieldDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateAlertFieldDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertFieldData updateAlertFieldData = (UpdateAlertFieldData) o; + return Objects.equals(this.type, updateAlertFieldData.type) && + Objects.equals(this.attributes, updateAlertFieldData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertFieldData {\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 UpdateAlertFieldData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertFieldData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertFieldData is not found in the empty JSON string", UpdateAlertFieldData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertFieldData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertFieldData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertFieldData.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` + UpdateAlertFieldDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertFieldData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertFieldData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertFieldData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertFieldData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertFieldData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertFieldData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertFieldData + * @throws IOException if the JSON string is invalid with respect to UpdateAlertFieldData + */ + public static UpdateAlertFieldData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertFieldData.class); + } + + /** + * Convert an instance of UpdateAlertFieldData 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/UpdateAlertFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java new file mode 100644 index 00000000..a1357298 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.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; + +/** + * UpdateAlertFieldDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertFieldDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public UpdateAlertFieldDataAttributes() { + } + + public UpdateAlertFieldDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the alert field + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertFieldDataAttributes updateAlertFieldDataAttributes = (UpdateAlertFieldDataAttributes) o; + return Objects.equals(this.name, updateAlertFieldDataAttributes.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertFieldDataAttributes {\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("name"); + + // 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 UpdateAlertFieldDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertFieldDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertFieldDataAttributes is not found in the empty JSON string", UpdateAlertFieldDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertFieldDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertFieldDataAttributes` 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertFieldDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertFieldDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertFieldDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertFieldDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertFieldDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertFieldDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertFieldDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateAlertFieldDataAttributes + */ + public static UpdateAlertFieldDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertFieldDataAttributes.class); + } + + /** + * Convert an instance of UpdateAlertFieldDataAttributes 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/UpdateAlertGroup.java b/src/main/java/com/rootly/client/model/UpdateAlertGroup.java index f6b00be8..a7c5bdcd 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f85c8eb9..17cbdb7d 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java index 728cdc3f..7c6cd6c5 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; +import com.rootly.client.model.NewAlertGroupDataAttributesConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; import java.util.ArrayList; @@ -53,7 +54,7 @@ /** * UpdateAlertGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -76,12 +77,13 @@ public class UpdateAlertGroupDataAttributes { private List targets = new ArrayList<>(); public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @Deprecated @SerializedName(SERIALIZED_NAME_ATTRIBUTES) @javax.annotation.Nullable private List attributes = new ArrayList<>(); /** - * Whether the alerts should be grouped by titles. + * [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. */ @JsonAdapter(GroupByAlertTitleEnum.Adapter.class) public enum GroupByAlertTitleEnum { @@ -133,12 +135,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } public static final String SERIALIZED_NAME_GROUP_BY_ALERT_TITLE = "group_by_alert_title"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_TITLE) @javax.annotation.Nullable private GroupByAlertTitleEnum groupByAlertTitle; /** - * Whether the alerts should be grouped by urgencies. + * [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. */ @JsonAdapter(GroupByAlertUrgencyEnum.Adapter.class) public enum GroupByAlertUrgencyEnum { @@ -190,6 +193,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } public static final String SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY = "group_by_alert_urgency"; + @Deprecated @SerializedName(SERIALIZED_NAME_GROUP_BY_ALERT_URGENCY) @javax.annotation.Nullable private GroupByAlertUrgencyEnum groupByAlertUrgency; @@ -251,6 +255,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private ConditionTypeEnum conditionType; + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + public UpdateAlertGroupDataAttributes() { } @@ -338,6 +347,7 @@ public void setTargets(@javax.annotation.Nullable List attributes) { this.attributes = attributes; return this; @@ -352,52 +362,63 @@ public UpdateAlertGroupDataAttributes addAttributesItem(NewAlertGroupDataAttribu } /** - * Get attributes + * This field is deprecated. Please use the `conditions` field instead, `attributes` will be removed in the future. * @return attributes + * @deprecated */ + @Deprecated @javax.annotation.Nullable public List getAttributes() { return attributes; } + @Deprecated public void setAttributes(@javax.annotation.Nullable List attributes) { this.attributes = attributes; } + @Deprecated public UpdateAlertGroupDataAttributes groupByAlertTitle(@javax.annotation.Nullable GroupByAlertTitleEnum groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; return this; } /** - * Whether the alerts should be grouped by titles. + * [DEPRECATED] Whether the alerts should be grouped by titles. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertTitle + * @deprecated */ + @Deprecated @javax.annotation.Nullable public GroupByAlertTitleEnum getGroupByAlertTitle() { return groupByAlertTitle; } + @Deprecated public void setGroupByAlertTitle(@javax.annotation.Nullable GroupByAlertTitleEnum groupByAlertTitle) { this.groupByAlertTitle = groupByAlertTitle; } + @Deprecated public UpdateAlertGroupDataAttributes groupByAlertUrgency(@javax.annotation.Nullable GroupByAlertUrgencyEnum groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; return this; } /** - * Whether the alerts should be grouped by urgencies. + * [DEPRECATED] Whether the alerts should be grouped by urgencies. This field is deprecated. Please use the `conditions` field with advanced alert grouping instead. * @return groupByAlertUrgency + * @deprecated */ + @Deprecated @javax.annotation.Nullable public GroupByAlertUrgencyEnum getGroupByAlertUrgency() { return groupByAlertUrgency; } + @Deprecated public void setGroupByAlertUrgency(@javax.annotation.Nullable GroupByAlertUrgencyEnum groupByAlertUrgency) { this.groupByAlertUrgency = groupByAlertUrgency; } @@ -422,6 +443,33 @@ public void setConditionType(@javax.annotation.Nullable ConditionTypeEnum condit } + public UpdateAlertGroupDataAttributes conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public UpdateAlertGroupDataAttributes addConditionsItem(NewAlertGroupDataAttributesConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Get conditions + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + @Override public boolean equals(Object o) { @@ -439,7 +487,8 @@ public boolean equals(Object o) { Objects.equals(this.attributes, updateAlertGroupDataAttributes.attributes) && Objects.equals(this.groupByAlertTitle, updateAlertGroupDataAttributes.groupByAlertTitle) && Objects.equals(this.groupByAlertUrgency, updateAlertGroupDataAttributes.groupByAlertUrgency) && - Objects.equals(this.conditionType, updateAlertGroupDataAttributes.conditionType); + Objects.equals(this.conditionType, updateAlertGroupDataAttributes.conditionType) && + Objects.equals(this.conditions, updateAlertGroupDataAttributes.conditions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -448,7 +497,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType); + return Objects.hash(name, description, timeWindow, targets, attributes, groupByAlertTitle, groupByAlertUrgency, conditionType, conditions); } private static int hashCodeNullable(JsonNullable a) { @@ -470,6 +519,7 @@ public String toString() { sb.append(" groupByAlertTitle: ").append(toIndentedString(groupByAlertTitle)).append("\n"); sb.append(" groupByAlertUrgency: ").append(toIndentedString(groupByAlertUrgency)).append("\n"); sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -500,6 +550,7 @@ private String toIndentedString(Object o) { openapiFields.add("group_by_alert_title"); openapiFields.add("group_by_alert_urgency"); openapiFields.add("condition_type"); + openapiFields.add("conditions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -575,6 +626,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("condition_type") != null && !jsonObj.get("condition_type").isJsonNull()) { ConditionTypeEnum.validateJsonElement(jsonObj.get("condition_type")); } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + NewAlertGroupDataAttributesConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoute.java b/src/main/java/com/rootly/client/model/UpdateAlertRoute.java new file mode 100644 index 00000000..c63708fa --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoute.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.UpdateAlertRouteData; +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; + +/** + * UpdateAlertRoute + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertRoute { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateAlertRouteData data; + + public UpdateAlertRoute() { + } + + public UpdateAlertRoute data(@javax.annotation.Nonnull UpdateAlertRouteData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateAlertRouteData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateAlertRouteData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertRoute updateAlertRoute = (UpdateAlertRoute) o; + return Objects.equals(this.data, updateAlertRoute.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertRoute {\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 UpdateAlertRoute + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertRoute.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertRoute is not found in the empty JSON string", UpdateAlertRoute.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertRoute.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertRoute` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertRoute.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` + UpdateAlertRouteData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertRoute.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertRoute' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertRoute.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertRoute value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertRoute read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertRoute given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertRoute + * @throws IOException if the JSON string is invalid with respect to UpdateAlertRoute + */ + public static UpdateAlertRoute fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertRoute.class); + } + + /** + * Convert an instance of UpdateAlertRoute 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/UpdateAlertRouteData.java b/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java new file mode 100644 index 00000000..00b720f3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertRouteData.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.UpdateAlertRouteDataAttributes; +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; + +/** + * UpdateAlertRouteData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertRouteData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ALERT_ROUTES("alert_routes"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateAlertRouteDataAttributes attributes; + + public UpdateAlertRouteData() { + } + + public UpdateAlertRouteData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateAlertRouteData attributes(@javax.annotation.Nonnull UpdateAlertRouteDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateAlertRouteDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateAlertRouteDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertRouteData updateAlertRouteData = (UpdateAlertRouteData) o; + return Objects.equals(this.type, updateAlertRouteData.type) && + Objects.equals(this.attributes, updateAlertRouteData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertRouteData {\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 UpdateAlertRouteData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertRouteData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertRouteData is not found in the empty JSON string", UpdateAlertRouteData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertRouteData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertRouteData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateAlertRouteData.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` + UpdateAlertRouteDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertRouteData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertRouteData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertRouteData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertRouteData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertRouteData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertRouteData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertRouteData + * @throws IOException if the JSON string is invalid with respect to UpdateAlertRouteData + */ + public static UpdateAlertRouteData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertRouteData.class); + } + + /** + * Convert an instance of UpdateAlertRouteData 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/UpdateAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java new file mode 100644 index 00000000..dba1cb3b --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.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.NewAlertRouteDataAttributesRulesInner; +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; + +/** + * UpdateAlertRouteDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateAlertRouteDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_ENABLED = "enabled"; + @SerializedName(SERIALIZED_NAME_ENABLED) + @javax.annotation.Nullable + private Boolean enabled; + + public static final String SERIALIZED_NAME_ALERTS_SOURCE_IDS = "alerts_source_ids"; + @SerializedName(SERIALIZED_NAME_ALERTS_SOURCE_IDS) + @javax.annotation.Nullable + private List alertsSourceIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_OWNING_TEAM_IDS = "owning_team_ids"; + @SerializedName(SERIALIZED_NAME_OWNING_TEAM_IDS) + @javax.annotation.Nullable + private List owningTeamIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_RULES = "rules"; + @SerializedName(SERIALIZED_NAME_RULES) + @javax.annotation.Nullable + private List rules = new ArrayList<>(); + + public UpdateAlertRouteDataAttributes() { + } + + public UpdateAlertRouteDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the alert route + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateAlertRouteDataAttributes enabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Whether the alert route is enabled + * @return enabled + */ + @javax.annotation.Nullable + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(@javax.annotation.Nullable Boolean enabled) { + this.enabled = enabled; + } + + + public UpdateAlertRouteDataAttributes alertsSourceIds(@javax.annotation.Nullable List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + return this; + } + + public UpdateAlertRouteDataAttributes addAlertsSourceIdsItem(UUID alertsSourceIdsItem) { + if (this.alertsSourceIds == null) { + this.alertsSourceIds = new ArrayList<>(); + } + this.alertsSourceIds.add(alertsSourceIdsItem); + return this; + } + + /** + * Get alertsSourceIds + * @return alertsSourceIds + */ + @javax.annotation.Nullable + public List getAlertsSourceIds() { + return alertsSourceIds; + } + + public void setAlertsSourceIds(@javax.annotation.Nullable List alertsSourceIds) { + this.alertsSourceIds = alertsSourceIds; + } + + + public UpdateAlertRouteDataAttributes owningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + return this; + } + + public UpdateAlertRouteDataAttributes addOwningTeamIdsItem(UUID owningTeamIdsItem) { + if (this.owningTeamIds == null) { + this.owningTeamIds = new ArrayList<>(); + } + this.owningTeamIds.add(owningTeamIdsItem); + return this; + } + + /** + * Get owningTeamIds + * @return owningTeamIds + */ + @javax.annotation.Nullable + public List getOwningTeamIds() { + return owningTeamIds; + } + + public void setOwningTeamIds(@javax.annotation.Nullable List owningTeamIds) { + this.owningTeamIds = owningTeamIds; + } + + + public UpdateAlertRouteDataAttributes rules(@javax.annotation.Nullable List rules) { + this.rules = rules; + return this; + } + + public UpdateAlertRouteDataAttributes addRulesItem(NewAlertRouteDataAttributesRulesInner rulesItem) { + if (this.rules == null) { + this.rules = new ArrayList<>(); + } + this.rules.add(rulesItem); + return this; + } + + /** + * Get rules + * @return rules + */ + @javax.annotation.Nullable + public List getRules() { + return rules; + } + + public void setRules(@javax.annotation.Nullable List rules) { + this.rules = rules; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateAlertRouteDataAttributes updateAlertRouteDataAttributes = (UpdateAlertRouteDataAttributes) o; + return Objects.equals(this.name, updateAlertRouteDataAttributes.name) && + Objects.equals(this.enabled, updateAlertRouteDataAttributes.enabled) && + Objects.equals(this.alertsSourceIds, updateAlertRouteDataAttributes.alertsSourceIds) && + Objects.equals(this.owningTeamIds, updateAlertRouteDataAttributes.owningTeamIds) && + Objects.equals(this.rules, updateAlertRouteDataAttributes.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, enabled, alertsSourceIds, owningTeamIds, rules); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateAlertRouteDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" alertsSourceIds: ").append(toIndentedString(alertsSourceIds)).append("\n"); + sb.append(" owningTeamIds: ").append(toIndentedString(owningTeamIds)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).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("alerts_source_ids"); + openapiFields.add("owning_team_ids"); + openapiFields.add("rules"); + + // 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 UpdateAlertRouteDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateAlertRouteDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateAlertRouteDataAttributes is not found in the empty JSON string", UpdateAlertRouteDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateAlertRouteDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateAlertRouteDataAttributes` 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())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alerts_source_ids") != null && !jsonObj.get("alerts_source_ids").isJsonNull() && !jsonObj.get("alerts_source_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alerts_source_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_source_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("owning_team_ids") != null && !jsonObj.get("owning_team_ids").isJsonNull() && !jsonObj.get("owning_team_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owning_team_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owning_team_ids").toString())); + } + if (jsonObj.get("rules") != null && !jsonObj.get("rules").isJsonNull()) { + JsonArray jsonArrayrules = jsonObj.getAsJsonArray("rules"); + if (jsonArrayrules != null) { + // ensure the json data is an array + if (!jsonObj.get("rules").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `rules` to be an array in the JSON string but got `%s`", jsonObj.get("rules").toString())); + } + + // validate the optional field `rules` (array) + for (int i = 0; i < jsonArrayrules.size(); i++) { + NewAlertRouteDataAttributesRulesInner.validateJsonElement(jsonArrayrules.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateAlertRouteDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateAlertRouteDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateAlertRouteDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateAlertRouteDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateAlertRouteDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateAlertRouteDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateAlertRouteDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateAlertRouteDataAttributes + */ + public static UpdateAlertRouteDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateAlertRouteDataAttributes.class); + } + + /** + * Convert an instance of UpdateAlertRouteDataAttributes 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/UpdateAlertRoutingRule.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java index 6091b657..e6fce78f 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertRoutingRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a5288046..2bf4d4ce 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertRoutingRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java index b2e279ad..a2066d4d 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * UpdateAlertRoutingRuleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -70,6 +70,11 @@ public class UpdateAlertRoutingRuleDataAttributes { @javax.annotation.Nullable private UUID alertsSourceId; + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + public static final String SERIALIZED_NAME_OWNING_TEAM_IDS = "owning_team_ids"; @SerializedName(SERIALIZED_NAME_OWNING_TEAM_IDS) @javax.annotation.Nullable @@ -202,6 +207,25 @@ public void setAlertsSourceId(@javax.annotation.Nullable UUID alertsSourceId) { } + public UpdateAlertRoutingRuleDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * The position of the alert routing rule for ordering evaluation + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + public UpdateAlertRoutingRuleDataAttributes owningTeamIds(@javax.annotation.Nullable List owningTeamIds) { this.owningTeamIds = owningTeamIds; return this; @@ -307,6 +331,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, updateAlertRoutingRuleDataAttributes.name) && Objects.equals(this.enabled, updateAlertRoutingRuleDataAttributes.enabled) && Objects.equals(this.alertsSourceId, updateAlertRoutingRuleDataAttributes.alertsSourceId) && + Objects.equals(this.position, updateAlertRoutingRuleDataAttributes.position) && Objects.equals(this.owningTeamIds, updateAlertRoutingRuleDataAttributes.owningTeamIds) && Objects.equals(this.conditionType, updateAlertRoutingRuleDataAttributes.conditionType) && Objects.equals(this.conditions, updateAlertRoutingRuleDataAttributes.conditions) && @@ -315,7 +340,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, enabled, alertsSourceId, owningTeamIds, conditionType, conditions, destination); + return Objects.hash(name, enabled, alertsSourceId, position, owningTeamIds, conditionType, conditions, destination); } @Override @@ -325,6 +350,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" alertsSourceId: ").append(toIndentedString(alertsSourceId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append(" owningTeamIds: ").append(toIndentedString(owningTeamIds)).append("\n"); sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); @@ -354,6 +380,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("enabled"); openapiFields.add("alerts_source_id"); + openapiFields.add("position"); openapiFields.add("owning_team_ids"); openapiFields.add("condition_type"); openapiFields.add("conditions"); diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java index 336e8fea..a39c93db 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateAlertRoutingRuleDataAttributesConditionsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0da7c5d3..c3549455 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestination.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,16 +49,18 @@ /** * UpdateAlertRoutingRuleDataAttributesDestination */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleDataAttributesDestination { /** - * The type of the target + * 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"), - SERVICE("Service"), + FUNCTIONALITY("Functionality"), ESCALATION_POLICY("EscalationPolicy"); @@ -124,7 +126,7 @@ public UpdateAlertRoutingRuleDataAttributesDestination targetType(@javax.annotat } /** - * The type of the target + * The type of the target. Please contact support if you encounter issues using `Functionality` as a target type. * @return targetType */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java index 170d95b4..df466749 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgency.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertUrgency */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 71f7c5c3..05b920aa 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertUrgencyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java index 87db9f15..69245c2c 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertUrgencyDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSource.java b/src/main/java/com/rootly/client/model/UpdateAlertsSource.java index 7144551c..97a6afee 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSource.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertsSource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c0251e9c..51c7498e 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAlertsSourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java index fe7dff79..4aa25600 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; @@ -27,6 +28,7 @@ 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; @@ -54,7 +56,7 @@ /** * UpdateAlertsSourceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -74,6 +76,8 @@ public enum SourceTypeEnum { DATADOG("datadog"), + DYNATRACE("dynatrace"), + ALERTMANAGER("alertmanager"), GOOGLE_CLOUD("google_cloud"), @@ -86,6 +90,8 @@ public enum SourceTypeEnum { CLOUD_WATCH("cloud_watch"), + AWS_SNS("aws_sns"), + CHECKLY("checkly"), AZURE("azure"), @@ -161,6 +167,76 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY = "deduplicate_alerts_by_key"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATE_ALERTS_BY_KEY) + @javax.annotation.Nullable + private Boolean deduplicateAlertsByKey; + + /** + * Kind of deduplication key. + */ + @JsonAdapter(DeduplicationKeyKindEnum.Adapter.class) + public enum DeduplicationKeyKindEnum { + PAYLOAD("payload"); + + private String value; + + DeduplicationKeyKindEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static DeduplicationKeyKindEnum fromValue(String value) { + for (DeduplicationKeyKindEnum b : DeduplicationKeyKindEnum.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 DeduplicationKeyKindEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public DeduplicationKeyKindEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + DeduplicationKeyKindEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_KIND = "deduplication_key_kind"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_KIND) + @javax.annotation.Nullable + private DeduplicationKeyKindEnum deduplicationKeyKind; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_PATH = "deduplication_key_path"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_PATH) + @javax.annotation.Nullable + private String deduplicationKeyPath; + + public static final String SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP = "deduplication_key_regexp"; + @SerializedName(SERIALIZED_NAME_DEDUPLICATION_KEY_REGEXP) + @javax.annotation.Nullable + private String deduplicationKeyRegexp; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable @@ -186,6 +262,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private NewAlertsSourceDataAttributesResolutionRuleAttributes resolutionRuleAttributes; + public static final String SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES = "alert_source_fields_attributes"; + @SerializedName(SERIALIZED_NAME_ALERT_SOURCE_FIELDS_ATTRIBUTES) + @javax.annotation.Nullable + private List alertSourceFieldsAttributes = new ArrayList<>(); + public UpdateAlertsSourceDataAttributes() { } @@ -246,6 +327,82 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public UpdateAlertsSourceDataAttributes deduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; + return this; + } + + /** + * Toggle alert deduplication using deduplication key. If enabled, deduplication_key_kind and deduplication_key_path are required. + * @return deduplicateAlertsByKey + */ + @javax.annotation.Nullable + public Boolean getDeduplicateAlertsByKey() { + return deduplicateAlertsByKey; + } + + public void setDeduplicateAlertsByKey(@javax.annotation.Nullable Boolean deduplicateAlertsByKey) { + this.deduplicateAlertsByKey = deduplicateAlertsByKey; + } + + + public UpdateAlertsSourceDataAttributes deduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; + return this; + } + + /** + * Kind of deduplication key. + * @return deduplicationKeyKind + */ + @javax.annotation.Nullable + public DeduplicationKeyKindEnum getDeduplicationKeyKind() { + return deduplicationKeyKind; + } + + public void setDeduplicationKeyKind(@javax.annotation.Nullable DeduplicationKeyKindEnum deduplicationKeyKind) { + this.deduplicationKeyKind = deduplicationKeyKind; + } + + + public UpdateAlertsSourceDataAttributes deduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; + return this; + } + + /** + * Path to deduplication key. This is a JSON Path to extract the deduplication key from the request body. + * @return deduplicationKeyPath + */ + @javax.annotation.Nullable + public String getDeduplicationKeyPath() { + return deduplicationKeyPath; + } + + public void setDeduplicationKeyPath(@javax.annotation.Nullable String deduplicationKeyPath) { + this.deduplicationKeyPath = deduplicationKeyPath; + } + + + public UpdateAlertsSourceDataAttributes deduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; + return this; + } + + /** + * Regular expression to extract key from value found at key path. + * @return deduplicationKeyRegexp + */ + @javax.annotation.Nullable + public String getDeduplicationKeyRegexp() { + return deduplicationKeyRegexp; + } + + public void setDeduplicationKeyRegexp(@javax.annotation.Nullable String deduplicationKeyRegexp) { + this.deduplicationKeyRegexp = deduplicationKeyRegexp; + } + + public UpdateAlertsSourceDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { this.ownerGroupIds = ownerGroupIds; return this; @@ -357,6 +514,33 @@ public void setResolutionRuleAttributes(@javax.annotation.Nullable NewAlertsSour } + public UpdateAlertsSourceDataAttributes alertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + return this; + } + + public UpdateAlertsSourceDataAttributes addAlertSourceFieldsAttributesItem(NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner alertSourceFieldsAttributesItem) { + if (this.alertSourceFieldsAttributes == null) { + this.alertSourceFieldsAttributes = new ArrayList<>(); + } + this.alertSourceFieldsAttributes.add(alertSourceFieldsAttributesItem); + return this; + } + + /** + * 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. + * @return alertSourceFieldsAttributes + */ + @javax.annotation.Nullable + public List getAlertSourceFieldsAttributes() { + return alertSourceFieldsAttributes; + } + + public void setAlertSourceFieldsAttributes(@javax.annotation.Nullable List alertSourceFieldsAttributes) { + this.alertSourceFieldsAttributes = alertSourceFieldsAttributes; + } + + @Override public boolean equals(Object o) { @@ -370,16 +554,32 @@ public boolean equals(Object o) { return Objects.equals(this.name, updateAlertsSourceDataAttributes.name) && Objects.equals(this.sourceType, updateAlertsSourceDataAttributes.sourceType) && Objects.equals(this.alertUrgencyId, updateAlertsSourceDataAttributes.alertUrgencyId) && + Objects.equals(this.deduplicateAlertsByKey, updateAlertsSourceDataAttributes.deduplicateAlertsByKey) && + Objects.equals(this.deduplicationKeyKind, updateAlertsSourceDataAttributes.deduplicationKeyKind) && + Objects.equals(this.deduplicationKeyPath, updateAlertsSourceDataAttributes.deduplicationKeyPath) && + Objects.equals(this.deduplicationKeyRegexp, updateAlertsSourceDataAttributes.deduplicationKeyRegexp) && Objects.equals(this.ownerGroupIds, updateAlertsSourceDataAttributes.ownerGroupIds) && Objects.equals(this.alertTemplateAttributes, updateAlertsSourceDataAttributes.alertTemplateAttributes) && Objects.equals(this.alertSourceUrgencyRulesAttributes, updateAlertsSourceDataAttributes.alertSourceUrgencyRulesAttributes) && Objects.equals(this.sourceableAttributes, updateAlertsSourceDataAttributes.sourceableAttributes) && - Objects.equals(this.resolutionRuleAttributes, updateAlertsSourceDataAttributes.resolutionRuleAttributes); + Objects.equals(this.resolutionRuleAttributes, updateAlertsSourceDataAttributes.resolutionRuleAttributes) && + Objects.equals(this.alertSourceFieldsAttributes, updateAlertsSourceDataAttributes.alertSourceFieldsAttributes); + } + + 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, sourceType, alertUrgencyId, ownerGroupIds, alertTemplateAttributes, alertSourceUrgencyRulesAttributes, sourceableAttributes, resolutionRuleAttributes); + return Objects.hash(name, sourceType, alertUrgencyId, deduplicateAlertsByKey, deduplicationKeyKind, deduplicationKeyPath, deduplicationKeyRegexp, ownerGroupIds, alertTemplateAttributes, alertSourceUrgencyRulesAttributes, sourceableAttributes, resolutionRuleAttributes, alertSourceFieldsAttributes); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -389,11 +589,16 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" sourceType: ").append(toIndentedString(sourceType)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" deduplicateAlertsByKey: ").append(toIndentedString(deduplicateAlertsByKey)).append("\n"); + sb.append(" deduplicationKeyKind: ").append(toIndentedString(deduplicationKeyKind)).append("\n"); + sb.append(" deduplicationKeyPath: ").append(toIndentedString(deduplicationKeyPath)).append("\n"); + sb.append(" deduplicationKeyRegexp: ").append(toIndentedString(deduplicationKeyRegexp)).append("\n"); sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); sb.append(" alertTemplateAttributes: ").append(toIndentedString(alertTemplateAttributes)).append("\n"); sb.append(" alertSourceUrgencyRulesAttributes: ").append(toIndentedString(alertSourceUrgencyRulesAttributes)).append("\n"); sb.append(" sourceableAttributes: ").append(toIndentedString(sourceableAttributes)).append("\n"); sb.append(" resolutionRuleAttributes: ").append(toIndentedString(resolutionRuleAttributes)).append("\n"); + sb.append(" alertSourceFieldsAttributes: ").append(toIndentedString(alertSourceFieldsAttributes)).append("\n"); sb.append("}"); return sb.toString(); } @@ -419,11 +624,16 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("source_type"); openapiFields.add("alert_urgency_id"); + openapiFields.add("deduplicate_alerts_by_key"); + openapiFields.add("deduplication_key_kind"); + openapiFields.add("deduplication_key_path"); + openapiFields.add("deduplication_key_regexp"); openapiFields.add("owner_group_ids"); openapiFields.add("alert_template_attributes"); openapiFields.add("alert_source_urgency_rules_attributes"); openapiFields.add("sourceable_attributes"); openapiFields.add("resolution_rule_attributes"); + openapiFields.add("alert_source_fields_attributes"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -463,6 +673,19 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) && !jsonObj.get("deduplication_key_kind").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_kind` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_kind").toString())); + } + // validate the optional field `deduplication_key_kind` + if (jsonObj.get("deduplication_key_kind") != null && !jsonObj.get("deduplication_key_kind").isJsonNull()) { + DeduplicationKeyKindEnum.validateJsonElement(jsonObj.get("deduplication_key_kind")); + } + if ((jsonObj.get("deduplication_key_path") != null && !jsonObj.get("deduplication_key_path").isJsonNull()) && !jsonObj.get("deduplication_key_path").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_path` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_path").toString())); + } + if ((jsonObj.get("deduplication_key_regexp") != null && !jsonObj.get("deduplication_key_regexp").isJsonNull()) && !jsonObj.get("deduplication_key_regexp").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `deduplication_key_regexp` to be a primitive type in the JSON string but got `%s`", jsonObj.get("deduplication_key_regexp").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())); @@ -493,6 +716,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("resolution_rule_attributes") != null && !jsonObj.get("resolution_rule_attributes").isJsonNull()) { NewAlertsSourceDataAttributesResolutionRuleAttributes.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"); + if (jsonArrayalertSourceFieldsAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("alert_source_fields_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_source_fields_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("alert_source_fields_attributes").toString())); + } + + // validate the optional field `alert_source_fields_attributes` (array) + for (int i = 0; i < jsonArrayalertSourceFieldsAttributes.size(); i++) { + NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner.validateJsonElement(jsonArrayalertSourceFieldsAttributes.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateApiKey.java b/src/main/java/com/rootly/client/model/UpdateApiKey.java new file mode 100644 index 00000000..0c032e5a --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateApiKey.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.UpdateApiKeyData; +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; + +/** + * UpdateApiKey + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateApiKey { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateApiKeyData data; + + public UpdateApiKey() { + } + + public UpdateApiKey data(@javax.annotation.Nonnull UpdateApiKeyData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateApiKeyData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateApiKeyData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateApiKey updateApiKey = (UpdateApiKey) o; + return Objects.equals(this.data, updateApiKey.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateApiKey {\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 UpdateApiKey + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateApiKey.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateApiKey is not found in the empty JSON string", UpdateApiKey.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateApiKey.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateApiKey` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateApiKey.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` + UpdateApiKeyData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateApiKey.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateApiKey' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateApiKey.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateApiKey value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateApiKey read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateApiKey given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateApiKey + * @throws IOException if the JSON string is invalid with respect to UpdateApiKey + */ + public static UpdateApiKey fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateApiKey.class); + } + + /** + * Convert an instance of UpdateApiKey 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/UpdateApiKeyData.java b/src/main/java/com/rootly/client/model/UpdateApiKeyData.java new file mode 100644 index 00000000..5a9756da --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateApiKeyData.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.UpdateApiKeyDataAttributes; +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; + +/** + * UpdateApiKeyData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateApiKeyData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + API_KEYS("api_keys"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateApiKeyDataAttributes attributes; + + public UpdateApiKeyData() { + } + + public UpdateApiKeyData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateApiKeyData attributes(@javax.annotation.Nonnull UpdateApiKeyDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateApiKeyDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateApiKeyDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateApiKeyData updateApiKeyData = (UpdateApiKeyData) o; + return Objects.equals(this.type, updateApiKeyData.type) && + Objects.equals(this.attributes, updateApiKeyData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateApiKeyData {\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 UpdateApiKeyData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateApiKeyData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateApiKeyData is not found in the empty JSON string", UpdateApiKeyData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateApiKeyData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateApiKeyData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateApiKeyData.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` + UpdateApiKeyDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateApiKeyData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateApiKeyData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateApiKeyData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateApiKeyData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateApiKeyData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateApiKeyData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateApiKeyData + * @throws IOException if the JSON string is invalid with respect to UpdateApiKeyData + */ + public static UpdateApiKeyData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateApiKeyData.class); + } + + /** + * Convert an instance of UpdateApiKeyData 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/UpdateApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java new file mode 100644 index 00000000..d6135563 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java @@ -0,0 +1,276 @@ +/* + * 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 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; + +/** + * UpdateApiKeyDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateApiKeyDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_EXPIRES_AT = "expires_at"; + @SerializedName(SERIALIZED_NAME_EXPIRES_AT) + @javax.annotation.Nullable + private OffsetDateTime expiresAt; + + public UpdateApiKeyDataAttributes() { + } + + public UpdateApiKeyDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the API key + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateApiKeyDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the API key + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateApiKeyDataAttributes expiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * The expiration date of the API key (ISO 8601) + * @return expiresAt + */ + @javax.annotation.Nullable + public OffsetDateTime getExpiresAt() { + return expiresAt; + } + + public void setExpiresAt(@javax.annotation.Nullable OffsetDateTime expiresAt) { + this.expiresAt = expiresAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateApiKeyDataAttributes updateApiKeyDataAttributes = (UpdateApiKeyDataAttributes) o; + return Objects.equals(this.name, updateApiKeyDataAttributes.name) && + Objects.equals(this.description, updateApiKeyDataAttributes.description) && + Objects.equals(this.expiresAt, updateApiKeyDataAttributes.expiresAt); + } + + 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, description, expiresAt); + } + + 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 UpdateApiKeyDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).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("name"); + openapiFields.add("description"); + openapiFields.add("expires_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 UpdateApiKeyDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateApiKeyDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateApiKeyDataAttributes is not found in the empty JSON string", UpdateApiKeyDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateApiKeyDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateApiKeyDataAttributes` 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 (!UpdateApiKeyDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateApiKeyDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateApiKeyDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateApiKeyDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateApiKeyDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateApiKeyDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateApiKeyDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateApiKeyDataAttributes + */ + public static UpdateApiKeyDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateApiKeyDataAttributes.class); + } + + /** + * Convert an instance of UpdateApiKeyDataAttributes 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/UpdateAsanaTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java index 2a2c65d0..13106e48 100644 --- a/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAsanaTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateAsanaTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9ebc8a79..191233eb 100644 --- a/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateAttachedAlertsTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateAttachedAlertsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 dae88234..19b3e4ac 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorization.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorization.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAuthorization */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0a4f860f..6df37c6f 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateAuthorizationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAuthorizationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java index 7f3361fb..f5c1005a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateAuthorizationDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b0903040..740e0582 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalog.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalog.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalog */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..eea27b4a --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplate.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.UpdateCatalogChecklistTemplateData; +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; + +/** + * UpdateCatalogChecklistTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogChecklistTemplate { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCatalogChecklistTemplateData data; + + public UpdateCatalogChecklistTemplate() { + } + + public UpdateCatalogChecklistTemplate data(@javax.annotation.Nonnull UpdateCatalogChecklistTemplateData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCatalogChecklistTemplateData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCatalogChecklistTemplateData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate = (UpdateCatalogChecklistTemplate) o; + return Objects.equals(this.data, updateCatalogChecklistTemplate.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCatalogChecklistTemplate {\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 UpdateCatalogChecklistTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogChecklistTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogChecklistTemplate is not found in the empty JSON string", UpdateCatalogChecklistTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogChecklistTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogChecklistTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCatalogChecklistTemplate.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` + UpdateCatalogChecklistTemplateData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogChecklistTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogChecklistTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogChecklistTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogChecklistTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogChecklistTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogChecklistTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogChecklistTemplate + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogChecklistTemplate + */ + public static UpdateCatalogChecklistTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogChecklistTemplate.class); + } + + /** + * Convert an instance of UpdateCatalogChecklistTemplate 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/UpdateCatalogChecklistTemplateData.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java new file mode 100644 index 00000000..2b1a5be3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.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.UpdateCatalogChecklistTemplateDataAttributes; +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; + +/** + * UpdateCatalogChecklistTemplateData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogChecklistTemplateData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_CHECKLIST_TEMPLATES("catalog_checklist_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCatalogChecklistTemplateDataAttributes attributes; + + public UpdateCatalogChecklistTemplateData() { + } + + public UpdateCatalogChecklistTemplateData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCatalogChecklistTemplateData attributes(@javax.annotation.Nonnull UpdateCatalogChecklistTemplateDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCatalogChecklistTemplateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCatalogChecklistTemplateDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogChecklistTemplateData updateCatalogChecklistTemplateData = (UpdateCatalogChecklistTemplateData) o; + return Objects.equals(this.type, updateCatalogChecklistTemplateData.type) && + Objects.equals(this.attributes, updateCatalogChecklistTemplateData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCatalogChecklistTemplateData {\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 UpdateCatalogChecklistTemplateData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogChecklistTemplateData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogChecklistTemplateData is not found in the empty JSON string", UpdateCatalogChecklistTemplateData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogChecklistTemplateData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogChecklistTemplateData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCatalogChecklistTemplateData.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` + UpdateCatalogChecklistTemplateDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogChecklistTemplateData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogChecklistTemplateData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogChecklistTemplateData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogChecklistTemplateData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogChecklistTemplateData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogChecklistTemplateData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogChecklistTemplateData + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogChecklistTemplateData + */ + public static UpdateCatalogChecklistTemplateData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogChecklistTemplateData.class); + } + + /** + * Convert an instance of UpdateCatalogChecklistTemplateData 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/UpdateCatalogChecklistTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java new file mode 100644 index 00000000..b1ab585a --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java @@ -0,0 +1,350 @@ +/* + * 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.NewCatalogChecklistTemplateDataAttributesFieldsInner; +import com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesOwnersInner; +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; + +/** + * UpdateCatalogChecklistTemplateDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogChecklistTemplateDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_FIELDS = "fields"; + @SerializedName(SERIALIZED_NAME_FIELDS) + @javax.annotation.Nullable + private List fields; + + public static final String SERIALIZED_NAME_OWNERS = "owners"; + @SerializedName(SERIALIZED_NAME_OWNERS) + @javax.annotation.Nullable + private List owners; + + public UpdateCatalogChecklistTemplateDataAttributes() { + } + + public UpdateCatalogChecklistTemplateDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the checklist template + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCatalogChecklistTemplateDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the checklist template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateCatalogChecklistTemplateDataAttributes fields(@javax.annotation.Nullable List fields) { + this.fields = fields; + return this; + } + + public UpdateCatalogChecklistTemplateDataAttributes addFieldsItem(NewCatalogChecklistTemplateDataAttributesFieldsInner fieldsItem) { + if (this.fields == null) { + this.fields = new ArrayList<>(); + } + this.fields.add(fieldsItem); + return this; + } + + /** + * Template fields. Position is determined by array order. Replaces all existing fields. + * @return fields + */ + @javax.annotation.Nullable + public List getFields() { + return fields; + } + + public void setFields(@javax.annotation.Nullable List fields) { + this.fields = fields; + } + + + public UpdateCatalogChecklistTemplateDataAttributes owners(@javax.annotation.Nullable List owners) { + this.owners = owners; + return this; + } + + public UpdateCatalogChecklistTemplateDataAttributes addOwnersItem(NewCatalogChecklistTemplateDataAttributesOwnersInner ownersItem) { + if (this.owners == null) { + this.owners = new ArrayList<>(); + } + this.owners.add(ownersItem); + return this; + } + + /** + * Template owners. Replaces all existing owners. + * @return owners + */ + @javax.annotation.Nullable + public List getOwners() { + return owners; + } + + public void setOwners(@javax.annotation.Nullable List owners) { + this.owners = owners; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogChecklistTemplateDataAttributes updateCatalogChecklistTemplateDataAttributes = (UpdateCatalogChecklistTemplateDataAttributes) o; + return Objects.equals(this.name, updateCatalogChecklistTemplateDataAttributes.name) && + Objects.equals(this.description, updateCatalogChecklistTemplateDataAttributes.description) && + Objects.equals(this.fields, updateCatalogChecklistTemplateDataAttributes.fields) && + Objects.equals(this.owners, updateCatalogChecklistTemplateDataAttributes.owners); + } + + 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, description, fields, owners); + } + + 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 UpdateCatalogChecklistTemplateDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" owners: ").append(toIndentedString(owners)).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("fields"); + openapiFields.add("owners"); + + // 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 UpdateCatalogChecklistTemplateDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogChecklistTemplateDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogChecklistTemplateDataAttributes is not found in the empty JSON string", UpdateCatalogChecklistTemplateDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogChecklistTemplateDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogChecklistTemplateDataAttributes` 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())); + } + if (jsonObj.get("fields") != null && !jsonObj.get("fields").isJsonNull()) { + JsonArray jsonArrayfields = jsonObj.getAsJsonArray("fields"); + if (jsonArrayfields != null) { + // ensure the json data is an array + if (!jsonObj.get("fields").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `fields` to be an array in the JSON string but got `%s`", jsonObj.get("fields").toString())); + } + + // validate the optional field `fields` (array) + for (int i = 0; i < jsonArrayfields.size(); i++) { + NewCatalogChecklistTemplateDataAttributesFieldsInner.validateJsonElement(jsonArrayfields.get(i)); + }; + } + } + if (jsonObj.get("owners") != null && !jsonObj.get("owners").isJsonNull()) { + JsonArray jsonArrayowners = jsonObj.getAsJsonArray("owners"); + if (jsonArrayowners != null) { + // ensure the json data is an array + if (!jsonObj.get("owners").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `owners` to be an array in the JSON string but got `%s`", jsonObj.get("owners").toString())); + } + + // validate the optional field `owners` (array) + for (int i = 0; i < jsonArrayowners.size(); i++) { + NewCatalogChecklistTemplateDataAttributesOwnersInner.validateJsonElement(jsonArrayowners.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogChecklistTemplateDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogChecklistTemplateDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogChecklistTemplateDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogChecklistTemplateDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogChecklistTemplateDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogChecklistTemplateDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogChecklistTemplateDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogChecklistTemplateDataAttributes + */ + public static UpdateCatalogChecklistTemplateDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogChecklistTemplateDataAttributes.class); + } + + /** + * Convert an instance of UpdateCatalogChecklistTemplateDataAttributes 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/UpdateCatalogData.java b/src/main/java/com/rootly/client/model/UpdateCatalogData.java index 69d8bbc8..4d522ca6 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java index f5d4f3cb..6321e22c 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java index 574e9397..f25bdd4b 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogEntity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ebef15c7..2ef4f6e4 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogEntityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java index 24d6d8d3..52693fdb 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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 @@ /** * UpdateCatalogEntityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +69,16 @@ public class UpdateCatalogEntityDataAttributes { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_BACKSTAGE_ID = "backstage_id"; + @SerializedName(SERIALIZED_NAME_BACKSTAGE_ID) + @javax.annotation.Nullable + private String backstageId; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateCatalogEntityDataAttributes() { } @@ -126,6 +139,52 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public UpdateCatalogEntityDataAttributes backstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + return this; + } + + /** + * The Backstage entity ID this catalog entity is linked to. + * @return backstageId + */ + @javax.annotation.Nullable + public String getBackstageId() { + return backstageId; + } + + public void setBackstageId(@javax.annotation.Nullable String backstageId) { + this.backstageId = backstageId; + } + + + public UpdateCatalogEntityDataAttributes properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateCatalogEntityDataAttributes addPropertiesItem(NewCatalogEntityDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this catalog entity + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -138,7 +197,9 @@ public boolean equals(Object o) { UpdateCatalogEntityDataAttributes updateCatalogEntityDataAttributes = (UpdateCatalogEntityDataAttributes) o; return Objects.equals(this.name, updateCatalogEntityDataAttributes.name) && Objects.equals(this.description, updateCatalogEntityDataAttributes.description) && - Objects.equals(this.position, updateCatalogEntityDataAttributes.position); + Objects.equals(this.position, updateCatalogEntityDataAttributes.position) && + Objects.equals(this.backstageId, updateCatalogEntityDataAttributes.backstageId) && + Objects.equals(this.properties, updateCatalogEntityDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -147,7 +208,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, position); + return Objects.hash(name, description, position, backstageId, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -164,6 +225,8 @@ public String toString() { 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(" backstageId: ").append(toIndentedString(backstageId)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -189,6 +252,8 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("backstage_id"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -221,6 +286,23 @@ 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("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("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++) { + NewCatalogEntityDataAttributesPropertiesInner.validateJsonElement(jsonArrayproperties.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java index 7d23d53e..0137c024 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,9 +47,11 @@ import com.rootly.client.JSON; /** - * UpdateCatalogEntityProperty + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. + * @deprecated */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@Deprecated +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 280d2150..50f4790f 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogEntityPropertyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityPropertyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java index ab56a537..790cd016 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateCatalogEntityPropertyDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityPropertyDataAttributes { /** * Gets or Sets key @@ -57,7 +57,9 @@ public class UpdateCatalogEntityPropertyDataAttributes { public enum KeyEnum { TEXT("text"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + SLACK("slack"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogField.java b/src/main/java/com/rootly/client/model/UpdateCatalogField.java index 397342fe..9435e0ae 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogField.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCatalogField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7a7a5c35..5bf6204a 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,14 +49,14 @@ /** * UpdateCatalogFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldData { /** * Gets or Sets type */ @JsonAdapter(TypeEnum.Adapter.class) public enum TypeEnum { - CATALOG_FIELDS("catalog_fields"); + CATALOG_PROPERTIES("catalog_properties"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java index 48deee3a..826714d9 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,18 +49,13 @@ /** * UpdateCatalogFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - /** * Gets or Sets kind */ @@ -68,7 +63,25 @@ public class UpdateCatalogFieldDataAttributes { public enum KindEnum { TEXT("text"), - REFERENCE("reference"); + REFERENCE("reference"), + + BOOLEAN("boolean"), + + REFERENCE2("reference"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ENVIRONMENT("environment"), + + GROUP("group"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"), + + USER("user"); private String value; @@ -128,6 +141,78 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the field belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + public UpdateCatalogFieldDataAttributes() { } @@ -150,25 +235,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateCatalogFieldDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * Get slug - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateCatalogFieldDataAttributes kind(@javax.annotation.Nullable KindEnum kind) { this.kind = kind; return this; @@ -226,6 +292,44 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public UpdateCatalogFieldDataAttributes required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the field is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public UpdateCatalogFieldDataAttributes catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the field belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + @Override public boolean equals(Object o) { @@ -237,10 +341,11 @@ public boolean equals(Object o) { } UpdateCatalogFieldDataAttributes updateCatalogFieldDataAttributes = (UpdateCatalogFieldDataAttributes) o; return Objects.equals(this.name, updateCatalogFieldDataAttributes.name) && - Objects.equals(this.slug, updateCatalogFieldDataAttributes.slug) && Objects.equals(this.kind, updateCatalogFieldDataAttributes.kind) && Objects.equals(this.kindCatalogId, updateCatalogFieldDataAttributes.kindCatalogId) && - Objects.equals(this.position, updateCatalogFieldDataAttributes.position); + Objects.equals(this.position, updateCatalogFieldDataAttributes.position) && + Objects.equals(this.required, updateCatalogFieldDataAttributes.required) && + Objects.equals(this.catalogType, updateCatalogFieldDataAttributes.catalogType); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -249,7 +354,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, kind, kindCatalogId, position); + return Objects.hash(name, kind, kindCatalogId, position, required, catalogType); } private static int hashCodeNullable(JsonNullable a) { @@ -264,10 +369,11 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCatalogFieldDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).append("\n"); sb.append("}"); return sb.toString(); } @@ -291,10 +397,11 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("kind"); openapiFields.add("kind_catalog_id"); openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -324,9 +431,6 @@ 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())); } - 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("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())); } @@ -337,6 +441,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java new file mode 100644 index 00000000..3b0e9fcc --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogProperty.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.UpdateCatalogPropertyData; +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; + +/** + * UpdateCatalogProperty + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogProperty { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCatalogPropertyData data; + + public UpdateCatalogProperty() { + } + + public UpdateCatalogProperty data(@javax.annotation.Nonnull UpdateCatalogPropertyData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCatalogPropertyData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCatalogPropertyData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogProperty updateCatalogProperty = (UpdateCatalogProperty) o; + return Objects.equals(this.data, updateCatalogProperty.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCatalogProperty {\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 UpdateCatalogProperty + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogProperty.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogProperty is not found in the empty JSON string", UpdateCatalogProperty.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogProperty.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogProperty` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCatalogProperty.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` + UpdateCatalogPropertyData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogProperty.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogProperty' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogProperty.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogProperty value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogProperty read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogProperty given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogProperty + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogProperty + */ + public static UpdateCatalogProperty fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogProperty.class); + } + + /** + * Convert an instance of UpdateCatalogProperty 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/UpdateCatalogPropertyData.java b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java new file mode 100644 index 00000000..07bff696 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.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.UpdateCatalogPropertyDataAttributes; +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; + +/** + * UpdateCatalogPropertyData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogPropertyData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + CATALOG_PROPERTIES("catalog_properties"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCatalogPropertyDataAttributes attributes; + + public UpdateCatalogPropertyData() { + } + + public UpdateCatalogPropertyData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCatalogPropertyData attributes(@javax.annotation.Nonnull UpdateCatalogPropertyDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCatalogPropertyDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCatalogPropertyDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogPropertyData updateCatalogPropertyData = (UpdateCatalogPropertyData) o; + return Objects.equals(this.type, updateCatalogPropertyData.type) && + Objects.equals(this.attributes, updateCatalogPropertyData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCatalogPropertyData {\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 UpdateCatalogPropertyData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogPropertyData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogPropertyData is not found in the empty JSON string", UpdateCatalogPropertyData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogPropertyData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogPropertyData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCatalogPropertyData.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` + UpdateCatalogPropertyDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogPropertyData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogPropertyData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogPropertyData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogPropertyData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogPropertyData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogPropertyData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogPropertyData + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogPropertyData + */ + public static UpdateCatalogPropertyData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogPropertyData.class); + } + + /** + * Convert an instance of UpdateCatalogPropertyData 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/UpdateCatalogPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java new file mode 100644 index 00000000..b98bcd6f --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java @@ -0,0 +1,502 @@ +/* + * 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; + +/** + * UpdateCatalogPropertyDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCatalogPropertyDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + /** + * Gets or Sets kind + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + TEXT("text"), + + REFERENCE("reference"), + + BOOLEAN("boolean"), + + REFERENCE2("reference"), + + SERVICE("service"), + + FUNCTIONALITY("functionality"), + + ENVIRONMENT("environment"), + + GROUP("group"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"), + + USER("user"); + + 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) + @javax.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_KIND_CATALOG_ID = "kind_catalog_id"; + @SerializedName(SERIALIZED_NAME_KIND_CATALOG_ID) + @javax.annotation.Nullable + private String kindCatalogId; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_REQUIRED = "required"; + @SerializedName(SERIALIZED_NAME_REQUIRED) + @javax.annotation.Nullable + private Boolean required; + + /** + * The type of catalog the property belongs to. + */ + @JsonAdapter(CatalogTypeEnum.Adapter.class) + public enum CatalogTypeEnum { + CATALOG("catalog"), + + CAUSE("cause"), + + ENVIRONMENT("environment"), + + FUNCTIONALITY("functionality"), + + INCIDENT_TYPE("incident_type"), + + SERVICE("service"), + + TEAM("team"); + + private String value; + + CatalogTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogTypeEnum fromValue(String value) { + for (CatalogTypeEnum b : CatalogTypeEnum.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 CatalogTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOG_TYPE = "catalog_type"; + @SerializedName(SERIALIZED_NAME_CATALOG_TYPE) + @javax.annotation.Nullable + private CatalogTypeEnum catalogType; + + public UpdateCatalogPropertyDataAttributes() { + } + + public UpdateCatalogPropertyDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCatalogPropertyDataAttributes kind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * Get kind + * @return kind + */ + @javax.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public UpdateCatalogPropertyDataAttributes kindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + return this; + } + + /** + * Restricts values to items of specified catalog. + * @return kindCatalogId + */ + @javax.annotation.Nullable + public String getKindCatalogId() { + return kindCatalogId; + } + + public void setKindCatalogId(@javax.annotation.Nullable String kindCatalogId) { + this.kindCatalogId = kindCatalogId; + } + + + public UpdateCatalogPropertyDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Default position of the item when displayed in a list. + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public UpdateCatalogPropertyDataAttributes required(@javax.annotation.Nullable Boolean required) { + this.required = required; + return this; + } + + /** + * Whether the property is required. + * @return required + */ + @javax.annotation.Nullable + public Boolean getRequired() { + return required; + } + + public void setRequired(@javax.annotation.Nullable Boolean required) { + this.required = required; + } + + + public UpdateCatalogPropertyDataAttributes catalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + return this; + } + + /** + * The type of catalog the property belongs to. + * @return catalogType + */ + @javax.annotation.Nullable + public CatalogTypeEnum getCatalogType() { + return catalogType; + } + + public void setCatalogType(@javax.annotation.Nullable CatalogTypeEnum catalogType) { + this.catalogType = catalogType; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCatalogPropertyDataAttributes updateCatalogPropertyDataAttributes = (UpdateCatalogPropertyDataAttributes) o; + return Objects.equals(this.name, updateCatalogPropertyDataAttributes.name) && + Objects.equals(this.kind, updateCatalogPropertyDataAttributes.kind) && + Objects.equals(this.kindCatalogId, updateCatalogPropertyDataAttributes.kindCatalogId) && + Objects.equals(this.position, updateCatalogPropertyDataAttributes.position) && + Objects.equals(this.required, updateCatalogPropertyDataAttributes.required) && + Objects.equals(this.catalogType, updateCatalogPropertyDataAttributes.catalogType); + } + + 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, kind, kindCatalogId, position, required, catalogType); + } + + 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 UpdateCatalogPropertyDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" kindCatalogId: ").append(toIndentedString(kindCatalogId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" required: ").append(toIndentedString(required)).append("\n"); + sb.append(" catalogType: ").append(toIndentedString(catalogType)).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("kind"); + openapiFields.add("kind_catalog_id"); + openapiFields.add("position"); + openapiFields.add("required"); + openapiFields.add("catalog_type"); + + // 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 UpdateCatalogPropertyDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCatalogPropertyDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCatalogPropertyDataAttributes is not found in the empty JSON string", UpdateCatalogPropertyDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCatalogPropertyDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCatalogPropertyDataAttributes` 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("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("kind_catalog_id") != null && !jsonObj.get("kind_catalog_id").isJsonNull()) && !jsonObj.get("kind_catalog_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `kind_catalog_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("kind_catalog_id").toString())); + } + if ((jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) && !jsonObj.get("catalog_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `catalog_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("catalog_type").toString())); + } + // validate the optional field `catalog_type` + if (jsonObj.get("catalog_type") != null && !jsonObj.get("catalog_type").isJsonNull()) { + CatalogTypeEnum.validateJsonElement(jsonObj.get("catalog_type")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCatalogPropertyDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCatalogPropertyDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCatalogPropertyDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCatalogPropertyDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCatalogPropertyDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCatalogPropertyDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCatalogPropertyDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCatalogPropertyDataAttributes + */ + public static UpdateCatalogPropertyDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCatalogPropertyDataAttributes.class); + } + + /** + * Convert an instance of UpdateCatalogPropertyDataAttributes 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/UpdateCause.java b/src/main/java/com/rootly/client/model/UpdateCause.java index cf284ea4..979ca079 100644 --- a/src/main/java/com/rootly/client/model/UpdateCause.java +++ b/src/main/java/com/rootly/client/model/UpdateCause.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCause */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cd983cfc..7fe58d67 100644 --- a/src/main/java/com/rootly/client/model/UpdateCauseData.java +++ b/src/main/java/com/rootly/client/model/UpdateCauseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCauseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java index 59633aa0..342a1f71 100644 --- a/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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 @@ /** * UpdateCauseDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +69,11 @@ public class UpdateCauseDataAttributes { @javax.annotation.Nullable private Integer position; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateCauseDataAttributes() { } @@ -126,6 +134,33 @@ public void setPosition(@javax.annotation.Nullable Integer position) { } + public UpdateCauseDataAttributes properties(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateCauseDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this cause. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -138,7 +173,8 @@ public boolean equals(Object o) { UpdateCauseDataAttributes updateCauseDataAttributes = (UpdateCauseDataAttributes) o; return Objects.equals(this.name, updateCauseDataAttributes.name) && Objects.equals(this.description, updateCauseDataAttributes.description) && - Objects.equals(this.position, updateCauseDataAttributes.position); + Objects.equals(this.position, updateCauseDataAttributes.position) && + Objects.equals(this.properties, updateCauseDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -147,7 +183,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, position); + return Objects.hash(name, description, position, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -164,6 +200,7 @@ public String toString() { 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(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -189,6 +226,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("position"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -221,6 +259,20 @@ 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("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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java index d78987c5..ed483ea2 100644 --- a/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateClickupTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 efda231d..55232ab8 100644 --- a/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateCodaPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCodaPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..0f7e9f11 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroup.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.UpdateCommunicationsGroupData; +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; + +/** + * UpdateCommunicationsGroup + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsGroup { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCommunicationsGroupData data; + + public UpdateCommunicationsGroup() { + } + + public UpdateCommunicationsGroup data(@javax.annotation.Nonnull UpdateCommunicationsGroupData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCommunicationsGroupData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCommunicationsGroupData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsGroup updateCommunicationsGroup = (UpdateCommunicationsGroup) o; + return Objects.equals(this.data, updateCommunicationsGroup.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsGroup {\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 UpdateCommunicationsGroup + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsGroup.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsGroup is not found in the empty JSON string", UpdateCommunicationsGroup.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsGroup.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsGroup` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsGroup.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` + UpdateCommunicationsGroupData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsGroup.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsGroup' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsGroup.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsGroup value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsGroup read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsGroup given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsGroup + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsGroup + */ + public static UpdateCommunicationsGroup fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsGroup.class); + } + + /** + * Convert an instance of UpdateCommunicationsGroup 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/UpdateCommunicationsGroupData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java new file mode 100644 index 00000000..0f7661be --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.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.UpdateCommunicationsGroupDataAttributes; +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; + +/** + * UpdateCommunicationsGroupData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsGroupData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_GROUPS("communications_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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCommunicationsGroupDataAttributes attributes; + + public UpdateCommunicationsGroupData() { + } + + public UpdateCommunicationsGroupData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCommunicationsGroupData attributes(@javax.annotation.Nonnull UpdateCommunicationsGroupDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCommunicationsGroupDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCommunicationsGroupDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsGroupData updateCommunicationsGroupData = (UpdateCommunicationsGroupData) o; + return Objects.equals(this.type, updateCommunicationsGroupData.type) && + Objects.equals(this.attributes, updateCommunicationsGroupData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsGroupData {\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 UpdateCommunicationsGroupData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsGroupData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsGroupData is not found in the empty JSON string", UpdateCommunicationsGroupData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsGroupData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsGroupData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsGroupData.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` + UpdateCommunicationsGroupDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsGroupData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsGroupData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsGroupData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsGroupData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsGroupData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsGroupData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsGroupData + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsGroupData + */ + public static UpdateCommunicationsGroupData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsGroupData.class); + } + + /** + * Convert an instance of UpdateCommunicationsGroupData 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/UpdateCommunicationsGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java new file mode 100644 index 00000000..9105b310 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java @@ -0,0 +1,625 @@ +/* + * 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.UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner; +import com.rootly.client.model.UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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; + +/** + * UpdateCommunicationsGroupDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsGroupDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nullable + private String communicationTypeId; + + public static final String SERIALIZED_NAME_IS_PRIVATE = "is_private"; + @SerializedName(SERIALIZED_NAME_IS_PRIVATE) + @javax.annotation.Nullable + private Boolean isPrivate; + + /** + * Condition type + */ + @JsonAdapter(ConditionTypeEnum.Adapter.class) + public enum ConditionTypeEnum { + ANY("any"), + + ALL("all"); + + 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; + } + } + return null; + } + + 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) + @javax.annotation.Nullable + private ConditionTypeEnum conditionType; + + public static final String SERIALIZED_NAME_SMS_CHANNEL = "sms_channel"; + @SerializedName(SERIALIZED_NAME_SMS_CHANNEL) + @javax.annotation.Nullable + private Boolean smsChannel; + + public static final String SERIALIZED_NAME_EMAIL_CHANNEL = "email_channel"; + @SerializedName(SERIALIZED_NAME_EMAIL_CHANNEL) + @javax.annotation.Nullable + private Boolean emailChannel; + + public static final String SERIALIZED_NAME_MEMBER_IDS = "member_ids"; + @SerializedName(SERIALIZED_NAME_MEMBER_IDS) + @javax.annotation.Nullable + private List memberIds; + + public static final String SERIALIZED_NAME_SLACK_CHANNEL_IDS = "slack_channel_ids"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_IDS) + @javax.annotation.Nullable + private List slackChannelIds; + + public static final String SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS = "communication_group_conditions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_GROUP_CONDITIONS) + @javax.annotation.Nullable + private List communicationGroupConditions; + + public static final String SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS = "communication_external_group_members"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_EXTERNAL_GROUP_MEMBERS) + @javax.annotation.Nullable + private List communicationExternalGroupMembers; + + public UpdateCommunicationsGroupDataAttributes() { + } + + public UpdateCommunicationsGroupDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the communications group + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCommunicationsGroupDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications group + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateCommunicationsGroupDataAttributes communicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nullable + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public UpdateCommunicationsGroupDataAttributes isPrivate(@javax.annotation.Nullable Boolean isPrivate) { + this.isPrivate = isPrivate; + return this; + } + + /** + * Whether the group is private + * @return isPrivate + */ + @javax.annotation.Nullable + public Boolean getIsPrivate() { + return isPrivate; + } + + public void setIsPrivate(@javax.annotation.Nullable Boolean isPrivate) { + this.isPrivate = isPrivate; + } + + + public UpdateCommunicationsGroupDataAttributes conditionType(@javax.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + return this; + } + + /** + * Condition type + * @return conditionType + */ + @javax.annotation.Nullable + public ConditionTypeEnum getConditionType() { + return conditionType; + } + + public void setConditionType(@javax.annotation.Nullable ConditionTypeEnum conditionType) { + this.conditionType = conditionType; + } + + + public UpdateCommunicationsGroupDataAttributes smsChannel(@javax.annotation.Nullable Boolean smsChannel) { + this.smsChannel = smsChannel; + return this; + } + + /** + * SMS channel enabled + * @return smsChannel + */ + @javax.annotation.Nullable + public Boolean getSmsChannel() { + return smsChannel; + } + + public void setSmsChannel(@javax.annotation.Nullable Boolean smsChannel) { + this.smsChannel = smsChannel; + } + + + public UpdateCommunicationsGroupDataAttributes emailChannel(@javax.annotation.Nullable Boolean emailChannel) { + this.emailChannel = emailChannel; + return this; + } + + /** + * Email channel enabled + * @return emailChannel + */ + @javax.annotation.Nullable + public Boolean getEmailChannel() { + return emailChannel; + } + + public void setEmailChannel(@javax.annotation.Nullable Boolean emailChannel) { + this.emailChannel = emailChannel; + } + + + public UpdateCommunicationsGroupDataAttributes memberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributes addMemberIdsItem(Integer memberIdsItem) { + if (this.memberIds == null) { + this.memberIds = new ArrayList<>(); + } + this.memberIds.add(memberIdsItem); + return this; + } + + /** + * Array of member user IDs + * @return memberIds + */ + @javax.annotation.Nullable + public List getMemberIds() { + return memberIds; + } + + public void setMemberIds(@javax.annotation.Nullable List memberIds) { + this.memberIds = memberIds; + } + + + public UpdateCommunicationsGroupDataAttributes slackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributes addSlackChannelIdsItem(String slackChannelIdsItem) { + if (this.slackChannelIds == null) { + this.slackChannelIds = new ArrayList<>(); + } + this.slackChannelIds.add(slackChannelIdsItem); + return this; + } + + /** + * Array of Slack channel IDs + * @return slackChannelIds + */ + @javax.annotation.Nullable + public List getSlackChannelIds() { + return slackChannelIds; + } + + public void setSlackChannelIds(@javax.annotation.Nullable List slackChannelIds) { + this.slackChannelIds = slackChannelIds; + } + + + public UpdateCommunicationsGroupDataAttributes communicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + return this; + } + + public UpdateCommunicationsGroupDataAttributes addCommunicationGroupConditionsItem(UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner communicationGroupConditionsItem) { + if (this.communicationGroupConditions == null) { + this.communicationGroupConditions = new ArrayList<>(); + } + this.communicationGroupConditions.add(communicationGroupConditionsItem); + return this; + } + + /** + * Group conditions attributes + * @return communicationGroupConditions + */ + @javax.annotation.Nullable + public List getCommunicationGroupConditions() { + return communicationGroupConditions; + } + + public void setCommunicationGroupConditions(@javax.annotation.Nullable List communicationGroupConditions) { + this.communicationGroupConditions = communicationGroupConditions; + } + + + public UpdateCommunicationsGroupDataAttributes communicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + return this; + } + + public UpdateCommunicationsGroupDataAttributes addCommunicationExternalGroupMembersItem(UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner communicationExternalGroupMembersItem) { + if (this.communicationExternalGroupMembers == null) { + this.communicationExternalGroupMembers = new ArrayList<>(); + } + this.communicationExternalGroupMembers.add(communicationExternalGroupMembersItem); + return this; + } + + /** + * External group members attributes + * @return communicationExternalGroupMembers + */ + @javax.annotation.Nullable + public List getCommunicationExternalGroupMembers() { + return communicationExternalGroupMembers; + } + + public void setCommunicationExternalGroupMembers(@javax.annotation.Nullable List communicationExternalGroupMembers) { + this.communicationExternalGroupMembers = communicationExternalGroupMembers; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsGroupDataAttributes updateCommunicationsGroupDataAttributes = (UpdateCommunicationsGroupDataAttributes) o; + return Objects.equals(this.name, updateCommunicationsGroupDataAttributes.name) && + Objects.equals(this.description, updateCommunicationsGroupDataAttributes.description) && + Objects.equals(this.communicationTypeId, updateCommunicationsGroupDataAttributes.communicationTypeId) && + Objects.equals(this.isPrivate, updateCommunicationsGroupDataAttributes.isPrivate) && + Objects.equals(this.conditionType, updateCommunicationsGroupDataAttributes.conditionType) && + Objects.equals(this.smsChannel, updateCommunicationsGroupDataAttributes.smsChannel) && + Objects.equals(this.emailChannel, updateCommunicationsGroupDataAttributes.emailChannel) && + Objects.equals(this.memberIds, updateCommunicationsGroupDataAttributes.memberIds) && + Objects.equals(this.slackChannelIds, updateCommunicationsGroupDataAttributes.slackChannelIds) && + Objects.equals(this.communicationGroupConditions, updateCommunicationsGroupDataAttributes.communicationGroupConditions) && + Objects.equals(this.communicationExternalGroupMembers, updateCommunicationsGroupDataAttributes.communicationExternalGroupMembers); + } + + 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, description, communicationTypeId, isPrivate, conditionType, smsChannel, emailChannel, memberIds, slackChannelIds, communicationGroupConditions, communicationExternalGroupMembers); + } + + 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 UpdateCommunicationsGroupDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" isPrivate: ").append(toIndentedString(isPrivate)).append("\n"); + sb.append(" conditionType: ").append(toIndentedString(conditionType)).append("\n"); + sb.append(" smsChannel: ").append(toIndentedString(smsChannel)).append("\n"); + sb.append(" emailChannel: ").append(toIndentedString(emailChannel)).append("\n"); + sb.append(" memberIds: ").append(toIndentedString(memberIds)).append("\n"); + sb.append(" slackChannelIds: ").append(toIndentedString(slackChannelIds)).append("\n"); + sb.append(" communicationGroupConditions: ").append(toIndentedString(communicationGroupConditions)).append("\n"); + sb.append(" communicationExternalGroupMembers: ").append(toIndentedString(communicationExternalGroupMembers)).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("communication_type_id"); + openapiFields.add("is_private"); + openapiFields.add("condition_type"); + openapiFields.add("sms_channel"); + openapiFields.add("email_channel"); + openapiFields.add("member_ids"); + openapiFields.add("slack_channel_ids"); + openapiFields.add("communication_group_conditions"); + openapiFields.add("communication_external_group_members"); + + // 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 UpdateCommunicationsGroupDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsGroupDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsGroupDataAttributes is not found in the empty JSON string", UpdateCommunicationsGroupDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsGroupDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsGroupDataAttributes` 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())); + } + if ((jsonObj.get("communication_type_id") != null && !jsonObj.get("communication_type_id").isJsonNull()) && !jsonObj.get("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + 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")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("member_ids") != null && !jsonObj.get("member_ids").isJsonNull() && !jsonObj.get("member_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `member_ids` to be an array in the JSON string but got `%s`", jsonObj.get("member_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("slack_channel_ids") != null && !jsonObj.get("slack_channel_ids").isJsonNull() && !jsonObj.get("slack_channel_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_channel_ids` to be an array in the JSON string but got `%s`", jsonObj.get("slack_channel_ids").toString())); + } + if (jsonObj.get("communication_group_conditions") != null && !jsonObj.get("communication_group_conditions").isJsonNull()) { + JsonArray jsonArraycommunicationGroupConditions = jsonObj.getAsJsonArray("communication_group_conditions"); + if (jsonArraycommunicationGroupConditions != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_group_conditions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_group_conditions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_group_conditions").toString())); + } + + // validate the optional field `communication_group_conditions` (array) + for (int i = 0; i < jsonArraycommunicationGroupConditions.size(); i++) { + UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.validateJsonElement(jsonArraycommunicationGroupConditions.get(i)); + }; + } + } + if (jsonObj.get("communication_external_group_members") != null && !jsonObj.get("communication_external_group_members").isJsonNull()) { + JsonArray jsonArraycommunicationExternalGroupMembers = jsonObj.getAsJsonArray("communication_external_group_members"); + if (jsonArraycommunicationExternalGroupMembers != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_external_group_members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_external_group_members` to be an array in the JSON string but got `%s`", jsonObj.get("communication_external_group_members").toString())); + } + + // validate the optional field `communication_external_group_members` (array) + for (int i = 0; i < jsonArraycommunicationExternalGroupMembers.size(); i++) { + UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.validateJsonElement(jsonArraycommunicationExternalGroupMembers.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsGroupDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsGroupDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsGroupDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsGroupDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsGroupDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsGroupDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsGroupDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsGroupDataAttributes + */ + public static UpdateCommunicationsGroupDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsGroupDataAttributes.class); + } + + /** + * Convert an instance of UpdateCommunicationsGroupDataAttributes 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/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java new file mode 100644 index 00000000..c517227e --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.java @@ -0,0 +1,308 @@ +/* + * 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; + +/** + * UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_PHONE_NUMBER = "phone_number"; + @SerializedName(SERIALIZED_NAME_PHONE_NUMBER) + @javax.annotation.Nullable + private String phoneNumber; + + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner() { + } + + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the external group member + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Name of the external member + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Email of the external member + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner phoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + return this; + } + + /** + * Phone number of the external member + * @return phoneNumber + */ + @javax.annotation.Nullable + public String getPhoneNumber() { + return phoneNumber; + } + + public void setPhoneNumber(@javax.annotation.Nullable String phoneNumber) { + this.phoneNumber = phoneNumber; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner updateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner = (UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner) o; + return Objects.equals(this.id, updateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.id) && + Objects.equals(this.name, updateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.name) && + Objects.equals(this.email, updateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.email) && + Objects.equals(this.phoneNumber, updateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.phoneNumber); + } + + 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, name, email, phoneNumber); + } + + 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 UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" phoneNumber: ").append(toIndentedString(phoneNumber)).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"); + openapiFields.add("email"); + openapiFields.add("phone_number"); + + // 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 UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner is not found in the empty JSON string", UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner` 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("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("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); + } + if ((jsonObj.get("phone_number") != null && !jsonObj.get("phone_number").isJsonNull()) && !jsonObj.get("phone_number").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone_number` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone_number").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + public static UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner.class); + } + + /** + * Convert an instance of UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner 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/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java new file mode 100644 index 00000000..34b676f3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.java @@ -0,0 +1,507 @@ +/* + * 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; + +/** + * UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + /** + * 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) + @javax.annotation.Nullable + private PropertyTypeEnum propertyType; + + public static final String SERIALIZED_NAME_SERVICE_IDS = "service_ids"; + @SerializedName(SERIALIZED_NAME_SERVICE_IDS) + @javax.annotation.Nullable + private List serviceIds; + + public static final String SERIALIZED_NAME_SEVERITY_IDS = "severity_ids"; + @SerializedName(SERIALIZED_NAME_SEVERITY_IDS) + @javax.annotation.Nullable + private List severityIds; + + public static final String SERIALIZED_NAME_FUNCTIONALITY_IDS = "functionality_ids"; + @SerializedName(SERIALIZED_NAME_FUNCTIONALITY_IDS) + @javax.annotation.Nullable + private List functionalityIds; + + public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; + @SerializedName(SERIALIZED_NAME_GROUP_IDS) + @javax.annotation.Nullable + private List groupIds; + + public static final String SERIALIZED_NAME_INCIDENT_TYPE_IDS = "incident_type_ids"; + @SerializedName(SERIALIZED_NAME_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List incidentTypeIds; + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner() { + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the condition + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner propertyType(@javax.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + return this; + } + + /** + * Property type + * @return propertyType + */ + @javax.annotation.Nullable + public PropertyTypeEnum getPropertyType() { + return propertyType; + } + + public void setPropertyType(@javax.annotation.Nullable PropertyTypeEnum propertyType) { + this.propertyType = propertyType; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner serviceIds(@javax.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addServiceIdsItem(String serviceIdsItem) { + if (this.serviceIds == null) { + this.serviceIds = new ArrayList<>(); + } + this.serviceIds.add(serviceIdsItem); + return this; + } + + /** + * Array of service IDs + * @return serviceIds + */ + @javax.annotation.Nullable + public List getServiceIds() { + return serviceIds; + } + + public void setServiceIds(@javax.annotation.Nullable List serviceIds) { + this.serviceIds = serviceIds; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner severityIds(@javax.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addSeverityIdsItem(String severityIdsItem) { + if (this.severityIds == null) { + this.severityIds = new ArrayList<>(); + } + this.severityIds.add(severityIdsItem); + return this; + } + + /** + * Array of severity IDs + * @return severityIds + */ + @javax.annotation.Nullable + public List getSeverityIds() { + return severityIds; + } + + public void setSeverityIds(@javax.annotation.Nullable List severityIds) { + this.severityIds = severityIds; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner functionalityIds(@javax.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addFunctionalityIdsItem(String functionalityIdsItem) { + if (this.functionalityIds == null) { + this.functionalityIds = new ArrayList<>(); + } + this.functionalityIds.add(functionalityIdsItem); + return this; + } + + /** + * Array of functionality IDs + * @return functionalityIds + */ + @javax.annotation.Nullable + public List getFunctionalityIds() { + return functionalityIds; + } + + public void setFunctionalityIds(@javax.annotation.Nullable List functionalityIds) { + this.functionalityIds = functionalityIds; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner groupIds(@javax.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addGroupIdsItem(String groupIdsItem) { + if (this.groupIds == null) { + this.groupIds = new ArrayList<>(); + } + this.groupIds.add(groupIdsItem); + return this; + } + + /** + * Array of group IDs + * @return groupIds + */ + @javax.annotation.Nullable + public List getGroupIds() { + return groupIds; + } + + public void setGroupIds(@javax.annotation.Nullable List groupIds) { + this.groupIds = groupIds; + } + + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner incidentTypeIds(@javax.annotation.Nullable List incidentTypeIds) { + this.incidentTypeIds = incidentTypeIds; + return this; + } + + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner addIncidentTypeIdsItem(String incidentTypeIdsItem) { + if (this.incidentTypeIds == null) { + this.incidentTypeIds = new ArrayList<>(); + } + this.incidentTypeIds.add(incidentTypeIdsItem); + return this; + } + + /** + * Array of incident type IDs + * @return incidentTypeIds + */ + @javax.annotation.Nullable + public List getIncidentTypeIds() { + return incidentTypeIds; + } + + public void setIncidentTypeIds(@javax.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; + } + UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner = (UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner) o; + return Objects.equals(this.id, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.id) && + Objects.equals(this.propertyType, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.propertyType) && + Objects.equals(this.serviceIds, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.serviceIds) && + Objects.equals(this.severityIds, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.severityIds) && + Objects.equals(this.functionalityIds, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.functionalityIds) && + Objects.equals(this.groupIds, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.groupIds) && + Objects.equals(this.incidentTypeIds, updateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.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(id, 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 UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\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("id"); + 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 UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner is not found in the empty JSON string", UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner` 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("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 (!UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + public static UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner.class); + } + + /** + * Convert an instance of UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner 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/UpdateCommunicationsStage.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.java new file mode 100644 index 00000000..980b7107 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStage.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.UpdateCommunicationsStageData; +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; + +/** + * UpdateCommunicationsStage + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsStage { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCommunicationsStageData data; + + public UpdateCommunicationsStage() { + } + + public UpdateCommunicationsStage data(@javax.annotation.Nonnull UpdateCommunicationsStageData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCommunicationsStageData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCommunicationsStageData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsStage updateCommunicationsStage = (UpdateCommunicationsStage) o; + return Objects.equals(this.data, updateCommunicationsStage.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsStage {\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 UpdateCommunicationsStage + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsStage.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsStage is not found in the empty JSON string", UpdateCommunicationsStage.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsStage.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsStage` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsStage.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` + UpdateCommunicationsStageData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsStage.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsStage' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsStage.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsStage value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsStage read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsStage given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsStage + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsStage + */ + public static UpdateCommunicationsStage fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsStage.class); + } + + /** + * Convert an instance of UpdateCommunicationsStage 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/UpdateCommunicationsStageData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java new file mode 100644 index 00000000..fbf646f7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.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.UpdateCommunicationsStageDataAttributes; +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; + +/** + * UpdateCommunicationsStageData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsStageData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_STAGES("communications_stages"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCommunicationsStageDataAttributes attributes; + + public UpdateCommunicationsStageData() { + } + + public UpdateCommunicationsStageData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCommunicationsStageData attributes(@javax.annotation.Nonnull UpdateCommunicationsStageDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCommunicationsStageDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCommunicationsStageDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsStageData updateCommunicationsStageData = (UpdateCommunicationsStageData) o; + return Objects.equals(this.type, updateCommunicationsStageData.type) && + Objects.equals(this.attributes, updateCommunicationsStageData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsStageData {\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 UpdateCommunicationsStageData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsStageData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsStageData is not found in the empty JSON string", UpdateCommunicationsStageData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsStageData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsStageData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsStageData.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` + UpdateCommunicationsStageDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsStageData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsStageData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsStageData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsStageData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsStageData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsStageData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsStageData + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsStageData + */ + public static UpdateCommunicationsStageData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsStageData.class); + } + + /** + * Convert an instance of UpdateCommunicationsStageData 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/UpdateCommunicationsStageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java new file mode 100644 index 00000000..bd581eca --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.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; + +/** + * UpdateCommunicationsStageDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsStageDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public UpdateCommunicationsStageDataAttributes() { + } + + public UpdateCommunicationsStageDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the communications stage + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCommunicationsStageDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications stage + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateCommunicationsStageDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications stage + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsStageDataAttributes updateCommunicationsStageDataAttributes = (UpdateCommunicationsStageDataAttributes) o; + return Objects.equals(this.name, updateCommunicationsStageDataAttributes.name) && + Objects.equals(this.description, updateCommunicationsStageDataAttributes.description) && + Objects.equals(this.position, updateCommunicationsStageDataAttributes.position); + } + + 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, description, position); + } + + 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 UpdateCommunicationsStageDataAttributes {\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("}"); + 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("position"); + + // 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 UpdateCommunicationsStageDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsStageDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsStageDataAttributes is not found in the empty JSON string", UpdateCommunicationsStageDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsStageDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsStageDataAttributes` 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 (!UpdateCommunicationsStageDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsStageDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsStageDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsStageDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsStageDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsStageDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsStageDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsStageDataAttributes + */ + public static UpdateCommunicationsStageDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsStageDataAttributes.class); + } + + /** + * Convert an instance of UpdateCommunicationsStageDataAttributes 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/UpdateCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java new file mode 100644 index 00000000..01f8f0cd --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.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.UpdateCommunicationsTemplateData; +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; + +/** + * UpdateCommunicationsTemplate + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTemplate { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCommunicationsTemplateData data; + + public UpdateCommunicationsTemplate() { + } + + public UpdateCommunicationsTemplate data(@javax.annotation.Nonnull UpdateCommunicationsTemplateData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCommunicationsTemplateData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCommunicationsTemplateData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTemplate updateCommunicationsTemplate = (UpdateCommunicationsTemplate) o; + return Objects.equals(this.data, updateCommunicationsTemplate.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsTemplate {\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 UpdateCommunicationsTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTemplate is not found in the empty JSON string", UpdateCommunicationsTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTemplate` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsTemplate.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` + UpdateCommunicationsTemplateData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTemplate + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTemplate + */ + public static UpdateCommunicationsTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTemplate.class); + } + + /** + * Convert an instance of UpdateCommunicationsTemplate 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/UpdateCommunicationsTemplateData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java new file mode 100644 index 00000000..f16d560f --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.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.UpdateCommunicationsTemplateDataAttributes; +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; + +/** + * UpdateCommunicationsTemplateData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTemplateData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TEMPLATES("communications_templates"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCommunicationsTemplateDataAttributes attributes; + + public UpdateCommunicationsTemplateData() { + } + + public UpdateCommunicationsTemplateData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCommunicationsTemplateData attributes(@javax.annotation.Nonnull UpdateCommunicationsTemplateDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCommunicationsTemplateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCommunicationsTemplateDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTemplateData updateCommunicationsTemplateData = (UpdateCommunicationsTemplateData) o; + return Objects.equals(this.type, updateCommunicationsTemplateData.type) && + Objects.equals(this.attributes, updateCommunicationsTemplateData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsTemplateData {\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 UpdateCommunicationsTemplateData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTemplateData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTemplateData is not found in the empty JSON string", UpdateCommunicationsTemplateData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTemplateData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTemplateData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsTemplateData.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` + UpdateCommunicationsTemplateDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTemplateData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTemplateData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTemplateData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTemplateData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTemplateData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTemplateData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTemplateData + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTemplateData + */ + public static UpdateCommunicationsTemplateData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTemplateData.class); + } + + /** + * Convert an instance of UpdateCommunicationsTemplateData 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/UpdateCommunicationsTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java new file mode 100644 index 00000000..64e33a7c --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java @@ -0,0 +1,357 @@ +/* + * 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.UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner; +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; + +/** + * UpdateCommunicationsTemplateDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTemplateDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COMMUNICATION_TYPE_ID = "communication_type_id"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TYPE_ID) + @javax.annotation.Nullable + private String communicationTypeId; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public static final String SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES_ATTRIBUTES = "communication_template_stages_attributes"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_TEMPLATE_STAGES_ATTRIBUTES) + @javax.annotation.Nullable + private List communicationTemplateStagesAttributes; + + public UpdateCommunicationsTemplateDataAttributes() { + } + + public UpdateCommunicationsTemplateDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the communications template + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCommunicationsTemplateDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications template + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateCommunicationsTemplateDataAttributes communicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + return this; + } + + /** + * The communication type ID + * @return communicationTypeId + */ + @javax.annotation.Nullable + public String getCommunicationTypeId() { + return communicationTypeId; + } + + public void setCommunicationTypeId(@javax.annotation.Nullable String communicationTypeId) { + this.communicationTypeId = communicationTypeId; + } + + + public UpdateCommunicationsTemplateDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications template + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public UpdateCommunicationsTemplateDataAttributes communicationTemplateStagesAttributes(@javax.annotation.Nullable List communicationTemplateStagesAttributes) { + this.communicationTemplateStagesAttributes = communicationTemplateStagesAttributes; + return this; + } + + public UpdateCommunicationsTemplateDataAttributes addCommunicationTemplateStagesAttributesItem(UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner communicationTemplateStagesAttributesItem) { + if (this.communicationTemplateStagesAttributes == null) { + this.communicationTemplateStagesAttributes = new ArrayList<>(); + } + this.communicationTemplateStagesAttributes.add(communicationTemplateStagesAttributesItem); + return this; + } + + /** + * Template stages attributes + * @return communicationTemplateStagesAttributes + */ + @javax.annotation.Nullable + public List getCommunicationTemplateStagesAttributes() { + return communicationTemplateStagesAttributes; + } + + public void setCommunicationTemplateStagesAttributes(@javax.annotation.Nullable List communicationTemplateStagesAttributes) { + this.communicationTemplateStagesAttributes = communicationTemplateStagesAttributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTemplateDataAttributes updateCommunicationsTemplateDataAttributes = (UpdateCommunicationsTemplateDataAttributes) o; + return Objects.equals(this.name, updateCommunicationsTemplateDataAttributes.name) && + Objects.equals(this.description, updateCommunicationsTemplateDataAttributes.description) && + Objects.equals(this.communicationTypeId, updateCommunicationsTemplateDataAttributes.communicationTypeId) && + Objects.equals(this.position, updateCommunicationsTemplateDataAttributes.position) && + Objects.equals(this.communicationTemplateStagesAttributes, updateCommunicationsTemplateDataAttributes.communicationTemplateStagesAttributes); + } + + 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, description, communicationTypeId, position, communicationTemplateStagesAttributes); + } + + 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 UpdateCommunicationsTemplateDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" communicationTypeId: ").append(toIndentedString(communicationTypeId)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" communicationTemplateStagesAttributes: ").append(toIndentedString(communicationTemplateStagesAttributes)).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("communication_type_id"); + openapiFields.add("position"); + openapiFields.add("communication_template_stages_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 UpdateCommunicationsTemplateDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTemplateDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTemplateDataAttributes is not found in the empty JSON string", UpdateCommunicationsTemplateDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTemplateDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTemplateDataAttributes` 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())); + } + if ((jsonObj.get("communication_type_id") != null && !jsonObj.get("communication_type_id").isJsonNull()) && !jsonObj.get("communication_type_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_type_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("communication_type_id").toString())); + } + if (jsonObj.get("communication_template_stages_attributes") != null && !jsonObj.get("communication_template_stages_attributes").isJsonNull()) { + JsonArray jsonArraycommunicationTemplateStagesAttributes = jsonObj.getAsJsonArray("communication_template_stages_attributes"); + if (jsonArraycommunicationTemplateStagesAttributes != null) { + // ensure the json data is an array + if (!jsonObj.get("communication_template_stages_attributes").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_template_stages_attributes` to be an array in the JSON string but got `%s`", jsonObj.get("communication_template_stages_attributes").toString())); + } + + // validate the optional field `communication_template_stages_attributes` (array) + for (int i = 0; i < jsonArraycommunicationTemplateStagesAttributes.size(); i++) { + UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.validateJsonElement(jsonArraycommunicationTemplateStagesAttributes.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTemplateDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTemplateDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTemplateDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTemplateDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTemplateDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTemplateDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTemplateDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTemplateDataAttributes + */ + public static UpdateCommunicationsTemplateDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTemplateDataAttributes.class); + } + + /** + * Convert an instance of UpdateCommunicationsTemplateDataAttributes 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/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java new file mode 100644 index 00000000..a673dd76 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.java @@ -0,0 +1,338 @@ +/* + * 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; + +/** + * UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_SMS_CONTENT = "sms_content"; + @SerializedName(SERIALIZED_NAME_SMS_CONTENT) + @javax.annotation.Nullable + private String smsContent; + + public static final String SERIALIZED_NAME_EMAIL_SUBJECT = "email_subject"; + @SerializedName(SERIALIZED_NAME_EMAIL_SUBJECT) + @javax.annotation.Nullable + private String emailSubject; + + public static final String SERIALIZED_NAME_EMAIL_BODY = "email_body"; + @SerializedName(SERIALIZED_NAME_EMAIL_BODY) + @javax.annotation.Nullable + private String emailBody; + + public static final String SERIALIZED_NAME_SLACK_CONTENT = "slack_content"; + @SerializedName(SERIALIZED_NAME_SLACK_CONTENT) + @javax.annotation.Nullable + private String slackContent; + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner() { + } + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * ID of the communication template stage + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner smsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + return this; + } + + /** + * SMS content for the stage + * @return smsContent + */ + @javax.annotation.Nullable + public String getSmsContent() { + return smsContent; + } + + public void setSmsContent(@javax.annotation.Nullable String smsContent) { + this.smsContent = smsContent; + } + + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner emailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + return this; + } + + /** + * Email subject for the stage + * @return emailSubject + */ + @javax.annotation.Nullable + public String getEmailSubject() { + return emailSubject; + } + + public void setEmailSubject(@javax.annotation.Nullable String emailSubject) { + this.emailSubject = emailSubject; + } + + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner emailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + return this; + } + + /** + * Email body for the stage + * @return emailBody + */ + @javax.annotation.Nullable + public String getEmailBody() { + return emailBody; + } + + public void setEmailBody(@javax.annotation.Nullable String emailBody) { + this.emailBody = emailBody; + } + + + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner slackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + return this; + } + + /** + * Slack content for the stage + * @return slackContent + */ + @javax.annotation.Nullable + public String getSlackContent() { + return slackContent; + } + + public void setSlackContent(@javax.annotation.Nullable String slackContent) { + this.slackContent = slackContent; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner = (UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner) o; + return Objects.equals(this.id, updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.id) && + Objects.equals(this.smsContent, updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.smsContent) && + Objects.equals(this.emailSubject, updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.emailSubject) && + Objects.equals(this.emailBody, updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.emailBody) && + Objects.equals(this.slackContent, updateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.slackContent); + } + + 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, smsContent, emailSubject, emailBody, slackContent); + } + + 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 UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" smsContent: ").append(toIndentedString(smsContent)).append("\n"); + sb.append(" emailSubject: ").append(toIndentedString(emailSubject)).append("\n"); + sb.append(" emailBody: ").append(toIndentedString(emailBody)).append("\n"); + sb.append(" slackContent: ").append(toIndentedString(slackContent)).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("sms_content"); + openapiFields.add("email_subject"); + openapiFields.add("email_body"); + openapiFields.add("slack_content"); + + // 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 UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner is not found in the empty JSON string", UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner` 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("sms_content") != null && !jsonObj.get("sms_content").isJsonNull()) && !jsonObj.get("sms_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `sms_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("sms_content").toString())); + } + if ((jsonObj.get("email_subject") != null && !jsonObj.get("email_subject").isJsonNull()) && !jsonObj.get("email_subject").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_subject` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_subject").toString())); + } + if ((jsonObj.get("email_body") != null && !jsonObj.get("email_body").isJsonNull()) && !jsonObj.get("email_body").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `email_body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("email_body").toString())); + } + if ((jsonObj.get("slack_content") != null && !jsonObj.get("slack_content").isJsonNull()) && !jsonObj.get("slack_content").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `slack_content` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_content").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + public static UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner.class); + } + + /** + * Convert an instance of UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner 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/UpdateCommunicationsType.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsType.java new file mode 100644 index 00000000..d39c9c01 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsType.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.UpdateCommunicationsTypeData; +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; + +/** + * UpdateCommunicationsType + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsType { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateCommunicationsTypeData data; + + public UpdateCommunicationsType() { + } + + public UpdateCommunicationsType data(@javax.annotation.Nonnull UpdateCommunicationsTypeData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateCommunicationsTypeData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateCommunicationsTypeData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsType updateCommunicationsType = (UpdateCommunicationsType) o; + return Objects.equals(this.data, updateCommunicationsType.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsType {\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 UpdateCommunicationsType + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsType.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsType is not found in the empty JSON string", UpdateCommunicationsType.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsType.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsType` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsType.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` + UpdateCommunicationsTypeData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsType.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsType' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsType.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsType value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsType read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsType given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsType + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsType + */ + public static UpdateCommunicationsType fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsType.class); + } + + /** + * Convert an instance of UpdateCommunicationsType 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/UpdateCommunicationsTypeData.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java new file mode 100644 index 00000000..1dd36433 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.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.UpdateCommunicationsTypeDataAttributes; +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; + +/** + * UpdateCommunicationsTypeData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTypeData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + COMMUNICATIONS_TYPES("communications_types"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateCommunicationsTypeDataAttributes attributes; + + public UpdateCommunicationsTypeData() { + } + + public UpdateCommunicationsTypeData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateCommunicationsTypeData attributes(@javax.annotation.Nonnull UpdateCommunicationsTypeDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateCommunicationsTypeDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateCommunicationsTypeDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTypeData updateCommunicationsTypeData = (UpdateCommunicationsTypeData) o; + return Objects.equals(this.type, updateCommunicationsTypeData.type) && + Objects.equals(this.attributes, updateCommunicationsTypeData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCommunicationsTypeData {\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 UpdateCommunicationsTypeData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTypeData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTypeData is not found in the empty JSON string", UpdateCommunicationsTypeData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTypeData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTypeData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateCommunicationsTypeData.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` + UpdateCommunicationsTypeDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTypeData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTypeData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTypeData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTypeData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTypeData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTypeData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTypeData + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTypeData + */ + public static UpdateCommunicationsTypeData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTypeData.class); + } + + /** + * Convert an instance of UpdateCommunicationsTypeData 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/UpdateCommunicationsTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java new file mode 100644 index 00000000..e7708cb1 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.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 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; + +/** + * UpdateCommunicationsTypeDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateCommunicationsTypeDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_COLOR = "color"; + @SerializedName(SERIALIZED_NAME_COLOR) + @javax.annotation.Nullable + private String color; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + public UpdateCommunicationsTypeDataAttributes() { + } + + public UpdateCommunicationsTypeDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the communications type + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateCommunicationsTypeDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * The description of the communications type + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateCommunicationsTypeDataAttributes color(@javax.annotation.Nullable String color) { + this.color = color; + return this; + } + + /** + * The color of the communications type + * @return color + */ + @javax.annotation.Nullable + public String getColor() { + return color; + } + + public void setColor(@javax.annotation.Nullable String color) { + this.color = color; + } + + + public UpdateCommunicationsTypeDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the communications type + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCommunicationsTypeDataAttributes updateCommunicationsTypeDataAttributes = (UpdateCommunicationsTypeDataAttributes) o; + return Objects.equals(this.name, updateCommunicationsTypeDataAttributes.name) && + Objects.equals(this.description, updateCommunicationsTypeDataAttributes.description) && + Objects.equals(this.color, updateCommunicationsTypeDataAttributes.color) && + Objects.equals(this.position, updateCommunicationsTypeDataAttributes.position); + } + + 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, description, color, position); + } + + 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 UpdateCommunicationsTypeDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" color: ").append(toIndentedString(color)).append("\n"); + sb.append(" position: ").append(toIndentedString(position)).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("color"); + openapiFields.add("position"); + + // 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 UpdateCommunicationsTypeDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateCommunicationsTypeDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateCommunicationsTypeDataAttributes is not found in the empty JSON string", UpdateCommunicationsTypeDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateCommunicationsTypeDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateCommunicationsTypeDataAttributes` 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())); + } + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateCommunicationsTypeDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateCommunicationsTypeDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateCommunicationsTypeDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateCommunicationsTypeDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateCommunicationsTypeDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateCommunicationsTypeDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateCommunicationsTypeDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateCommunicationsTypeDataAttributes + */ + public static UpdateCommunicationsTypeDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateCommunicationsTypeDataAttributes.class); + } + + /** + * Convert an instance of UpdateCommunicationsTypeDataAttributes 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/UpdateConfluencePageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java new file mode 100644 index 00000000..12b46be3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java @@ -0,0 +1,452 @@ +/* + * 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.CreateConfluencePageTaskParamsIntegration; +import com.rootly.client.model.UpdateConfluencePageTaskParamsTemplate; +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; + +/** + * UpdateConfluencePageTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateConfluencePageTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_CONFLUENCE_PAGE("update_confluence_page"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_INTEGRATION = "integration"; + @SerializedName(SERIALIZED_NAME_INTEGRATION) + @javax.annotation.Nullable + private CreateConfluencePageTaskParamsIntegration integration; + + public static final String SERIALIZED_NAME_FILE_ID = "file_id"; + @SerializedName(SERIALIZED_NAME_FILE_ID) + @javax.annotation.Nonnull + private String fileId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + + public static final String SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID = "post_mortem_template_id"; + @SerializedName(SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID) + @javax.annotation.Nullable + private String postMortemTemplateId; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + @javax.annotation.Nullable + private UpdateConfluencePageTaskParamsTemplate template; + + public UpdateConfluencePageTaskParams() { + } + + public UpdateConfluencePageTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateConfluencePageTaskParams integration(@javax.annotation.Nullable CreateConfluencePageTaskParamsIntegration integration) { + this.integration = integration; + return this; + } + + /** + * Get integration + * @return integration + */ + @javax.annotation.Nullable + public CreateConfluencePageTaskParamsIntegration getIntegration() { + return integration; + } + + public void setIntegration(@javax.annotation.Nullable CreateConfluencePageTaskParamsIntegration integration) { + this.integration = integration; + } + + + public UpdateConfluencePageTaskParams fileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + return this; + } + + /** + * The Confluence page ID + * @return fileId + */ + @javax.annotation.Nonnull + public String getFileId() { + return fileId; + } + + public void setFileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + } + + + public UpdateConfluencePageTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The Confluence page title + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateConfluencePageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The Confluence page content + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + + public UpdateConfluencePageTaskParams postMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + return this; + } + + /** + * Retrospective template to use when updating page, if desired + * @return postMortemTemplateId + */ + @javax.annotation.Nullable + public String getPostMortemTemplateId() { + return postMortemTemplateId; + } + + public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + } + + + public UpdateConfluencePageTaskParams template(@javax.annotation.Nullable UpdateConfluencePageTaskParamsTemplate template) { + this.template = template; + return this; + } + + /** + * Get template + * @return template + */ + @javax.annotation.Nullable + public UpdateConfluencePageTaskParamsTemplate getTemplate() { + return template; + } + + public void setTemplate(@javax.annotation.Nullable UpdateConfluencePageTaskParamsTemplate template) { + this.template = template; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateConfluencePageTaskParams updateConfluencePageTaskParams = (UpdateConfluencePageTaskParams) o; + return Objects.equals(this.taskType, updateConfluencePageTaskParams.taskType) && + Objects.equals(this.integration, updateConfluencePageTaskParams.integration) && + Objects.equals(this.fileId, updateConfluencePageTaskParams.fileId) && + Objects.equals(this.title, updateConfluencePageTaskParams.title) && + Objects.equals(this.content, updateConfluencePageTaskParams.content) && + Objects.equals(this.postMortemTemplateId, updateConfluencePageTaskParams.postMortemTemplateId) && + Objects.equals(this.template, updateConfluencePageTaskParams.template); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, integration, fileId, title, content, postMortemTemplateId, template); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateConfluencePageTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" integration: ").append(toIndentedString(integration)).append("\n"); + sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).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("integration"); + openapiFields.add("file_id"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("post_mortem_template_id"); + openapiFields.add("template"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("file_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 UpdateConfluencePageTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateConfluencePageTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateConfluencePageTaskParams is not found in the empty JSON string", UpdateConfluencePageTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateConfluencePageTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateConfluencePageTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateConfluencePageTaskParams.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 optional field `integration` + if (jsonObj.get("integration") != null && !jsonObj.get("integration").isJsonNull()) { + CreateConfluencePageTaskParamsIntegration.validateJsonElement(jsonObj.get("integration")); + } + if (!jsonObj.get("file_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `file_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("file_id").toString())); + } + 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("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").toString())); + } + // validate the optional field `template` + if (jsonObj.get("template") != null && !jsonObj.get("template").isJsonNull()) { + UpdateConfluencePageTaskParamsTemplate.validateJsonElement(jsonObj.get("template")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateConfluencePageTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateConfluencePageTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateConfluencePageTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateConfluencePageTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateConfluencePageTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateConfluencePageTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateConfluencePageTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateConfluencePageTaskParams + */ + public static UpdateConfluencePageTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateConfluencePageTaskParams.class); + } + + /** + * Convert an instance of UpdateConfluencePageTaskParams 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/UpdateConfluencePageTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.java new file mode 100644 index 00000000..a03ce98d --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplate.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; + +/** + * The Confluence template to use + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateConfluencePageTaskParamsTemplate { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public UpdateConfluencePageTaskParamsTemplate() { + } + + public UpdateConfluencePageTaskParamsTemplate id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateConfluencePageTaskParamsTemplate name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateConfluencePageTaskParamsTemplate updateConfluencePageTaskParamsTemplate = (UpdateConfluencePageTaskParamsTemplate) o; + return Objects.equals(this.id, updateConfluencePageTaskParamsTemplate.id) && + Objects.equals(this.name, updateConfluencePageTaskParamsTemplate.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateConfluencePageTaskParamsTemplate {\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(); + } + + /** + * 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 UpdateConfluencePageTaskParamsTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateConfluencePageTaskParamsTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateConfluencePageTaskParamsTemplate is not found in the empty JSON string", UpdateConfluencePageTaskParamsTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateConfluencePageTaskParamsTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateConfluencePageTaskParamsTemplate` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateConfluencePageTaskParamsTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateConfluencePageTaskParamsTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateConfluencePageTaskParamsTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateConfluencePageTaskParamsTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateConfluencePageTaskParamsTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateConfluencePageTaskParamsTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateConfluencePageTaskParamsTemplate + * @throws IOException if the JSON string is invalid with respect to UpdateConfluencePageTaskParamsTemplate + */ + public static UpdateConfluencePageTaskParamsTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateConfluencePageTaskParamsTemplate.class); + } + + /** + * Convert an instance of UpdateConfluencePageTaskParamsTemplate 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/UpdateCustomField.java b/src/main/java/com/rootly/client/model/UpdateCustomField.java index c2e1bea3..cb3ba0a5 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomField.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 76be24b0..260e4179 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java index 28f4a65e..aa7d9439 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,18 +51,13 @@ /** * UpdateCustomFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldDataAttributes { public static final String SERIALIZED_NAME_LABEL = "label"; @SerializedName(SERIALIZED_NAME_LABEL) @javax.annotation.Nullable private String label; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -236,25 +231,6 @@ public void setLabel(@javax.annotation.Nullable String label) { } - public UpdateCustomFieldDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The slug of the custom_field - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateCustomFieldDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -377,7 +353,6 @@ public boolean equals(Object o) { } UpdateCustomFieldDataAttributes updateCustomFieldDataAttributes = (UpdateCustomFieldDataAttributes) o; return Objects.equals(this.label, updateCustomFieldDataAttributes.label) && - Objects.equals(this.slug, updateCustomFieldDataAttributes.slug) && Objects.equals(this.description, updateCustomFieldDataAttributes.description) && Objects.equals(this.shown, updateCustomFieldDataAttributes.shown) && Objects.equals(this.required, updateCustomFieldDataAttributes.required) && @@ -391,7 +366,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(label, slug, description, shown, required, _default, position); + return Objects.hash(label, description, shown, required, _default, position); } private static int hashCodeNullable(JsonNullable a) { @@ -406,7 +381,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCustomFieldDataAttributes {\n"); sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" shown: ").append(toIndentedString(shown)).append("\n"); sb.append(" required: ").append(toIndentedString(required)).append("\n"); @@ -435,7 +409,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("label"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("shown"); openapiFields.add("required"); @@ -470,9 +443,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("label") != null && !jsonObj.get("label").isJsonNull()) && !jsonObj.get("label").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `label` to be a primitive type in the JSON string but got `%s`", jsonObj.get("label").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("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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java index 2da1dd3b..20abb29a 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 60b07bd9..b07ad69d 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java index da791c16..ce1594e1 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateCustomFieldOptionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eeda2668..d7417f34 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomForm.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomForm.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomForm */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b7db31e9..3e0574f9 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFormData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFormData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateCustomFormData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java index f4564a28..cffdfd91 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,18 +49,13 @@ /** * UpdateCustomFormDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -98,25 +93,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateCustomFormDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The custom form slug. Add this to form_field.shown or form_field.required to associate form fields with custom forms. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateCustomFormDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -185,7 +161,6 @@ public boolean equals(Object o) { } UpdateCustomFormDataAttributes updateCustomFormDataAttributes = (UpdateCustomFormDataAttributes) o; return Objects.equals(this.name, updateCustomFormDataAttributes.name) && - Objects.equals(this.slug, updateCustomFormDataAttributes.slug) && Objects.equals(this.description, updateCustomFormDataAttributes.description) && Objects.equals(this.enabled, updateCustomFormDataAttributes.enabled) && Objects.equals(this.command, updateCustomFormDataAttributes.command); @@ -197,7 +172,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, enabled, command); + return Objects.hash(name, description, enabled, command); } private static int hashCodeNullable(JsonNullable a) { @@ -212,7 +187,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateCustomFormDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" command: ").append(toIndentedString(command)).append("\n"); @@ -239,7 +213,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("enabled"); openapiFields.add("command"); @@ -272,9 +245,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateDashboard.java b/src/main/java/com/rootly/client/model/UpdateDashboard.java index b5dbee54..6939bc66 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboard.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboard.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateDashboard */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 94241e28..203f181b 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateDashboardData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java index 3a085bcb..6b533541 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateDashboardDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 45d8b410..0712fb70 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateDashboardPanel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0789333f..8f2a507a 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateDashboardPanelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardPanelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java index 59cfcd26..c469690e 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateDashboardPanelDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..7809d017 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParams.java @@ -0,0 +1,512 @@ +/* + * 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.UpdateDatadogNotebookTaskParamsTemplate; +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; + +/** + * UpdateDatadogNotebookTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateDatadogNotebookTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_DATADOG_NOTEBOOK("update_datadog_notebook"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_FILE_ID = "file_id"; + @SerializedName(SERIALIZED_NAME_FILE_ID) + @javax.annotation.Nonnull + private String fileId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + + /** + * The notebook type + */ + @JsonAdapter(KindEnum.Adapter.class) + public enum KindEnum { + POSTMORTEM("postmortem"), + + RUNBOOK("runbook"), + + INVESTIGATION("investigation"), + + DOCUMENTATION("documentation"), + + REPORT("report"); + + 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) + @javax.annotation.Nullable + private KindEnum kind; + + public static final String SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID = "post_mortem_template_id"; + @SerializedName(SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID) + @javax.annotation.Nullable + private String postMortemTemplateId; + + public static final String SERIALIZED_NAME_TEMPLATE = "template"; + @SerializedName(SERIALIZED_NAME_TEMPLATE) + @javax.annotation.Nullable + private UpdateDatadogNotebookTaskParamsTemplate template; + + public UpdateDatadogNotebookTaskParams() { + } + + public UpdateDatadogNotebookTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateDatadogNotebookTaskParams fileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + return this; + } + + /** + * The Datadog notebook ID + * @return fileId + */ + @javax.annotation.Nonnull + public String getFileId() { + return fileId; + } + + public void setFileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + } + + + public UpdateDatadogNotebookTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The Datadog notebook title + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateDatadogNotebookTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The Datadog notebook content + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + + public UpdateDatadogNotebookTaskParams kind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + return this; + } + + /** + * The notebook type + * @return kind + */ + @javax.annotation.Nullable + public KindEnum getKind() { + return kind; + } + + public void setKind(@javax.annotation.Nullable KindEnum kind) { + this.kind = kind; + } + + + public UpdateDatadogNotebookTaskParams postMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + return this; + } + + /** + * Retrospective template to use when updating notebook, if desired + * @return postMortemTemplateId + */ + @javax.annotation.Nullable + public String getPostMortemTemplateId() { + return postMortemTemplateId; + } + + public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + } + + + public UpdateDatadogNotebookTaskParams template(@javax.annotation.Nullable UpdateDatadogNotebookTaskParamsTemplate template) { + this.template = template; + return this; + } + + /** + * Get template + * @return template + */ + @javax.annotation.Nullable + public UpdateDatadogNotebookTaskParamsTemplate getTemplate() { + return template; + } + + public void setTemplate(@javax.annotation.Nullable UpdateDatadogNotebookTaskParamsTemplate template) { + this.template = template; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateDatadogNotebookTaskParams updateDatadogNotebookTaskParams = (UpdateDatadogNotebookTaskParams) o; + return Objects.equals(this.taskType, updateDatadogNotebookTaskParams.taskType) && + Objects.equals(this.fileId, updateDatadogNotebookTaskParams.fileId) && + Objects.equals(this.title, updateDatadogNotebookTaskParams.title) && + Objects.equals(this.content, updateDatadogNotebookTaskParams.content) && + Objects.equals(this.kind, updateDatadogNotebookTaskParams.kind) && + Objects.equals(this.postMortemTemplateId, updateDatadogNotebookTaskParams.postMortemTemplateId) && + Objects.equals(this.template, updateDatadogNotebookTaskParams.template); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, fileId, title, content, kind, postMortemTemplateId, template); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateDatadogNotebookTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); + sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).append("\n"); + sb.append(" template: ").append(toIndentedString(template)).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("file_id"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("kind"); + openapiFields.add("post_mortem_template_id"); + openapiFields.add("template"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("file_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 UpdateDatadogNotebookTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateDatadogNotebookTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateDatadogNotebookTaskParams is not found in the empty JSON string", UpdateDatadogNotebookTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateDatadogNotebookTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateDatadogNotebookTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateDatadogNotebookTaskParams.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")); + } + if (!jsonObj.get("file_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `file_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("file_id").toString())); + } + 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("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("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").toString())); + } + // validate the optional field `template` + if (jsonObj.get("template") != null && !jsonObj.get("template").isJsonNull()) { + UpdateDatadogNotebookTaskParamsTemplate.validateJsonElement(jsonObj.get("template")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateDatadogNotebookTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateDatadogNotebookTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateDatadogNotebookTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateDatadogNotebookTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateDatadogNotebookTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateDatadogNotebookTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateDatadogNotebookTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateDatadogNotebookTaskParams + */ + public static UpdateDatadogNotebookTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateDatadogNotebookTaskParams.class); + } + + /** + * Convert an instance of UpdateDatadogNotebookTaskParams 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/UpdateDatadogNotebookTaskParamsTemplate.java b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.java new file mode 100644 index 00000000..236777d9 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplate.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; + +/** + * The Datadog notebook template to use + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateDatadogNotebookTaskParamsTemplate { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public UpdateDatadogNotebookTaskParamsTemplate() { + } + + public UpdateDatadogNotebookTaskParamsTemplate id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateDatadogNotebookTaskParamsTemplate name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateDatadogNotebookTaskParamsTemplate updateDatadogNotebookTaskParamsTemplate = (UpdateDatadogNotebookTaskParamsTemplate) o; + return Objects.equals(this.id, updateDatadogNotebookTaskParamsTemplate.id) && + Objects.equals(this.name, updateDatadogNotebookTaskParamsTemplate.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateDatadogNotebookTaskParamsTemplate {\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(); + } + + /** + * 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 UpdateDatadogNotebookTaskParamsTemplate + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateDatadogNotebookTaskParamsTemplate.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateDatadogNotebookTaskParamsTemplate is not found in the empty JSON string", UpdateDatadogNotebookTaskParamsTemplate.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateDatadogNotebookTaskParamsTemplate.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateDatadogNotebookTaskParamsTemplate` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateDatadogNotebookTaskParamsTemplate.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateDatadogNotebookTaskParamsTemplate' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateDatadogNotebookTaskParamsTemplate.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateDatadogNotebookTaskParamsTemplate value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateDatadogNotebookTaskParamsTemplate read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateDatadogNotebookTaskParamsTemplate given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateDatadogNotebookTaskParamsTemplate + * @throws IOException if the JSON string is invalid with respect to UpdateDatadogNotebookTaskParamsTemplate + */ + public static UpdateDatadogNotebookTaskParamsTemplate fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateDatadogNotebookTaskParamsTemplate.class); + } + + /** + * Convert an instance of UpdateDatadogNotebookTaskParamsTemplate 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/UpdateDropboxPaperPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.java new file mode 100644 index 00000000..c99baa23 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParams.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.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; + +/** + * UpdateDropboxPaperPageTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateDropboxPaperPageTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_DROPBOX_PAPER_PAGE("update_dropbox_paper_page"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_FILE_ID = "file_id"; + @SerializedName(SERIALIZED_NAME_FILE_ID) + @javax.annotation.Nonnull + private String fileId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + + public static final String SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID = "post_mortem_template_id"; + @SerializedName(SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID) + @javax.annotation.Nullable + private String postMortemTemplateId; + + public UpdateDropboxPaperPageTaskParams() { + } + + public UpdateDropboxPaperPageTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateDropboxPaperPageTaskParams fileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + return this; + } + + /** + * The Dropbox Paper document ID + * @return fileId + */ + @javax.annotation.Nonnull + public String getFileId() { + return fileId; + } + + public void setFileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + } + + + public UpdateDropboxPaperPageTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The Dropbox Paper document title + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateDropboxPaperPageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The Dropbox Paper document content + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + + public UpdateDropboxPaperPageTaskParams postMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + return this; + } + + /** + * Retrospective template to use when updating document, if desired + * @return postMortemTemplateId + */ + @javax.annotation.Nullable + public String getPostMortemTemplateId() { + return postMortemTemplateId; + } + + public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateDropboxPaperPageTaskParams updateDropboxPaperPageTaskParams = (UpdateDropboxPaperPageTaskParams) o; + return Objects.equals(this.taskType, updateDropboxPaperPageTaskParams.taskType) && + Objects.equals(this.fileId, updateDropboxPaperPageTaskParams.fileId) && + Objects.equals(this.title, updateDropboxPaperPageTaskParams.title) && + Objects.equals(this.content, updateDropboxPaperPageTaskParams.content) && + Objects.equals(this.postMortemTemplateId, updateDropboxPaperPageTaskParams.postMortemTemplateId); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, fileId, title, content, postMortemTemplateId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateDropboxPaperPageTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).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("file_id"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("post_mortem_template_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("file_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 UpdateDropboxPaperPageTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateDropboxPaperPageTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateDropboxPaperPageTaskParams is not found in the empty JSON string", UpdateDropboxPaperPageTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateDropboxPaperPageTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateDropboxPaperPageTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateDropboxPaperPageTaskParams.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")); + } + if (!jsonObj.get("file_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `file_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("file_id").toString())); + } + 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("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateDropboxPaperPageTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateDropboxPaperPageTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateDropboxPaperPageTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateDropboxPaperPageTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateDropboxPaperPageTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateDropboxPaperPageTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateDropboxPaperPageTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateDropboxPaperPageTaskParams + */ + public static UpdateDropboxPaperPageTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateDropboxPaperPageTaskParams.class); + } + + /** + * Convert an instance of UpdateDropboxPaperPageTaskParams 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/UpdateEdgeConnector.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnector.java new file mode 100644 index 00000000..f47e815b --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnector.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.UpdateEdgeConnectorRequestDataAttributes; +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; + +/** + * UpdateEdgeConnector + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nonnull + private UpdateEdgeConnectorRequestDataAttributes edgeConnector; + + public UpdateEdgeConnector() { + } + + public UpdateEdgeConnector edgeConnector(@javax.annotation.Nonnull UpdateEdgeConnectorRequestDataAttributes edgeConnector) { + this.edgeConnector = edgeConnector; + return this; + } + + /** + * Get edgeConnector + * @return edgeConnector + */ + @javax.annotation.Nonnull + public UpdateEdgeConnectorRequestDataAttributes getEdgeConnector() { + return edgeConnector; + } + + public void setEdgeConnector(@javax.annotation.Nonnull UpdateEdgeConnectorRequestDataAttributes edgeConnector) { + this.edgeConnector = edgeConnector; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnector updateEdgeConnector = (UpdateEdgeConnector) o; + return Objects.equals(this.edgeConnector, updateEdgeConnector.edgeConnector); + } + + @Override + public int hashCode() { + return Objects.hash(edgeConnector); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnector {\n"); + sb.append(" edgeConnector: ").append(toIndentedString(edgeConnector)).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("edge_connector"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("edge_connector"); + } + + /** + * 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 UpdateEdgeConnector + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnector.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnector is not found in the empty JSON string", UpdateEdgeConnector.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnector.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnector` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateEdgeConnector.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 `edge_connector` + UpdateEdgeConnectorRequestDataAttributes.validateJsonElement(jsonObj.get("edge_connector")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnector.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnector' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnector.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnector value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnector read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnector given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnector + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnector + */ + public static UpdateEdgeConnector fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnector.class); + } + + /** + * Convert an instance of UpdateEdgeConnector 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/UpdateEdgeConnectorAction.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.java new file mode 100644 index 00000000..6df6fe33 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorAction.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.UpdateEdgeConnectorActionRequestAction; +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; + +/** + * UpdateEdgeConnectorAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorAction { + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + @javax.annotation.Nonnull + private UpdateEdgeConnectorActionRequestAction action; + + public UpdateEdgeConnectorAction() { + } + + public UpdateEdgeConnectorAction action(@javax.annotation.Nonnull UpdateEdgeConnectorActionRequestAction action) { + this.action = action; + return this; + } + + /** + * Get action + * @return action + */ + @javax.annotation.Nonnull + public UpdateEdgeConnectorActionRequestAction getAction() { + return action; + } + + public void setAction(@javax.annotation.Nonnull UpdateEdgeConnectorActionRequestAction action) { + this.action = action; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorAction updateEdgeConnectorAction = (UpdateEdgeConnectorAction) o; + return Objects.equals(this.action, updateEdgeConnectorAction.action); + } + + @Override + public int hashCode() { + return Objects.hash(action); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorAction {\n"); + sb.append(" action: ").append(toIndentedString(action)).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("action"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("action"); + } + + /** + * 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 UpdateEdgeConnectorAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorAction is not found in the empty JSON string", UpdateEdgeConnectorAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorAction` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateEdgeConnectorAction.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 `action` + UpdateEdgeConnectorActionRequestAction.validateJsonElement(jsonObj.get("action")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorAction + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorAction + */ + public static UpdateEdgeConnectorAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorAction.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorAction 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/UpdateEdgeConnectorActionRequest.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.java new file mode 100644 index 00000000..c604af3b --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequest.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.UpdateEdgeConnectorActionRequestAction; +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; + +/** + * UpdateEdgeConnectorActionRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorActionRequest { + public static final String SERIALIZED_NAME_ACTION = "action"; + @SerializedName(SERIALIZED_NAME_ACTION) + @javax.annotation.Nullable + private UpdateEdgeConnectorActionRequestAction action; + + public UpdateEdgeConnectorActionRequest() { + } + + public UpdateEdgeConnectorActionRequest action(@javax.annotation.Nullable UpdateEdgeConnectorActionRequestAction action) { + this.action = action; + return this; + } + + /** + * Get action + * @return action + */ + @javax.annotation.Nullable + public UpdateEdgeConnectorActionRequestAction getAction() { + return action; + } + + public void setAction(@javax.annotation.Nullable UpdateEdgeConnectorActionRequestAction action) { + this.action = action; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest = (UpdateEdgeConnectorActionRequest) o; + return Objects.equals(this.action, updateEdgeConnectorActionRequest.action); + } + + @Override + public int hashCode() { + return Objects.hash(action); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorActionRequest {\n"); + sb.append(" action: ").append(toIndentedString(action)).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("action"); + + // 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 UpdateEdgeConnectorActionRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorActionRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorActionRequest is not found in the empty JSON string", UpdateEdgeConnectorActionRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorActionRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorActionRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the optional field `action` + if (jsonObj.get("action") != null && !jsonObj.get("action").isJsonNull()) { + UpdateEdgeConnectorActionRequestAction.validateJsonElement(jsonObj.get("action")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorActionRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorActionRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorActionRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorActionRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorActionRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorActionRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorActionRequest + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorActionRequest + */ + public static UpdateEdgeConnectorActionRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorActionRequest.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorActionRequest 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/UpdateEdgeConnectorActionRequestAction.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java new file mode 100644 index 00000000..6f5496d4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestAction.java @@ -0,0 +1,319 @@ +/* + * 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; + +/** + * UpdateEdgeConnectorActionRequestAction + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorActionRequestAction { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + /** + * Gets or Sets actionType + */ + @JsonAdapter(ActionTypeEnum.Adapter.class) + public enum ActionTypeEnum { + SCRIPT("script"), + + HTTP("http"); + + private String value; + + ActionTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ActionTypeEnum fromValue(String value) { + for (ActionTypeEnum b : ActionTypeEnum.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 ActionTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ActionTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ActionTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ActionTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ACTION_TYPE = "action_type"; + @SerializedName(SERIALIZED_NAME_ACTION_TYPE) + @javax.annotation.Nullable + private ActionTypeEnum actionType; + + public static final String SERIALIZED_NAME_METADATA = "metadata"; + @SerializedName(SERIALIZED_NAME_METADATA) + @javax.annotation.Nullable + private Object metadata; + + public UpdateEdgeConnectorActionRequestAction() { + } + + public UpdateEdgeConnectorActionRequestAction name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateEdgeConnectorActionRequestAction actionType(@javax.annotation.Nullable ActionTypeEnum actionType) { + this.actionType = actionType; + return this; + } + + /** + * Get actionType + * @return actionType + */ + @javax.annotation.Nullable + public ActionTypeEnum getActionType() { + return actionType; + } + + public void setActionType(@javax.annotation.Nullable ActionTypeEnum actionType) { + this.actionType = actionType; + } + + + public UpdateEdgeConnectorActionRequestAction metadata(@javax.annotation.Nullable Object metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get metadata + * @return metadata + */ + @javax.annotation.Nullable + public Object getMetadata() { + return metadata; + } + + public void setMetadata(@javax.annotation.Nullable Object metadata) { + this.metadata = metadata; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorActionRequestAction updateEdgeConnectorActionRequestAction = (UpdateEdgeConnectorActionRequestAction) o; + return Objects.equals(this.name, updateEdgeConnectorActionRequestAction.name) && + Objects.equals(this.actionType, updateEdgeConnectorActionRequestAction.actionType) && + Objects.equals(this.metadata, updateEdgeConnectorActionRequestAction.metadata); + } + + @Override + public int hashCode() { + return Objects.hash(name, actionType, metadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorActionRequestAction {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" metadata: ").append(toIndentedString(metadata)).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("action_type"); + openapiFields.add("metadata"); + + // 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 UpdateEdgeConnectorActionRequestAction + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorActionRequestAction.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorActionRequestAction is not found in the empty JSON string", UpdateEdgeConnectorActionRequestAction.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorActionRequestAction.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorActionRequestAction` 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("action_type") != null && !jsonObj.get("action_type").isJsonNull()) && !jsonObj.get("action_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `action_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("action_type").toString())); + } + // validate the optional field `action_type` + if (jsonObj.get("action_type") != null && !jsonObj.get("action_type").isJsonNull()) { + ActionTypeEnum.validateJsonElement(jsonObj.get("action_type")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorActionRequestAction.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorActionRequestAction' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorActionRequestAction.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorActionRequestAction value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorActionRequestAction read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorActionRequestAction given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorActionRequestAction + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorActionRequestAction + */ + public static UpdateEdgeConnectorActionRequestAction fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorActionRequestAction.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorActionRequestAction 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/UpdateEdgeConnectorRequest.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java new file mode 100644 index 00000000..d537dcc3 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.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.UpdateEdgeConnectorRequestData; +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; + +/** + * UpdateEdgeConnectorRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorRequest { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nullable + private UpdateEdgeConnectorRequestData data; + + public UpdateEdgeConnectorRequest() { + } + + public UpdateEdgeConnectorRequest data(@javax.annotation.Nullable UpdateEdgeConnectorRequestData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nullable + public UpdateEdgeConnectorRequestData getData() { + return data; + } + + public void setData(@javax.annotation.Nullable UpdateEdgeConnectorRequestData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorRequest updateEdgeConnectorRequest = (UpdateEdgeConnectorRequest) o; + return Objects.equals(this.data, updateEdgeConnectorRequest.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorRequest {\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 UpdateEdgeConnectorRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorRequest is not found in the empty JSON string", UpdateEdgeConnectorRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorRequest` 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()) { + UpdateEdgeConnectorRequestData.validateJsonElement(jsonObj.get("data")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorRequest + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorRequest + */ + public static UpdateEdgeConnectorRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorRequest.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorRequest 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/UpdateEdgeConnectorRequestData.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java new file mode 100644 index 00000000..c97b5c19 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestData.java @@ -0,0 +1,322 @@ +/* + * 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.UpdateEdgeConnectorRequestDataAttributes; +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; + +/** + * UpdateEdgeConnectorRequestData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorRequestData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + EDGE_CONNECTORS("edge_connectors"); + + 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) + @javax.annotation.Nullable + private TypeEnum type; + + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nullable + private UpdateEdgeConnectorRequestDataAttributes attributes; + + public UpdateEdgeConnectorRequestData() { + } + + public UpdateEdgeConnectorRequestData type(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nullable + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nullable TypeEnum type) { + this.type = type; + } + + + public UpdateEdgeConnectorRequestData id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateEdgeConnectorRequestData attributes(@javax.annotation.Nullable UpdateEdgeConnectorRequestDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nullable + public UpdateEdgeConnectorRequestDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nullable UpdateEdgeConnectorRequestDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorRequestData updateEdgeConnectorRequestData = (UpdateEdgeConnectorRequestData) o; + return Objects.equals(this.type, updateEdgeConnectorRequestData.type) && + Objects.equals(this.id, updateEdgeConnectorRequestData.id) && + Objects.equals(this.attributes, updateEdgeConnectorRequestData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, id, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorRequestData {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).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("id"); + 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 UpdateEdgeConnectorRequestData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorRequestData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorRequestData is not found in the empty JSON string", UpdateEdgeConnectorRequestData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorRequestData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorRequestData` 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")); + } + 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())); + } + // validate the optional field `attributes` + if (jsonObj.get("attributes") != null && !jsonObj.get("attributes").isJsonNull()) { + UpdateEdgeConnectorRequestDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorRequestData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorRequestData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorRequestData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorRequestData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorRequestData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorRequestData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorRequestData + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorRequestData + */ + public static UpdateEdgeConnectorRequestData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorRequestData.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorRequestData 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/UpdateEdgeConnectorRequestDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java new file mode 100644 index 00000000..0cefcc21 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java @@ -0,0 +1,363 @@ +/* + * 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; + +/** + * UpdateEdgeConnectorRequestDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEdgeConnectorRequestDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + /** + * Gets or Sets status + */ + @JsonAdapter(StatusEnum.Adapter.class) + public enum StatusEnum { + ACTIVE("active"), + + PAUSED("paused"); + + 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) + @javax.annotation.Nullable + private StatusEnum status; + + public static final String SERIALIZED_NAME_SUBSCRIPTIONS = "subscriptions"; + @SerializedName(SERIALIZED_NAME_SUBSCRIPTIONS) + @javax.annotation.Nullable + private List subscriptions = new ArrayList<>(); + + public UpdateEdgeConnectorRequestDataAttributes() { + } + + public UpdateEdgeConnectorRequestDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateEdgeConnectorRequestDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * Get description + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateEdgeConnectorRequestDataAttributes status(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @javax.annotation.Nullable + public StatusEnum getStatus() { + return status; + } + + public void setStatus(@javax.annotation.Nullable StatusEnum status) { + this.status = status; + } + + + public UpdateEdgeConnectorRequestDataAttributes subscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + return this; + } + + public UpdateEdgeConnectorRequestDataAttributes addSubscriptionsItem(String subscriptionsItem) { + if (this.subscriptions == null) { + this.subscriptions = new ArrayList<>(); + } + this.subscriptions.add(subscriptionsItem); + return this; + } + + /** + * Get subscriptions + * @return subscriptions + */ + @javax.annotation.Nullable + public List getSubscriptions() { + return subscriptions; + } + + public void setSubscriptions(@javax.annotation.Nullable List subscriptions) { + this.subscriptions = subscriptions; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateEdgeConnectorRequestDataAttributes updateEdgeConnectorRequestDataAttributes = (UpdateEdgeConnectorRequestDataAttributes) o; + return Objects.equals(this.name, updateEdgeConnectorRequestDataAttributes.name) && + Objects.equals(this.description, updateEdgeConnectorRequestDataAttributes.description) && + Objects.equals(this.status, updateEdgeConnectorRequestDataAttributes.status) && + Objects.equals(this.subscriptions, updateEdgeConnectorRequestDataAttributes.subscriptions); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, status, subscriptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEdgeConnectorRequestDataAttributes {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + 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("}"); + 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("status"); + openapiFields.add("subscriptions"); + + // 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 UpdateEdgeConnectorRequestDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEdgeConnectorRequestDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEdgeConnectorRequestDataAttributes is not found in the empty JSON string", UpdateEdgeConnectorRequestDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEdgeConnectorRequestDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEdgeConnectorRequestDataAttributes` 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())); + } + 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")); + } + // ensure the optional json data is an array if present + 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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateEdgeConnectorRequestDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEdgeConnectorRequestDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEdgeConnectorRequestDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEdgeConnectorRequestDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEdgeConnectorRequestDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEdgeConnectorRequestDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEdgeConnectorRequestDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateEdgeConnectorRequestDataAttributes + */ + public static UpdateEdgeConnectorRequestDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEdgeConnectorRequestDataAttributes.class); + } + + /** + * Convert an instance of UpdateEdgeConnectorRequestDataAttributes 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/UpdateEnvironment.java b/src/main/java/com/rootly/client/model/UpdateEnvironment.java index 73e644c9..c0671c1a 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironment.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironment.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEnvironment */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0441c076..5a77ce7f 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEnvironmentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java index d1d038ad..dd31b866 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * UpdateEnvironmentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -90,6 +91,11 @@ public class UpdateEnvironmentDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateEnvironmentDataAttributes() { } @@ -250,6 +256,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateEnvironmentDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this environment. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -266,7 +299,8 @@ public boolean equals(Object o) { Objects.equals(this.position, updateEnvironmentDataAttributes.position) && Objects.equals(this.notifyEmails, updateEnvironmentDataAttributes.notifyEmails) && Objects.equals(this.slackChannels, updateEnvironmentDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, updateEnvironmentDataAttributes.slackAliases); + Objects.equals(this.slackAliases, updateEnvironmentDataAttributes.slackAliases) && + Objects.equals(this.properties, updateEnvironmentDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -275,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases); + return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -296,6 +330,7 @@ public String toString() { sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -325,6 +360,7 @@ private String toIndentedString(Object o) { openapiFields.add("notify_emails"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -392,6 +428,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java index 7cb7919f..fef20f72 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicy */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ebcf2444..cd4f0a62 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java index 2870684e..a6165b02 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateEscalationPolicyDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 de3627c1..b560a12f 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevel.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6825b0b5..a5455cc7 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java index c0169863..6c522fcf 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateEscalationPolicyLevelDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) @@ -128,7 +128,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY = "paging_strategy_configuration_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy; + private PagingStrategyConfigurationStrategyEnum pagingStrategyConfigurationStrategy = PagingStrategyConfigurationStrategyEnum.DEFAULT; /** * Gets or Sets pagingStrategyConfigurationScheduleStrategy @@ -185,7 +185,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY = "paging_strategy_configuration_schedule_strategy"; @SerializedName(SERIALIZED_NAME_PAGING_STRATEGY_CONFIGURATION_SCHEDULE_STRATEGY) @javax.annotation.Nullable - private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy; + private PagingStrategyConfigurationScheduleStrategyEnum pagingStrategyConfigurationScheduleStrategy = PagingStrategyConfigurationScheduleStrategyEnum.ON_CALL_ONLY; public static final String SERIALIZED_NAME_NOTIFICATION_TARGET_PARAMS = "notification_target_params"; @SerializedName(SERIALIZED_NAME_NOTIFICATION_TARGET_PARAMS) @@ -201,7 +201,7 @@ public UpdateEscalationPolicyLevelDataAttributes delay(@javax.annotation.Nullabl } /** - * Delay before notification targets will be alerted. + * Delay before notifying targets in the next Escalation Level. * @return delay */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java index 7977a489..b200ba99 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b965d990..393e09d9 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPath.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyPath */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e3ff44d6..55d84687 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyPathData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java index 8b94b5a8..0f8e7133 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -52,7 +53,7 @@ /** * UpdateEscalationPolicyPathDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -116,6 +117,125 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private NotificationTypeEnum notificationType = NotificationTypeEnum.AUDIBLE; + /** + * The type of escalation path. Cannot be changed after creation. + */ + @JsonAdapter(PathTypeEnum.Adapter.class) + public enum PathTypeEnum { + ESCALATION("escalation"), + + DEFERRAL("deferral"); + + private String value; + + PathTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PathTypeEnum fromValue(String value) { + for (PathTypeEnum b : PathTypeEnum.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 PathTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PathTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PathTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PathTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PATH_TYPE = "path_type"; + @SerializedName(SERIALIZED_NAME_PATH_TYPE) + @javax.annotation.Nullable + private PathTypeEnum pathType; + + /** + * What happens after a deferral path finishes. + */ + @JsonAdapter(AfterDeferralBehaviorEnum.Adapter.class) + public enum AfterDeferralBehaviorEnum { + RE_EVALUATE("re_evaluate"), + + EXECUTE_PATH("execute_path"); + + private String value; + + AfterDeferralBehaviorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AfterDeferralBehaviorEnum fromValue(String value) { + for (AfterDeferralBehaviorEnum b : AfterDeferralBehaviorEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AfterDeferralBehaviorEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AfterDeferralBehaviorEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AfterDeferralBehaviorEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR = "after_deferral_behavior"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_BEHAVIOR) + @javax.annotation.Nullable + private AfterDeferralBehaviorEnum afterDeferralBehavior; + + public static final String SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID = "after_deferral_path_id"; + @SerializedName(SERIALIZED_NAME_AFTER_DEFERRAL_PATH_ID) + @javax.annotation.Nullable + private String afterDeferralPathId; + public static final String SERIALIZED_NAME_DEFAULT = "default"; @SerializedName(SERIALIZED_NAME_DEFAULT) @javax.annotation.Nullable @@ -203,6 +323,672 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List rules = new ArrayList<>(); + /** + * Time zone used for time restrictions. + */ + @JsonAdapter(TimeRestrictionTimeZoneEnum.Adapter.class) + public enum TimeRestrictionTimeZoneEnum { + 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"), + + AMERICA_MEXICO_CITY2("America/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"), + + AMERICA_LIMA2("America/Lima"), + + 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"), + + EDINBURGH("Edinburgh"), + + EUROPE_LONDON("Europe/London"), + + LISBON("Lisbon"), + + EUROPE_LISBON("Europe/Lisbon"), + + LONDON("London"), + + EUROPE_LONDON2("Europe/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"), + + CASABLANCA("Casablanca"), + + AFRICA_CASABLANCA("Africa/Casablanca"), + + 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"), + + EUROPE_ZURICH2("Europe/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_KIEV("Europe/Kiev"), + + 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"), + + EUROPE_MOSCOW2("Europe/Moscow"), + + 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"), + + ASIA_MUSCAT2("Asia/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"), + + ASIA_ALMATY2("Asia/Almaty"), + + EKATERINBURG("Ekaterinburg"), + + ASIA_YEKATERINBURG("Asia/Yekaterinburg"), + + ISLAMABAD("Islamabad"), + + ASIA_KARACHI("Asia/Karachi"), + + KARACHI("Karachi"), + + ASIA_KARACHI2("Asia/Karachi"), + + TASHKENT("Tashkent"), + + ASIA_TASHKENT("Asia/Tashkent"), + + CHENNAI("Chennai"), + + ASIA_KOLKATA("Asia/Kolkata"), + + KOLKATA("Kolkata"), + + ASIA_KOLKATA2("Asia/Kolkata"), + + MUMBAI("Mumbai"), + + ASIA_KOLKATA3("Asia/Kolkata"), + + NEW_DELHI("New Delhi"), + + ASIA_KOLKATA4("Asia/Kolkata"), + + 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_RANGOON("Asia/Rangoon"), + + BANGKOK("Bangkok"), + + ASIA_BANGKOK("Asia/Bangkok"), + + HANOI("Hanoi"), + + ASIA_BANGKOK2("Asia/Bangkok"), + + 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"), + + ASIA_TOKYO2("Asia/Tokyo"), + + SEOUL("Seoul"), + + ASIA_SEOUL("Asia/Seoul"), + + TOKYO("Tokyo"), + + ASIA_TOKYO3("Asia/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"), + + PACIFIC_AUCKLAND2("Pacific/Auckland"), + + 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"); + + private String value; + + TimeRestrictionTimeZoneEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static TimeRestrictionTimeZoneEnum fromValue(String value) { + for (TimeRestrictionTimeZoneEnum b : TimeRestrictionTimeZoneEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final TimeRestrictionTimeZoneEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public TimeRestrictionTimeZoneEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + TimeRestrictionTimeZoneEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE = "time_restriction_time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTION_TIME_ZONE) + @javax.annotation.Nullable + private TimeRestrictionTimeZoneEnum timeRestrictionTimeZone; + + public static final String SERIALIZED_NAME_TIME_RESTRICTIONS = "time_restrictions"; + @SerializedName(SERIALIZED_NAME_TIME_RESTRICTIONS) + @javax.annotation.Nullable + private List timeRestrictions = new ArrayList<>(); + public UpdateEscalationPolicyPathDataAttributes() { } @@ -244,6 +1030,63 @@ public void setNotificationType(@javax.annotation.Nullable NotificationTypeEnum } + public UpdateEscalationPolicyPathDataAttributes pathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + return this; + } + + /** + * The type of escalation path. Cannot be changed after creation. + * @return pathType + */ + @javax.annotation.Nullable + public PathTypeEnum getPathType() { + return pathType; + } + + public void setPathType(@javax.annotation.Nullable PathTypeEnum pathType) { + this.pathType = pathType; + } + + + public UpdateEscalationPolicyPathDataAttributes afterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + return this; + } + + /** + * What happens after a deferral path finishes. + * @return afterDeferralBehavior + */ + @javax.annotation.Nullable + public AfterDeferralBehaviorEnum getAfterDeferralBehavior() { + return afterDeferralBehavior; + } + + public void setAfterDeferralBehavior(@javax.annotation.Nullable AfterDeferralBehaviorEnum afterDeferralBehavior) { + this.afterDeferralBehavior = afterDeferralBehavior; + } + + + public UpdateEscalationPolicyPathDataAttributes afterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + return this; + } + + /** + * The escalation path to execute after this deferral path when after_deferral_behavior is execute_path. + * @return afterDeferralPathId + */ + @javax.annotation.Nullable + public String getAfterDeferralPathId() { + return afterDeferralPathId; + } + + public void setAfterDeferralPathId(@javax.annotation.Nullable String afterDeferralPathId) { + this.afterDeferralPathId = afterDeferralPathId; + } + + public UpdateEscalationPolicyPathDataAttributes _default(@javax.annotation.Nullable Boolean _default) { this._default = _default; return this; @@ -385,6 +1228,52 @@ public void setRules(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + return this; + } + + public UpdateEscalationPolicyPathDataAttributes addTimeRestrictionsItem(UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner timeRestrictionsItem) { + if (this.timeRestrictions == null) { + this.timeRestrictions = new ArrayList<>(); + } + this.timeRestrictions.add(timeRestrictionsItem); + return this; + } + + /** + * If time restrictions are set, alerts will follow this path when they arrive within the specified time ranges and meet the rules. + * @return timeRestrictions + */ + @javax.annotation.Nullable + public List getTimeRestrictions() { + return timeRestrictions; + } + + public void setTimeRestrictions(@javax.annotation.Nullable List timeRestrictions) { + this.timeRestrictions = timeRestrictions; + } + + @Override public boolean equals(Object o) { @@ -397,13 +1286,18 @@ public boolean equals(Object o) { UpdateEscalationPolicyPathDataAttributes updateEscalationPolicyPathDataAttributes = (UpdateEscalationPolicyPathDataAttributes) o; return Objects.equals(this.name, updateEscalationPolicyPathDataAttributes.name) && Objects.equals(this.notificationType, updateEscalationPolicyPathDataAttributes.notificationType) && + Objects.equals(this.pathType, updateEscalationPolicyPathDataAttributes.pathType) && + Objects.equals(this.afterDeferralBehavior, updateEscalationPolicyPathDataAttributes.afterDeferralBehavior) && + Objects.equals(this.afterDeferralPathId, updateEscalationPolicyPathDataAttributes.afterDeferralPathId) && Objects.equals(this._default, updateEscalationPolicyPathDataAttributes._default) && Objects.equals(this.matchMode, updateEscalationPolicyPathDataAttributes.matchMode) && Objects.equals(this.position, updateEscalationPolicyPathDataAttributes.position) && Objects.equals(this.repeat, updateEscalationPolicyPathDataAttributes.repeat) && Objects.equals(this.repeatCount, updateEscalationPolicyPathDataAttributes.repeatCount) && Objects.equals(this.initialDelay, updateEscalationPolicyPathDataAttributes.initialDelay) && - Objects.equals(this.rules, updateEscalationPolicyPathDataAttributes.rules); + Objects.equals(this.rules, updateEscalationPolicyPathDataAttributes.rules) && + Objects.equals(this.timeRestrictionTimeZone, updateEscalationPolicyPathDataAttributes.timeRestrictionTimeZone) && + Objects.equals(this.timeRestrictions, updateEscalationPolicyPathDataAttributes.timeRestrictions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -412,7 +1306,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, notificationType, _default, matchMode, position, repeat, repeatCount, initialDelay, rules); + return Objects.hash(name, notificationType, pathType, afterDeferralBehavior, afterDeferralPathId, _default, matchMode, position, repeat, repeatCount, initialDelay, rules, timeRestrictionTimeZone, timeRestrictions); } private static int hashCodeNullable(JsonNullable a) { @@ -428,6 +1322,9 @@ public String toString() { sb.append("class UpdateEscalationPolicyPathDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); + sb.append(" pathType: ").append(toIndentedString(pathType)).append("\n"); + sb.append(" afterDeferralBehavior: ").append(toIndentedString(afterDeferralBehavior)).append("\n"); + sb.append(" afterDeferralPathId: ").append(toIndentedString(afterDeferralPathId)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append(" matchMode: ").append(toIndentedString(matchMode)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); @@ -435,6 +1332,8 @@ public String toString() { sb.append(" repeatCount: ").append(toIndentedString(repeatCount)).append("\n"); sb.append(" initialDelay: ").append(toIndentedString(initialDelay)).append("\n"); sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append(" timeRestrictionTimeZone: ").append(toIndentedString(timeRestrictionTimeZone)).append("\n"); + sb.append(" timeRestrictions: ").append(toIndentedString(timeRestrictions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -459,6 +1358,9 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("name"); openapiFields.add("notification_type"); + openapiFields.add("path_type"); + openapiFields.add("after_deferral_behavior"); + openapiFields.add("after_deferral_path_id"); openapiFields.add("default"); openapiFields.add("match_mode"); openapiFields.add("position"); @@ -466,6 +1368,8 @@ private String toIndentedString(Object o) { openapiFields.add("repeat_count"); openapiFields.add("initial_delay"); openapiFields.add("rules"); + openapiFields.add("time_restriction_time_zone"); + openapiFields.add("time_restrictions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -502,6 +1406,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("notification_type") != null && !jsonObj.get("notification_type").isJsonNull()) { NotificationTypeEnum.validateJsonElement(jsonObj.get("notification_type")); } + if ((jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) && !jsonObj.get("path_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `path_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("path_type").toString())); + } + // validate the optional field `path_type` + if (jsonObj.get("path_type") != null && !jsonObj.get("path_type").isJsonNull()) { + PathTypeEnum.validateJsonElement(jsonObj.get("path_type")); + } + if ((jsonObj.get("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) && !jsonObj.get("after_deferral_behavior").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_behavior` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_behavior").toString())); + } + // validate the optional field `after_deferral_behavior` + if (jsonObj.get("after_deferral_behavior") != null && !jsonObj.get("after_deferral_behavior").isJsonNull()) { + AfterDeferralBehaviorEnum.validateJsonElement(jsonObj.get("after_deferral_behavior")); + } + if ((jsonObj.get("after_deferral_path_id") != null && !jsonObj.get("after_deferral_path_id").isJsonNull()) && !jsonObj.get("after_deferral_path_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `after_deferral_path_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("after_deferral_path_id").toString())); + } 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())); } @@ -523,6 +1444,27 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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())); + } + // validate the optional field `time_restriction_time_zone` + if (jsonObj.get("time_restriction_time_zone") != null && !jsonObj.get("time_restriction_time_zone").isJsonNull()) { + TimeRestrictionTimeZoneEnum.validateJsonElement(jsonObj.get("time_restriction_time_zone")); + } + if (jsonObj.get("time_restrictions") != null && !jsonObj.get("time_restrictions").isJsonNull()) { + JsonArray jsonArraytimeRestrictions = jsonObj.getAsJsonArray("time_restrictions"); + if (jsonArraytimeRestrictions != null) { + // ensure the json data is an array + if (!jsonObj.get("time_restrictions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `time_restrictions` to be an array in the JSON string but got `%s`", jsonObj.get("time_restrictions").toString())); + } + + // validate the optional field `time_restrictions` (array) + for (int i = 0; i < jsonArraytimeRestrictions.size(); i++) { + UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.validateJsonElement(jsonArraytimeRestrictions.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java index 38ad8b60..5561f273 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,13 +19,18 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; +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 java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.openapitools.jackson.nullable.JsonNullable; @@ -62,7 +67,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateEscalationPolicyPathDataAttributesRulesInner.class.getName()); @@ -74,9 +79,12 @@ 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 adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.class)); - final TypeAdapter adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 = gson.getDelegateAdapter(this, TypeToken.get(NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.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)); return (TypeAdapter) new TypeAdapter() { @Override @@ -86,25 +94,43 @@ public void write(JsonWriter out, UpdateEscalationPolicyPathDataAttributesRulesI return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` - if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) { - JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2)value.getActualInstance()); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2"); + // check if the actual instance is of the type `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + if (value.getActualInstance() instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { + JsonElement element = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3.toJsonTree((NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)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()); + 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()); + 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"); } @Override @@ -112,71 +138,114 @@ public UpdateEscalationPolicyPathDataAttributesRulesInner read(JsonReader in) th Object deserialized = null; JsonElement jsonElement = elementAdapter.read(in); + int match = 0; ArrayList errorMessages = new ArrayList<>(); TypeAdapter actualAdapter = elementAdapter; - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf; - UpdateEscalationPolicyPathDataAttributesRulesInner ret = new UpdateEscalationPolicyPathDataAttributesRulesInner(); - ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); - return ret; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf'", e); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; - UpdateEscalationPolicyPathDataAttributesRulesInner ret = new UpdateEscalationPolicyPathDataAttributesRulesInner(); - ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); - return ret; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf1; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf1'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf2; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'"); } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1'", e); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf2'", e); } - // deserialize NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 try { // validate the JSON object to see if any exception is thrown - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.validateJsonElement(jsonElement); - actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf3; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf3'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf4; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf4'"); + } 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); + } + // deserialize NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + try { + // validate the JSON object to see if any exception is thrown + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + actualAdapter = adapterNewEscalationPolicyPathDataAttributesRulesInnerOneOf5; + match++; + log.log(Level.FINER, "Input data matches schema 'NewEscalationPolicyPathDataAttributesRulesInnerOneOf5'"); + } 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); + } + + if (match == 1) { UpdateEscalationPolicyPathDataAttributesRulesInner ret = new UpdateEscalationPolicyPathDataAttributesRulesInner(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); return ret; - } catch (Exception e) { - // deserialization failed, continue - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2'", e); } - throw new IOException(String.format("Failed deserialization for UpdateEscalationPolicyPathDataAttributesRulesInner: no class matches result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + throw new IOException(String.format("Failed deserialization for UpdateEscalationPolicyPathDataAttributesRulesInner: %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 anyOf + // store a list of schema names defined in oneOf public static final Map> schemas = new HashMap>(); public UpdateEscalationPolicyPathDataAttributesRulesInner() { - super("anyOf", Boolean.TRUE); + super("oneOf", Boolean.TRUE); } public UpdateEscalationPolicyPathDataAttributesRulesInner(Object o) { - super("anyOf", Boolean.TRUE); + super("oneOf", Boolean.TRUE); setActualInstance(o); } static { - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.class); - schemas.put("NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2", NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.class); + 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); } @Override @@ -185,11 +254,11 @@ public Map> getSchemas() { } /** - * Set the instance that matches the anyOf child schema, check - * the instance parameter is valid against the anyOf child schemas: - * NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + * 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 * - * It could be an instance of the 'anyOf' schemas. + * It could be an instance of the 'oneOf' schemas. */ @Override public void setActualInstance(Object instance) { @@ -198,29 +267,44 @@ public void setActualInstance(Object instance) { return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf1) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf2) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf3) { super.setActualInstance(instance); return; } - if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) { + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf4) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2"); + if (instance instanceof NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5"); } /** * Get the actual instance, which can be the following: - * NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + * NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 * - * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2) + * @return The actual instance (NewEscalationPolicyPathDataAttributesRulesInnerOneOf, NewEscalationPolicyPathDataAttributesRulesInnerOneOf1, NewEscalationPolicyPathDataAttributesRulesInnerOneOf2, NewEscalationPolicyPathDataAttributesRulesInnerOneOf3, NewEscalationPolicyPathDataAttributesRulesInnerOneOf4, NewEscalationPolicyPathDataAttributesRulesInnerOneOf5) */ @SuppressWarnings("unchecked") @Override @@ -229,36 +313,69 @@ public Object getActualInstance() { } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf getNewEscalationPolicyPathDataAttributesRulesInnerOneOf() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf1` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf1)super.getActualInstance(); } /** - * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2`, + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2`, * the ClassCastException will be thrown. * - * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` - * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2` + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf2` */ - public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 getNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2() throws ClassCastException { - return (NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2)super.getActualInstance(); + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf2)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf3` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf3)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf4` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf4)super.getActualInstance(); + } + + /** + * Get the actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`. If the actual instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + * @throws ClassCastException if the instance is not `NewEscalationPolicyPathDataAttributesRulesInnerOneOf5` + */ + public NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 getNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() throws ClassCastException { + return (NewEscalationPolicyPathDataAttributesRulesInnerOneOf5)super.getActualInstance(); } /** @@ -268,33 +385,60 @@ public NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 getNewEscalationPol * @throws IOException if the JSON Element is invalid with respect to UpdateEscalationPolicyPathDataAttributesRulesInner */ public static void validateJsonElement(JsonElement jsonElement) throws IOException { - // validate anyOf schemas one by one + // validate oneOf schemas one by one + int validCount = 0; ArrayList errorMessages = new ArrayList<>(); - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 try { - NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2.validateJsonElement(jsonElement); - return; + NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.validateJsonElement(jsonElement); + validCount++; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 failed with `%s`.", e.getMessage())); // continue to the next one } - throw new IOException(String.format("The JSON string is invalid for UpdateEscalationPolicyPathDataAttributesRulesInner with anyOf schemas: NewEscalationPolicyPathDataAttributesRulesInnerAnyOf, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1, NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2. no class match the result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); + // validate the json string with NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + try { + NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 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. %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 new file mode 100644 index 00000000..cad15f7f --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.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; + +/** + * UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner { + /** + * 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) + @javax.annotation.Nullable + private StartDayEnum startDay; + + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.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) + @javax.annotation.Nullable + private EndDayEnum endDay; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nullable + private String endTime; + + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner() { + } + + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner startDay(@javax.annotation.Nullable StartDayEnum startDay) { + this.startDay = startDay; + return this; + } + + /** + * Get startDay + * @return startDay + */ + @javax.annotation.Nullable + public StartDayEnum getStartDay() { + return startDay; + } + + public void setStartDay(@javax.annotation.Nullable StartDayEnum startDay) { + this.startDay = startDay; + } + + + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner startTime(@javax.annotation.Nullable String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Formatted as HH:MM + * @return startTime + */ + @javax.annotation.Nullable + public String getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nullable String startTime) { + this.startTime = startTime; + } + + + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner endDay(@javax.annotation.Nullable EndDayEnum endDay) { + this.endDay = endDay; + return this; + } + + /** + * Get endDay + * @return endDay + */ + @javax.annotation.Nullable + public EndDayEnum getEndDay() { + return endDay; + } + + public void setEndDay(@javax.annotation.Nullable EndDayEnum endDay) { + this.endDay = endDay; + } + + + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner endTime(@javax.annotation.Nullable String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Formatted as HH:MM + * @return endTime + */ + @javax.annotation.Nullable + public String getEndTime() { + return endTime; + } + + public void setEndTime(@javax.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; + } + UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner updateEscalationPolicyPathDataAttributesTimeRestrictionsInner = (UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner) o; + return Objects.equals(this.startDay, updateEscalationPolicyPathDataAttributesTimeRestrictionsInner.startDay) && + Objects.equals(this.startTime, updateEscalationPolicyPathDataAttributesTimeRestrictionsInner.startTime) && + Objects.equals(this.endDay, updateEscalationPolicyPathDataAttributesTimeRestrictionsInner.endDay) && + Objects.equals(this.endTime, updateEscalationPolicyPathDataAttributesTimeRestrictionsInner.endTime); + } + + @Override + public int hashCode() { + return Objects.hash(startDay, startTime, endDay, endTime); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner {\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 UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner is not found in the empty JSON string", UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner` 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 (!UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + * @throws IOException if the JSON string is invalid with respect to UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + public static UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.class); + } + + /** + * Convert an instance of UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner 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/UpdateFormField.java b/src/main/java/com/rootly/client/model/UpdateFormField.java index 53352a20..dbd20746 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormField.java +++ b/src/main/java/com/rootly/client/model/UpdateFormField.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c59abe22..033141fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java index 27430e5a..d91cbac1 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateFormFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldDataAttributes { /** * The kind of the form field @@ -114,6 +114,8 @@ public enum KindEnum { CLOSED_AT("closed_at"), + CUSTOM_SUB_STATUS("custom_sub_status"), + MANUAL_STARTING_DATETIME_FIELD("manual_starting_datetime_field"); private String value; @@ -252,7 +254,13 @@ public enum ValueKindEnum { USER("user"), - CATALOG_ENTITY("catalog_entity"); + CATALOG_ENTITY("catalog_entity"), + + ENVIRONMENT("environment"), + + CAUSE("cause"), + + INCIDENT_TYPE("incident_type"); private String value; @@ -342,6 +350,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List defaultValues = new ArrayList<>(); + public static final String SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID = "auto_set_by_catalog_property_id"; + @SerializedName(SERIALIZED_NAME_AUTO_SET_BY_CATALOG_PROPERTY_ID) + @javax.annotation.Nullable + private String autoSetByCatalogPropertyId; + public UpdateFormFieldDataAttributes() { } @@ -578,6 +591,25 @@ public void setDefaultValues(@javax.annotation.Nullable List defaultValu } + public UpdateFormFieldDataAttributes autoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + return this; + } + + /** + * Catalog property ID to auto-set this form field. Only reference-kind catalog properties are supported. + * @return autoSetByCatalogPropertyId + */ + @javax.annotation.Nullable + public String getAutoSetByCatalogPropertyId() { + return autoSetByCatalogPropertyId; + } + + public void setAutoSetByCatalogPropertyId(@javax.annotation.Nullable String autoSetByCatalogPropertyId) { + this.autoSetByCatalogPropertyId = autoSetByCatalogPropertyId; + } + + @Override public boolean equals(Object o) { @@ -598,7 +630,8 @@ public boolean equals(Object o) { Objects.equals(this.required, updateFormFieldDataAttributes.required) && Objects.equals(this.showOnIncidentDetails, updateFormFieldDataAttributes.showOnIncidentDetails) && Objects.equals(this.enabled, updateFormFieldDataAttributes.enabled) && - Objects.equals(this.defaultValues, updateFormFieldDataAttributes.defaultValues); + Objects.equals(this.defaultValues, updateFormFieldDataAttributes.defaultValues) && + Objects.equals(this.autoSetByCatalogPropertyId, updateFormFieldDataAttributes.autoSetByCatalogPropertyId); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -607,7 +640,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, description, shown, required, showOnIncidentDetails, enabled, defaultValues); + return Objects.hash(kind, inputKind, valueKind, valueKindCatalogId, name, description, shown, required, showOnIncidentDetails, enabled, defaultValues, autoSetByCatalogPropertyId); } private static int hashCodeNullable(JsonNullable a) { @@ -632,6 +665,7 @@ public String toString() { sb.append(" showOnIncidentDetails: ").append(toIndentedString(showOnIncidentDetails)).append("\n"); sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); sb.append(" defaultValues: ").append(toIndentedString(defaultValues)).append("\n"); + sb.append(" autoSetByCatalogPropertyId: ").append(toIndentedString(autoSetByCatalogPropertyId)).append("\n"); sb.append("}"); return sb.toString(); } @@ -665,6 +699,7 @@ private String toIndentedString(Object o) { openapiFields.add("show_on_incident_details"); openapiFields.add("enabled"); openapiFields.add("default_values"); + openapiFields.add("auto_set_by_catalog_property_id"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -733,6 +768,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("default_values") != null && !jsonObj.get("default_values").isJsonNull() && !jsonObj.get("default_values").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `default_values` to be an array in the JSON string but got `%s`", jsonObj.get("default_values").toString())); } + if ((jsonObj.get("auto_set_by_catalog_property_id") != null && !jsonObj.get("auto_set_by_catalog_property_id").isJsonNull()) && !jsonObj.get("auto_set_by_catalog_property_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `auto_set_by_catalog_property_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("auto_set_by_catalog_property_id").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java index d7c8ea21..059cb077 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldOption */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 743ade1d..036f0f60 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java index 41d48886..528bcb26 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateFormFieldOptionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOptionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) @@ -79,7 +79,7 @@ public UpdateFormFieldOptionDataAttributes value(@javax.annotation.Nullable Stri } /** - * The value of the form_field_option + * The value of the form field option * @return value */ @javax.annotation.Nullable @@ -98,7 +98,7 @@ public UpdateFormFieldOptionDataAttributes color(@javax.annotation.Nullable Stri } /** - * The hex color of the form_field_option + * The hex color of the form field option * @return color */ @javax.annotation.Nullable @@ -136,7 +136,7 @@ public UpdateFormFieldOptionDataAttributes position(@javax.annotation.Nullable I } /** - * The position of the form_field_option + * The position of the form field option * @return position */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java index 5826070e..3b3661f5 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacement.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacement */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cc2f8d31..7fe0bccc 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3f429167..6216e93d 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java index cc6fda71..db139c5f 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateFormFieldPlacementConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementConditionDataAttributes { /** * The resource or attribute the condition applies. @@ -126,6 +126,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum ComparisonEnum { EQUAL("equal"), + NOT_EQUAL("not_equal"), + IS_SET("is_set"), IS_NOT_SET("is_not_set"); diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java index 06794c04..6f06fb23 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java index 193f649b..e458c932 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateFormFieldPlacementDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -184,6 +184,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private PlacementOperatorEnum placementOperator; + public static final String SERIALIZED_NAME_NON_EDITABLE = "non_editable"; + @SerializedName(SERIALIZED_NAME_NON_EDITABLE) + @javax.annotation.Nullable + private Boolean nonEditable; + public UpdateFormFieldPlacementDataAttributes() { } @@ -301,6 +306,25 @@ public void setPlacementOperator(@javax.annotation.Nullable PlacementOperatorEnu } + public UpdateFormFieldPlacementDataAttributes nonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + return this; + } + + /** + * Whether the field is read-only and cannot be edited by users. + * @return nonEditable + */ + @javax.annotation.Nullable + public Boolean getNonEditable() { + return nonEditable; + } + + public void setNonEditable(@javax.annotation.Nullable Boolean nonEditable) { + this.nonEditable = nonEditable; + } + + @Override public boolean equals(Object o) { @@ -316,12 +340,13 @@ public boolean equals(Object o) { Objects.equals(this.position, updateFormFieldPlacementDataAttributes.position) && Objects.equals(this.required, updateFormFieldPlacementDataAttributes.required) && Objects.equals(this.requiredOperator, updateFormFieldPlacementDataAttributes.requiredOperator) && - Objects.equals(this.placementOperator, updateFormFieldPlacementDataAttributes.placementOperator); + Objects.equals(this.placementOperator, updateFormFieldPlacementDataAttributes.placementOperator) && + Objects.equals(this.nonEditable, updateFormFieldPlacementDataAttributes.nonEditable); } @Override public int hashCode() { - return Objects.hash(formSetId, form, position, required, requiredOperator, placementOperator); + return Objects.hash(formSetId, form, position, required, requiredOperator, placementOperator, nonEditable); } @Override @@ -334,6 +359,7 @@ public String toString() { sb.append(" required: ").append(toIndentedString(required)).append("\n"); sb.append(" requiredOperator: ").append(toIndentedString(requiredOperator)).append("\n"); sb.append(" placementOperator: ").append(toIndentedString(placementOperator)).append("\n"); + sb.append(" nonEditable: ").append(toIndentedString(nonEditable)).append("\n"); sb.append("}"); return sb.toString(); } @@ -362,6 +388,7 @@ private String toIndentedString(Object o) { openapiFields.add("required"); openapiFields.add("required_operator"); openapiFields.add("placement_operator"); + openapiFields.add("non_editable"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java index 5d2ee587..942a0b2b 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPosition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPosition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 227fffe2..e615c440 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormFieldPositionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPositionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java index 1af9985d..7735e5c1 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateFormFieldPositionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 df6bc4a5..21679ca3 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSet.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fe51d0ab..1cd1c3f3 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormSetCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5a516e34..c6b3a883 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormSetConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java index 7c925ee9..6df10743 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateFormSetConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4ae278f1..c5b95c8a 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFormSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java index f9af486b..2bf3e3c9 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateFormSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionality.java b/src/main/java/com/rootly/client/model/UpdateFunctionality.java index e21c4175..3e0354d9 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionality.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFunctionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3faab8ad..bcc1ac6f 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java index 48234053..0bcf7547 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * UpdateFunctionalityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -130,15 +131,20 @@ public class UpdateFunctionalityDataAttributes { @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; + + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @@ -150,6 +156,11 @@ public class UpdateFunctionalityDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateFunctionalityDataAttributes() { } @@ -462,57 +473,76 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public UpdateFunctionalityDataAttributes ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public UpdateFunctionalityDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public UpdateFunctionalityDataAttributes addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public UpdateFunctionalityDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this functionality - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public UpdateFunctionalityDataAttributes ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public UpdateFunctionalityDataAttributes ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public UpdateFunctionalityDataAttributes addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public UpdateFunctionalityDataAttributes addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this functionality - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; + } + + + public UpdateFunctionalityDataAttributes escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the functionality + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; } @@ -570,6 +600,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateFunctionalityDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this functionality. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -595,10 +652,12 @@ public boolean equals(Object o) { Objects.equals(this.serviceNowCiSysId, updateFunctionalityDataAttributes.serviceNowCiSysId) && Objects.equals(this.environmentIds, updateFunctionalityDataAttributes.environmentIds) && Objects.equals(this.serviceIds, updateFunctionalityDataAttributes.serviceIds) && - Objects.equals(this.ownersGroupIds, updateFunctionalityDataAttributes.ownersGroupIds) && - Objects.equals(this.ownersUserIds, updateFunctionalityDataAttributes.ownersUserIds) && + Objects.equals(this.ownerGroupIds, updateFunctionalityDataAttributes.ownerGroupIds) && + Objects.equals(this.ownerUserIds, updateFunctionalityDataAttributes.ownerUserIds) && + Objects.equals(this.escalationPolicyId, updateFunctionalityDataAttributes.escalationPolicyId) && Objects.equals(this.slackChannels, updateFunctionalityDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, updateFunctionalityDataAttributes.slackAliases); + Objects.equals(this.slackAliases, updateFunctionalityDataAttributes.slackAliases) && + Objects.equals(this.properties, updateFunctionalityDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -607,7 +666,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, slackChannels, slackAliases); + return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, opsgenieTeamId, cortexId, serviceNowCiSysId, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, escalationPolicyId, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -636,10 +695,12 @@ public String toString() { sb.append(" serviceNowCiSysId: ").append(toIndentedString(serviceNowCiSysId)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -677,10 +738,12 @@ private String toIndentedString(Object o) { openapiFields.add("service_now_ci_sys_id"); openapiFields.add("environment_ids"); openapiFields.add("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_ids"); + openapiFields.add("owner_group_ids"); + openapiFields.add("owner_user_ids"); + openapiFields.add("escalation_policy_id"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -753,12 +816,15 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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("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("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); @@ -788,6 +854,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java index 9f57f91c..3c0d4db6 100644 --- a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,8 +20,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.CreateGithubIssueTaskParamsIssueType; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; 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; @@ -49,7 +53,7 @@ /** * UpdateGithubIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateGithubIssueTaskParams { /** * Gets or Sets taskType @@ -111,6 +115,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private String issueId; + public static final String SERIALIZED_NAME_REPOSITORY = "repository"; + @SerializedName(SERIALIZED_NAME_REPOSITORY) + @javax.annotation.Nullable + private UpdateGithubIssueTaskParamsRepository repository; + public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @javax.annotation.Nullable @@ -121,6 +130,73 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String body; + public static final String SERIALIZED_NAME_LABELS = "labels"; + @SerializedName(SERIALIZED_NAME_LABELS) + @javax.annotation.Nullable + private List labels = new ArrayList<>(); + + /** + * How to apply labels. 'replace' (default) overwrites all existing labels. 'append' adds to existing labels without removing them. + */ + @JsonAdapter(LabelsModeEnum.Adapter.class) + public enum LabelsModeEnum { + REPLACE("replace"), + + APPEND("append"); + + private String value; + + LabelsModeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static LabelsModeEnum fromValue(String value) { + for (LabelsModeEnum b : LabelsModeEnum.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 LabelsModeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public LabelsModeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return LabelsModeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + LabelsModeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_LABELS_MODE = "labels_mode"; + @SerializedName(SERIALIZED_NAME_LABELS_MODE) + @javax.annotation.Nullable + private LabelsModeEnum labelsMode = LabelsModeEnum.REPLACE; + + public static final String SERIALIZED_NAME_ISSUE_TYPE = "issue_type"; + @SerializedName(SERIALIZED_NAME_ISSUE_TYPE) + @javax.annotation.Nullable + private CreateGithubIssueTaskParamsIssueType issueType; + public static final String SERIALIZED_NAME_COMPLETION = "completion"; @SerializedName(SERIALIZED_NAME_COMPLETION) @javax.annotation.Nonnull @@ -167,6 +243,25 @@ public void setIssueId(@javax.annotation.Nonnull String issueId) { } + public UpdateGithubIssueTaskParams repository(@javax.annotation.Nullable UpdateGithubIssueTaskParamsRepository repository) { + this.repository = repository; + return this; + } + + /** + * Get repository + * @return repository + */ + @javax.annotation.Nullable + public UpdateGithubIssueTaskParamsRepository getRepository() { + return repository; + } + + public void setRepository(@javax.annotation.Nullable UpdateGithubIssueTaskParamsRepository repository) { + this.repository = repository; + } + + public UpdateGithubIssueTaskParams title(@javax.annotation.Nullable String title) { this.title = title; return this; @@ -205,6 +300,71 @@ public void setBody(@javax.annotation.Nullable String body) { } + public UpdateGithubIssueTaskParams labels(@javax.annotation.Nullable List labels) { + this.labels = labels; + return this; + } + + public UpdateGithubIssueTaskParams addLabelsItem(AddActionItemTaskParamsPostToSlackChannelsInner labelsItem) { + if (this.labels == null) { + this.labels = new ArrayList<>(); + } + this.labels.add(labelsItem); + return this; + } + + /** + * The issue labels + * @return labels + */ + @javax.annotation.Nullable + public List getLabels() { + return labels; + } + + public void setLabels(@javax.annotation.Nullable List labels) { + this.labels = labels; + } + + + public UpdateGithubIssueTaskParams labelsMode(@javax.annotation.Nullable LabelsModeEnum labelsMode) { + this.labelsMode = labelsMode; + return this; + } + + /** + * How to apply labels. 'replace' (default) overwrites all existing labels. 'append' adds to existing labels without removing them. + * @return labelsMode + */ + @javax.annotation.Nullable + public LabelsModeEnum getLabelsMode() { + return labelsMode; + } + + public void setLabelsMode(@javax.annotation.Nullable LabelsModeEnum labelsMode) { + this.labelsMode = labelsMode; + } + + + public UpdateGithubIssueTaskParams issueType(@javax.annotation.Nullable CreateGithubIssueTaskParamsIssueType issueType) { + this.issueType = issueType; + return this; + } + + /** + * Get issueType + * @return issueType + */ + @javax.annotation.Nullable + public CreateGithubIssueTaskParamsIssueType getIssueType() { + return issueType; + } + + public void setIssueType(@javax.annotation.Nullable CreateGithubIssueTaskParamsIssueType issueType) { + this.issueType = issueType; + } + + public UpdateGithubIssueTaskParams completion(@javax.annotation.Nonnull AddActionItemTaskParamsPostToSlackChannelsInner completion) { this.completion = completion; return this; @@ -236,14 +396,18 @@ public boolean equals(Object o) { UpdateGithubIssueTaskParams updateGithubIssueTaskParams = (UpdateGithubIssueTaskParams) o; return Objects.equals(this.taskType, updateGithubIssueTaskParams.taskType) && Objects.equals(this.issueId, updateGithubIssueTaskParams.issueId) && + Objects.equals(this.repository, updateGithubIssueTaskParams.repository) && Objects.equals(this.title, updateGithubIssueTaskParams.title) && Objects.equals(this.body, updateGithubIssueTaskParams.body) && + Objects.equals(this.labels, updateGithubIssueTaskParams.labels) && + Objects.equals(this.labelsMode, updateGithubIssueTaskParams.labelsMode) && + Objects.equals(this.issueType, updateGithubIssueTaskParams.issueType) && Objects.equals(this.completion, updateGithubIssueTaskParams.completion); } @Override public int hashCode() { - return Objects.hash(taskType, issueId, title, body, completion); + return Objects.hash(taskType, issueId, repository, title, body, labels, labelsMode, issueType, completion); } @Override @@ -252,8 +416,12 @@ public String toString() { sb.append("class UpdateGithubIssueTaskParams {\n"); sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); + sb.append(" repository: ").append(toIndentedString(repository)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" body: ").append(toIndentedString(body)).append("\n"); + sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); + sb.append(" labelsMode: ").append(toIndentedString(labelsMode)).append("\n"); + sb.append(" issueType: ").append(toIndentedString(issueType)).append("\n"); sb.append(" completion: ").append(toIndentedString(completion)).append("\n"); sb.append("}"); return sb.toString(); @@ -279,8 +447,12 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("task_type"); openapiFields.add("issue_id"); + openapiFields.add("repository"); openapiFields.add("title"); openapiFields.add("body"); + openapiFields.add("labels"); + openapiFields.add("labels_mode"); + openapiFields.add("issue_type"); openapiFields.add("completion"); // a set of required properties/fields (JSON key names) @@ -327,12 +499,41 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (!jsonObj.get("issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("issue_id").toString())); } + // validate the optional field `repository` + if (jsonObj.get("repository") != null && !jsonObj.get("repository").isJsonNull()) { + UpdateGithubIssueTaskParamsRepository.validateJsonElement(jsonObj.get("repository")); + } 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("body") != null && !jsonObj.get("body").isJsonNull()) && !jsonObj.get("body").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("body").toString())); } + if (jsonObj.get("labels") != null && !jsonObj.get("labels").isJsonNull()) { + JsonArray jsonArraylabels = jsonObj.getAsJsonArray("labels"); + if (jsonArraylabels != null) { + // ensure the json data is an array + if (!jsonObj.get("labels").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `labels` to be an array in the JSON string but got `%s`", jsonObj.get("labels").toString())); + } + + // validate the optional field `labels` (array) + for (int i = 0; i < jsonArraylabels.size(); i++) { + AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonArraylabels.get(i)); + }; + } + } + if ((jsonObj.get("labels_mode") != null && !jsonObj.get("labels_mode").isJsonNull()) && !jsonObj.get("labels_mode").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `labels_mode` to be a primitive type in the JSON string but got `%s`", jsonObj.get("labels_mode").toString())); + } + // validate the optional field `labels_mode` + if (jsonObj.get("labels_mode") != null && !jsonObj.get("labels_mode").isJsonNull()) { + LabelsModeEnum.validateJsonElement(jsonObj.get("labels_mode")); + } + // validate the optional field `issue_type` + if (jsonObj.get("issue_type") != null && !jsonObj.get("issue_type").isJsonNull()) { + CreateGithubIssueTaskParamsIssueType.validateJsonElement(jsonObj.get("issue_type")); + } // validate the required field `completion` AddActionItemTaskParamsPostToSlackChannelsInner.validateJsonElement(jsonObj.get("completion")); } diff --git a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.java new file mode 100644 index 00000000..8189a289 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepository.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; + +/** + * The repository (used for loading labels and issue types) + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateGithubIssueTaskParamsRepository { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public UpdateGithubIssueTaskParamsRepository() { + } + + public UpdateGithubIssueTaskParamsRepository id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateGithubIssueTaskParamsRepository name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateGithubIssueTaskParamsRepository updateGithubIssueTaskParamsRepository = (UpdateGithubIssueTaskParamsRepository) o; + return Objects.equals(this.id, updateGithubIssueTaskParamsRepository.id) && + Objects.equals(this.name, updateGithubIssueTaskParamsRepository.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateGithubIssueTaskParamsRepository {\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(); + } + + /** + * 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 UpdateGithubIssueTaskParamsRepository + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateGithubIssueTaskParamsRepository.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateGithubIssueTaskParamsRepository is not found in the empty JSON string", UpdateGithubIssueTaskParamsRepository.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateGithubIssueTaskParamsRepository.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateGithubIssueTaskParamsRepository` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateGithubIssueTaskParamsRepository.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateGithubIssueTaskParamsRepository' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateGithubIssueTaskParamsRepository.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateGithubIssueTaskParamsRepository value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateGithubIssueTaskParamsRepository read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateGithubIssueTaskParamsRepository given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateGithubIssueTaskParamsRepository + * @throws IOException if the JSON string is invalid with respect to UpdateGithubIssueTaskParamsRepository + */ + public static UpdateGithubIssueTaskParamsRepository fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateGithubIssueTaskParamsRepository.class); + } + + /** + * Convert an instance of UpdateGithubIssueTaskParamsRepository 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/UpdateGitlabIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java index 7e2cbcff..a3fcf6bf 100644 --- a/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGitlabIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateGitlabIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3453040e..36d08a1f 100644 --- a/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * UpdateGoogleCalendarEventTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/UpdateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java index 6b2cc80f..2dd4c9b3 100644 --- a/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateGoogleDocsPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d6d2e4a3..41bcef0c 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeat.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeat.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateHeartbeat */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3b26be67..f1706774 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateHeartbeatData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeatData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java index 162f40c3..f8528a3c 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateHeartbeatDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeatDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -66,6 +66,11 @@ public class UpdateHeartbeatDataAttributes { @javax.annotation.Nullable private String alertSummary; + public static final String SERIALIZED_NAME_ALERT_DESCRIPTION = "alert_description"; + @SerializedName(SERIALIZED_NAME_ALERT_DESCRIPTION) + @javax.annotation.Nullable + private String alertDescription; + public static final String SERIALIZED_NAME_ALERT_URGENCY_ID = "alert_urgency_id"; @SerializedName(SERIALIZED_NAME_ALERT_URGENCY_ID) @javax.annotation.Nullable @@ -81,11 +86,11 @@ public class UpdateHeartbeatDataAttributes { */ @JsonAdapter(IntervalUnitEnum.Adapter.class) public enum IntervalUnitEnum { - SECONDS("seconds"), - MINUTES("minutes"), - HOURS("hours"); + HOURS("hours"), + + DAYS("days"); private String value; @@ -141,7 +146,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti private String notificationTargetId; /** - * Gets or Sets notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. */ @JsonAdapter(NotificationTargetTypeEnum.Adapter.class) public enum NotificationTargetTypeEnum { @@ -151,7 +156,9 @@ public enum NotificationTargetTypeEnum { SERVICE("Service"), - ESCALATION_POLICY("EscalationPolicy"); + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); private String value; @@ -266,6 +273,25 @@ public void setAlertSummary(@javax.annotation.Nullable String alertSummary) { } + public UpdateHeartbeatDataAttributes alertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + return this; + } + + /** + * Description of alerts triggered when heartbeat expires. + * @return alertDescription + */ + @javax.annotation.Nullable + public String getAlertDescription() { + return alertDescription; + } + + public void setAlertDescription(@javax.annotation.Nullable String alertDescription) { + this.alertDescription = alertDescription; + } + + public UpdateHeartbeatDataAttributes alertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) { this.alertUrgencyId = alertUrgencyId; return this; @@ -348,7 +374,7 @@ public UpdateHeartbeatDataAttributes notificationTargetType(@javax.annotation.Nu } /** - * Get notificationTargetType + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. * @return notificationTargetType */ @javax.annotation.Nullable @@ -393,6 +419,7 @@ public boolean equals(Object o) { return Objects.equals(this.name, updateHeartbeatDataAttributes.name) && Objects.equals(this.description, updateHeartbeatDataAttributes.description) && Objects.equals(this.alertSummary, updateHeartbeatDataAttributes.alertSummary) && + Objects.equals(this.alertDescription, updateHeartbeatDataAttributes.alertDescription) && Objects.equals(this.alertUrgencyId, updateHeartbeatDataAttributes.alertUrgencyId) && Objects.equals(this.interval, updateHeartbeatDataAttributes.interval) && Objects.equals(this.intervalUnit, updateHeartbeatDataAttributes.intervalUnit) && @@ -407,7 +434,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, alertSummary, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled); + return Objects.hash(name, description, alertSummary, alertDescription, alertUrgencyId, interval, intervalUnit, notificationTargetId, notificationTargetType, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -424,6 +451,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" alertSummary: ").append(toIndentedString(alertSummary)).append("\n"); + sb.append(" alertDescription: ").append(toIndentedString(alertDescription)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); sb.append(" interval: ").append(toIndentedString(interval)).append("\n"); sb.append(" intervalUnit: ").append(toIndentedString(intervalUnit)).append("\n"); @@ -455,6 +483,7 @@ private String toIndentedString(Object o) { openapiFields.add("name"); openapiFields.add("description"); openapiFields.add("alert_summary"); + openapiFields.add("alert_description"); openapiFields.add("alert_urgency_id"); openapiFields.add("interval"); openapiFields.add("interval_unit"); @@ -496,6 +525,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("alert_summary") != null && !jsonObj.get("alert_summary").isJsonNull()) && !jsonObj.get("alert_summary").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `alert_summary` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_summary").toString())); } + if ((jsonObj.get("alert_description") != null && !jsonObj.get("alert_description").isJsonNull()) && !jsonObj.get("alert_description").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_description` to be a primitive type in the JSON string but got `%s`", jsonObj.get("alert_description").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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncident.java b/src/main/java/com/rootly/client/model/UpdateIncident.java index affba00b..99ae151f 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncident.java +++ b/src/main/java/com/rootly/client/model/UpdateIncident.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bc09572b..d1a582d4 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItem.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentActionItem */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a4ea87fd..5e79a1d0 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentActionItemData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItemData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java index 4271314b..2efc95c0 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentActionItemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItemDataAttributes { public static final String SERIALIZED_NAME_SUMMARY = "summary"; @SerializedName(SERIALIZED_NAME_SUMMARY) @@ -260,6 +260,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String jiraIssueId; + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) @javax.annotation.Nullable @@ -447,6 +452,25 @@ public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { } + public UpdateIncidentActionItemDataAttributes jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * The Jira issue key. + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + public UpdateIncidentActionItemDataAttributes jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { this.jiraIssueUrl = jiraIssueUrl; return this; @@ -485,6 +509,7 @@ public boolean equals(Object o) { Objects.equals(this.status, updateIncidentActionItemDataAttributes.status) && Objects.equals(this.dueDate, updateIncidentActionItemDataAttributes.dueDate) && Objects.equals(this.jiraIssueId, updateIncidentActionItemDataAttributes.jiraIssueId) && + Objects.equals(this.jiraIssueKey, updateIncidentActionItemDataAttributes.jiraIssueKey) && Objects.equals(this.jiraIssueUrl, updateIncidentActionItemDataAttributes.jiraIssueUrl); } @@ -494,7 +519,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(summary, description, kind, assignedToUserId, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueUrl); + return Objects.hash(summary, description, kind, assignedToUserId, assignedToGroupIds, priority, status, dueDate, jiraIssueId, jiraIssueKey, jiraIssueUrl); } private static int hashCodeNullable(JsonNullable a) { @@ -517,6 +542,7 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" dueDate: ").append(toIndentedString(dueDate)).append("\n"); sb.append(" jiraIssueId: ").append(toIndentedString(jiraIssueId)).append("\n"); + sb.append(" jiraIssueKey: ").append(toIndentedString(jiraIssueKey)).append("\n"); sb.append(" jiraIssueUrl: ").append(toIndentedString(jiraIssueUrl)).append("\n"); sb.append("}"); return sb.toString(); @@ -549,6 +575,7 @@ private String toIndentedString(Object o) { openapiFields.add("status"); openapiFields.add("due_date"); openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_key"); openapiFields.add("jira_issue_url"); // a set of required properties/fields (JSON key names) @@ -613,6 +640,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").toString())); } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java index 0eb5e2b2..b27b15ac 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 655450c8..3eb4cf90 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java index 7f368245..8cd5279f 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentCustomFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c0845432..234502fb 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java index 502c20d1..ed53363f 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -77,7 +77,9 @@ public enum KindEnum { BACKFILLED("backfilled"), - SCHEDULED("scheduled"); + SCHEDULED("scheduled"), + + SCHEDULED_SUB("scheduled_sub"); private String value; @@ -227,6 +229,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String severityId; + public static final String SERIALIZED_NAME_PUBLIC_TITLE = "public_title"; + @SerializedName(SERIALIZED_NAME_PUBLIC_TITLE) + @javax.annotation.Nullable + private String publicTitle; + + public static final String SERIALIZED_NAME_ALERT_IDS = "alert_ids"; + @SerializedName(SERIALIZED_NAME_ALERT_IDS) + @javax.annotation.Nullable + private List alertIds; + public static final String SERIALIZED_NAME_ENVIRONMENT_IDS = "environment_ids"; @SerializedName(SERIALIZED_NAME_ENVIRONMENT_IDS) @javax.annotation.Nullable @@ -247,6 +259,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List functionalityIds; + public static final String SERIALIZED_NAME_MUTED_SERVICE_IDS = "muted_service_ids"; + @SerializedName(SERIALIZED_NAME_MUTED_SERVICE_IDS) + @javax.annotation.Nullable + private List mutedServiceIds; + public static final String SERIALIZED_NAME_GROUP_IDS = "group_ids"; @SerializedName(SERIALIZED_NAME_GROUP_IDS) @javax.annotation.Nullable @@ -277,6 +294,36 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String slackChannelUrl; + public static final String SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED = "slack_channel_archived"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL_ARCHIVED) + @javax.annotation.Nullable + private Boolean slackChannelArchived; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID = "google_drive_parent_id"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_PARENT_ID) + @javax.annotation.Nullable + private String googleDriveParentId; + + public static final String SERIALIZED_NAME_GOOGLE_DRIVE_URL = "google_drive_url"; + @SerializedName(SERIALIZED_NAME_GOOGLE_DRIVE_URL) + @javax.annotation.Nullable + private String googleDriveUrl; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_KEY = "jira_issue_key"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_KEY) + @javax.annotation.Nullable + private String jiraIssueKey; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_ID = "jira_issue_id"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_ID) + @javax.annotation.Nullable + private String jiraIssueId; + + public static final String SERIALIZED_NAME_JIRA_ISSUE_URL = "jira_issue_url"; + @SerializedName(SERIALIZED_NAME_JIRA_ISSUE_URL) + @javax.annotation.Nullable + private String jiraIssueUrl; + public static final String SERIALIZED_NAME_SCHEDULED_FOR = "scheduled_for"; @SerializedName(SERIALIZED_NAME_SCHEDULED_FOR) @javax.annotation.Nullable @@ -317,11 +364,31 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String resolvedAt; + public static final String SERIALIZED_NAME_CLOSED_AT = "closed_at"; + @SerializedName(SERIALIZED_NAME_CLOSED_AT) + @javax.annotation.Nullable + private String closedAt; + public static final String SERIALIZED_NAME_CANCELLED_AT = "cancelled_at"; @SerializedName(SERIALIZED_NAME_CANCELLED_AT) @javax.annotation.Nullable private String cancelledAt; + public static final String SERIALIZED_NAME_MITIGATION_MESSAGE = "mitigation_message"; + @SerializedName(SERIALIZED_NAME_MITIGATION_MESSAGE) + @javax.annotation.Nullable + private String mitigationMessage; + + public static final String SERIALIZED_NAME_RESOLUTION_MESSAGE = "resolution_message"; + @SerializedName(SERIALIZED_NAME_RESOLUTION_MESSAGE) + @javax.annotation.Nullable + private String resolutionMessage; + + public static final String SERIALIZED_NAME_CANCELLATION_MESSAGE = "cancellation_message"; + @SerializedName(SERIALIZED_NAME_CANCELLATION_MESSAGE) + @javax.annotation.Nullable + private String cancellationMessage; + public UpdateIncidentDataAttributes() { } @@ -477,6 +544,52 @@ public void setSeverityId(@javax.annotation.Nullable String severityId) { } + public UpdateIncidentDataAttributes publicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; + return this; + } + + /** + * The public title of the incident + * @return publicTitle + */ + @javax.annotation.Nullable + public String getPublicTitle() { + return publicTitle; + } + + public void setPublicTitle(@javax.annotation.Nullable String publicTitle) { + this.publicTitle = publicTitle; + } + + + public UpdateIncidentDataAttributes alertIds(@javax.annotation.Nullable List alertIds) { + this.alertIds = alertIds; + return this; + } + + public UpdateIncidentDataAttributes addAlertIdsItem(String alertIdsItem) { + if (this.alertIds == null) { + this.alertIds = new ArrayList<>(); + } + this.alertIds.add(alertIdsItem); + return this; + } + + /** + * The Alert IDs to attach to the incident + * @return alertIds + */ + @javax.annotation.Nullable + public List getAlertIds() { + return alertIds; + } + + public void setAlertIds(@javax.annotation.Nullable List alertIds) { + this.alertIds = alertIds; + } + + public UpdateIncidentDataAttributes environmentIds(@javax.annotation.Nullable List environmentIds) { this.environmentIds = environmentIds; return this; @@ -491,7 +604,7 @@ public UpdateIncidentDataAttributes addEnvironmentIdsItem(String environmentIdsI } /** - * The Environment ID's to attach to the incident + * The Environment IDs to attach to the incident * @return environmentIds */ @javax.annotation.Nullable @@ -518,7 +631,7 @@ public UpdateIncidentDataAttributes addIncidentTypeIdsItem(String incidentTypeId } /** - * The Incident Type ID's to attach to the incident + * The Incident Type IDs to attach to the incident * @return incidentTypeIds */ @javax.annotation.Nullable @@ -545,7 +658,7 @@ public UpdateIncidentDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the incident + * The Service IDs to attach to the incident * @return serviceIds */ @javax.annotation.Nullable @@ -572,7 +685,7 @@ public UpdateIncidentDataAttributes addFunctionalityIdsItem(String functionality } /** - * The Functionality ID's to attach to the incident + * The Functionality IDs to attach to the incident * @return functionalityIds */ @javax.annotation.Nullable @@ -585,6 +698,33 @@ public void setFunctionalityIds(@javax.annotation.Nullable List function } + public UpdateIncidentDataAttributes mutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + return this; + } + + public UpdateIncidentDataAttributes addMutedServiceIdsItem(String mutedServiceIdsItem) { + if (this.mutedServiceIds == null) { + this.mutedServiceIds = new ArrayList<>(); + } + this.mutedServiceIds.add(mutedServiceIdsItem); + return this; + } + + /** + * The Service IDs to mute alerts for during maintenance. Alerts for these services will still be triggered and attached to the incident, but won't page responders. + * @return mutedServiceIds + */ + @javax.annotation.Nullable + public List getMutedServiceIds() { + return mutedServiceIds; + } + + public void setMutedServiceIds(@javax.annotation.Nullable List mutedServiceIds) { + this.mutedServiceIds = mutedServiceIds; + } + + public UpdateIncidentDataAttributes groupIds(@javax.annotation.Nullable List groupIds) { this.groupIds = groupIds; return this; @@ -599,7 +739,7 @@ public UpdateIncidentDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the incident + * The Team IDs to attach to the incident * @return groupIds */ @javax.annotation.Nullable @@ -626,7 +766,7 @@ public UpdateIncidentDataAttributes addCauseIdsItem(String causeIdsItem) { } /** - * The Cause ID's to attach to the incident + * The Cause IDs to attach to the incident * @return causeIds */ @javax.annotation.Nullable @@ -715,6 +855,120 @@ public void setSlackChannelUrl(@javax.annotation.Nullable String slackChannelUrl } + public UpdateIncidentDataAttributes slackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + return this; + } + + /** + * Whether the Slack channel is archived + * @return slackChannelArchived + */ + @javax.annotation.Nullable + public Boolean getSlackChannelArchived() { + return slackChannelArchived; + } + + public void setSlackChannelArchived(@javax.annotation.Nullable Boolean slackChannelArchived) { + this.slackChannelArchived = slackChannelArchived; + } + + + public UpdateIncidentDataAttributes googleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + return this; + } + + /** + * Google Drive parent folder ID + * @return googleDriveParentId + */ + @javax.annotation.Nullable + public String getGoogleDriveParentId() { + return googleDriveParentId; + } + + public void setGoogleDriveParentId(@javax.annotation.Nullable String googleDriveParentId) { + this.googleDriveParentId = googleDriveParentId; + } + + + public UpdateIncidentDataAttributes googleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + return this; + } + + /** + * Google Drive URL + * @return googleDriveUrl + */ + @javax.annotation.Nullable + public String getGoogleDriveUrl() { + return googleDriveUrl; + } + + public void setGoogleDriveUrl(@javax.annotation.Nullable String googleDriveUrl) { + this.googleDriveUrl = googleDriveUrl; + } + + + public UpdateIncidentDataAttributes jiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + return this; + } + + /** + * Jira issue key + * @return jiraIssueKey + */ + @javax.annotation.Nullable + public String getJiraIssueKey() { + return jiraIssueKey; + } + + public void setJiraIssueKey(@javax.annotation.Nullable String jiraIssueKey) { + this.jiraIssueKey = jiraIssueKey; + } + + + public UpdateIncidentDataAttributes jiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + return this; + } + + /** + * Jira issue ID + * @return jiraIssueId + */ + @javax.annotation.Nullable + public String getJiraIssueId() { + return jiraIssueId; + } + + public void setJiraIssueId(@javax.annotation.Nullable String jiraIssueId) { + this.jiraIssueId = jiraIssueId; + } + + + public UpdateIncidentDataAttributes jiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + return this; + } + + /** + * Jira issue URL + * @return jiraIssueUrl + */ + @javax.annotation.Nullable + public String getJiraIssueUrl() { + return jiraIssueUrl; + } + + public void setJiraIssueUrl(@javax.annotation.Nullable String jiraIssueUrl) { + this.jiraIssueUrl = jiraIssueUrl; + } + + public UpdateIncidentDataAttributes scheduledFor(@javax.annotation.Nullable String scheduledFor) { this.scheduledFor = scheduledFor; return this; @@ -867,6 +1121,25 @@ public void setResolvedAt(@javax.annotation.Nullable String resolvedAt) { } + public UpdateIncidentDataAttributes closedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + return this; + } + + /** + * Date of closure + * @return closedAt + */ + @javax.annotation.Nullable + public String getClosedAt() { + return closedAt; + } + + public void setClosedAt(@javax.annotation.Nullable String closedAt) { + this.closedAt = closedAt; + } + + public UpdateIncidentDataAttributes cancelledAt(@javax.annotation.Nullable String cancelledAt) { this.cancelledAt = cancelledAt; return this; @@ -886,6 +1159,63 @@ public void setCancelledAt(@javax.annotation.Nullable String cancelledAt) { } + public UpdateIncidentDataAttributes mitigationMessage(@javax.annotation.Nullable String mitigationMessage) { + this.mitigationMessage = mitigationMessage; + return this; + } + + /** + * How was the incident mitigated? + * @return mitigationMessage + */ + @javax.annotation.Nullable + public String getMitigationMessage() { + return mitigationMessage; + } + + public void setMitigationMessage(@javax.annotation.Nullable String mitigationMessage) { + this.mitigationMessage = mitigationMessage; + } + + + public UpdateIncidentDataAttributes resolutionMessage(@javax.annotation.Nullable String resolutionMessage) { + this.resolutionMessage = resolutionMessage; + return this; + } + + /** + * How was the incident resolved? + * @return resolutionMessage + */ + @javax.annotation.Nullable + public String getResolutionMessage() { + return resolutionMessage; + } + + public void setResolutionMessage(@javax.annotation.Nullable String resolutionMessage) { + this.resolutionMessage = resolutionMessage; + } + + + public UpdateIncidentDataAttributes cancellationMessage(@javax.annotation.Nullable String cancellationMessage) { + this.cancellationMessage = cancellationMessage; + return this; + } + + /** + * Why was the incident cancelled? + * @return cancellationMessage + */ + @javax.annotation.Nullable + public String getCancellationMessage() { + return cancellationMessage; + } + + public void setCancellationMessage(@javax.annotation.Nullable String cancellationMessage) { + this.cancellationMessage = cancellationMessage; + } + + @Override public boolean equals(Object o) { @@ -904,16 +1234,25 @@ public boolean equals(Object o) { Objects.equals(this.status, updateIncidentDataAttributes.status) && Objects.equals(this._private, updateIncidentDataAttributes._private) && Objects.equals(this.severityId, updateIncidentDataAttributes.severityId) && + Objects.equals(this.publicTitle, updateIncidentDataAttributes.publicTitle) && + Objects.equals(this.alertIds, updateIncidentDataAttributes.alertIds) && Objects.equals(this.environmentIds, updateIncidentDataAttributes.environmentIds) && Objects.equals(this.incidentTypeIds, updateIncidentDataAttributes.incidentTypeIds) && Objects.equals(this.serviceIds, updateIncidentDataAttributes.serviceIds) && Objects.equals(this.functionalityIds, updateIncidentDataAttributes.functionalityIds) && + Objects.equals(this.mutedServiceIds, updateIncidentDataAttributes.mutedServiceIds) && Objects.equals(this.groupIds, updateIncidentDataAttributes.groupIds) && Objects.equals(this.causeIds, updateIncidentDataAttributes.causeIds) && Objects.equals(this.labels, updateIncidentDataAttributes.labels) && Objects.equals(this.slackChannelId, updateIncidentDataAttributes.slackChannelId) && Objects.equals(this.slackChannelName, updateIncidentDataAttributes.slackChannelName) && Objects.equals(this.slackChannelUrl, updateIncidentDataAttributes.slackChannelUrl) && + Objects.equals(this.slackChannelArchived, updateIncidentDataAttributes.slackChannelArchived) && + Objects.equals(this.googleDriveParentId, updateIncidentDataAttributes.googleDriveParentId) && + Objects.equals(this.googleDriveUrl, updateIncidentDataAttributes.googleDriveUrl) && + Objects.equals(this.jiraIssueKey, updateIncidentDataAttributes.jiraIssueKey) && + Objects.equals(this.jiraIssueId, updateIncidentDataAttributes.jiraIssueId) && + Objects.equals(this.jiraIssueUrl, updateIncidentDataAttributes.jiraIssueUrl) && Objects.equals(this.scheduledFor, updateIncidentDataAttributes.scheduledFor) && Objects.equals(this.scheduledUntil, updateIncidentDataAttributes.scheduledUntil) && Objects.equals(this.inTriageAt, updateIncidentDataAttributes.inTriageAt) && @@ -922,7 +1261,11 @@ public boolean equals(Object o) { Objects.equals(this.acknowledgedAt, updateIncidentDataAttributes.acknowledgedAt) && Objects.equals(this.mitigatedAt, updateIncidentDataAttributes.mitigatedAt) && Objects.equals(this.resolvedAt, updateIncidentDataAttributes.resolvedAt) && - Objects.equals(this.cancelledAt, updateIncidentDataAttributes.cancelledAt); + Objects.equals(this.closedAt, updateIncidentDataAttributes.closedAt) && + Objects.equals(this.cancelledAt, updateIncidentDataAttributes.cancelledAt) && + Objects.equals(this.mitigationMessage, updateIncidentDataAttributes.mitigationMessage) && + Objects.equals(this.resolutionMessage, updateIncidentDataAttributes.resolutionMessage) && + Objects.equals(this.cancellationMessage, updateIncidentDataAttributes.cancellationMessage); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -931,7 +1274,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, kind, parentIncidentId, duplicateIncidentId, summary, status, _private, severityId, environmentIds, incidentTypeIds, serviceIds, functionalityIds, groupIds, causeIds, labels, slackChannelId, slackChannelName, slackChannelUrl, scheduledFor, scheduledUntil, inTriageAt, startedAt, detectedAt, acknowledgedAt, mitigatedAt, resolvedAt, cancelledAt); + 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); } private static int hashCodeNullable(JsonNullable a) { @@ -953,16 +1296,25 @@ public String toString() { sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" _private: ").append(toIndentedString(_private)).append("\n"); sb.append(" severityId: ").append(toIndentedString(severityId)).append("\n"); + sb.append(" publicTitle: ").append(toIndentedString(publicTitle)).append("\n"); + sb.append(" alertIds: ").append(toIndentedString(alertIds)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" incidentTypeIds: ").append(toIndentedString(incidentTypeIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); sb.append(" functionalityIds: ").append(toIndentedString(functionalityIds)).append("\n"); + sb.append(" mutedServiceIds: ").append(toIndentedString(mutedServiceIds)).append("\n"); sb.append(" groupIds: ").append(toIndentedString(groupIds)).append("\n"); sb.append(" causeIds: ").append(toIndentedString(causeIds)).append("\n"); sb.append(" labels: ").append(toIndentedString(labels)).append("\n"); sb.append(" slackChannelId: ").append(toIndentedString(slackChannelId)).append("\n"); sb.append(" slackChannelName: ").append(toIndentedString(slackChannelName)).append("\n"); sb.append(" slackChannelUrl: ").append(toIndentedString(slackChannelUrl)).append("\n"); + sb.append(" slackChannelArchived: ").append(toIndentedString(slackChannelArchived)).append("\n"); + sb.append(" googleDriveParentId: ").append(toIndentedString(googleDriveParentId)).append("\n"); + sb.append(" googleDriveUrl: ").append(toIndentedString(googleDriveUrl)).append("\n"); + 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(" scheduledFor: ").append(toIndentedString(scheduledFor)).append("\n"); sb.append(" scheduledUntil: ").append(toIndentedString(scheduledUntil)).append("\n"); sb.append(" inTriageAt: ").append(toIndentedString(inTriageAt)).append("\n"); @@ -971,7 +1323,11 @@ public String toString() { sb.append(" acknowledgedAt: ").append(toIndentedString(acknowledgedAt)).append("\n"); sb.append(" mitigatedAt: ").append(toIndentedString(mitigatedAt)).append("\n"); sb.append(" resolvedAt: ").append(toIndentedString(resolvedAt)).append("\n"); + sb.append(" closedAt: ").append(toIndentedString(closedAt)).append("\n"); sb.append(" cancelledAt: ").append(toIndentedString(cancelledAt)).append("\n"); + sb.append(" mitigationMessage: ").append(toIndentedString(mitigationMessage)).append("\n"); + sb.append(" resolutionMessage: ").append(toIndentedString(resolutionMessage)).append("\n"); + sb.append(" cancellationMessage: ").append(toIndentedString(cancellationMessage)).append("\n"); sb.append("}"); return sb.toString(); } @@ -1002,16 +1358,25 @@ private String toIndentedString(Object o) { openapiFields.add("status"); openapiFields.add("private"); openapiFields.add("severity_id"); + openapiFields.add("public_title"); + openapiFields.add("alert_ids"); openapiFields.add("environment_ids"); openapiFields.add("incident_type_ids"); openapiFields.add("service_ids"); openapiFields.add("functionality_ids"); + openapiFields.add("muted_service_ids"); openapiFields.add("group_ids"); openapiFields.add("cause_ids"); openapiFields.add("labels"); openapiFields.add("slack_channel_id"); openapiFields.add("slack_channel_name"); openapiFields.add("slack_channel_url"); + openapiFields.add("slack_channel_archived"); + openapiFields.add("google_drive_parent_id"); + openapiFields.add("google_drive_url"); + openapiFields.add("jira_issue_key"); + openapiFields.add("jira_issue_id"); + openapiFields.add("jira_issue_url"); openapiFields.add("scheduled_for"); openapiFields.add("scheduled_until"); openapiFields.add("in_triage_at"); @@ -1020,7 +1385,11 @@ private String toIndentedString(Object o) { openapiFields.add("acknowledged_at"); openapiFields.add("mitigated_at"); openapiFields.add("resolved_at"); + openapiFields.add("closed_at"); openapiFields.add("cancelled_at"); + openapiFields.add("mitigation_message"); + openapiFields.add("resolution_message"); + openapiFields.add("cancellation_message"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -1076,6 +1445,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("severity_id") != null && !jsonObj.get("severity_id").isJsonNull()) && !jsonObj.get("severity_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `severity_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("severity_id").toString())); } + if ((jsonObj.get("public_title") != null && !jsonObj.get("public_title").isJsonNull()) && !jsonObj.get("public_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `public_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("public_title").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_ids") != null && !jsonObj.get("alert_ids").isJsonNull() && !jsonObj.get("alert_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_ids` to be an array in the JSON string but got `%s`", jsonObj.get("alert_ids").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())); @@ -1093,6 +1469,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("muted_service_ids") != null && !jsonObj.get("muted_service_ids").isJsonNull() && !jsonObj.get("muted_service_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `muted_service_ids` to be an array in the JSON string but got `%s`", jsonObj.get("muted_service_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())); } @@ -1109,6 +1489,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("slack_channel_url") != null && !jsonObj.get("slack_channel_url").isJsonNull()) && !jsonObj.get("slack_channel_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `slack_channel_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("slack_channel_url").toString())); } + if ((jsonObj.get("google_drive_parent_id") != null && !jsonObj.get("google_drive_parent_id").isJsonNull()) && !jsonObj.get("google_drive_parent_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_parent_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_parent_id").toString())); + } + if ((jsonObj.get("google_drive_url") != null && !jsonObj.get("google_drive_url").isJsonNull()) && !jsonObj.get("google_drive_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `google_drive_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("google_drive_url").toString())); + } + if ((jsonObj.get("jira_issue_key") != null && !jsonObj.get("jira_issue_key").isJsonNull()) && !jsonObj.get("jira_issue_key").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_key` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_key").toString())); + } + if ((jsonObj.get("jira_issue_id") != null && !jsonObj.get("jira_issue_id").isJsonNull()) && !jsonObj.get("jira_issue_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `jira_issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("jira_issue_id").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())); + } 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())); } @@ -1133,9 +1528,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("resolved_at") != null && !jsonObj.get("resolved_at").isJsonNull()) && !jsonObj.get("resolved_at").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `resolved_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("resolved_at").toString())); } + if ((jsonObj.get("closed_at") != null && !jsonObj.get("closed_at").isJsonNull()) && !jsonObj.get("closed_at").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `closed_at` to be a primitive type in the JSON string but got `%s`", jsonObj.get("closed_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())); } + if ((jsonObj.get("mitigation_message") != null && !jsonObj.get("mitigation_message").isJsonNull()) && !jsonObj.get("mitigation_message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `mitigation_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("mitigation_message").toString())); + } + 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())); + } + if ((jsonObj.get("cancellation_message") != null && !jsonObj.get("cancellation_message").isJsonNull()) && !jsonObj.get("cancellation_message").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `cancellation_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("cancellation_message").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java b/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java index 6eea0c63..4b517993 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5bac3557..f27acce4 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java index e0e12833..be4c9bc9 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateIncidentEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3de25b43..0345dea6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionality.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEventFunctionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 545a7341..173addb3 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEventFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java index cd437c33..02306d06 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateIncidentEventFunctionalityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 52baee85..dfa47e9b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventService.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEventService */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c08d1872..7c1f0fef 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentEventServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java index 4a78967c..289c4197 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateIncidentEventServiceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8770c2a1..9b261c66 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedback.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentFeedback */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 92a25307..805033df 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentFeedbackData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFeedbackData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java index 9c17cec1..c03b3d1e 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateIncidentFeedbackDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 96f6b80c..152d0b3e 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentFormFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 680a48cd..a4b583ad 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentFormFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java index c213adcc..f36d7b3a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentFormFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelectionDataAttributes { public static final String SERIALIZED_NAME_VALUE = "value"; @SerializedName(SERIALIZED_NAME_VALUE) @@ -88,6 +88,21 @@ public class UpdateIncidentFormFieldSelectionDataAttributes { @javax.annotation.Nullable private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public UpdateIncidentFormFieldSelectionDataAttributes() { } @@ -272,6 +287,87 @@ public void setSelectedUserIds(@javax.annotation.Nullable List selected } + public UpdateIncidentFormFieldSelectionDataAttributes selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public UpdateIncidentFormFieldSelectionDataAttributes addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public UpdateIncidentFormFieldSelectionDataAttributes selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public UpdateIncidentFormFieldSelectionDataAttributes addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public UpdateIncidentFormFieldSelectionDataAttributes selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public UpdateIncidentFormFieldSelectionDataAttributes addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -288,7 +384,10 @@ public boolean equals(Object o) { Objects.equals(this.selectedOptionIds, updateIncidentFormFieldSelectionDataAttributes.selectedOptionIds) && Objects.equals(this.selectedServiceIds, updateIncidentFormFieldSelectionDataAttributes.selectedServiceIds) && Objects.equals(this.selectedFunctionalityIds, updateIncidentFormFieldSelectionDataAttributes.selectedFunctionalityIds) && - Objects.equals(this.selectedUserIds, updateIncidentFormFieldSelectionDataAttributes.selectedUserIds); + Objects.equals(this.selectedUserIds, updateIncidentFormFieldSelectionDataAttributes.selectedUserIds) && + Objects.equals(this.selectedEnvironmentIds, updateIncidentFormFieldSelectionDataAttributes.selectedEnvironmentIds) && + Objects.equals(this.selectedCauseIds, updateIncidentFormFieldSelectionDataAttributes.selectedCauseIds) && + Objects.equals(this.selectedIncidentTypeIds, updateIncidentFormFieldSelectionDataAttributes.selectedIncidentTypeIds); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -297,7 +396,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds); + return Objects.hash(value, selectedCatalogEntityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedFunctionalityIds, selectedUserIds, selectedEnvironmentIds, selectedCauseIds, selectedIncidentTypeIds); } private static int hashCodeNullable(JsonNullable a) { @@ -318,6 +417,9 @@ public String toString() { sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedFunctionalityIds: ").append(toIndentedString(selectedFunctionalityIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -347,6 +449,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_service_ids"); openapiFields.add("selected_functionality_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -400,6 +505,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("selected_user_ids") != null && !jsonObj.get("selected_user_ids").isJsonNull() && !jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java index 90403cca..65b63493 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSet.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSet */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 30b42016..f14c9c2b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBoolean.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBoolean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8536854a..a05c7760 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBooleanData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBooleanData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java index 151d064f..1ee8d956 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBooleanDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b7d63dfe..a029320c 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentPermissionSetBooleanDataAttributesSeverityParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4b013e92..99a9fd86 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java index 0fc63160..30d4561b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,18 +51,13 @@ /** * UpdateIncidentPermissionSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -212,25 +207,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateIncidentPermissionSetDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The incident permission set slug. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateIncidentPermissionSetDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -315,7 +291,6 @@ public boolean equals(Object o) { } UpdateIncidentPermissionSetDataAttributes updateIncidentPermissionSetDataAttributes = (UpdateIncidentPermissionSetDataAttributes) o; return Objects.equals(this.name, updateIncidentPermissionSetDataAttributes.name) && - Objects.equals(this.slug, updateIncidentPermissionSetDataAttributes.slug) && Objects.equals(this.description, updateIncidentPermissionSetDataAttributes.description) && Objects.equals(this.privateIncidentPermissions, updateIncidentPermissionSetDataAttributes.privateIncidentPermissions) && Objects.equals(this.publicIncidentPermissions, updateIncidentPermissionSetDataAttributes.publicIncidentPermissions); @@ -327,7 +302,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, privateIncidentPermissions, publicIncidentPermissions); + return Objects.hash(name, description, privateIncidentPermissions, publicIncidentPermissions); } private static int hashCodeNullable(JsonNullable a) { @@ -342,7 +317,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateIncidentPermissionSetDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" privateIncidentPermissions: ").append(toIndentedString(privateIncidentPermissions)).append("\n"); sb.append(" publicIncidentPermissions: ").append(toIndentedString(publicIncidentPermissions)).append("\n"); @@ -369,7 +343,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("private_incident_permissions"); openapiFields.add("public_incident_permissions"); @@ -402,9 +375,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java index 68ddd62d..0e502ae3 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3e1fcf0e..c1874dda 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetResourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java index 7287a49c..5b9685c6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResourceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a8ad5828..500a0e3c 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortem.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPostMortem */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f26d8aae..7f0adf6b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPostMortemData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java index 96d051e1..fb42349d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentPostMortemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -487,7 +487,7 @@ public UpdateIncidentPostMortemDataAttributes addCauseIdsItem(String causeIdsIte } /** - * The Cause ID's to attach to the incident retrospective + * The Cause IDs to attach to the incident retrospective * @return causeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java index d39e80fb..d933a512 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentPostmortemTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6745b4ac..293c5512 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 97c671c1..9b07f419 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRetrospectiveStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java index 1bc7b8ac..7cb581eb 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStepDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 0643e3be..400d1600 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRole.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ebce4a58..a29c7f85 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java index 3abc5a86..1b378430 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java index 2b1fd6aa..ced80125 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f9b36b83..ad420d0d 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java index 31709bd3..e073b641 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 47777030..c050d262 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEvent.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8a96826b..d025fff6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java index 2d054aac..aa10baf8 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) @@ -78,8 +78,6 @@ public enum StatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java index 5d120451..98033e6a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateIncidentStatusTimestampTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c616f554..ca14ad03 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 fed0d7cf..ac7c3814 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java index 39ddfe31..53538a00 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatusDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 cdd6ff32..878d3dac 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTaskParams { /** * Gets or Sets taskType @@ -463,7 +463,7 @@ public UpdateIncidentTaskParams addServiceIdsItem(String serviceIdsItem) { } /** - * Get serviceIds + * Array of service UUIDs * @return serviceIds */ @javax.annotation.Nullable @@ -490,7 +490,7 @@ public UpdateIncidentTaskParams addFunctionalityIdsItem(String functionalityIdsI } /** - * Get functionalityIds + * Array of functionality UUIDs * @return functionalityIds */ @javax.annotation.Nullable @@ -544,7 +544,7 @@ public UpdateIncidentTaskParams addGroupIdsItem(String groupIdsItem) { } /** - * Get groupIds + * Array of group/team UUIDs * @return groupIds */ @javax.annotation.Nullable @@ -677,7 +677,7 @@ public UpdateIncidentTaskParams customFieldsMapping(@javax.annotation.Nullable S } /** - * Custom field mappings. Can contain liquid markup and need to be valid JSON + * Custom field mappings. Can contain liquid markup and need to be valid JSON. Use 'services', 'functionalities', or 'groups' keys with arrays of names/slugs for name/slug lookup * @return customFieldsMapping */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentType.java b/src/main/java/com/rootly/client/model/UpdateIncidentType.java index a35aa217..7a0ea163 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentType.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentType.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentType */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1c4ce59b..be672e03 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateIncidentTypeData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java index 01ba2425..35457756 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -53,7 +54,7 @@ /** * UpdateIncidentTypeDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -90,6 +91,11 @@ public class UpdateIncidentTypeDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateIncidentTypeDataAttributes() { } @@ -250,6 +256,33 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateIncidentTypeDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this incident type. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -266,7 +299,8 @@ public boolean equals(Object o) { Objects.equals(this.position, updateIncidentTypeDataAttributes.position) && Objects.equals(this.notifyEmails, updateIncidentTypeDataAttributes.notifyEmails) && Objects.equals(this.slackChannels, updateIncidentTypeDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, updateIncidentTypeDataAttributes.slackAliases); + Objects.equals(this.slackAliases, updateIncidentTypeDataAttributes.slackAliases) && + Objects.equals(this.properties, updateIncidentTypeDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -275,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases); + return Objects.hash(name, description, color, position, notifyEmails, slackChannels, slackAliases, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -296,6 +330,7 @@ public String toString() { sb.append(" notifyEmails: ").append(toIndentedString(notifyEmails)).append("\n"); sb.append(" slackChannels: ").append(toIndentedString(slackChannels)).append("\n"); sb.append(" slackAliases: ").append(toIndentedString(slackAliases)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -325,6 +360,7 @@ private String toIndentedString(Object o) { openapiFields.add("notify_emails"); openapiFields.add("slack_channels"); openapiFields.add("slack_aliases"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -392,6 +428,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + 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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java index 7b45daca..74c6b26b 100644 --- a/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraIssueTaskParamsStatus; import java.io.IOException; @@ -51,7 +52,7 @@ /** * UpdateJiraIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateJiraIssueTaskParams { /** * Gets or Sets taskType @@ -108,6 +109,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private TaskTypeEnum taskType; + public static final String SERIALIZED_NAME_INTEGRATION = "integration"; + @SerializedName(SERIALIZED_NAME_INTEGRATION) + @javax.annotation.Nullable + private CreateJiraIssueTaskParamsIntegration integration; + public static final String SERIALIZED_NAME_ISSUE_ID = "issue_id"; @SerializedName(SERIALIZED_NAME_ISSUE_ID) @javax.annotation.Nonnull @@ -190,6 +196,25 @@ public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { } + public UpdateJiraIssueTaskParams integration(@javax.annotation.Nullable CreateJiraIssueTaskParamsIntegration integration) { + this.integration = integration; + return this; + } + + /** + * Get integration + * @return integration + */ + @javax.annotation.Nullable + public CreateJiraIssueTaskParamsIntegration getIntegration() { + return integration; + } + + public void setIntegration(@javax.annotation.Nullable CreateJiraIssueTaskParamsIntegration integration) { + this.integration = integration; + } + + public UpdateJiraIssueTaskParams issueId(@javax.annotation.Nonnull String issueId) { this.issueId = issueId; return this; @@ -429,6 +454,7 @@ public boolean equals(Object o) { } UpdateJiraIssueTaskParams updateJiraIssueTaskParams = (UpdateJiraIssueTaskParams) o; return Objects.equals(this.taskType, updateJiraIssueTaskParams.taskType) && + Objects.equals(this.integration, updateJiraIssueTaskParams.integration) && Objects.equals(this.issueId, updateJiraIssueTaskParams.issueId) && Objects.equals(this.title, updateJiraIssueTaskParams.title) && Objects.equals(this.description, updateJiraIssueTaskParams.description) && @@ -449,7 +475,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(taskType, issueId, title, description, labels, assignUserEmail, reporterUserEmail, projectKey, dueDate, priority, status, customFieldsMapping, updatePayload); + return Objects.hash(taskType, integration, issueId, title, description, labels, assignUserEmail, reporterUserEmail, projectKey, dueDate, priority, status, customFieldsMapping, updatePayload); } private static int hashCodeNullable(JsonNullable a) { @@ -464,6 +490,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateJiraIssueTaskParams {\n"); sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" integration: ").append(toIndentedString(integration)).append("\n"); sb.append(" issueId: ").append(toIndentedString(issueId)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); @@ -499,6 +526,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("task_type"); + openapiFields.add("integration"); openapiFields.add("issue_id"); openapiFields.add("title"); openapiFields.add("description"); @@ -553,6 +581,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("task_type") != null && !jsonObj.get("task_type").isJsonNull()) { TaskTypeEnum.validateJsonElement(jsonObj.get("task_type")); } + // validate the optional field `integration` + if (jsonObj.get("integration") != null && !jsonObj.get("integration").isJsonNull()) { + CreateJiraIssueTaskParamsIntegration.validateJsonElement(jsonObj.get("integration")); + } if (!jsonObj.get("issue_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `issue_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("issue_id").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java index a48bb134..88ca580b 100644 --- a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -22,11 +22,12 @@ import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; 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; @@ -54,7 +55,7 @@ /** * UpdateLinearIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLinearIssueTaskParams { /** * Gets or Sets taskType @@ -129,7 +130,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public static final String SERIALIZED_NAME_STATE = "state"; @SerializedName(SERIALIZED_NAME_STATE) @javax.annotation.Nullable - private CreateLinearIssueTaskParamsState state; + private UpdateLinearIssueTaskParamsState state; public static final String SERIALIZED_NAME_PROJECT = "project"; @SerializedName(SERIALIZED_NAME_PROJECT) @@ -230,7 +231,7 @@ public void setDescription(@javax.annotation.Nullable String description) { } - public UpdateLinearIssueTaskParams state(@javax.annotation.Nullable CreateLinearIssueTaskParamsState state) { + public UpdateLinearIssueTaskParams state(@javax.annotation.Nullable UpdateLinearIssueTaskParamsState state) { this.state = state; return this; } @@ -240,11 +241,11 @@ public UpdateLinearIssueTaskParams state(@javax.annotation.Nullable CreateLinear * @return state */ @javax.annotation.Nullable - public CreateLinearIssueTaskParamsState getState() { + public UpdateLinearIssueTaskParamsState getState() { return state; } - public void setState(@javax.annotation.Nullable CreateLinearIssueTaskParamsState state) { + public void setState(@javax.annotation.Nullable UpdateLinearIssueTaskParamsState state) { this.state = state; } @@ -354,11 +355,22 @@ public boolean equals(Object o) { Objects.equals(this.assignUserEmail, updateLinearIssueTaskParams.assignUserEmail); } + 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, issueId, title, description, state, project, labels, priority, assignUserEmail); } + 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(); @@ -455,7 +467,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } // validate the optional field `state` if (jsonObj.get("state") != null && !jsonObj.get("state").isJsonNull()) { - CreateLinearIssueTaskParamsState.validateJsonElement(jsonObj.get("state")); + UpdateLinearIssueTaskParamsState.validateJsonElement(jsonObj.get("state")); } // validate the optional field `project` if (jsonObj.get("project") != null && !jsonObj.get("project").isJsonNull()) { diff --git a/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.java new file mode 100644 index 00000000..35d2e5e6 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateLinearIssueTaskParamsState.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; + +/** + * The state id and display name + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateLinearIssueTaskParamsState { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nullable + private String id; + + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public UpdateLinearIssueTaskParamsState() { + } + + public UpdateLinearIssueTaskParamsState id(@javax.annotation.Nullable String id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @javax.annotation.Nullable + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nullable String id) { + this.id = id; + } + + + public UpdateLinearIssueTaskParamsState name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * Get name + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateLinearIssueTaskParamsState updateLinearIssueTaskParamsState = (UpdateLinearIssueTaskParamsState) o; + return Objects.equals(this.id, updateLinearIssueTaskParamsState.id) && + Objects.equals(this.name, updateLinearIssueTaskParamsState.name); + } + + @Override + public int hashCode() { + return Objects.hash(id, name); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateLinearIssueTaskParamsState {\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(); + } + + /** + * 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 UpdateLinearIssueTaskParamsState + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateLinearIssueTaskParamsState.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateLinearIssueTaskParamsState is not found in the empty JSON string", UpdateLinearIssueTaskParamsState.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateLinearIssueTaskParamsState.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateLinearIssueTaskParamsState` 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("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())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateLinearIssueTaskParamsState.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateLinearIssueTaskParamsState' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateLinearIssueTaskParamsState.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateLinearIssueTaskParamsState value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateLinearIssueTaskParamsState read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateLinearIssueTaskParamsState given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateLinearIssueTaskParamsState + * @throws IOException if the JSON string is invalid with respect to UpdateLinearIssueTaskParamsState + */ + public static UpdateLinearIssueTaskParamsState fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateLinearIssueTaskParamsState.class); + } + + /** + * Convert an instance of UpdateLinearIssueTaskParamsState 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/UpdateLiveCallRouter.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java index 96553acf..9d27ffe9 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouter.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateLiveCallRouter */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 55bea0fd..922dbbd8 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateLiveCallRouterData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java index a13b8e52..094073a1 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,10 +19,12 @@ 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 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; @@ -50,7 +52,7 @@ /** * UpdateLiveCallRouterDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterDataAttributes { /** * The kind of the live_call_router @@ -124,15 +126,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti */ @JsonAdapter(CountryCodeEnum.Adapter.class) public enum CountryCodeEnum { - US("US"), + AU("AU"), - GB("GB"), + CA("CA"), + + DE("DE"), + + NL("NL"), NZ("NZ"), - CA("CA"), + SE("SE"), + + GB("GB"), - AU("AU"); + US("US"); private String value; @@ -189,7 +197,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum PhoneTypeEnum { LOCAL("local"), - TOLL_FREE("toll_free"); + TOLL_FREE("toll_free"), + + MOBILE("mobile"); private String value; @@ -249,10 +259,72 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String callerGreeting; + /** + * The waiting music URL of the live_call_router + */ + @JsonAdapter(WaitingMusicUrlEnum.Adapter.class) + public enum WaitingMusicUrlEnum { + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_CLOCKWORK_WALTZ_MP3("https://storage.rootly.com/twilio/voicemail/ClockworkWaltz.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_BRAHMS_116_4_MP3("https://storage.rootly.com/twilio/voicemail/ith_brahms-116-4.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MELLOTRONIAC___FLIGHT_OF_YOUNG_HEARTS_FLUTE_MP3("https://storage.rootly.com/twilio/voicemail/Mellotroniac_-_Flight_Of_Young_Hearts_Flute.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_BUSY_STRINGS_MP3("https://storage.rootly.com/twilio/voicemail/BusyStrings.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_OLD_DOG___ENDLESS_GOODBYE__28INSTR_29_MP3("https://storage.rootly.com/twilio/voicemail/oldDog_-_endless_goodbye_%28instr.%29.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_MARKOVICHAMP_BORGHESTRAL_MP3("https://storage.rootly.com/twilio/voicemail/MARKOVICHAMP-Borghestral.mp3"), + + HTTPS_STORAGE_ROOTLY_COM_TWILIO_VOICEMAIL_ITH_CHOPIN_15_2_MP3("https://storage.rootly.com/twilio/voicemail/ith_chopin-15-2.mp3"); + + private String value; + + WaitingMusicUrlEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static WaitingMusicUrlEnum fromValue(String value) { + for (WaitingMusicUrlEnum b : WaitingMusicUrlEnum.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 WaitingMusicUrlEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public WaitingMusicUrlEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return WaitingMusicUrlEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + WaitingMusicUrlEnum.fromValue(value); + } + } + public static final String SERIALIZED_NAME_WAITING_MUSIC_URL = "waiting_music_url"; @SerializedName(SERIALIZED_NAME_WAITING_MUSIC_URL) @javax.annotation.Nullable - private String waitingMusicUrl; + private WaitingMusicUrlEnum waitingMusicUrl; public static final String SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY = "sent_to_voicemail_delay"; @SerializedName(SERIALIZED_NAME_SENT_TO_VOICEMAIL_DELAY) @@ -279,6 +351,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_CALLING_TREE_ENABLED = "calling_tree_enabled"; + @SerializedName(SERIALIZED_NAME_CALLING_TREE_ENABLED) + @javax.annotation.Nullable + private Boolean callingTreeEnabled; + + public static final String SERIALIZED_NAME_CALLING_TREE_PROMPT = "calling_tree_prompt"; + @SerializedName(SERIALIZED_NAME_CALLING_TREE_PROMPT) + @javax.annotation.Nullable + private String callingTreePrompt; + + public static final String SERIALIZED_NAME_PAGING_TARGETS = "paging_targets"; + @SerializedName(SERIALIZED_NAME_PAGING_TARGETS) + @javax.annotation.Nullable + 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) @javax.annotation.Nullable @@ -420,7 +507,7 @@ public void setCallerGreeting(@javax.annotation.Nullable String callerGreeting) } - public UpdateLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public UpdateLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; return this; } @@ -430,11 +517,11 @@ public UpdateLiveCallRouterDataAttributes waitingMusicUrl(@javax.annotation.Null * @return waitingMusicUrl */ @javax.annotation.Nullable - public String getWaitingMusicUrl() { + public WaitingMusicUrlEnum getWaitingMusicUrl() { return waitingMusicUrl; } - public void setWaitingMusicUrl(@javax.annotation.Nullable String waitingMusicUrl) { + public void setWaitingMusicUrl(@javax.annotation.Nullable WaitingMusicUrlEnum waitingMusicUrl) { this.waitingMusicUrl = waitingMusicUrl; } @@ -534,6 +621,71 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public UpdateLiveCallRouterDataAttributes callingTreeEnabled(@javax.annotation.Nullable Boolean callingTreeEnabled) { + this.callingTreeEnabled = callingTreeEnabled; + return this; + } + + /** + * Whether the live call router is configured as a phone tree, requiring callers to press a key before being connected + * @return callingTreeEnabled + */ + @javax.annotation.Nullable + public Boolean getCallingTreeEnabled() { + return callingTreeEnabled; + } + + public void setCallingTreeEnabled(@javax.annotation.Nullable Boolean callingTreeEnabled) { + this.callingTreeEnabled = callingTreeEnabled; + } + + + public UpdateLiveCallRouterDataAttributes callingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + return this; + } + + /** + * The audio instructions callers will hear when they call this number, prompting them to select from available options to route their call + * @return callingTreePrompt + */ + @javax.annotation.Nullable + public String getCallingTreePrompt() { + return callingTreePrompt; + } + + public void setCallingTreePrompt(@javax.annotation.Nullable String callingTreePrompt) { + this.callingTreePrompt = callingTreePrompt; + } + + + public UpdateLiveCallRouterDataAttributes pagingTargets(@javax.annotation.Nullable List pagingTargets) { + this.pagingTargets = pagingTargets; + return this; + } + + public UpdateLiveCallRouterDataAttributes addPagingTargetsItem(NewLiveCallRouterDataAttributesPagingTargetsInner pagingTargetsItem) { + if (this.pagingTargets == null) { + this.pagingTargets = new ArrayList<>(); + } + this.pagingTargets.add(pagingTargetsItem); + return this; + } + + /** + * Paging targets that callers can select from when this live call router is configured as a phone tree. + * @return pagingTargets + */ + @javax.annotation.Nullable + public List getPagingTargets() { + return pagingTargets; + } + + public void setPagingTargets(@javax.annotation.Nullable List pagingTargets) { + this.pagingTargets = pagingTargets; + } + + public UpdateLiveCallRouterDataAttributes escalationPolicyTriggerParams(@javax.annotation.Nullable UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams escalationPolicyTriggerParams) { this.escalationPolicyTriggerParams = escalationPolicyTriggerParams; return this; @@ -576,23 +728,15 @@ public boolean equals(Object o) { Objects.equals(this.escalationLevelDelayInSeconds, updateLiveCallRouterDataAttributes.escalationLevelDelayInSeconds) && Objects.equals(this.shouldAutoResolveAlertOnCallEnd, updateLiveCallRouterDataAttributes.shouldAutoResolveAlertOnCallEnd) && Objects.equals(this.alertUrgencyId, updateLiveCallRouterDataAttributes.alertUrgencyId) && + Objects.equals(this.callingTreeEnabled, updateLiveCallRouterDataAttributes.callingTreeEnabled) && + Objects.equals(this.callingTreePrompt, updateLiveCallRouterDataAttributes.callingTreePrompt) && + Objects.equals(this.pagingTargets, updateLiveCallRouterDataAttributes.pagingTargets) && Objects.equals(this.escalationPolicyTriggerParams, updateLiveCallRouterDataAttributes.escalationPolicyTriggerParams); } - 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(kind, enabled, name, countryCode, phoneType, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, escalationPolicyTriggerParams); - } - - private static int hashCodeNullable(JsonNullable a) { - if (a == null) { - return 1; - } - return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; + return Objects.hash(kind, enabled, name, countryCode, phoneType, voicemailGreeting, callerGreeting, waitingMusicUrl, sentToVoicemailDelay, shouldRedirectToVoicemailOnNoAnswer, escalationLevelDelayInSeconds, shouldAutoResolveAlertOnCallEnd, alertUrgencyId, callingTreeEnabled, callingTreePrompt, pagingTargets, escalationPolicyTriggerParams); } @Override @@ -612,6 +756,9 @@ public String toString() { sb.append(" escalationLevelDelayInSeconds: ").append(toIndentedString(escalationLevelDelayInSeconds)).append("\n"); sb.append(" shouldAutoResolveAlertOnCallEnd: ").append(toIndentedString(shouldAutoResolveAlertOnCallEnd)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" callingTreeEnabled: ").append(toIndentedString(callingTreeEnabled)).append("\n"); + sb.append(" callingTreePrompt: ").append(toIndentedString(callingTreePrompt)).append("\n"); + sb.append(" pagingTargets: ").append(toIndentedString(pagingTargets)).append("\n"); sb.append(" escalationPolicyTriggerParams: ").append(toIndentedString(escalationPolicyTriggerParams)).append("\n"); sb.append("}"); return sb.toString(); @@ -648,6 +795,9 @@ private String toIndentedString(Object o) { openapiFields.add("escalation_level_delay_in_seconds"); openapiFields.add("should_auto_resolve_alert_on_call_end"); openapiFields.add("alert_urgency_id"); + openapiFields.add("calling_tree_enabled"); + openapiFields.add("calling_tree_prompt"); + openapiFields.add("paging_targets"); openapiFields.add("escalation_policy_trigger_params"); // a set of required properties/fields (JSON key names) @@ -708,9 +858,30 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) && !jsonObj.get("waiting_music_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `waiting_music_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("waiting_music_url").toString())); } + // validate the optional field `waiting_music_url` + if (jsonObj.get("waiting_music_url") != null && !jsonObj.get("waiting_music_url").isJsonNull()) { + WaitingMusicUrlEnum.validateJsonElement(jsonObj.get("waiting_music_url")); + } 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("calling_tree_prompt") != null && !jsonObj.get("calling_tree_prompt").isJsonNull()) && !jsonObj.get("calling_tree_prompt").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `calling_tree_prompt` to be a primitive type in the JSON string but got `%s`", jsonObj.get("calling_tree_prompt").toString())); + } + if (jsonObj.get("paging_targets") != null && !jsonObj.get("paging_targets").isJsonNull()) { + JsonArray jsonArraypagingTargets = jsonObj.getAsJsonArray("paging_targets"); + if (jsonArraypagingTargets != null) { + // ensure the json data is an array + if (!jsonObj.get("paging_targets").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_targets` to be an array in the JSON string but got `%s`", jsonObj.get("paging_targets").toString())); + } + + // validate the optional field `paging_targets` (array) + for (int i = 0; i < jsonArraypagingTargets.size(); i++) { + NewLiveCallRouterDataAttributesPagingTargetsInner.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")); diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java index ff7326c1..47020136 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) @@ -56,7 +56,7 @@ public class UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams { private String id; /** - * The type of the notification target + * 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 { @@ -64,7 +64,9 @@ public enum TypeEnum { GROUP("Group"), - ESCALATION_POLICY("EscalationPolicy"); + ESCALATION_POLICY("EscalationPolicy"), + + FUNCTIONALITY("Functionality"); private String value; @@ -142,7 +144,7 @@ public UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParams type(@jav } /** - * The type of the notification target + * The type of the notification target. Please contact support if you encounter issues using `Functionality` as a target type. * @return type */ @javax.annotation.Nonnull diff --git a/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java index 0b95cb78..9939494c 100644 --- a/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateMotionTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateMotionTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f617e093..a6a4682a 100644 --- a/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateNotionPageTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateNotionPageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateNotionPageTaskParams { /** * Gets or Sets taskType @@ -120,6 +120,11 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String postMortemTemplateId; + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + public static final String SERIALIZED_NAME_SHOW_TIMELINE_AS_TABLE = "show_timeline_as_table"; @SerializedName(SERIALIZED_NAME_SHOW_TIMELINE_AS_TABLE) @javax.annotation.Nullable @@ -209,6 +214,25 @@ public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortem } + public UpdateNotionPageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * Custom page content with liquid templating support. When provided, only this content will be rendered (no default sections) + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + public UpdateNotionPageTaskParams showTimelineAsTable(@javax.annotation.Nullable Boolean showTimelineAsTable) { this.showTimelineAsTable = showTimelineAsTable; return this; @@ -261,13 +285,14 @@ public boolean equals(Object o) { Objects.equals(this.fileId, updateNotionPageTaskParams.fileId) && Objects.equals(this.title, updateNotionPageTaskParams.title) && Objects.equals(this.postMortemTemplateId, updateNotionPageTaskParams.postMortemTemplateId) && + Objects.equals(this.content, updateNotionPageTaskParams.content) && Objects.equals(this.showTimelineAsTable, updateNotionPageTaskParams.showTimelineAsTable) && Objects.equals(this.showActionItemsAsTable, updateNotionPageTaskParams.showActionItemsAsTable); } @Override public int hashCode() { - return Objects.hash(taskType, fileId, title, postMortemTemplateId, showTimelineAsTable, showActionItemsAsTable); + return Objects.hash(taskType, fileId, title, postMortemTemplateId, content, showTimelineAsTable, showActionItemsAsTable); } @Override @@ -278,6 +303,7 @@ public String toString() { sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); sb.append(" showTimelineAsTable: ").append(toIndentedString(showTimelineAsTable)).append("\n"); sb.append(" showActionItemsAsTable: ").append(toIndentedString(showActionItemsAsTable)).append("\n"); sb.append("}"); @@ -306,6 +332,7 @@ private String toIndentedString(Object o) { openapiFields.add("file_id"); openapiFields.add("title"); openapiFields.add("post_mortem_template_id"); + openapiFields.add("content"); openapiFields.add("show_timeline_as_table"); openapiFields.add("show_action_items_as_table"); @@ -358,6 +385,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").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())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.java new file mode 100644 index 00000000..5999104a --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReport.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.UpdateOnCallPayReportData; +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; + +/** + * UpdateOnCallPayReport + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateOnCallPayReport { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateOnCallPayReportData data; + + public UpdateOnCallPayReport() { + } + + public UpdateOnCallPayReport data(@javax.annotation.Nonnull UpdateOnCallPayReportData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateOnCallPayReportData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateOnCallPayReportData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateOnCallPayReport updateOnCallPayReport = (UpdateOnCallPayReport) o; + return Objects.equals(this.data, updateOnCallPayReport.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateOnCallPayReport {\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 UpdateOnCallPayReport + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateOnCallPayReport.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateOnCallPayReport is not found in the empty JSON string", UpdateOnCallPayReport.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateOnCallPayReport.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateOnCallPayReport` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateOnCallPayReport.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` + UpdateOnCallPayReportData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateOnCallPayReport.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateOnCallPayReport' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateOnCallPayReport.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateOnCallPayReport value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateOnCallPayReport read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateOnCallPayReport given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateOnCallPayReport + * @throws IOException if the JSON string is invalid with respect to UpdateOnCallPayReport + */ + public static UpdateOnCallPayReport fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateOnCallPayReport.class); + } + + /** + * Convert an instance of UpdateOnCallPayReport 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/UpdateOnCallPayReportData.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java new file mode 100644 index 00000000..259b8a64 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.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.UpdateOnCallPayReportDataAttributes; +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; + +/** + * UpdateOnCallPayReportData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateOnCallPayReportData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + ON_CALL_PAY_REPORTS("on_call_pay_reports"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateOnCallPayReportDataAttributes attributes; + + public UpdateOnCallPayReportData() { + } + + public UpdateOnCallPayReportData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateOnCallPayReportData attributes(@javax.annotation.Nonnull UpdateOnCallPayReportDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateOnCallPayReportDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateOnCallPayReportDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateOnCallPayReportData updateOnCallPayReportData = (UpdateOnCallPayReportData) o; + return Objects.equals(this.type, updateOnCallPayReportData.type) && + Objects.equals(this.attributes, updateOnCallPayReportData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateOnCallPayReportData {\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 UpdateOnCallPayReportData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateOnCallPayReportData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateOnCallPayReportData is not found in the empty JSON string", UpdateOnCallPayReportData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateOnCallPayReportData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateOnCallPayReportData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateOnCallPayReportData.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` + UpdateOnCallPayReportDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateOnCallPayReportData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateOnCallPayReportData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateOnCallPayReportData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateOnCallPayReportData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateOnCallPayReportData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateOnCallPayReportData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateOnCallPayReportData + * @throws IOException if the JSON string is invalid with respect to UpdateOnCallPayReportData + */ + public static UpdateOnCallPayReportData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateOnCallPayReportData.class); + } + + /** + * Convert an instance of UpdateOnCallPayReportData 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/UpdateOnCallPayReportDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java new file mode 100644 index 00000000..dbfa1d41 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java @@ -0,0 +1,272 @@ +/* + * 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 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; + +/** + * UpdateOnCallPayReportDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private LocalDate startDate; + + public static final String SERIALIZED_NAME_END_DATE = "end_date"; + @SerializedName(SERIALIZED_NAME_END_DATE) + @javax.annotation.Nullable + private LocalDate endDate; + + public static final String SERIALIZED_NAME_SCHEDULE_IDS = "schedule_ids"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_IDS) + @javax.annotation.Nullable + private List scheduleIds = new ArrayList<>(); + + public UpdateOnCallPayReportDataAttributes() { + } + + public UpdateOnCallPayReportDataAttributes startDate(@javax.annotation.Nullable LocalDate startDate) { + this.startDate = startDate; + return this; + } + + /** + * The start date for the report period. + * @return startDate + */ + @javax.annotation.Nullable + public LocalDate getStartDate() { + return startDate; + } + + public void setStartDate(@javax.annotation.Nullable LocalDate startDate) { + this.startDate = startDate; + } + + + public UpdateOnCallPayReportDataAttributes endDate(@javax.annotation.Nullable LocalDate endDate) { + this.endDate = endDate; + return this; + } + + /** + * The end date for the report period. + * @return endDate + */ + @javax.annotation.Nullable + public LocalDate getEndDate() { + return endDate; + } + + public void setEndDate(@javax.annotation.Nullable LocalDate endDate) { + this.endDate = endDate; + } + + + public UpdateOnCallPayReportDataAttributes scheduleIds(@javax.annotation.Nullable List scheduleIds) { + this.scheduleIds = scheduleIds; + return this; + } + + public UpdateOnCallPayReportDataAttributes addScheduleIdsItem(String scheduleIdsItem) { + if (this.scheduleIds == null) { + this.scheduleIds = new ArrayList<>(); + } + this.scheduleIds.add(scheduleIdsItem); + return this; + } + + /** + * List of schedule UUIDs to scope the report. + * @return scheduleIds + */ + @javax.annotation.Nullable + public List getScheduleIds() { + return scheduleIds; + } + + public void setScheduleIds(@javax.annotation.Nullable List scheduleIds) { + this.scheduleIds = scheduleIds; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateOnCallPayReportDataAttributes updateOnCallPayReportDataAttributes = (UpdateOnCallPayReportDataAttributes) o; + return Objects.equals(this.startDate, updateOnCallPayReportDataAttributes.startDate) && + Objects.equals(this.endDate, updateOnCallPayReportDataAttributes.endDate) && + Objects.equals(this.scheduleIds, updateOnCallPayReportDataAttributes.scheduleIds); + } + + @Override + public int hashCode() { + return Objects.hash(startDate, endDate, scheduleIds); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateOnCallPayReportDataAttributes {\n"); + sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n"); + sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n"); + sb.append(" scheduleIds: ").append(toIndentedString(scheduleIds)).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_date"); + openapiFields.add("end_date"); + openapiFields.add("schedule_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 UpdateOnCallPayReportDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateOnCallPayReportDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateOnCallPayReportDataAttributes is not found in the empty JSON string", UpdateOnCallPayReportDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateOnCallPayReportDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateOnCallPayReportDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // ensure the optional json data is an array if present + if (jsonObj.get("schedule_ids") != null && !jsonObj.get("schedule_ids").isJsonNull() && !jsonObj.get("schedule_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_ids` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_ids").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateOnCallPayReportDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateOnCallPayReportDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateOnCallPayReportDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateOnCallPayReportDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateOnCallPayReportDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateOnCallPayReportDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateOnCallPayReportDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateOnCallPayReportDataAttributes + */ + public static UpdateOnCallPayReportDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateOnCallPayReportDataAttributes.class); + } + + /** + * Convert an instance of UpdateOnCallPayReportDataAttributes 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/UpdateOnCallRole.java b/src/main/java/com/rootly/client/model/UpdateOnCallRole.java index 8b176405..5f4fb79c 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRole.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOnCallRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bfed169c..92d2ccbf 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOnCallRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java index 50bd118f..25f482f5 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,18 +50,13 @@ /** * UpdateOnCallRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - /** * Gets or Sets systemRole */ @@ -73,6 +68,8 @@ public enum SystemRoleEnum { CUSTOM("custom"), + OBSERVER("observer"), + NO_ACCESS("no_access"); private String value; @@ -130,6 +127,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti public enum AlertSourcesPermissionsEnum { CREATE("create"), + READ("read"), + UPDATE("update"), DELETE("delete"); @@ -243,6 +242,305 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List alertUrgencyPermissions = new ArrayList<>(); + /** + * Gets or Sets alertFieldsPermissions + */ + @JsonAdapter(AlertFieldsPermissionsEnum.Adapter.class) + public enum AlertFieldsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertFieldsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertFieldsPermissionsEnum fromValue(String value) { + for (AlertFieldsPermissionsEnum b : AlertFieldsPermissionsEnum.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 AlertFieldsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertFieldsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertFieldsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS = "alert_fields_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_FIELDS_PERMISSIONS) + @javax.annotation.Nullable + private List alertFieldsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertGroupsPermissions + */ + @JsonAdapter(AlertGroupsPermissionsEnum.Adapter.class) + public enum AlertGroupsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertGroupsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertGroupsPermissionsEnum fromValue(String value) { + for (AlertGroupsPermissionsEnum b : AlertGroupsPermissionsEnum.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 AlertGroupsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertGroupsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertGroupsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS = "alert_groups_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_GROUPS_PERMISSIONS) + @javax.annotation.Nullable + private List alertGroupsPermissions = new ArrayList<>(); + + /** + * Gets or Sets alertRoutingRulesPermissions + */ + @JsonAdapter(AlertRoutingRulesPermissionsEnum.Adapter.class) + public enum AlertRoutingRulesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + AlertRoutingRulesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AlertRoutingRulesPermissionsEnum fromValue(String value) { + for (AlertRoutingRulesPermissionsEnum b : AlertRoutingRulesPermissionsEnum.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 AlertRoutingRulesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AlertRoutingRulesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AlertRoutingRulesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS = "alert_routing_rules_permissions"; + @SerializedName(SERIALIZED_NAME_ALERT_ROUTING_RULES_PERMISSIONS) + @javax.annotation.Nullable + private List alertRoutingRulesPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallReadinessReportPermissions + */ + @JsonAdapter(OnCallReadinessReportPermissionsEnum.Adapter.class) + public enum OnCallReadinessReportPermissionsEnum { + READ("read"); + + private String value; + + OnCallReadinessReportPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallReadinessReportPermissionsEnum fromValue(String value) { + for (OnCallReadinessReportPermissionsEnum b : OnCallReadinessReportPermissionsEnum.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 OnCallReadinessReportPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallReadinessReportPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallReadinessReportPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS = "on_call_readiness_report_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_READINESS_REPORT_PERMISSIONS) + @javax.annotation.Nullable + private List onCallReadinessReportPermissions = new ArrayList<>(); + + /** + * Gets or Sets onCallRolesPermissions + */ + @JsonAdapter(OnCallRolesPermissionsEnum.Adapter.class) + public enum OnCallRolesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + OnCallRolesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static OnCallRolesPermissionsEnum fromValue(String value) { + for (OnCallRolesPermissionsEnum b : OnCallRolesPermissionsEnum.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 OnCallRolesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public OnCallRolesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + OnCallRolesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS = "on_call_roles_permissions"; + @SerializedName(SERIALIZED_NAME_ON_CALL_ROLES_PERMISSIONS) + @javax.annotation.Nullable + private List onCallRolesPermissions = new ArrayList<>(); + /** * Gets or Sets alertsPermissions */ @@ -252,7 +550,9 @@ public enum AlertsPermissionsEnum { UPDATE("update"), - READ("read"); + READ("read"), + + DELETE("delete"); private String value; @@ -1168,25 +1468,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateOnCallRoleDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The role slug. - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateOnCallRoleDataAttributes systemRole(@javax.annotation.Nullable List systemRole) { this.systemRole = systemRole; return this; @@ -1268,6 +1549,141 @@ public void setAlertUrgencyPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addAlertFieldsPermissionsItem(AlertFieldsPermissionsEnum alertFieldsPermissionsItem) { + if (this.alertFieldsPermissions == null) { + this.alertFieldsPermissions = new ArrayList<>(); + } + this.alertFieldsPermissions.add(alertFieldsPermissionsItem); + return this; + } + + /** + * Get alertFieldsPermissions + * @return alertFieldsPermissions + */ + @javax.annotation.Nullable + public List getAlertFieldsPermissions() { + return alertFieldsPermissions; + } + + public void setAlertFieldsPermissions(@javax.annotation.Nullable List alertFieldsPermissions) { + this.alertFieldsPermissions = alertFieldsPermissions; + } + + + public UpdateOnCallRoleDataAttributes alertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addAlertGroupsPermissionsItem(AlertGroupsPermissionsEnum alertGroupsPermissionsItem) { + if (this.alertGroupsPermissions == null) { + this.alertGroupsPermissions = new ArrayList<>(); + } + this.alertGroupsPermissions.add(alertGroupsPermissionsItem); + return this; + } + + /** + * Get alertGroupsPermissions + * @return alertGroupsPermissions + */ + @javax.annotation.Nullable + public List getAlertGroupsPermissions() { + return alertGroupsPermissions; + } + + public void setAlertGroupsPermissions(@javax.annotation.Nullable List alertGroupsPermissions) { + this.alertGroupsPermissions = alertGroupsPermissions; + } + + + public UpdateOnCallRoleDataAttributes alertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addAlertRoutingRulesPermissionsItem(AlertRoutingRulesPermissionsEnum alertRoutingRulesPermissionsItem) { + if (this.alertRoutingRulesPermissions == null) { + this.alertRoutingRulesPermissions = new ArrayList<>(); + } + this.alertRoutingRulesPermissions.add(alertRoutingRulesPermissionsItem); + return this; + } + + /** + * Get alertRoutingRulesPermissions + * @return alertRoutingRulesPermissions + */ + @javax.annotation.Nullable + public List getAlertRoutingRulesPermissions() { + return alertRoutingRulesPermissions; + } + + public void setAlertRoutingRulesPermissions(@javax.annotation.Nullable List alertRoutingRulesPermissions) { + this.alertRoutingRulesPermissions = alertRoutingRulesPermissions; + } + + + public UpdateOnCallRoleDataAttributes onCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addOnCallReadinessReportPermissionsItem(OnCallReadinessReportPermissionsEnum onCallReadinessReportPermissionsItem) { + if (this.onCallReadinessReportPermissions == null) { + this.onCallReadinessReportPermissions = new ArrayList<>(); + } + this.onCallReadinessReportPermissions.add(onCallReadinessReportPermissionsItem); + return this; + } + + /** + * Get onCallReadinessReportPermissions + * @return onCallReadinessReportPermissions + */ + @javax.annotation.Nullable + public List getOnCallReadinessReportPermissions() { + return onCallReadinessReportPermissions; + } + + public void setOnCallReadinessReportPermissions(@javax.annotation.Nullable List onCallReadinessReportPermissions) { + this.onCallReadinessReportPermissions = onCallReadinessReportPermissions; + } + + + public UpdateOnCallRoleDataAttributes onCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; + return this; + } + + public UpdateOnCallRoleDataAttributes addOnCallRolesPermissionsItem(OnCallRolesPermissionsEnum onCallRolesPermissionsItem) { + if (this.onCallRolesPermissions == null) { + this.onCallRolesPermissions = new ArrayList<>(); + } + this.onCallRolesPermissions.add(onCallRolesPermissionsItem); + return this; + } + + /** + * Get onCallRolesPermissions + * @return onCallRolesPermissions + */ + @javax.annotation.Nullable + public List getOnCallRolesPermissions() { + return onCallRolesPermissions; + } + + public void setOnCallRolesPermissions(@javax.annotation.Nullable List onCallRolesPermissions) { + this.onCallRolesPermissions = onCallRolesPermissions; + } + + public UpdateOnCallRoleDataAttributes alertsPermissions(@javax.annotation.Nullable List alertsPermissions) { this.alertsPermissions = alertsPermissions; return this; @@ -1684,10 +2100,14 @@ public boolean equals(Object o) { } UpdateOnCallRoleDataAttributes updateOnCallRoleDataAttributes = (UpdateOnCallRoleDataAttributes) o; return Objects.equals(this.name, updateOnCallRoleDataAttributes.name) && - Objects.equals(this.slug, updateOnCallRoleDataAttributes.slug) && Objects.equals(this.systemRole, updateOnCallRoleDataAttributes.systemRole) && Objects.equals(this.alertSourcesPermissions, updateOnCallRoleDataAttributes.alertSourcesPermissions) && Objects.equals(this.alertUrgencyPermissions, updateOnCallRoleDataAttributes.alertUrgencyPermissions) && + Objects.equals(this.alertFieldsPermissions, updateOnCallRoleDataAttributes.alertFieldsPermissions) && + Objects.equals(this.alertGroupsPermissions, updateOnCallRoleDataAttributes.alertGroupsPermissions) && + Objects.equals(this.alertRoutingRulesPermissions, updateOnCallRoleDataAttributes.alertRoutingRulesPermissions) && + Objects.equals(this.onCallReadinessReportPermissions, updateOnCallRoleDataAttributes.onCallReadinessReportPermissions) && + Objects.equals(this.onCallRolesPermissions, updateOnCallRoleDataAttributes.onCallRolesPermissions) && Objects.equals(this.alertsPermissions, updateOnCallRoleDataAttributes.alertsPermissions) && Objects.equals(this.apiKeysPermissions, updateOnCallRoleDataAttributes.apiKeysPermissions) && Objects.equals(this.auditsPermissions, updateOnCallRoleDataAttributes.auditsPermissions) && @@ -1707,7 +2127,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(name, slug, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions); + return Objects.hash(name, systemRole, alertSourcesPermissions, alertUrgencyPermissions, alertFieldsPermissions, alertGroupsPermissions, alertRoutingRulesPermissions, onCallReadinessReportPermissions, onCallRolesPermissions, alertsPermissions, apiKeysPermissions, auditsPermissions, contactsPermissions, escalationPoliciesPermissions, groupsPermissions, heartbeatsPermissions, integrationsPermissions, invitationsPermissions, liveCallRoutingPermissions, scheduleOverridePermissions, schedulesPermissions, servicesPermissions, webhooksPermissions, workflowsPermissions); } @Override @@ -1715,10 +2135,14 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateOnCallRoleDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" systemRole: ").append(toIndentedString(systemRole)).append("\n"); sb.append(" alertSourcesPermissions: ").append(toIndentedString(alertSourcesPermissions)).append("\n"); sb.append(" alertUrgencyPermissions: ").append(toIndentedString(alertUrgencyPermissions)).append("\n"); + sb.append(" alertFieldsPermissions: ").append(toIndentedString(alertFieldsPermissions)).append("\n"); + sb.append(" alertGroupsPermissions: ").append(toIndentedString(alertGroupsPermissions)).append("\n"); + sb.append(" alertRoutingRulesPermissions: ").append(toIndentedString(alertRoutingRulesPermissions)).append("\n"); + sb.append(" onCallReadinessReportPermissions: ").append(toIndentedString(onCallReadinessReportPermissions)).append("\n"); + sb.append(" onCallRolesPermissions: ").append(toIndentedString(onCallRolesPermissions)).append("\n"); sb.append(" alertsPermissions: ").append(toIndentedString(alertsPermissions)).append("\n"); sb.append(" apiKeysPermissions: ").append(toIndentedString(apiKeysPermissions)).append("\n"); sb.append(" auditsPermissions: ").append(toIndentedString(auditsPermissions)).append("\n"); @@ -1757,10 +2181,14 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("system_role"); openapiFields.add("alert_sources_permissions"); openapiFields.add("alert_urgency_permissions"); + openapiFields.add("alert_fields_permissions"); + openapiFields.add("alert_groups_permissions"); + openapiFields.add("alert_routing_rules_permissions"); + openapiFields.add("on_call_readiness_report_permissions"); + openapiFields.add("on_call_roles_permissions"); openapiFields.add("alerts_permissions"); openapiFields.add("api_keys_permissions"); openapiFields.add("audits_permissions"); @@ -1805,9 +2233,6 @@ 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())); } - 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())); - } // ensure the optional json data is an array if present if (jsonObj.get("system_role") != null && !jsonObj.get("system_role").isJsonNull() && !jsonObj.get("system_role").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `system_role` to be an array in the JSON string but got `%s`", jsonObj.get("system_role").toString())); @@ -1821,6 +2246,26 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti throw new IllegalArgumentException(String.format("Expected the field `alert_urgency_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_urgency_permissions").toString())); } // ensure the optional json data is an array if present + if (jsonObj.get("alert_fields_permissions") != null && !jsonObj.get("alert_fields_permissions").isJsonNull() && !jsonObj.get("alert_fields_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_fields_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_fields_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_groups_permissions") != null && !jsonObj.get("alert_groups_permissions").isJsonNull() && !jsonObj.get("alert_groups_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_groups_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_groups_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("alert_routing_rules_permissions") != null && !jsonObj.get("alert_routing_rules_permissions").isJsonNull() && !jsonObj.get("alert_routing_rules_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `alert_routing_rules_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alert_routing_rules_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_readiness_report_permissions") != null && !jsonObj.get("on_call_readiness_report_permissions").isJsonNull() && !jsonObj.get("on_call_readiness_report_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_readiness_report_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_readiness_report_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("on_call_roles_permissions") != null && !jsonObj.get("on_call_roles_permissions").isJsonNull() && !jsonObj.get("on_call_roles_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `on_call_roles_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("on_call_roles_permissions").toString())); + } + // ensure the optional json data is an array if present if (jsonObj.get("alerts_permissions") != null && !jsonObj.get("alerts_permissions").isJsonNull() && !jsonObj.get("alerts_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `alerts_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("alerts_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 7d266634..f1af3d21 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOnCallShadow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 1b91ba22..f4387764 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOnCallShadowData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallShadowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java index a65fa01e..1ef24c28 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOnCallShadowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b3263df4..0049356f 100644 --- a/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOpsgenieAlertTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a3f476e9..2bd85338 100644 --- a/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ 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; @@ -48,7 +49,7 @@ /** * UpdateOpsgenieIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOpsgenieIncidentTaskParams { /** * Gets or Sets taskType @@ -196,7 +197,9 @@ public enum PriorityEnum { P5("P5"), - AUTO("auto"); + AUTO("auto"), + + EMPTY(""); private String value; @@ -219,7 +222,7 @@ public static PriorityEnum fromValue(String value) { return b; } } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); + return null; } public static class Adapter extends TypeAdapter { @@ -381,11 +384,22 @@ public boolean equals(Object o) { Objects.equals(this.priority, updateOpsgenieIncidentTaskParams.priority); } + 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, opsgenieIncidentId, message, description, status, priority); } + 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(); diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShift.java b/src/main/java/com/rootly/client/model/UpdateOverrideShift.java index 56b9daa6..1cd6f5d1 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShift.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShift.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOverrideShift */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f0ccdd7d..0a883b63 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateOverrideShiftData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOverrideShiftData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java index 2fefdf76..25fc0c57 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateOverrideShiftDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2760e12b..f89d8feb 100644 --- a/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdatePagerdutyIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 c6ccdf82..32ab3bc4 100644 --- a/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdatePagertreeAlertTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdatePagertreeAlertTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 37b0ae1a..5f205088 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybook.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybook.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePlaybook */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bd7d68df..ccaa3502 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePlaybookData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java index 5d8cf3e4..8f3862e6 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdatePlaybookDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -172,7 +172,7 @@ public UpdatePlaybookDataAttributes addSeverityIdsItem(String severityIdsItem) { } /** - * The Severity ID's to attach to the incident + * The Severity IDs to attach to the incident * @return severityIds */ @javax.annotation.Nullable @@ -199,7 +199,7 @@ public UpdatePlaybookDataAttributes addEnvironmentIdsItem(String environmentIdsI } /** - * The Environment ID's to attach to the incident + * The Environment IDs to attach to the incident * @return environmentIds */ @javax.annotation.Nullable @@ -226,7 +226,7 @@ public UpdatePlaybookDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the incident + * The Service IDs to attach to the incident * @return serviceIds */ @javax.annotation.Nullable @@ -253,7 +253,7 @@ public UpdatePlaybookDataAttributes addFunctionalityIdsItem(String functionality } /** - * The Functionality ID's to attach to the incident + * The Functionality IDs to attach to the incident * @return functionalityIds */ @javax.annotation.Nullable @@ -280,7 +280,7 @@ public UpdatePlaybookDataAttributes addGroupIdsItem(String groupIdsItem) { } /** - * The Team ID's to attach to the incident + * The Team IDs to attach to the incident * @return groupIds */ @javax.annotation.Nullable @@ -307,7 +307,7 @@ public UpdatePlaybookDataAttributes addIncidentTypeIdsItem(String incidentTypeId } /** - * The Incident Type ID's to attach to the incident + * The Incident Type IDs to attach to the incident * @return incidentTypeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java index fa480d78..8913f691 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePlaybookTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b33c821d..3714714a 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePlaybookTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java index 817dd190..c09de2b5 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePlaybookTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 74d67759..4987604e 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ca23ed6d..488f42ec 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java index 0ff8b632..60cf4b60 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplateDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -170,7 +170,7 @@ public UpdatePostMortemTemplateDataAttributes content(@javax.annotation.Nullable } /** - * The postmortem template. Liquid syntax is supported + * The postmortem template. Supports TipTap blocks (followup and timeline components), Liquid syntax, and HTML. Will be sanitized and applied to both content and content_html fields. * @return content */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdatePulse.java b/src/main/java/com/rootly/client/model/UpdatePulse.java index 5ec17e22..55187fe8 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulse.java +++ b/src/main/java/com/rootly/client/model/UpdatePulse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePulse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eac3753e..e1866289 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulseData.java +++ b/src/main/java/com/rootly/client/model/UpdatePulseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdatePulseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java index fe28f492..80848129 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -54,7 +54,7 @@ /** * UpdatePulseDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulseDataAttributes { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) @@ -94,7 +94,7 @@ public class UpdatePulseDataAttributes { public static final String SERIALIZED_NAME_LABELS = "labels"; @SerializedName(SERIALIZED_NAME_LABELS) @javax.annotation.Nullable - private List labels = new ArrayList<>(); + private List labels = new ArrayList<>(); public static final String SERIALIZED_NAME_REFS = "refs"; @SerializedName(SERIALIZED_NAME_REFS) @@ -161,7 +161,7 @@ public UpdatePulseDataAttributes addServiceIdsItem(String serviceIdsItem) { } /** - * The Service ID's to attach to the pulse + * The Service IDs to attach to the pulse * @return serviceIds */ @javax.annotation.Nullable @@ -188,7 +188,7 @@ public UpdatePulseDataAttributes addEnvironmentIdsItem(String environmentIdsItem } /** - * The Environment ID's to attach to the pulse + * The Environment IDs to attach to the pulse * @return environmentIds */ @javax.annotation.Nullable @@ -258,12 +258,12 @@ public void setExternalUrl(@javax.annotation.Nullable String externalUrl) { } - public UpdatePulseDataAttributes labels(@javax.annotation.Nullable List labels) { + public UpdatePulseDataAttributes labels(@javax.annotation.Nullable List labels) { this.labels = labels; return this; } - public UpdatePulseDataAttributes addLabelsItem(NewAlertDataAttributesLabelsInner labelsItem) { + public UpdatePulseDataAttributes addLabelsItem(NewPulseDataAttributesLabelsInner labelsItem) { if (this.labels == null) { this.labels = new ArrayList<>(); } @@ -276,11 +276,11 @@ public UpdatePulseDataAttributes addLabelsItem(NewAlertDataAttributesLabelsInner * @return labels */ @javax.annotation.Nullable - public List getLabels() { + public List getLabels() { return labels; } - public void setLabels(@javax.annotation.Nullable List labels) { + public void setLabels(@javax.annotation.Nullable List labels) { this.labels = labels; } @@ -468,7 +468,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)); + NewPulseDataAttributesLabelsInner.validateJsonElement(jsonArraylabels.get(i)); }; } } diff --git a/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.java new file mode 100644 index 00000000..fb8f6e62 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateQuipPageTaskParams.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 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; + +/** + * UpdateQuipPageTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateQuipPageTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_QUIP_PAGE("update_quip_page"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_FILE_ID = "file_id"; + @SerializedName(SERIALIZED_NAME_FILE_ID) + @javax.annotation.Nonnull + private String fileId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + + public static final String SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID = "post_mortem_template_id"; + @SerializedName(SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID) + @javax.annotation.Nullable + private String postMortemTemplateId; + + public static final String SERIALIZED_NAME_TEMPLATE_ID = "template_id"; + @SerializedName(SERIALIZED_NAME_TEMPLATE_ID) + @javax.annotation.Nullable + private String templateId; + + public UpdateQuipPageTaskParams() { + } + + public UpdateQuipPageTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateQuipPageTaskParams fileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + return this; + } + + /** + * The Quip page ID + * @return fileId + */ + @javax.annotation.Nonnull + public String getFileId() { + return fileId; + } + + public void setFileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + } + + + public UpdateQuipPageTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The Quip page title + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateQuipPageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The Quip page content + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + + public UpdateQuipPageTaskParams postMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + return this; + } + + /** + * Retrospective template to use when updating page, if desired + * @return postMortemTemplateId + */ + @javax.annotation.Nullable + public String getPostMortemTemplateId() { + return postMortemTemplateId; + } + + public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + } + + + public UpdateQuipPageTaskParams templateId(@javax.annotation.Nullable String templateId) { + this.templateId = templateId; + return this; + } + + /** + * The Quip file ID to use as a template + * @return templateId + */ + @javax.annotation.Nullable + public String getTemplateId() { + return templateId; + } + + public void setTemplateId(@javax.annotation.Nullable String templateId) { + this.templateId = templateId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateQuipPageTaskParams updateQuipPageTaskParams = (UpdateQuipPageTaskParams) o; + return Objects.equals(this.taskType, updateQuipPageTaskParams.taskType) && + Objects.equals(this.fileId, updateQuipPageTaskParams.fileId) && + Objects.equals(this.title, updateQuipPageTaskParams.title) && + Objects.equals(this.content, updateQuipPageTaskParams.content) && + Objects.equals(this.postMortemTemplateId, updateQuipPageTaskParams.postMortemTemplateId) && + Objects.equals(this.templateId, updateQuipPageTaskParams.templateId); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, fileId, title, content, postMortemTemplateId, templateId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateQuipPageTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).append("\n"); + sb.append(" templateId: ").append(toIndentedString(templateId)).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("file_id"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("post_mortem_template_id"); + openapiFields.add("template_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("file_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 UpdateQuipPageTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateQuipPageTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateQuipPageTaskParams is not found in the empty JSON string", UpdateQuipPageTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateQuipPageTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateQuipPageTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateQuipPageTaskParams.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")); + } + if (!jsonObj.get("file_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `file_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("file_id").toString())); + } + 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("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").toString())); + } + if ((jsonObj.get("template_id") != null && !jsonObj.get("template_id").isJsonNull()) && !jsonObj.get("template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("template_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateQuipPageTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateQuipPageTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateQuipPageTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateQuipPageTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateQuipPageTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateQuipPageTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateQuipPageTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateQuipPageTaskParams + */ + public static UpdateQuipPageTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateQuipPageTaskParams.class); + } + + /** + * Convert an instance of UpdateQuipPageTaskParams 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/UpdateRetrospectiveConfiguration.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java index d2dca6a0..71894885 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfiguration.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveConfiguration */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bce0443c..15c02fb1 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveConfigurationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveConfigurationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java index 315ed07c..5fbe30cb 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateRetrospectiveConfigurationDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -85,7 +85,7 @@ public UpdateRetrospectiveConfigurationDataAttributes addSeverityIdsItem(String } /** - * The Severity ID's to attach to the retrospective configuration + * The Severity IDs to attach to the retrospective configuration * @return severityIds */ @javax.annotation.Nullable @@ -112,7 +112,7 @@ public UpdateRetrospectiveConfigurationDataAttributes addGroupIdsItem(String gro } /** - * The Team ID's to attach to the retrospective configuration + * The Team IDs to attach to the retrospective configuration * @return groupIds */ @javax.annotation.Nullable @@ -139,7 +139,7 @@ public UpdateRetrospectiveConfigurationDataAttributes addIncidentTypeIdsItem(Str } /** - * The Incident Type ID's to attach to the retrospective configuration + * The Incident Type IDs to attach to the retrospective configuration * @return incidentTypeIds */ @javax.annotation.Nullable diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java index 4f19688b..bfebef3d 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcess.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcess */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8c43c2d6..93497f67 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java index e9375584..e666e454 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateRetrospectiveProcessDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 7d973a43..84533bf7 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2f0c6120..a04bb302 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java index ca458fb0..8e46b769 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateRetrospectiveProcessGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9d5bbf3c..15066f2c 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e1ce88a4..d33d8164 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java index fe291acd..972ae952 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateRetrospectiveProcessGroupStepDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 eb208222..c0bd38fd 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStep.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStep */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bdc35ae3..8011b0b0 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java index 649926dd..043b9e87 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStepDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateRole.java b/src/main/java/com/rootly/client/model/UpdateRole.java index 9cafcfe8..2e9aae1e 100644 --- a/src/main/java/com/rootly/client/model/UpdateRole.java +++ b/src/main/java/com/rootly/client/model/UpdateRole.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2251b47d..2d66db82 100644 --- a/src/main/java/com/rootly/client/model/UpdateRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateRoleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java index 5229fefa..abee3f38 100644 --- a/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,23 +51,28 @@ /** * UpdateRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID = "incident_permission_set_id"; @SerializedName(SERIALIZED_NAME_INCIDENT_PERMISSION_SET_ID) @javax.annotation.Nullable private String incidentPermissionSetId; + public static final String SERIALIZED_NAME_IS_DELETABLE = "is_deletable"; + @SerializedName(SERIALIZED_NAME_IS_DELETABLE) + @javax.annotation.Nullable + private Boolean isDeletable; + + public static final String SERIALIZED_NAME_IS_EDITABLE = "is_editable"; + @SerializedName(SERIALIZED_NAME_IS_EDITABLE) + @javax.annotation.Nullable + private Boolean isEditable; + /** * Gets or Sets apiKeysPermissions */ @@ -1532,6 +1537,435 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List workflowsPermissions = new ArrayList<>(); + /** + * Gets or Sets catalogsPermissions + */ + @JsonAdapter(CatalogsPermissionsEnum.Adapter.class) + public enum CatalogsPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CatalogsPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CatalogsPermissionsEnum fromValue(String value) { + for (CatalogsPermissionsEnum b : CatalogsPermissionsEnum.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 CatalogsPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CatalogsPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CatalogsPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CatalogsPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CATALOGS_PERMISSIONS = "catalogs_permissions"; + @SerializedName(SERIALIZED_NAME_CATALOGS_PERMISSIONS) + @javax.annotation.Nullable + private List catalogsPermissions = new ArrayList<>(); + + /** + * Gets or Sets subStatusesPermissions + */ + @JsonAdapter(SubStatusesPermissionsEnum.Adapter.class) + public enum SubStatusesPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SubStatusesPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SubStatusesPermissionsEnum fromValue(String value) { + for (SubStatusesPermissionsEnum b : SubStatusesPermissionsEnum.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 SubStatusesPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SubStatusesPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SubStatusesPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS = "sub_statuses_permissions"; + @SerializedName(SERIALIZED_NAME_SUB_STATUSES_PERMISSIONS) + @javax.annotation.Nullable + private List subStatusesPermissions = new ArrayList<>(); + + /** + * Gets or Sets edgeConnectorPermissions + */ + @JsonAdapter(EdgeConnectorPermissionsEnum.Adapter.class) + public enum EdgeConnectorPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + EdgeConnectorPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static EdgeConnectorPermissionsEnum fromValue(String value) { + for (EdgeConnectorPermissionsEnum b : EdgeConnectorPermissionsEnum.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 EdgeConnectorPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public EdgeConnectorPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + EdgeConnectorPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS = "edge_connector_permissions"; + @SerializedName(SERIALIZED_NAME_EDGE_CONNECTOR_PERMISSIONS) + @javax.annotation.Nullable + private List edgeConnectorPermissions = new ArrayList<>(); + + /** + * Gets or Sets slasPermissions + */ + @JsonAdapter(SlasPermissionsEnum.Adapter.class) + public enum SlasPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + SlasPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SlasPermissionsEnum fromValue(String value) { + for (SlasPermissionsEnum b : SlasPermissionsEnum.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 SlasPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SlasPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SlasPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SlasPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SLAS_PERMISSIONS = "slas_permissions"; + @SerializedName(SERIALIZED_NAME_SLAS_PERMISSIONS) + @javax.annotation.Nullable + private List slasPermissions = new ArrayList<>(); + + /** + * Gets or Sets pagingPermissions + */ + @JsonAdapter(PagingPermissionsEnum.Adapter.class) + public enum PagingPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + PagingPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static PagingPermissionsEnum fromValue(String value) { + for (PagingPermissionsEnum b : PagingPermissionsEnum.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 PagingPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public PagingPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return PagingPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + PagingPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_PAGING_PERMISSIONS = "paging_permissions"; + @SerializedName(SERIALIZED_NAME_PAGING_PERMISSIONS) + @javax.annotation.Nullable + private List pagingPermissions = new ArrayList<>(); + + /** + * Gets or Sets incidentCommunicationPermissions + */ + @JsonAdapter(IncidentCommunicationPermissionsEnum.Adapter.class) + public enum IncidentCommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"), + + SEND("send"); + + private String value; + + IncidentCommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static IncidentCommunicationPermissionsEnum fromValue(String value) { + for (IncidentCommunicationPermissionsEnum b : IncidentCommunicationPermissionsEnum.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 IncidentCommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public IncidentCommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + IncidentCommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS = "incident_communication_permissions"; + @SerializedName(SERIALIZED_NAME_INCIDENT_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List incidentCommunicationPermissions = new ArrayList<>(); + + /** + * Gets or Sets communicationPermissions + */ + @JsonAdapter(CommunicationPermissionsEnum.Adapter.class) + public enum CommunicationPermissionsEnum { + CREATE("create"), + + READ("read"), + + UPDATE("update"), + + DELETE("delete"); + + private String value; + + CommunicationPermissionsEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CommunicationPermissionsEnum fromValue(String value) { + for (CommunicationPermissionsEnum b : CommunicationPermissionsEnum.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 CommunicationPermissionsEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CommunicationPermissionsEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CommunicationPermissionsEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CommunicationPermissionsEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMMUNICATION_PERMISSIONS = "communication_permissions"; + @SerializedName(SERIALIZED_NAME_COMMUNICATION_PERMISSIONS) + @javax.annotation.Nullable + private List communicationPermissions = new ArrayList<>(); + public UpdateRoleDataAttributes() { } @@ -1554,41 +1988,60 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateRoleDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; + public UpdateRoleDataAttributes incidentPermissionSetId(@javax.annotation.Nullable String incidentPermissionSetId) { + this.incidentPermissionSetId = incidentPermissionSetId; return this; } /** - * The role slug. - * @return slug + * Associated incident permissions set. + * @return incidentPermissionSetId */ @javax.annotation.Nullable - public String getSlug() { - return slug; + public String getIncidentPermissionSetId() { + return incidentPermissionSetId; } - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; + public void setIncidentPermissionSetId(@javax.annotation.Nullable String incidentPermissionSetId) { + this.incidentPermissionSetId = incidentPermissionSetId; } - public UpdateRoleDataAttributes incidentPermissionSetId(@javax.annotation.Nullable String incidentPermissionSetId) { - this.incidentPermissionSetId = incidentPermissionSetId; + public UpdateRoleDataAttributes isDeletable(@javax.annotation.Nullable Boolean isDeletable) { + this.isDeletable = isDeletable; return this; } /** - * Associated incident permissions set. - * @return incidentPermissionSetId + * Whether the role can be deleted. + * @return isDeletable */ @javax.annotation.Nullable - public String getIncidentPermissionSetId() { - return incidentPermissionSetId; + public Boolean getIsDeletable() { + return isDeletable; } - public void setIncidentPermissionSetId(@javax.annotation.Nullable String incidentPermissionSetId) { - this.incidentPermissionSetId = incidentPermissionSetId; + public void setIsDeletable(@javax.annotation.Nullable Boolean isDeletable) { + this.isDeletable = isDeletable; + } + + + public UpdateRoleDataAttributes isEditable(@javax.annotation.Nullable Boolean isEditable) { + this.isEditable = isEditable; + return this; + } + + /** + * Whether the role can be edited. + * @return isEditable + */ + @javax.annotation.Nullable + public Boolean getIsEditable() { + return isEditable; + } + + public void setIsEditable(@javax.annotation.Nullable Boolean isEditable) { + this.isEditable = isEditable; } @@ -2240,6 +2693,195 @@ public void setWorkflowsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + return this; + } + + public UpdateRoleDataAttributes addCatalogsPermissionsItem(CatalogsPermissionsEnum catalogsPermissionsItem) { + if (this.catalogsPermissions == null) { + this.catalogsPermissions = new ArrayList<>(); + } + this.catalogsPermissions.add(catalogsPermissionsItem); + return this; + } + + /** + * Get catalogsPermissions + * @return catalogsPermissions + */ + @javax.annotation.Nullable + public List getCatalogsPermissions() { + return catalogsPermissions; + } + + public void setCatalogsPermissions(@javax.annotation.Nullable List catalogsPermissions) { + this.catalogsPermissions = catalogsPermissions; + } + + + public UpdateRoleDataAttributes subStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + return this; + } + + public UpdateRoleDataAttributes addSubStatusesPermissionsItem(SubStatusesPermissionsEnum subStatusesPermissionsItem) { + if (this.subStatusesPermissions == null) { + this.subStatusesPermissions = new ArrayList<>(); + } + this.subStatusesPermissions.add(subStatusesPermissionsItem); + return this; + } + + /** + * Get subStatusesPermissions + * @return subStatusesPermissions + */ + @javax.annotation.Nullable + public List getSubStatusesPermissions() { + return subStatusesPermissions; + } + + public void setSubStatusesPermissions(@javax.annotation.Nullable List subStatusesPermissions) { + this.subStatusesPermissions = subStatusesPermissions; + } + + + public UpdateRoleDataAttributes edgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + return this; + } + + public UpdateRoleDataAttributes addEdgeConnectorPermissionsItem(EdgeConnectorPermissionsEnum edgeConnectorPermissionsItem) { + if (this.edgeConnectorPermissions == null) { + this.edgeConnectorPermissions = new ArrayList<>(); + } + this.edgeConnectorPermissions.add(edgeConnectorPermissionsItem); + return this; + } + + /** + * Get edgeConnectorPermissions + * @return edgeConnectorPermissions + */ + @javax.annotation.Nullable + public List getEdgeConnectorPermissions() { + return edgeConnectorPermissions; + } + + public void setEdgeConnectorPermissions(@javax.annotation.Nullable List edgeConnectorPermissions) { + this.edgeConnectorPermissions = edgeConnectorPermissions; + } + + + public UpdateRoleDataAttributes slasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + return this; + } + + public UpdateRoleDataAttributes addSlasPermissionsItem(SlasPermissionsEnum slasPermissionsItem) { + if (this.slasPermissions == null) { + this.slasPermissions = new ArrayList<>(); + } + this.slasPermissions.add(slasPermissionsItem); + return this; + } + + /** + * Get slasPermissions + * @return slasPermissions + */ + @javax.annotation.Nullable + public List getSlasPermissions() { + return slasPermissions; + } + + public void setSlasPermissions(@javax.annotation.Nullable List slasPermissions) { + this.slasPermissions = slasPermissions; + } + + + public UpdateRoleDataAttributes pagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + return this; + } + + public UpdateRoleDataAttributes addPagingPermissionsItem(PagingPermissionsEnum pagingPermissionsItem) { + if (this.pagingPermissions == null) { + this.pagingPermissions = new ArrayList<>(); + } + this.pagingPermissions.add(pagingPermissionsItem); + return this; + } + + /** + * Get pagingPermissions + * @return pagingPermissions + */ + @javax.annotation.Nullable + public List getPagingPermissions() { + return pagingPermissions; + } + + public void setPagingPermissions(@javax.annotation.Nullable List pagingPermissions) { + this.pagingPermissions = pagingPermissions; + } + + + public UpdateRoleDataAttributes incidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + return this; + } + + public UpdateRoleDataAttributes addIncidentCommunicationPermissionsItem(IncidentCommunicationPermissionsEnum incidentCommunicationPermissionsItem) { + if (this.incidentCommunicationPermissions == null) { + this.incidentCommunicationPermissions = new ArrayList<>(); + } + this.incidentCommunicationPermissions.add(incidentCommunicationPermissionsItem); + return this; + } + + /** + * Get incidentCommunicationPermissions + * @return incidentCommunicationPermissions + */ + @javax.annotation.Nullable + public List getIncidentCommunicationPermissions() { + return incidentCommunicationPermissions; + } + + public void setIncidentCommunicationPermissions(@javax.annotation.Nullable List incidentCommunicationPermissions) { + this.incidentCommunicationPermissions = incidentCommunicationPermissions; + } + + + public UpdateRoleDataAttributes communicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + return this; + } + + public UpdateRoleDataAttributes addCommunicationPermissionsItem(CommunicationPermissionsEnum communicationPermissionsItem) { + if (this.communicationPermissions == null) { + this.communicationPermissions = new ArrayList<>(); + } + this.communicationPermissions.add(communicationPermissionsItem); + return this; + } + + /** + * Get communicationPermissions + * @return communicationPermissions + */ + @javax.annotation.Nullable + public List getCommunicationPermissions() { + return communicationPermissions; + } + + public void setCommunicationPermissions(@javax.annotation.Nullable List communicationPermissions) { + this.communicationPermissions = communicationPermissions; + } + + @Override public boolean equals(Object o) { @@ -2251,8 +2893,9 @@ public boolean equals(Object o) { } UpdateRoleDataAttributes updateRoleDataAttributes = (UpdateRoleDataAttributes) o; return Objects.equals(this.name, updateRoleDataAttributes.name) && - Objects.equals(this.slug, updateRoleDataAttributes.slug) && Objects.equals(this.incidentPermissionSetId, updateRoleDataAttributes.incidentPermissionSetId) && + Objects.equals(this.isDeletable, updateRoleDataAttributes.isDeletable) && + Objects.equals(this.isEditable, updateRoleDataAttributes.isEditable) && Objects.equals(this.apiKeysPermissions, updateRoleDataAttributes.apiKeysPermissions) && Objects.equals(this.auditsPermissions, updateRoleDataAttributes.auditsPermissions) && Objects.equals(this.billingPermissions, updateRoleDataAttributes.billingPermissions) && @@ -2276,7 +2919,14 @@ public boolean equals(Object o) { Objects.equals(this.severitiesPermissions, updateRoleDataAttributes.severitiesPermissions) && Objects.equals(this.statusPagesPermissions, updateRoleDataAttributes.statusPagesPermissions) && Objects.equals(this.webhooksPermissions, updateRoleDataAttributes.webhooksPermissions) && - Objects.equals(this.workflowsPermissions, updateRoleDataAttributes.workflowsPermissions); + 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.slasPermissions, updateRoleDataAttributes.slasPermissions) && + Objects.equals(this.pagingPermissions, updateRoleDataAttributes.pagingPermissions) && + Objects.equals(this.incidentCommunicationPermissions, updateRoleDataAttributes.incidentCommunicationPermissions) && + Objects.equals(this.communicationPermissions, updateRoleDataAttributes.communicationPermissions); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -2285,7 +2935,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, incidentPermissionSetId, apiKeysPermissions, auditsPermissions, billingPermissions, environmentsPermissions, formFieldsPermissions, functionalitiesPermissions, groupsPermissions, incidentCausesPermissions, incidentFeedbacksPermissions, incidentRolesPermissions, incidentTypesPermissions, incidentsPermissions, integrationsPermissions, invitationsPermissions, playbooksPermissions, privateIncidentsPermissions, retrospectivePermissions, rolesPermissions, secretsPermissions, servicesPermissions, severitiesPermissions, statusPagesPermissions, webhooksPermissions, workflowsPermissions); + return Objects.hash(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); } private static int hashCodeNullable(JsonNullable a) { @@ -2300,8 +2950,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateRoleDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" incidentPermissionSetId: ").append(toIndentedString(incidentPermissionSetId)).append("\n"); + sb.append(" isDeletable: ").append(toIndentedString(isDeletable)).append("\n"); + sb.append(" isEditable: ").append(toIndentedString(isEditable)).append("\n"); sb.append(" apiKeysPermissions: ").append(toIndentedString(apiKeysPermissions)).append("\n"); sb.append(" auditsPermissions: ").append(toIndentedString(auditsPermissions)).append("\n"); sb.append(" billingPermissions: ").append(toIndentedString(billingPermissions)).append("\n"); @@ -2326,6 +2977,13 @@ public String toString() { sb.append(" statusPagesPermissions: ").append(toIndentedString(statusPagesPermissions)).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(" slasPermissions: ").append(toIndentedString(slasPermissions)).append("\n"); + sb.append(" pagingPermissions: ").append(toIndentedString(pagingPermissions)).append("\n"); + sb.append(" incidentCommunicationPermissions: ").append(toIndentedString(incidentCommunicationPermissions)).append("\n"); + sb.append(" communicationPermissions: ").append(toIndentedString(communicationPermissions)).append("\n"); sb.append("}"); return sb.toString(); } @@ -2349,8 +3007,9 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("incident_permission_set_id"); + openapiFields.add("is_deletable"); + openapiFields.add("is_editable"); openapiFields.add("api_keys_permissions"); openapiFields.add("audits_permissions"); openapiFields.add("billing_permissions"); @@ -2375,6 +3034,13 @@ private String toIndentedString(Object o) { openapiFields.add("status_pages_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("slas_permissions"); + openapiFields.add("paging_permissions"); + openapiFields.add("incident_communication_permissions"); + openapiFields.add("communication_permissions"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -2404,9 +3070,6 @@ 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())); } - 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("incident_permission_set_id") != null && !jsonObj.get("incident_permission_set_id").isJsonNull()) && !jsonObj.get("incident_permission_set_id").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `incident_permission_set_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("incident_permission_set_id").toString())); } @@ -2506,6 +3169,34 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("workflows_permissions") != null && !jsonObj.get("workflows_permissions").isJsonNull() && !jsonObj.get("workflows_permissions").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `workflows_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("workflows_permissions").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("catalogs_permissions") != null && !jsonObj.get("catalogs_permissions").isJsonNull() && !jsonObj.get("catalogs_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `catalogs_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("catalogs_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("sub_statuses_permissions") != null && !jsonObj.get("sub_statuses_permissions").isJsonNull() && !jsonObj.get("sub_statuses_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `sub_statuses_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("sub_statuses_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("edge_connector_permissions") != null && !jsonObj.get("edge_connector_permissions").isJsonNull() && !jsonObj.get("edge_connector_permissions").isJsonArray()) { + 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("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())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("paging_permissions") != null && !jsonObj.get("paging_permissions").isJsonNull() && !jsonObj.get("paging_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `paging_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("paging_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("incident_communication_permissions") != null && !jsonObj.get("incident_communication_permissions").isJsonNull() && !jsonObj.get("incident_communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `incident_communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("incident_communication_permissions").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("communication_permissions") != null && !jsonObj.get("communication_permissions").isJsonNull() && !jsonObj.get("communication_permissions").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `communication_permissions` to be an array in the JSON string but got `%s`", jsonObj.get("communication_permissions").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateSchedule.java b/src/main/java/com/rootly/client/model/UpdateSchedule.java index 4dad81dd..b0cecc7a 100644 --- a/src/main/java/com/rootly/client/model/UpdateSchedule.java +++ b/src/main/java/com/rootly/client/model/UpdateSchedule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSchedule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 dd3079d9..ae3fca81 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java index a79fae87..8c3b0407 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * UpdateScheduleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -74,6 +75,11 @@ public class UpdateScheduleDataAttributes { @javax.annotation.Nullable private NewScheduleDataAttributesSlackUserGroup slackUserGroup; + public static final String SERIALIZED_NAME_SLACK_CHANNEL = "slack_channel"; + @SerializedName(SERIALIZED_NAME_SLACK_CHANNEL) + @javax.annotation.Nullable + private NewScheduleDataAttributesSlackChannel slackChannel; + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable @@ -84,6 +90,16 @@ public class UpdateScheduleDataAttributes { @javax.annotation.Nullable private Integer ownerUserId; + public static final String SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED = "shift_start_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_START_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftStartNotificationsEnabled; + + public static final String SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED = "shift_update_notifications_enabled"; + @SerializedName(SERIALIZED_NAME_SHIFT_UPDATE_NOTIFICATIONS_ENABLED) + @javax.annotation.Nullable + private Boolean shiftUpdateNotificationsEnabled; + public UpdateScheduleDataAttributes() { } @@ -163,6 +179,25 @@ public void setSlackUserGroup(@javax.annotation.Nullable NewScheduleDataAttribut } + public UpdateScheduleDataAttributes slackChannel(@javax.annotation.Nullable NewScheduleDataAttributesSlackChannel slackChannel) { + this.slackChannel = slackChannel; + return this; + } + + /** + * Get slackChannel + * @return slackChannel + */ + @javax.annotation.Nullable + public NewScheduleDataAttributesSlackChannel getSlackChannel() { + return slackChannel; + } + + public void setSlackChannel(@javax.annotation.Nullable NewScheduleDataAttributesSlackChannel slackChannel) { + this.slackChannel = slackChannel; + } + + public UpdateScheduleDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { this.ownerGroupIds = ownerGroupIds; return this; @@ -209,6 +244,44 @@ public void setOwnerUserId(@javax.annotation.Nullable Integer ownerUserId) { } + public UpdateScheduleDataAttributes shiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + return this; + } + + /** + * Whether shift-start notifications are enabled + * @return shiftStartNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftStartNotificationsEnabled() { + return shiftStartNotificationsEnabled; + } + + public void setShiftStartNotificationsEnabled(@javax.annotation.Nullable Boolean shiftStartNotificationsEnabled) { + this.shiftStartNotificationsEnabled = shiftStartNotificationsEnabled; + } + + + public UpdateScheduleDataAttributes shiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + return this; + } + + /** + * Whether shift-update notifications are enabled + * @return shiftUpdateNotificationsEnabled + */ + @javax.annotation.Nullable + public Boolean getShiftUpdateNotificationsEnabled() { + return shiftUpdateNotificationsEnabled; + } + + public void setShiftUpdateNotificationsEnabled(@javax.annotation.Nullable Boolean shiftUpdateNotificationsEnabled) { + this.shiftUpdateNotificationsEnabled = shiftUpdateNotificationsEnabled; + } + + @Override public boolean equals(Object o) { @@ -223,8 +296,11 @@ public boolean equals(Object o) { Objects.equals(this.description, updateScheduleDataAttributes.description) && Objects.equals(this.allTimeCoverage, updateScheduleDataAttributes.allTimeCoverage) && Objects.equals(this.slackUserGroup, updateScheduleDataAttributes.slackUserGroup) && + Objects.equals(this.slackChannel, updateScheduleDataAttributes.slackChannel) && Objects.equals(this.ownerGroupIds, updateScheduleDataAttributes.ownerGroupIds) && - Objects.equals(this.ownerUserId, updateScheduleDataAttributes.ownerUserId); + Objects.equals(this.ownerUserId, updateScheduleDataAttributes.ownerUserId) && + Objects.equals(this.shiftStartNotificationsEnabled, updateScheduleDataAttributes.shiftStartNotificationsEnabled) && + Objects.equals(this.shiftUpdateNotificationsEnabled, updateScheduleDataAttributes.shiftUpdateNotificationsEnabled); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -233,7 +309,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, allTimeCoverage, slackUserGroup, ownerGroupIds, ownerUserId); + return Objects.hash(name, description, allTimeCoverage, slackUserGroup, slackChannel, ownerGroupIds, ownerUserId, shiftStartNotificationsEnabled, shiftUpdateNotificationsEnabled); } private static int hashCodeNullable(JsonNullable a) { @@ -251,8 +327,11 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" allTimeCoverage: ").append(toIndentedString(allTimeCoverage)).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"); sb.append(" ownerUserId: ").append(toIndentedString(ownerUserId)).append("\n"); + sb.append(" shiftStartNotificationsEnabled: ").append(toIndentedString(shiftStartNotificationsEnabled)).append("\n"); + sb.append(" shiftUpdateNotificationsEnabled: ").append(toIndentedString(shiftUpdateNotificationsEnabled)).append("\n"); sb.append("}"); return sb.toString(); } @@ -279,8 +358,11 @@ private String toIndentedString(Object o) { openapiFields.add("description"); openapiFields.add("all_time_coverage"); openapiFields.add("slack_user_group"); + openapiFields.add("slack_channel"); openapiFields.add("owner_group_ids"); openapiFields.add("owner_user_id"); + openapiFields.add("shift_start_notifications_enabled"); + openapiFields.add("shift_update_notifications_enabled"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -317,6 +399,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("slack_user_group") != null && !jsonObj.get("slack_user_group").isJsonNull()) { NewScheduleDataAttributesSlackUserGroup.validateJsonElement(jsonObj.get("slack_user_group")); } + // validate the optional field `slack_channel` + if (jsonObj.get("slack_channel") != null && !jsonObj.get("slack_channel").isJsonNull()) { + NewScheduleDataAttributesSlackChannel.validateJsonElement(jsonObj.get("slack_channel")); + } // 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())); diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java index f308b739..ea59592f 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotation */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 3bfa74cd..43649c80 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDay.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationActiveDay */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 5105ec29..acbe1449 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationActiveDayData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationActiveDayData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java index b59f79a0..1aa51f66 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateScheduleRotationActiveDayDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 31245b66..eac1e54c 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java index 21e81dd2..897b6d15 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,11 +20,14 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationMembersInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -52,7 +55,7 @@ /** * UpdateScheduleRotationDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -273,6 +276,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private NewScheduleRotationDataAttributesScheduleRotationableAttributes scheduleRotationableAttributes; + public static final String SERIALIZED_NAME_START_TIME = "start_time"; + @SerializedName(SERIALIZED_NAME_START_TIME) + @javax.annotation.Nullable + private OffsetDateTime startTime; + + public static final String SERIALIZED_NAME_END_TIME = "end_time"; + @SerializedName(SERIALIZED_NAME_END_TIME) + @javax.annotation.Nullable + private OffsetDateTime endTime; + + public static final String SERIALIZED_NAME_SCHEDULE_ROTATION_MEMBERS = "schedule_rotation_members"; + @SerializedName(SERIALIZED_NAME_SCHEDULE_ROTATION_MEMBERS) + @javax.annotation.Nullable + private List scheduleRotationMembers; + public UpdateScheduleRotationDataAttributes() { } @@ -471,6 +489,71 @@ public void setScheduleRotationableAttributes(@javax.annotation.Nullable NewSche } + public UpdateScheduleRotationDataAttributes startTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + return this; + } + + /** + * RFC3339 date-time when rotation starts. Shifts will only be created after this time. + * @return startTime + */ + @javax.annotation.Nullable + public OffsetDateTime getStartTime() { + return startTime; + } + + public void setStartTime(@javax.annotation.Nullable OffsetDateTime startTime) { + this.startTime = startTime; + } + + + public UpdateScheduleRotationDataAttributes endTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + return this; + } + + /** + * RFC3339 date-time when rotation ends. Shifts will only be created before this time. + * @return endTime + */ + @javax.annotation.Nullable + public OffsetDateTime getEndTime() { + return endTime; + } + + public void setEndTime(@javax.annotation.Nullable OffsetDateTime endTime) { + this.endTime = endTime; + } + + + public UpdateScheduleRotationDataAttributes scheduleRotationMembers(@javax.annotation.Nullable List scheduleRotationMembers) { + this.scheduleRotationMembers = scheduleRotationMembers; + return this; + } + + public UpdateScheduleRotationDataAttributes addScheduleRotationMembersItem(NewScheduleRotationDataAttributesScheduleRotationMembersInner scheduleRotationMembersItem) { + if (this.scheduleRotationMembers == null) { + this.scheduleRotationMembers = new ArrayList<>(); + } + this.scheduleRotationMembers.add(scheduleRotationMembersItem); + return this; + } + + /** + * You can only update schedule rotation members if your account has schedule nesting feature enabled + * @return scheduleRotationMembers + */ + @javax.annotation.Nullable + public List getScheduleRotationMembers() { + return scheduleRotationMembers; + } + + public void setScheduleRotationMembers(@javax.annotation.Nullable List scheduleRotationMembers) { + this.scheduleRotationMembers = scheduleRotationMembers; + } + + @Override public boolean equals(Object o) { @@ -489,12 +572,26 @@ public boolean equals(Object o) { Objects.equals(this.activeTimeType, updateScheduleRotationDataAttributes.activeTimeType) && Objects.equals(this.activeTimeAttributes, updateScheduleRotationDataAttributes.activeTimeAttributes) && Objects.equals(this.timeZone, updateScheduleRotationDataAttributes.timeZone) && - Objects.equals(this.scheduleRotationableAttributes, updateScheduleRotationDataAttributes.scheduleRotationableAttributes); + Objects.equals(this.scheduleRotationableAttributes, updateScheduleRotationDataAttributes.scheduleRotationableAttributes) && + Objects.equals(this.startTime, updateScheduleRotationDataAttributes.startTime) && + Objects.equals(this.endTime, updateScheduleRotationDataAttributes.endTime) && + Objects.equals(this.scheduleRotationMembers, updateScheduleRotationDataAttributes.scheduleRotationMembers); + } + + 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, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes); + return Objects.hash(name, position, scheduleRotationableType, activeAllWeek, activeDays, activeTimeType, activeTimeAttributes, timeZone, scheduleRotationableAttributes, startTime, endTime, scheduleRotationMembers); + } + + private static int hashCodeNullable(JsonNullable a) { + if (a == null) { + return 1; + } + return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31; } @Override @@ -510,6 +607,9 @@ public String toString() { sb.append(" activeTimeAttributes: ").append(toIndentedString(activeTimeAttributes)).append("\n"); sb.append(" timeZone: ").append(toIndentedString(timeZone)).append("\n"); sb.append(" scheduleRotationableAttributes: ").append(toIndentedString(scheduleRotationableAttributes)).append("\n"); + sb.append(" startTime: ").append(toIndentedString(startTime)).append("\n"); + sb.append(" endTime: ").append(toIndentedString(endTime)).append("\n"); + sb.append(" scheduleRotationMembers: ").append(toIndentedString(scheduleRotationMembers)).append("\n"); sb.append("}"); return sb.toString(); } @@ -541,6 +641,9 @@ private String toIndentedString(Object o) { openapiFields.add("active_time_attributes"); openapiFields.add("time_zone"); openapiFields.add("schedule_rotationable_attributes"); + openapiFields.add("start_time"); + openapiFields.add("end_time"); + openapiFields.add("schedule_rotation_members"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -612,6 +715,20 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("schedule_rotationable_attributes") != null && !jsonObj.get("schedule_rotationable_attributes").isJsonNull()) { NewScheduleRotationDataAttributesScheduleRotationableAttributes.validateJsonElement(jsonObj.get("schedule_rotationable_attributes")); } + if (jsonObj.get("schedule_rotation_members") != null && !jsonObj.get("schedule_rotation_members").isJsonNull()) { + JsonArray jsonArrayscheduleRotationMembers = jsonObj.getAsJsonArray("schedule_rotation_members"); + if (jsonArrayscheduleRotationMembers != null) { + // ensure the json data is an array + if (!jsonObj.get("schedule_rotation_members").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `schedule_rotation_members` to be an array in the JSON string but got `%s`", jsonObj.get("schedule_rotation_members").toString())); + } + + // validate the optional field `schedule_rotation_members` (array) + for (int i = 0; i < jsonArrayscheduleRotationMembers.size(); i++) { + NewScheduleRotationDataAttributesScheduleRotationMembersInner.validateJsonElement(jsonArrayscheduleRotationMembers.get(i)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java index bd8bc27a..20b3cb23 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bdd49070..5c45ed59 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java index e82abff3..09e7661b 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateScheduleRotationUserDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 152b2ff6..1be00105 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecret.java +++ b/src/main/java/com/rootly/client/model/UpdateSecret.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSecret */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 615eee8c..0f994513 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretData.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSecretData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java index 020a58df..a92080e6 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSecretDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateService.java b/src/main/java/com/rootly/client/model/UpdateService.java index 322b5dde..9dfe35c1 100644 --- a/src/main/java/com/rootly/client/model/UpdateService.java +++ b/src/main/java/com/rootly/client/model/UpdateService.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateService */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 9733e336..5f7fcadc 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java index 0f5b716c..758bce99 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +56,7 @@ /** * UpdateServiceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -145,15 +148,15 @@ public class UpdateServiceDataAttributes { @javax.annotation.Nullable private List serviceIds; - public static final String SERIALIZED_NAME_OWNERS_GROUP_IDS = "owners_group_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_GROUP_IDS) + public static final String SERIALIZED_NAME_OWNER_GROUP_IDS = "owner_group_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_GROUP_IDS) @javax.annotation.Nullable - private List ownersGroupIds; + private List ownerGroupIds; - public static final String SERIALIZED_NAME_OWNERS_USER_IDS = "owners_user_ids"; - @SerializedName(SERIALIZED_NAME_OWNERS_USER_IDS) + public static final String SERIALIZED_NAME_OWNER_USER_IDS = "owner_user_ids"; + @SerializedName(SERIALIZED_NAME_OWNER_USER_IDS) @javax.annotation.Nullable - private List ownersUserIds; + private List ownerUserIds; public static final String SERIALIZED_NAME_ALERTS_EMAIL_ENABLED = "alerts_email_enabled"; @SerializedName(SERIALIZED_NAME_ALERTS_EMAIL_ENABLED) @@ -165,6 +168,16 @@ public class UpdateServiceDataAttributes { @javax.annotation.Nullable private String alertUrgencyId; + public static final String SERIALIZED_NAME_ESCALATION_POLICY_ID = "escalation_policy_id"; + @SerializedName(SERIALIZED_NAME_ESCALATION_POLICY_ID) + @javax.annotation.Nullable + private String escalationPolicyId; + + public static final String SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME = "kubernetes_deployment_name"; + @SerializedName(SERIALIZED_NAME_KUBERNETES_DEPLOYMENT_NAME) + @javax.annotation.Nullable + private String kubernetesDeploymentName; + public static final String SERIALIZED_NAME_SLACK_CHANNELS = "slack_channels"; @SerializedName(SERIALIZED_NAME_SLACK_CHANNELS) @javax.annotation.Nullable @@ -175,6 +188,31 @@ public class UpdateServiceDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateServiceDataAttributes() { } @@ -544,57 +582,57 @@ public void setServiceIds(@javax.annotation.Nullable List serviceIds) { } - public UpdateServiceDataAttributes ownersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public UpdateServiceDataAttributes ownerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; return this; } - public UpdateServiceDataAttributes addOwnersGroupIdsItem(String ownersGroupIdsItem) { - if (this.ownersGroupIds == null) { - this.ownersGroupIds = new ArrayList<>(); + public UpdateServiceDataAttributes addOwnerGroupIdsItem(String ownerGroupIdsItem) { + if (this.ownerGroupIds == null) { + this.ownerGroupIds = new ArrayList<>(); } - this.ownersGroupIds.add(ownersGroupIdsItem); + this.ownerGroupIds.add(ownerGroupIdsItem); return this; } /** * Owner Teams associated with this service - * @return ownersGroupIds + * @return ownerGroupIds */ @javax.annotation.Nullable - public List getOwnersGroupIds() { - return ownersGroupIds; + public List getOwnerGroupIds() { + return ownerGroupIds; } - public void setOwnersGroupIds(@javax.annotation.Nullable List ownersGroupIds) { - this.ownersGroupIds = ownersGroupIds; + public void setOwnerGroupIds(@javax.annotation.Nullable List ownerGroupIds) { + this.ownerGroupIds = ownerGroupIds; } - public UpdateServiceDataAttributes ownersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public UpdateServiceDataAttributes ownerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; return this; } - public UpdateServiceDataAttributes addOwnersUserIdsItem(Integer ownersUserIdsItem) { - if (this.ownersUserIds == null) { - this.ownersUserIds = new ArrayList<>(); + public UpdateServiceDataAttributes addOwnerUserIdsItem(Integer ownerUserIdsItem) { + if (this.ownerUserIds == null) { + this.ownerUserIds = new ArrayList<>(); } - this.ownersUserIds.add(ownersUserIdsItem); + this.ownerUserIds.add(ownerUserIdsItem); return this; } /** * Owner Users associated with this service - * @return ownersUserIds + * @return ownerUserIds */ @javax.annotation.Nullable - public List getOwnersUserIds() { - return ownersUserIds; + public List getOwnerUserIds() { + return ownerUserIds; } - public void setOwnersUserIds(@javax.annotation.Nullable List ownersUserIds) { - this.ownersUserIds = ownersUserIds; + public void setOwnerUserIds(@javax.annotation.Nullable List ownerUserIds) { + this.ownerUserIds = ownerUserIds; } @@ -636,6 +674,44 @@ public void setAlertUrgencyId(@javax.annotation.Nullable String alertUrgencyId) } + public UpdateServiceDataAttributes escalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + return this; + } + + /** + * The escalation policy id of the service + * @return escalationPolicyId + */ + @javax.annotation.Nullable + public String getEscalationPolicyId() { + return escalationPolicyId; + } + + public void setEscalationPolicyId(@javax.annotation.Nullable String escalationPolicyId) { + this.escalationPolicyId = escalationPolicyId; + } + + + public UpdateServiceDataAttributes kubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; + return this; + } + + /** + * The Kubernetes deployment name associated to this service. eg: namespace/deployment-name + * @return kubernetesDeploymentName + */ + @javax.annotation.Nullable + public String getKubernetesDeploymentName() { + return kubernetesDeploymentName; + } + + public void setKubernetesDeploymentName(@javax.annotation.Nullable String kubernetesDeploymentName) { + this.kubernetesDeploymentName = kubernetesDeploymentName; + } + + public UpdateServiceDataAttributes slackChannels(@javax.annotation.Nullable List slackChannels) { this.slackChannels = slackChannels; return this; @@ -690,6 +766,109 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateServiceDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this service. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -718,12 +897,19 @@ public boolean equals(Object o) { Objects.equals(this.gitlabRepositoryBranch, updateServiceDataAttributes.gitlabRepositoryBranch) && Objects.equals(this.environmentIds, updateServiceDataAttributes.environmentIds) && Objects.equals(this.serviceIds, updateServiceDataAttributes.serviceIds) && - Objects.equals(this.ownersGroupIds, updateServiceDataAttributes.ownersGroupIds) && - Objects.equals(this.ownersUserIds, updateServiceDataAttributes.ownersUserIds) && + Objects.equals(this.ownerGroupIds, updateServiceDataAttributes.ownerGroupIds) && + Objects.equals(this.ownerUserIds, updateServiceDataAttributes.ownerUserIds) && Objects.equals(this.alertsEmailEnabled, updateServiceDataAttributes.alertsEmailEnabled) && Objects.equals(this.alertUrgencyId, updateServiceDataAttributes.alertUrgencyId) && + Objects.equals(this.escalationPolicyId, updateServiceDataAttributes.escalationPolicyId) && + Objects.equals(this.kubernetesDeploymentName, updateServiceDataAttributes.kubernetesDeploymentName) && Objects.equals(this.slackChannels, updateServiceDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, updateServiceDataAttributes.slackAliases); + Objects.equals(this.slackAliases, updateServiceDataAttributes.slackAliases) && + Objects.equals(this.alertBroadcastEnabled, updateServiceDataAttributes.alertBroadcastEnabled) && + Objects.equals(this.alertBroadcastChannel, updateServiceDataAttributes.alertBroadcastChannel) && + Objects.equals(this.incidentBroadcastEnabled, updateServiceDataAttributes.incidentBroadcastEnabled) && + Objects.equals(this.incidentBroadcastChannel, updateServiceDataAttributes.incidentBroadcastChannel) && + Objects.equals(this.properties, updateServiceDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -732,7 +918,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, environmentIds, serviceIds, ownersGroupIds, ownersUserIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases); + return Objects.hash(name, description, publicDescription, notifyEmails, color, position, backstageId, externalId, pagerdutyId, opsgenieId, cortexId, serviceNowCiSysId, githubRepositoryName, githubRepositoryBranch, gitlabRepositoryName, gitlabRepositoryBranch, environmentIds, serviceIds, ownerGroupIds, ownerUserIds, alertsEmailEnabled, alertUrgencyId, escalationPolicyId, kubernetesDeploymentName, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -764,12 +950,19 @@ public String toString() { sb.append(" gitlabRepositoryBranch: ").append(toIndentedString(gitlabRepositoryBranch)).append("\n"); sb.append(" environmentIds: ").append(toIndentedString(environmentIds)).append("\n"); sb.append(" serviceIds: ").append(toIndentedString(serviceIds)).append("\n"); - sb.append(" ownersGroupIds: ").append(toIndentedString(ownersGroupIds)).append("\n"); - sb.append(" ownersUserIds: ").append(toIndentedString(ownersUserIds)).append("\n"); + sb.append(" ownerGroupIds: ").append(toIndentedString(ownerGroupIds)).append("\n"); + sb.append(" ownerUserIds: ").append(toIndentedString(ownerUserIds)).append("\n"); sb.append(" alertsEmailEnabled: ").append(toIndentedString(alertsEmailEnabled)).append("\n"); sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).append("\n"); + sb.append(" escalationPolicyId: ").append(toIndentedString(escalationPolicyId)).append("\n"); + sb.append(" kubernetesDeploymentName: ").append(toIndentedString(kubernetesDeploymentName)).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("}"); return sb.toString(); } @@ -810,12 +1003,19 @@ private String toIndentedString(Object o) { openapiFields.add("gitlab_repository_branch"); openapiFields.add("environment_ids"); openapiFields.add("service_ids"); - openapiFields.add("owners_group_ids"); - openapiFields.add("owners_user_ids"); + openapiFields.add("owner_group_ids"); + openapiFields.add("owner_user_ids"); openapiFields.add("alerts_email_enabled"); openapiFields.add("alert_urgency_id"); + openapiFields.add("escalation_policy_id"); + openapiFields.add("kubernetes_deployment_name"); 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"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -897,16 +1097,22 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("owners_group_ids") != null && !jsonObj.get("owners_group_ids").isJsonNull() && !jsonObj.get("owners_group_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_group_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_group_ids").toString())); + 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("owners_user_ids") != null && !jsonObj.get("owners_user_ids").isJsonNull() && !jsonObj.get("owners_user_ids").isJsonArray()) { - throw new IllegalArgumentException(String.format("Expected the field `owners_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("owners_user_ids").toString())); + 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("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())); + } if (jsonObj.get("slack_channels") != null && !jsonObj.get("slack_channels").isJsonNull()) { JsonArray jsonArrayslackChannels = jsonObj.getAsJsonArray("slack_channels"); if (jsonArrayslackChannels != null) { @@ -935,6 +1141,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // validate the optional field `alert_broadcast_channel` + if (jsonObj.get("alert_broadcast_channel") != null && !jsonObj.get("alert_broadcast_channel").isJsonNull()) { + NewServiceDataAttributesAlertBroadcastChannel.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()) { + NewServiceDataAttributesIncidentBroadcastChannel.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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java index c9767cfc..08bd378d 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateServiceNowIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 e959f72e..a80e6456 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverity.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverity.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSeverity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 85f301df..7ae6c933 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverityData.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverityData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSeverityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java index 55621a03..afa38ef6 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ /** * UpdateSeverityDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java new file mode 100644 index 00000000..f141fff2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.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.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; + +/** + * UpdateSharepointPageTaskParams + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateSharepointPageTaskParams { + /** + * Gets or Sets taskType + */ + @JsonAdapter(TaskTypeEnum.Adapter.class) + public enum TaskTypeEnum { + UPDATE_SHAREPOINT_PAGE("update_sharepoint_page"); + + 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) + @javax.annotation.Nullable + private TaskTypeEnum taskType; + + public static final String SERIALIZED_NAME_FILE_ID = "file_id"; + @SerializedName(SERIALIZED_NAME_FILE_ID) + @javax.annotation.Nonnull + private String fileId; + + public static final String SERIALIZED_NAME_TITLE = "title"; + @SerializedName(SERIALIZED_NAME_TITLE) + @javax.annotation.Nullable + private String title; + + public static final String SERIALIZED_NAME_CONTENT = "content"; + @SerializedName(SERIALIZED_NAME_CONTENT) + @javax.annotation.Nullable + private String content; + + public static final String SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID = "post_mortem_template_id"; + @SerializedName(SERIALIZED_NAME_POST_MORTEM_TEMPLATE_ID) + @javax.annotation.Nullable + private String postMortemTemplateId; + + public UpdateSharepointPageTaskParams() { + } + + public UpdateSharepointPageTaskParams taskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + return this; + } + + /** + * Get taskType + * @return taskType + */ + @javax.annotation.Nullable + public TaskTypeEnum getTaskType() { + return taskType; + } + + public void setTaskType(@javax.annotation.Nullable TaskTypeEnum taskType) { + this.taskType = taskType; + } + + + public UpdateSharepointPageTaskParams fileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + return this; + } + + /** + * The SharePoint file ID + * @return fileId + */ + @javax.annotation.Nonnull + public String getFileId() { + return fileId; + } + + public void setFileId(@javax.annotation.Nonnull String fileId) { + this.fileId = fileId; + } + + + public UpdateSharepointPageTaskParams title(@javax.annotation.Nullable String title) { + this.title = title; + return this; + } + + /** + * The SharePoint document title + * @return title + */ + @javax.annotation.Nullable + public String getTitle() { + return title; + } + + public void setTitle(@javax.annotation.Nullable String title) { + this.title = title; + } + + + public UpdateSharepointPageTaskParams content(@javax.annotation.Nullable String content) { + this.content = content; + return this; + } + + /** + * The SharePoint document content + * @return content + */ + @javax.annotation.Nullable + public String getContent() { + return content; + } + + public void setContent(@javax.annotation.Nullable String content) { + this.content = content; + } + + + public UpdateSharepointPageTaskParams postMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + return this; + } + + /** + * Retrospective template to use when updating document, if desired + * @return postMortemTemplateId + */ + @javax.annotation.Nullable + public String getPostMortemTemplateId() { + return postMortemTemplateId; + } + + public void setPostMortemTemplateId(@javax.annotation.Nullable String postMortemTemplateId) { + this.postMortemTemplateId = postMortemTemplateId; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateSharepointPageTaskParams updateSharepointPageTaskParams = (UpdateSharepointPageTaskParams) o; + return Objects.equals(this.taskType, updateSharepointPageTaskParams.taskType) && + Objects.equals(this.fileId, updateSharepointPageTaskParams.fileId) && + Objects.equals(this.title, updateSharepointPageTaskParams.title) && + Objects.equals(this.content, updateSharepointPageTaskParams.content) && + Objects.equals(this.postMortemTemplateId, updateSharepointPageTaskParams.postMortemTemplateId); + } + + @Override + public int hashCode() { + return Objects.hash(taskType, fileId, title, content, postMortemTemplateId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateSharepointPageTaskParams {\n"); + sb.append(" taskType: ").append(toIndentedString(taskType)).append("\n"); + sb.append(" fileId: ").append(toIndentedString(fileId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" content: ").append(toIndentedString(content)).append("\n"); + sb.append(" postMortemTemplateId: ").append(toIndentedString(postMortemTemplateId)).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("file_id"); + openapiFields.add("title"); + openapiFields.add("content"); + openapiFields.add("post_mortem_template_id"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("file_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 UpdateSharepointPageTaskParams + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateSharepointPageTaskParams.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateSharepointPageTaskParams is not found in the empty JSON string", UpdateSharepointPageTaskParams.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateSharepointPageTaskParams.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateSharepointPageTaskParams` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateSharepointPageTaskParams.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")); + } + if (!jsonObj.get("file_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `file_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("file_id").toString())); + } + 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("post_mortem_template_id") != null && !jsonObj.get("post_mortem_template_id").isJsonNull()) && !jsonObj.get("post_mortem_template_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `post_mortem_template_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("post_mortem_template_id").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateSharepointPageTaskParams.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateSharepointPageTaskParams' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateSharepointPageTaskParams.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateSharepointPageTaskParams value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateSharepointPageTaskParams read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateSharepointPageTaskParams given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateSharepointPageTaskParams + * @throws IOException if the JSON string is invalid with respect to UpdateSharepointPageTaskParams + */ + public static UpdateSharepointPageTaskParams fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateSharepointPageTaskParams.class); + } + + /** + * Convert an instance of UpdateSharepointPageTaskParams 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/UpdateShortcutStoryTaskParams.java b/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java index 80b4c561..49bea6ac 100644 --- a/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateShortcutStoryTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateShortcutStoryTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f72f130c..9a9528f7 100644 --- a/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateShortcutTaskTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateShortcutTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..9a29c43c --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateSla.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.UpdateSlaData; +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; + +/** + * UpdateSla + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateSla { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateSlaData data; + + public UpdateSla() { + } + + public UpdateSla data(@javax.annotation.Nonnull UpdateSlaData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateSlaData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateSlaData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateSla updateSla = (UpdateSla) o; + return Objects.equals(this.data, updateSla.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateSla {\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 UpdateSla + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateSla.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateSla is not found in the empty JSON string", UpdateSla.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateSla.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateSla` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateSla.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` + UpdateSlaData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateSla.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateSla' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateSla.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateSla value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateSla read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateSla given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateSla + * @throws IOException if the JSON string is invalid with respect to UpdateSla + */ + public static UpdateSla fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateSla.class); + } + + /** + * Convert an instance of UpdateSla 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/UpdateSlaData.java b/src/main/java/com/rootly/client/model/UpdateSlaData.java new file mode 100644 index 00000000..668816d7 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateSlaData.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.UpdateSlaDataAttributes; +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; + +/** + * UpdateSlaData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateSlaData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + SLAS("slas"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateSlaDataAttributes attributes; + + public UpdateSlaData() { + } + + public UpdateSlaData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateSlaData attributes(@javax.annotation.Nonnull UpdateSlaDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateSlaDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateSlaDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateSlaData updateSlaData = (UpdateSlaData) o; + return Objects.equals(this.type, updateSlaData.type) && + Objects.equals(this.attributes, updateSlaData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateSlaData {\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 UpdateSlaData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateSlaData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateSlaData is not found in the empty JSON string", UpdateSlaData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateSlaData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateSlaData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateSlaData.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` + UpdateSlaDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateSlaData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateSlaData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlaData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateSlaData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateSlaData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateSlaData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateSlaData + * @throws IOException if the JSON string is invalid with respect to UpdateSlaData + */ + public static UpdateSlaData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateSlaData.class); + } + + /** + * Convert an instance of UpdateSlaData 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/UpdateSlaDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java new file mode 100644 index 00000000..4720bb90 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java @@ -0,0 +1,1021 @@ +/* + * 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.NewSlaDataAttributesConditionsInner; +import com.rootly.client.model.NewSlaDataAttributesNotificationConfigurationsInner; +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 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; + +/** + * UpdateSlaDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateSlaDataAttributes { + public static final String SERIALIZED_NAME_NAME = "name"; + @SerializedName(SERIALIZED_NAME_NAME) + @javax.annotation.Nullable + private String name; + + public static final String SERIALIZED_NAME_DESCRIPTION = "description"; + @SerializedName(SERIALIZED_NAME_DESCRIPTION) + @javax.annotation.Nullable + private String description; + + public static final String SERIALIZED_NAME_POSITION = "position"; + @SerializedName(SERIALIZED_NAME_POSITION) + @javax.annotation.Nullable + private Integer position; + + /** + * Whether all or any conditions must match + */ + @JsonAdapter(ConditionMatchTypeEnum.Adapter.class) + public enum ConditionMatchTypeEnum { + ALL("ALL"), + + ANY("ANY"); + + private String value; + + ConditionMatchTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static ConditionMatchTypeEnum fromValue(String value) { + for (ConditionMatchTypeEnum b : ConditionMatchTypeEnum.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 ConditionMatchTypeEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public ConditionMatchTypeEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return ConditionMatchTypeEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + ConditionMatchTypeEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_CONDITION_MATCH_TYPE = "condition_match_type"; + @SerializedName(SERIALIZED_NAME_CONDITION_MATCH_TYPE) + @javax.annotation.Nullable + private ConditionMatchTypeEnum conditionMatchType; + + public static final String SERIALIZED_NAME_MANAGER_ROLE_ID = "manager_role_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_ROLE_ID) + @javax.annotation.Nullable + private UUID managerRoleId; + + public static final String SERIALIZED_NAME_MANAGER_USER_ID = "manager_user_id"; + @SerializedName(SERIALIZED_NAME_MANAGER_USER_ID) + @javax.annotation.Nullable + private Integer managerUserId; + + /** + * Number of days for the assignment deadline + */ + @JsonAdapter(AssignmentDeadlineDaysEnum.Adapter.class) + public enum AssignmentDeadlineDaysEnum { + NUMBER_1(1), + + NUMBER_2(2), + + NUMBER_3(3), + + NUMBER_4(4), + + NUMBER_5(5), + + NUMBER_6(6), + + NUMBER_7(7), + + NUMBER_14(14), + + NUMBER_21(21), + + NUMBER_30(30); + + private Integer value; + + AssignmentDeadlineDaysEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssignmentDeadlineDaysEnum fromValue(Integer value) { + for (AssignmentDeadlineDaysEnum b : AssignmentDeadlineDaysEnum.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 AssignmentDeadlineDaysEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssignmentDeadlineDaysEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return AssignmentDeadlineDaysEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + AssignmentDeadlineDaysEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS = "assignment_deadline_days"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_DAYS) + @javax.annotation.Nullable + private AssignmentDeadlineDaysEnum assignmentDeadlineDays; + + /** + * The incident parent status that triggers the assignment deadline + */ + @JsonAdapter(AssignmentDeadlineParentStatusEnum.Adapter.class) + public enum AssignmentDeadlineParentStatusEnum { + IN_TRIAGE("in_triage"), + + STARTED("started"), + + MITIGATED("mitigated"), + + RESOLVED("resolved"), + + CLOSED("closed"), + + CANCELLED("cancelled"); + + private String value; + + AssignmentDeadlineParentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AssignmentDeadlineParentStatusEnum fromValue(String value) { + for (AssignmentDeadlineParentStatusEnum b : AssignmentDeadlineParentStatusEnum.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 AssignmentDeadlineParentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AssignmentDeadlineParentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AssignmentDeadlineParentStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AssignmentDeadlineParentStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS = "assignment_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_PARENT_STATUS) + @javax.annotation.Nullable + private AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus; + + public static final String SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID = "assignment_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID assignmentDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS = "assignment_skip_weekends"; + @SerializedName(SERIALIZED_NAME_ASSIGNMENT_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean assignmentSkipWeekends; + + /** + * Number of days for the completion deadline + */ + @JsonAdapter(CompletionDeadlineDaysEnum.Adapter.class) + public enum CompletionDeadlineDaysEnum { + NUMBER_1(1), + + NUMBER_2(2), + + NUMBER_3(3), + + NUMBER_4(4), + + NUMBER_5(5), + + NUMBER_6(6), + + NUMBER_7(7), + + NUMBER_14(14), + + NUMBER_21(21), + + NUMBER_30(30); + + private Integer value; + + CompletionDeadlineDaysEnum(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CompletionDeadlineDaysEnum fromValue(Integer value) { + for (CompletionDeadlineDaysEnum b : CompletionDeadlineDaysEnum.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 CompletionDeadlineDaysEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CompletionDeadlineDaysEnum read(final JsonReader jsonReader) throws IOException { + Integer value = jsonReader.nextInt(); + return CompletionDeadlineDaysEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + Integer value = jsonElement.getAsInt(); + CompletionDeadlineDaysEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS = "completion_deadline_days"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_DAYS) + @javax.annotation.Nullable + private CompletionDeadlineDaysEnum completionDeadlineDays; + + /** + * The incident parent status that triggers the completion deadline + */ + @JsonAdapter(CompletionDeadlineParentStatusEnum.Adapter.class) + public enum CompletionDeadlineParentStatusEnum { + IN_TRIAGE("in_triage"), + + STARTED("started"), + + MITIGATED("mitigated"), + + RESOLVED("resolved"), + + CLOSED("closed"), + + CANCELLED("cancelled"); + + private String value; + + CompletionDeadlineParentStatusEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static CompletionDeadlineParentStatusEnum fromValue(String value) { + for (CompletionDeadlineParentStatusEnum b : CompletionDeadlineParentStatusEnum.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 CompletionDeadlineParentStatusEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public CompletionDeadlineParentStatusEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return CompletionDeadlineParentStatusEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + CompletionDeadlineParentStatusEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS = "completion_deadline_parent_status"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_PARENT_STATUS) + @javax.annotation.Nullable + private CompletionDeadlineParentStatusEnum completionDeadlineParentStatus; + + public static final String SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID = "completion_deadline_sub_status_id"; + @SerializedName(SERIALIZED_NAME_COMPLETION_DEADLINE_SUB_STATUS_ID) + @javax.annotation.Nullable + private UUID completionDeadlineSubStatusId; + + public static final String SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS = "completion_skip_weekends"; + @SerializedName(SERIALIZED_NAME_COMPLETION_SKIP_WEEKENDS) + @javax.annotation.Nullable + private Boolean completionSkipWeekends; + + public static final String SERIALIZED_NAME_CONDITIONS = "conditions"; + @SerializedName(SERIALIZED_NAME_CONDITIONS) + @javax.annotation.Nullable + private List conditions = new ArrayList<>(); + + public static final String SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS = "notification_configurations"; + @SerializedName(SERIALIZED_NAME_NOTIFICATION_CONFIGURATIONS) + @javax.annotation.Nullable + private List notificationConfigurations = new ArrayList<>(); + + public UpdateSlaDataAttributes() { + } + + public UpdateSlaDataAttributes name(@javax.annotation.Nullable String name) { + this.name = name; + return this; + } + + /** + * The name of the SLA + * @return name + */ + @javax.annotation.Nullable + public String getName() { + return name; + } + + public void setName(@javax.annotation.Nullable String name) { + this.name = name; + } + + + public UpdateSlaDataAttributes description(@javax.annotation.Nullable String description) { + this.description = description; + return this; + } + + /** + * A description of the SLA + * @return description + */ + @javax.annotation.Nullable + public String getDescription() { + return description; + } + + public void setDescription(@javax.annotation.Nullable String description) { + this.description = description; + } + + + public UpdateSlaDataAttributes position(@javax.annotation.Nullable Integer position) { + this.position = position; + return this; + } + + /** + * Position of the SLA for ordering + * @return position + */ + @javax.annotation.Nullable + public Integer getPosition() { + return position; + } + + public void setPosition(@javax.annotation.Nullable Integer position) { + this.position = position; + } + + + public UpdateSlaDataAttributes conditionMatchType(@javax.annotation.Nullable ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + return this; + } + + /** + * Whether all or any conditions must match + * @return conditionMatchType + */ + @javax.annotation.Nullable + public ConditionMatchTypeEnum getConditionMatchType() { + return conditionMatchType; + } + + public void setConditionMatchType(@javax.annotation.Nullable ConditionMatchTypeEnum conditionMatchType) { + this.conditionMatchType = conditionMatchType; + } + + + public UpdateSlaDataAttributes managerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + return this; + } + + /** + * The ID of the incident role responsible for this SLA. Exactly one of `manager_role_id` or `manager_user_id` must be provided. + * @return managerRoleId + */ + @javax.annotation.Nullable + public UUID getManagerRoleId() { + return managerRoleId; + } + + public void setManagerRoleId(@javax.annotation.Nullable UUID managerRoleId) { + this.managerRoleId = managerRoleId; + } + + + public UpdateSlaDataAttributes managerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + return this; + } + + /** + * The ID of the user responsible for this SLA. Exactly one of `manager_role_id` or `manager_user_id` must be provided. + * @return managerUserId + */ + @javax.annotation.Nullable + public Integer getManagerUserId() { + return managerUserId; + } + + public void setManagerUserId(@javax.annotation.Nullable Integer managerUserId) { + this.managerUserId = managerUserId; + } + + + public UpdateSlaDataAttributes assignmentDeadlineDays(@javax.annotation.Nullable AssignmentDeadlineDaysEnum assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + return this; + } + + /** + * Number of days for the assignment deadline + * @return assignmentDeadlineDays + */ + @javax.annotation.Nullable + public AssignmentDeadlineDaysEnum getAssignmentDeadlineDays() { + return assignmentDeadlineDays; + } + + public void setAssignmentDeadlineDays(@javax.annotation.Nullable AssignmentDeadlineDaysEnum assignmentDeadlineDays) { + this.assignmentDeadlineDays = assignmentDeadlineDays; + } + + + public UpdateSlaDataAttributes assignmentDeadlineParentStatus(@javax.annotation.Nullable AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the assignment deadline + * @return assignmentDeadlineParentStatus + */ + @javax.annotation.Nullable + public AssignmentDeadlineParentStatusEnum getAssignmentDeadlineParentStatus() { + return assignmentDeadlineParentStatus; + } + + public void setAssignmentDeadlineParentStatus(@javax.annotation.Nullable AssignmentDeadlineParentStatusEnum assignmentDeadlineParentStatus) { + this.assignmentDeadlineParentStatus = assignmentDeadlineParentStatus; + } + + + public UpdateSlaDataAttributes assignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the assignment deadline. Required when custom lifecycle statuses are enabled on the team. + * @return assignmentDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getAssignmentDeadlineSubStatusId() { + return assignmentDeadlineSubStatusId; + } + + public void setAssignmentDeadlineSubStatusId(@javax.annotation.Nullable UUID assignmentDeadlineSubStatusId) { + this.assignmentDeadlineSubStatusId = assignmentDeadlineSubStatusId; + } + + + public UpdateSlaDataAttributes assignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the assignment deadline + * @return assignmentSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getAssignmentSkipWeekends() { + return assignmentSkipWeekends; + } + + public void setAssignmentSkipWeekends(@javax.annotation.Nullable Boolean assignmentSkipWeekends) { + this.assignmentSkipWeekends = assignmentSkipWeekends; + } + + + public UpdateSlaDataAttributes completionDeadlineDays(@javax.annotation.Nullable CompletionDeadlineDaysEnum completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + return this; + } + + /** + * Number of days for the completion deadline + * @return completionDeadlineDays + */ + @javax.annotation.Nullable + public CompletionDeadlineDaysEnum getCompletionDeadlineDays() { + return completionDeadlineDays; + } + + public void setCompletionDeadlineDays(@javax.annotation.Nullable CompletionDeadlineDaysEnum completionDeadlineDays) { + this.completionDeadlineDays = completionDeadlineDays; + } + + + public UpdateSlaDataAttributes completionDeadlineParentStatus(@javax.annotation.Nullable CompletionDeadlineParentStatusEnum completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + return this; + } + + /** + * The incident parent status that triggers the completion deadline + * @return completionDeadlineParentStatus + */ + @javax.annotation.Nullable + public CompletionDeadlineParentStatusEnum getCompletionDeadlineParentStatus() { + return completionDeadlineParentStatus; + } + + public void setCompletionDeadlineParentStatus(@javax.annotation.Nullable CompletionDeadlineParentStatusEnum completionDeadlineParentStatus) { + this.completionDeadlineParentStatus = completionDeadlineParentStatus; + } + + + public UpdateSlaDataAttributes completionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + return this; + } + + /** + * Sub-status for the completion deadline. Required when custom lifecycle statuses are enabled on the team. + * @return completionDeadlineSubStatusId + */ + @javax.annotation.Nullable + public UUID getCompletionDeadlineSubStatusId() { + return completionDeadlineSubStatusId; + } + + public void setCompletionDeadlineSubStatusId(@javax.annotation.Nullable UUID completionDeadlineSubStatusId) { + this.completionDeadlineSubStatusId = completionDeadlineSubStatusId; + } + + + public UpdateSlaDataAttributes completionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + return this; + } + + /** + * Whether to skip weekends when calculating the completion deadline + * @return completionSkipWeekends + */ + @javax.annotation.Nullable + public Boolean getCompletionSkipWeekends() { + return completionSkipWeekends; + } + + public void setCompletionSkipWeekends(@javax.annotation.Nullable Boolean completionSkipWeekends) { + this.completionSkipWeekends = completionSkipWeekends; + } + + + public UpdateSlaDataAttributes conditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + return this; + } + + public UpdateSlaDataAttributes addConditionsItem(NewSlaDataAttributesConditionsInner conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * Conditions that determine which incidents this SLA applies to. Replaces all existing conditions. + * @return conditions + */ + @javax.annotation.Nullable + public List getConditions() { + return conditions; + } + + public void setConditions(@javax.annotation.Nullable List conditions) { + this.conditions = conditions; + } + + + public UpdateSlaDataAttributes notificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + return this; + } + + public UpdateSlaDataAttributes addNotificationConfigurationsItem(NewSlaDataAttributesNotificationConfigurationsInner notificationConfigurationsItem) { + if (this.notificationConfigurations == null) { + this.notificationConfigurations = new ArrayList<>(); + } + this.notificationConfigurations.add(notificationConfigurationsItem); + return this; + } + + /** + * Notification timing configurations. Replaces all existing configurations. + * @return notificationConfigurations + */ + @javax.annotation.Nullable + public List getNotificationConfigurations() { + return notificationConfigurations; + } + + public void setNotificationConfigurations(@javax.annotation.Nullable List notificationConfigurations) { + this.notificationConfigurations = notificationConfigurations; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateSlaDataAttributes updateSlaDataAttributes = (UpdateSlaDataAttributes) o; + return Objects.equals(this.name, updateSlaDataAttributes.name) && + Objects.equals(this.description, updateSlaDataAttributes.description) && + Objects.equals(this.position, updateSlaDataAttributes.position) && + Objects.equals(this.conditionMatchType, updateSlaDataAttributes.conditionMatchType) && + Objects.equals(this.managerRoleId, updateSlaDataAttributes.managerRoleId) && + Objects.equals(this.managerUserId, updateSlaDataAttributes.managerUserId) && + Objects.equals(this.assignmentDeadlineDays, updateSlaDataAttributes.assignmentDeadlineDays) && + Objects.equals(this.assignmentDeadlineParentStatus, updateSlaDataAttributes.assignmentDeadlineParentStatus) && + Objects.equals(this.assignmentDeadlineSubStatusId, updateSlaDataAttributes.assignmentDeadlineSubStatusId) && + Objects.equals(this.assignmentSkipWeekends, updateSlaDataAttributes.assignmentSkipWeekends) && + Objects.equals(this.completionDeadlineDays, updateSlaDataAttributes.completionDeadlineDays) && + Objects.equals(this.completionDeadlineParentStatus, updateSlaDataAttributes.completionDeadlineParentStatus) && + Objects.equals(this.completionDeadlineSubStatusId, updateSlaDataAttributes.completionDeadlineSubStatusId) && + Objects.equals(this.completionSkipWeekends, updateSlaDataAttributes.completionSkipWeekends) && + Objects.equals(this.conditions, updateSlaDataAttributes.conditions) && + Objects.equals(this.notificationConfigurations, updateSlaDataAttributes.notificationConfigurations); + } + + 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, description, position, conditionMatchType, managerRoleId, managerUserId, assignmentDeadlineDays, assignmentDeadlineParentStatus, assignmentDeadlineSubStatusId, assignmentSkipWeekends, completionDeadlineDays, completionDeadlineParentStatus, completionDeadlineSubStatusId, completionSkipWeekends, conditions, notificationConfigurations); + } + + 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 UpdateSlaDataAttributes {\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(" conditionMatchType: ").append(toIndentedString(conditionMatchType)).append("\n"); + sb.append(" managerRoleId: ").append(toIndentedString(managerRoleId)).append("\n"); + sb.append(" managerUserId: ").append(toIndentedString(managerUserId)).append("\n"); + sb.append(" assignmentDeadlineDays: ").append(toIndentedString(assignmentDeadlineDays)).append("\n"); + sb.append(" assignmentDeadlineParentStatus: ").append(toIndentedString(assignmentDeadlineParentStatus)).append("\n"); + sb.append(" assignmentDeadlineSubStatusId: ").append(toIndentedString(assignmentDeadlineSubStatusId)).append("\n"); + sb.append(" assignmentSkipWeekends: ").append(toIndentedString(assignmentSkipWeekends)).append("\n"); + sb.append(" completionDeadlineDays: ").append(toIndentedString(completionDeadlineDays)).append("\n"); + sb.append(" completionDeadlineParentStatus: ").append(toIndentedString(completionDeadlineParentStatus)).append("\n"); + sb.append(" completionDeadlineSubStatusId: ").append(toIndentedString(completionDeadlineSubStatusId)).append("\n"); + sb.append(" completionSkipWeekends: ").append(toIndentedString(completionSkipWeekends)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" notificationConfigurations: ").append(toIndentedString(notificationConfigurations)).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("position"); + openapiFields.add("condition_match_type"); + openapiFields.add("manager_role_id"); + openapiFields.add("manager_user_id"); + openapiFields.add("assignment_deadline_days"); + openapiFields.add("assignment_deadline_parent_status"); + openapiFields.add("assignment_deadline_sub_status_id"); + openapiFields.add("assignment_skip_weekends"); + openapiFields.add("completion_deadline_days"); + openapiFields.add("completion_deadline_parent_status"); + openapiFields.add("completion_deadline_sub_status_id"); + openapiFields.add("completion_skip_weekends"); + openapiFields.add("conditions"); + openapiFields.add("notification_configurations"); + + // 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 UpdateSlaDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateSlaDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateSlaDataAttributes is not found in the empty JSON string", UpdateSlaDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateSlaDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateSlaDataAttributes` 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())); + } + if ((jsonObj.get("condition_match_type") != null && !jsonObj.get("condition_match_type").isJsonNull()) && !jsonObj.get("condition_match_type").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `condition_match_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("condition_match_type").toString())); + } + // validate the optional field `condition_match_type` + if (jsonObj.get("condition_match_type") != null && !jsonObj.get("condition_match_type").isJsonNull()) { + ConditionMatchTypeEnum.validateJsonElement(jsonObj.get("condition_match_type")); + } + if ((jsonObj.get("manager_role_id") != null && !jsonObj.get("manager_role_id").isJsonNull()) && !jsonObj.get("manager_role_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `manager_role_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("manager_role_id").toString())); + } + // validate the optional field `assignment_deadline_days` + if (jsonObj.get("assignment_deadline_days") != null && !jsonObj.get("assignment_deadline_days").isJsonNull()) { + AssignmentDeadlineDaysEnum.validateJsonElement(jsonObj.get("assignment_deadline_days")); + } + if ((jsonObj.get("assignment_deadline_parent_status") != null && !jsonObj.get("assignment_deadline_parent_status").isJsonNull()) && !jsonObj.get("assignment_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_parent_status").toString())); + } + // validate the optional field `assignment_deadline_parent_status` + if (jsonObj.get("assignment_deadline_parent_status") != null && !jsonObj.get("assignment_deadline_parent_status").isJsonNull()) { + AssignmentDeadlineParentStatusEnum.validateJsonElement(jsonObj.get("assignment_deadline_parent_status")); + } + if ((jsonObj.get("assignment_deadline_sub_status_id") != null && !jsonObj.get("assignment_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("assignment_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `assignment_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("assignment_deadline_sub_status_id").toString())); + } + // validate the optional field `completion_deadline_days` + if (jsonObj.get("completion_deadline_days") != null && !jsonObj.get("completion_deadline_days").isJsonNull()) { + CompletionDeadlineDaysEnum.validateJsonElement(jsonObj.get("completion_deadline_days")); + } + if ((jsonObj.get("completion_deadline_parent_status") != null && !jsonObj.get("completion_deadline_parent_status").isJsonNull()) && !jsonObj.get("completion_deadline_parent_status").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_parent_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_parent_status").toString())); + } + // validate the optional field `completion_deadline_parent_status` + if (jsonObj.get("completion_deadline_parent_status") != null && !jsonObj.get("completion_deadline_parent_status").isJsonNull()) { + CompletionDeadlineParentStatusEnum.validateJsonElement(jsonObj.get("completion_deadline_parent_status")); + } + if ((jsonObj.get("completion_deadline_sub_status_id") != null && !jsonObj.get("completion_deadline_sub_status_id").isJsonNull()) && !jsonObj.get("completion_deadline_sub_status_id").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `completion_deadline_sub_status_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("completion_deadline_sub_status_id").toString())); + } + if (jsonObj.get("conditions") != null && !jsonObj.get("conditions").isJsonNull()) { + JsonArray jsonArrayconditions = jsonObj.getAsJsonArray("conditions"); + if (jsonArrayconditions != null) { + // 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())); + } + + // validate the optional field `conditions` (array) + for (int i = 0; i < jsonArrayconditions.size(); i++) { + NewSlaDataAttributesConditionsInner.validateJsonElement(jsonArrayconditions.get(i)); + }; + } + } + if (jsonObj.get("notification_configurations") != null && !jsonObj.get("notification_configurations").isJsonNull()) { + JsonArray jsonArraynotificationConfigurations = jsonObj.getAsJsonArray("notification_configurations"); + if (jsonArraynotificationConfigurations != null) { + // ensure the json data is an array + if (!jsonObj.get("notification_configurations").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `notification_configurations` to be an array in the JSON string but got `%s`", jsonObj.get("notification_configurations").toString())); + } + + // validate the optional field `notification_configurations` (array) + for (int i = 0; i < jsonArraynotificationConfigurations.size(); i++) { + NewSlaDataAttributesNotificationConfigurationsInner.validateJsonElement(jsonArraynotificationConfigurations.get(i)); + }; + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateSlaDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateSlaDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateSlaDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateSlaDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateSlaDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateSlaDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateSlaDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateSlaDataAttributes + */ + public static UpdateSlaDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateSlaDataAttributes.class); + } + + /** + * Convert an instance of UpdateSlaDataAttributes 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 f95e3cc4..78a4bdfb 100644 --- a/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSlackChannelTopicTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlackChannelTopicTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPage.java b/src/main/java/com/rootly/client/model/UpdateStatusPage.java index ea114d48..4f61012d 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPage.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPage.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateStatusPage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/UpdateStatusPageData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java index affa29b0..b8bfd60d 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateStatusPageData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java index 886f942e..68607bf0 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateStatusPageDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @@ -102,11 +102,7 @@ public enum ShowUptimeLastDaysEnum { NUMBER_60(60), - NUMBER_90(90), - - NUMBER_180(180), - - NUMBER_360(360); + NUMBER_90(90); private Integer value; @@ -166,7 +162,67 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String failureMessage; + /** + * Authentication method + */ + @JsonAdapter(AuthenticationMethodEnum.Adapter.class) + public enum AuthenticationMethodEnum { + NONE("none"), + + PASSWORD("password"), + + SAML("saml"); + + private String value; + + AuthenticationMethodEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static AuthenticationMethodEnum fromValue(String value) { + for (AuthenticationMethodEnum b : AuthenticationMethodEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final AuthenticationMethodEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public AuthenticationMethodEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return AuthenticationMethodEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + AuthenticationMethodEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_AUTHENTICATION_METHOD = "authentication_method"; + @SerializedName(SERIALIZED_NAME_AUTHENTICATION_METHOD) + @javax.annotation.Nullable + private AuthenticationMethodEnum authenticationMethod = AuthenticationMethodEnum.NONE; + public static final String SERIALIZED_NAME_AUTHENTICATION_ENABLED = "authentication_enabled"; + @Deprecated @SerializedName(SERIALIZED_NAME_AUTHENTICATION_ENABLED) @javax.annotation.Nullable private Boolean authenticationEnabled = false; @@ -176,6 +232,146 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private String authenticationPassword; + public static final String SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL = "saml_idp_sso_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SSO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSsoServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL = "saml_idp_slo_service_url"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_SLO_SERVICE_URL) + @javax.annotation.Nullable + private String samlIdpSloServiceUrl; + + public static final String SERIALIZED_NAME_SAML_IDP_CERT = "saml_idp_cert"; + @SerializedName(SERIALIZED_NAME_SAML_IDP_CERT) + @javax.annotation.Nullable + private String samlIdpCert; + + /** + * SAML name identifier format + */ + @JsonAdapter(SamlNameIdentifierFormatEnum.Adapter.class) + public enum SamlNameIdentifierFormatEnum { + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_EMAIL_ADDRESS("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_PERSISTENT("urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"), + + URN_OASIS_NAMES_TC_SAML_2_0_NAMEID_FORMAT_TRANSIENT("urn:oasis:names:tc:SAML:2.0:nameid-format:transient"), + + URN_OASIS_NAMES_TC_SAML_1_1_NAMEID_FORMAT_UNSPECIFIED("urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"); + + private String value; + + SamlNameIdentifierFormatEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SamlNameIdentifierFormatEnum fromValue(String value) { + for (SamlNameIdentifierFormatEnum b : SamlNameIdentifierFormatEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + return null; + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final SamlNameIdentifierFormatEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SamlNameIdentifierFormatEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SamlNameIdentifierFormatEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT = "saml_name_identifier_format"; + @SerializedName(SERIALIZED_NAME_SAML_NAME_IDENTIFIER_FORMAT) + @javax.annotation.Nullable + private SamlNameIdentifierFormatEnum samlNameIdentifierFormat; + + /** + * Gets or Sets sectionOrder + */ + @JsonAdapter(SectionOrderEnum.Adapter.class) + public enum SectionOrderEnum { + MAINTENANCE("maintenance"), + + SYSTEM_STATUS("system_status"), + + INCIDENTS("incidents"); + + private String value; + + SectionOrderEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static SectionOrderEnum fromValue(String value) { + for (SectionOrderEnum b : SectionOrderEnum.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 SectionOrderEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public SectionOrderEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return SectionOrderEnum.fromValue(value); + } + } + + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + String value = jsonElement.getAsString(); + SectionOrderEnum.fromValue(value); + } + } + + public static final String SERIALIZED_NAME_SECTION_ORDER = "section_order"; + @SerializedName(SERIALIZED_NAME_SECTION_ORDER) + @javax.annotation.Nullable + private List sectionOrder; + + public static final String SERIALIZED_NAME_EXTERNAL_DOMAIN_NAMES = "external_domain_names"; + @SerializedName(SERIALIZED_NAME_EXTERNAL_DOMAIN_NAMES) + @javax.annotation.Nullable + private List externalDomainNames; + public static final String SERIALIZED_NAME_WEBSITE_URL = "website_url"; @SerializedName(SERIALIZED_NAME_WEBSITE_URL) @javax.annotation.Nullable @@ -433,20 +629,43 @@ public void setFailureMessage(@javax.annotation.Nullable String failureMessage) } + public UpdateStatusPageDataAttributes authenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + return this; + } + + /** + * Authentication method + * @return authenticationMethod + */ + @javax.annotation.Nullable + public AuthenticationMethodEnum getAuthenticationMethod() { + return authenticationMethod; + } + + public void setAuthenticationMethod(@javax.annotation.Nullable AuthenticationMethodEnum authenticationMethod) { + this.authenticationMethod = authenticationMethod; + } + + + @Deprecated public UpdateStatusPageDataAttributes authenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; return this; } /** - * Enable authentication + * Enable authentication (deprecated - use authentication_method instead) * @return authenticationEnabled + * @deprecated */ + @Deprecated @javax.annotation.Nullable public Boolean getAuthenticationEnabled() { return authenticationEnabled; } + @Deprecated public void setAuthenticationEnabled(@javax.annotation.Nullable Boolean authenticationEnabled) { this.authenticationEnabled = authenticationEnabled; } @@ -471,6 +690,136 @@ public void setAuthenticationPassword(@javax.annotation.Nullable String authenti } + public UpdateStatusPageDataAttributes samlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + return this; + } + + /** + * SAML IdP SSO service URL + * @return samlIdpSsoServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSsoServiceUrl() { + return samlIdpSsoServiceUrl; + } + + public void setSamlIdpSsoServiceUrl(@javax.annotation.Nullable String samlIdpSsoServiceUrl) { + this.samlIdpSsoServiceUrl = samlIdpSsoServiceUrl; + } + + + public UpdateStatusPageDataAttributes samlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + return this; + } + + /** + * SAML IdP SLO service URL + * @return samlIdpSloServiceUrl + */ + @javax.annotation.Nullable + public String getSamlIdpSloServiceUrl() { + return samlIdpSloServiceUrl; + } + + public void setSamlIdpSloServiceUrl(@javax.annotation.Nullable String samlIdpSloServiceUrl) { + this.samlIdpSloServiceUrl = samlIdpSloServiceUrl; + } + + + public UpdateStatusPageDataAttributes samlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + return this; + } + + /** + * SAML IdP certificate + * @return samlIdpCert + */ + @javax.annotation.Nullable + public String getSamlIdpCert() { + return samlIdpCert; + } + + public void setSamlIdpCert(@javax.annotation.Nullable String samlIdpCert) { + this.samlIdpCert = samlIdpCert; + } + + + public UpdateStatusPageDataAttributes samlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + return this; + } + + /** + * SAML name identifier format + * @return samlNameIdentifierFormat + */ + @javax.annotation.Nullable + public SamlNameIdentifierFormatEnum getSamlNameIdentifierFormat() { + return samlNameIdentifierFormat; + } + + public void setSamlNameIdentifierFormat(@javax.annotation.Nullable SamlNameIdentifierFormatEnum samlNameIdentifierFormat) { + this.samlNameIdentifierFormat = samlNameIdentifierFormat; + } + + + public UpdateStatusPageDataAttributes sectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + return this; + } + + public UpdateStatusPageDataAttributes addSectionOrderItem(SectionOrderEnum sectionOrderItem) { + if (this.sectionOrder == null) { + this.sectionOrder = new ArrayList<>(); + } + this.sectionOrder.add(sectionOrderItem); + return this; + } + + /** + * Order of sections on the status page + * @return sectionOrder + */ + @javax.annotation.Nullable + public List getSectionOrder() { + return sectionOrder; + } + + public void setSectionOrder(@javax.annotation.Nullable List sectionOrder) { + this.sectionOrder = sectionOrder; + } + + + public UpdateStatusPageDataAttributes externalDomainNames(@javax.annotation.Nullable List externalDomainNames) { + this.externalDomainNames = externalDomainNames; + return this; + } + + public UpdateStatusPageDataAttributes addExternalDomainNamesItem(String externalDomainNamesItem) { + if (this.externalDomainNames == null) { + this.externalDomainNames = new ArrayList<>(); + } + this.externalDomainNames.add(externalDomainNamesItem); + return this; + } + + /** + * External domain names attached to the status page + * @return externalDomainNames + */ + @javax.annotation.Nullable + public List getExternalDomainNames() { + return externalDomainNames; + } + + public void setExternalDomainNames(@javax.annotation.Nullable List externalDomainNames) { + this.externalDomainNames = externalDomainNames; + } + + public UpdateStatusPageDataAttributes websiteUrl(@javax.annotation.Nullable String websiteUrl) { this.websiteUrl = websiteUrl; return this; @@ -679,8 +1028,15 @@ public boolean equals(Object o) { Objects.equals(this.showUptimeLastDays, updateStatusPageDataAttributes.showUptimeLastDays) && Objects.equals(this.successMessage, updateStatusPageDataAttributes.successMessage) && Objects.equals(this.failureMessage, updateStatusPageDataAttributes.failureMessage) && + Objects.equals(this.authenticationMethod, updateStatusPageDataAttributes.authenticationMethod) && Objects.equals(this.authenticationEnabled, updateStatusPageDataAttributes.authenticationEnabled) && Objects.equals(this.authenticationPassword, updateStatusPageDataAttributes.authenticationPassword) && + Objects.equals(this.samlIdpSsoServiceUrl, updateStatusPageDataAttributes.samlIdpSsoServiceUrl) && + Objects.equals(this.samlIdpSloServiceUrl, updateStatusPageDataAttributes.samlIdpSloServiceUrl) && + Objects.equals(this.samlIdpCert, updateStatusPageDataAttributes.samlIdpCert) && + Objects.equals(this.samlNameIdentifierFormat, updateStatusPageDataAttributes.samlNameIdentifierFormat) && + Objects.equals(this.sectionOrder, updateStatusPageDataAttributes.sectionOrder) && + Objects.equals(this.externalDomainNames, updateStatusPageDataAttributes.externalDomainNames) && Objects.equals(this.websiteUrl, updateStatusPageDataAttributes.websiteUrl) && Objects.equals(this.websitePrivacyUrl, updateStatusPageDataAttributes.websitePrivacyUrl) && Objects.equals(this.websiteSupportUrl, updateStatusPageDataAttributes.websiteSupportUrl) && @@ -698,7 +1054,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationEnabled, authenticationPassword, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, enabled); + return Objects.hash(title, publicTitle, description, publicDescription, headerColor, footerColor, allowSearchEngineIndex, showUptime, showUptimeLastDays, successMessage, failureMessage, authenticationMethod, authenticationEnabled, authenticationPassword, samlIdpSsoServiceUrl, samlIdpSloServiceUrl, samlIdpCert, samlNameIdentifierFormat, sectionOrder, externalDomainNames, websiteUrl, websitePrivacyUrl, websiteSupportUrl, gaTrackingId, timeZone, _public, serviceIds, functionalityIds, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -723,8 +1079,15 @@ public String toString() { sb.append(" showUptimeLastDays: ").append(toIndentedString(showUptimeLastDays)).append("\n"); sb.append(" successMessage: ").append(toIndentedString(successMessage)).append("\n"); sb.append(" failureMessage: ").append(toIndentedString(failureMessage)).append("\n"); + sb.append(" authenticationMethod: ").append(toIndentedString(authenticationMethod)).append("\n"); sb.append(" authenticationEnabled: ").append(toIndentedString(authenticationEnabled)).append("\n"); sb.append(" authenticationPassword: ").append(toIndentedString(authenticationPassword)).append("\n"); + sb.append(" samlIdpSsoServiceUrl: ").append(toIndentedString(samlIdpSsoServiceUrl)).append("\n"); + sb.append(" samlIdpSloServiceUrl: ").append(toIndentedString(samlIdpSloServiceUrl)).append("\n"); + sb.append(" samlIdpCert: ").append(toIndentedString(samlIdpCert)).append("\n"); + sb.append(" samlNameIdentifierFormat: ").append(toIndentedString(samlNameIdentifierFormat)).append("\n"); + sb.append(" sectionOrder: ").append(toIndentedString(sectionOrder)).append("\n"); + sb.append(" externalDomainNames: ").append(toIndentedString(externalDomainNames)).append("\n"); sb.append(" websiteUrl: ").append(toIndentedString(websiteUrl)).append("\n"); sb.append(" websitePrivacyUrl: ").append(toIndentedString(websitePrivacyUrl)).append("\n"); sb.append(" websiteSupportUrl: ").append(toIndentedString(websiteSupportUrl)).append("\n"); @@ -767,8 +1130,15 @@ private String toIndentedString(Object o) { openapiFields.add("show_uptime_last_days"); openapiFields.add("success_message"); openapiFields.add("failure_message"); + openapiFields.add("authentication_method"); openapiFields.add("authentication_enabled"); openapiFields.add("authentication_password"); + openapiFields.add("saml_idp_sso_service_url"); + openapiFields.add("saml_idp_slo_service_url"); + openapiFields.add("saml_idp_cert"); + openapiFields.add("saml_name_identifier_format"); + openapiFields.add("section_order"); + openapiFields.add("external_domain_names"); openapiFields.add("website_url"); openapiFields.add("website_privacy_url"); openapiFields.add("website_support_url"); @@ -832,9 +1202,40 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if ((jsonObj.get("failure_message") != null && !jsonObj.get("failure_message").isJsonNull()) && !jsonObj.get("failure_message").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `failure_message` to be a primitive type in the JSON string but got `%s`", jsonObj.get("failure_message").toString())); } + if ((jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) && !jsonObj.get("authentication_method").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `authentication_method` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_method").toString())); + } + // validate the optional field `authentication_method` + if (jsonObj.get("authentication_method") != null && !jsonObj.get("authentication_method").isJsonNull()) { + AuthenticationMethodEnum.validateJsonElement(jsonObj.get("authentication_method")); + } if ((jsonObj.get("authentication_password") != null && !jsonObj.get("authentication_password").isJsonNull()) && !jsonObj.get("authentication_password").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `authentication_password` to be a primitive type in the JSON string but got `%s`", jsonObj.get("authentication_password").toString())); } + if ((jsonObj.get("saml_idp_sso_service_url") != null && !jsonObj.get("saml_idp_sso_service_url").isJsonNull()) && !jsonObj.get("saml_idp_sso_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_sso_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_sso_service_url").toString())); + } + if ((jsonObj.get("saml_idp_slo_service_url") != null && !jsonObj.get("saml_idp_slo_service_url").isJsonNull()) && !jsonObj.get("saml_idp_slo_service_url").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_slo_service_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_slo_service_url").toString())); + } + if ((jsonObj.get("saml_idp_cert") != null && !jsonObj.get("saml_idp_cert").isJsonNull()) && !jsonObj.get("saml_idp_cert").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_idp_cert` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_idp_cert").toString())); + } + if ((jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) && !jsonObj.get("saml_name_identifier_format").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `saml_name_identifier_format` to be a primitive type in the JSON string but got `%s`", jsonObj.get("saml_name_identifier_format").toString())); + } + // validate the optional field `saml_name_identifier_format` + if (jsonObj.get("saml_name_identifier_format") != null && !jsonObj.get("saml_name_identifier_format").isJsonNull()) { + SamlNameIdentifierFormatEnum.validateJsonElement(jsonObj.get("saml_name_identifier_format")); + } + // ensure the optional json data is an array if present + if (jsonObj.get("section_order") != null && !jsonObj.get("section_order").isJsonNull() && !jsonObj.get("section_order").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `section_order` to be an array in the JSON string but got `%s`", jsonObj.get("section_order").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("external_domain_names") != null && !jsonObj.get("external_domain_names").isJsonNull() && !jsonObj.get("external_domain_names").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `external_domain_names` to be an array in the JSON string but got `%s`", jsonObj.get("external_domain_names").toString())); + } if ((jsonObj.get("website_url") != null && !jsonObj.get("website_url").isJsonNull()) && !jsonObj.get("website_url").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `website_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("website_url").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java index f254443e..aca8c3a7 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateStatusPageTemplate */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2a4a7890..f305c272 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateStatusPageTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java index 04a4d6e5..05ff1670 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,13 +49,18 @@ /** * UpdateStatusPageTemplateDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplateDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) @javax.annotation.Nonnull private String title; + public static final String SERIALIZED_NAME_UPDATE_TITLE = "update_title"; + @SerializedName(SERIALIZED_NAME_UPDATE_TITLE) + @javax.annotation.Nullable + private String updateTitle; + public static final String SERIALIZED_NAME_BODY = "body"; @SerializedName(SERIALIZED_NAME_BODY) @javax.annotation.Nonnull @@ -78,8 +83,6 @@ public enum UpdateStatusEnum { IN_PROGRESS("in_progress"), - VERIFYING("verifying"), - COMPLETED("completed"); private String value; @@ -224,6 +227,25 @@ public void setTitle(@javax.annotation.Nonnull String title) { } + public UpdateStatusPageTemplateDataAttributes updateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + return this; + } + + /** + * Title that will be used for the status page update + * @return updateTitle + */ + @javax.annotation.Nullable + public String getUpdateTitle() { + return updateTitle; + } + + public void setUpdateTitle(@javax.annotation.Nullable String updateTitle) { + this.updateTitle = updateTitle; + } + + public UpdateStatusPageTemplateDataAttributes body(@javax.annotation.Nonnull String body) { this.body = body; return this; @@ -349,6 +371,7 @@ public boolean equals(Object o) { } UpdateStatusPageTemplateDataAttributes updateStatusPageTemplateDataAttributes = (UpdateStatusPageTemplateDataAttributes) o; return Objects.equals(this.title, updateStatusPageTemplateDataAttributes.title) && + Objects.equals(this.updateTitle, updateStatusPageTemplateDataAttributes.updateTitle) && Objects.equals(this.body, updateStatusPageTemplateDataAttributes.body) && Objects.equals(this.updateStatus, updateStatusPageTemplateDataAttributes.updateStatus) && Objects.equals(this.kind, updateStatusPageTemplateDataAttributes.kind) && @@ -363,7 +386,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(title, body, updateStatus, kind, shouldNotifySubscribers, position, enabled); + return Objects.hash(title, updateTitle, body, updateStatus, kind, shouldNotifySubscribers, position, enabled); } private static int hashCodeNullable(JsonNullable a) { @@ -378,6 +401,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateStatusPageTemplateDataAttributes {\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" updateTitle: ").append(toIndentedString(updateTitle)).append("\n"); sb.append(" body: ").append(toIndentedString(body)).append("\n"); sb.append(" updateStatus: ").append(toIndentedString(updateStatus)).append("\n"); sb.append(" kind: ").append(toIndentedString(kind)).append("\n"); @@ -407,6 +431,7 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("title"); + openapiFields.add("update_title"); openapiFields.add("body"); openapiFields.add("update_status"); openapiFields.add("kind"); @@ -451,6 +476,9 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti 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("update_title") != null && !jsonObj.get("update_title").isJsonNull()) && !jsonObj.get("update_title").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `update_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("update_title").toString())); + } if (!jsonObj.get("body").isJsonPrimitive()) { throw new IllegalArgumentException(String.format("Expected the field `body` to be a primitive type in the JSON string but got `%s`", jsonObj.get("body").toString())); } diff --git a/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java b/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java index c110deb1..3b8841ce 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateStatusTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 91931943..c8aa35d2 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatus.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatus.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSubStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 913b7b23..7a7fa997 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatusData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java index ff4c73b5..e3c1f458 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,18 +49,13 @@ /** * UpdateSubStatusDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -93,25 +88,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateSubStatusDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * Get slug - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateSubStatusDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -161,7 +137,6 @@ public boolean equals(Object o) { } UpdateSubStatusDataAttributes updateSubStatusDataAttributes = (UpdateSubStatusDataAttributes) o; return Objects.equals(this.name, updateSubStatusDataAttributes.name) && - Objects.equals(this.slug, updateSubStatusDataAttributes.slug) && Objects.equals(this.description, updateSubStatusDataAttributes.description) && Objects.equals(this.position, updateSubStatusDataAttributes.position); } @@ -172,7 +147,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, slug, description, position); + return Objects.hash(name, description, position); } private static int hashCodeNullable(JsonNullable a) { @@ -187,7 +162,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateSubStatusDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" position: ").append(toIndentedString(position)).append("\n"); sb.append("}"); @@ -213,7 +187,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("position"); @@ -245,9 +218,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateTeam.java b/src/main/java/com/rootly/client/model/UpdateTeam.java index ca708e3f..e1102eea 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeam.java +++ b/src/main/java/com/rootly/client/model/UpdateTeam.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateTeam */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6321956c..ab51f9b9 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeamData.java +++ b/src/main/java/com/rootly/client/model/UpdateTeamData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateTeamData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java index f4283562..502f5ad9 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +56,7 @@ /** * UpdateTeamDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -155,6 +158,36 @@ public class UpdateTeamDataAttributes { @javax.annotation.Nullable private List slackAliases; + public static final String SERIALIZED_NAME_ALERT_BROADCAST_ENABLED = "alert_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean alertBroadcastEnabled; + + public static final String SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL = "alert_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_ALERT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesAlertBroadcastChannel alertBroadcastChannel; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED = "incident_broadcast_enabled"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_ENABLED) + @javax.annotation.Nullable + private Boolean incidentBroadcastEnabled; + + public static final String SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL = "incident_broadcast_channel"; + @SerializedName(SERIALIZED_NAME_INCIDENT_BROADCAST_CHANNEL) + @javax.annotation.Nullable + private NewServiceDataAttributesIncidentBroadcastChannel incidentBroadcastChannel; + + public static final String SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED = "auto_add_members_when_attached"; + @SerializedName(SERIALIZED_NAME_AUTO_ADD_MEMBERS_WHEN_ATTACHED) + @javax.annotation.Nullable + private Boolean autoAddMembersWhenAttached; + + public static final String SERIALIZED_NAME_PROPERTIES = "properties"; + @SerializedName(SERIALIZED_NAME_PROPERTIES) + @javax.annotation.Nullable + private List properties = new ArrayList<>(); + public UpdateTeamDataAttributes() { } @@ -578,6 +611,128 @@ public void setSlackAliases(@javax.annotation.Nullable List properties) { + this.properties = properties; + return this; + } + + public UpdateTeamDataAttributes addPropertiesItem(NewCauseDataAttributesPropertiesInner propertiesItem) { + if (this.properties == null) { + this.properties = new ArrayList<>(); + } + this.properties.add(propertiesItem); + return this; + } + + /** + * Array of property values for this team. + * @return properties + */ + @javax.annotation.Nullable + public List getProperties() { + return properties; + } + + public void setProperties(@javax.annotation.Nullable List properties) { + this.properties = properties; + } + + @Override public boolean equals(Object o) { @@ -607,7 +762,13 @@ public boolean equals(Object o) { Objects.equals(this.alertsEmailEnabled, updateTeamDataAttributes.alertsEmailEnabled) && Objects.equals(this.alertUrgencyId, updateTeamDataAttributes.alertUrgencyId) && Objects.equals(this.slackChannels, updateTeamDataAttributes.slackChannels) && - Objects.equals(this.slackAliases, updateTeamDataAttributes.slackAliases); + Objects.equals(this.slackAliases, updateTeamDataAttributes.slackAliases) && + Objects.equals(this.alertBroadcastEnabled, updateTeamDataAttributes.alertBroadcastEnabled) && + Objects.equals(this.alertBroadcastChannel, updateTeamDataAttributes.alertBroadcastChannel) && + Objects.equals(this.incidentBroadcastEnabled, updateTeamDataAttributes.incidentBroadcastEnabled) && + Objects.equals(this.incidentBroadcastChannel, updateTeamDataAttributes.incidentBroadcastChannel) && + Objects.equals(this.autoAddMembersWhenAttached, updateTeamDataAttributes.autoAddMembersWhenAttached) && + Objects.equals(this.properties, updateTeamDataAttributes.properties); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -616,7 +777,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(name, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases); + return Objects.hash(name, description, notifyEmails, color, position, backstageId, externalId, pagerdutyId, pagerdutyServiceId, opsgenieId, victorOpsId, pagertreeId, cortexId, serviceNowCiSysId, userIds, adminIds, alertsEmailEnabled, alertUrgencyId, slackChannels, slackAliases, alertBroadcastEnabled, alertBroadcastChannel, incidentBroadcastEnabled, incidentBroadcastChannel, autoAddMembersWhenAttached, properties); } private static int hashCodeNullable(JsonNullable a) { @@ -650,6 +811,12 @@ public String toString() { sb.append(" alertUrgencyId: ").append(toIndentedString(alertUrgencyId)).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(" autoAddMembersWhenAttached: ").append(toIndentedString(autoAddMembersWhenAttached)).append("\n"); + sb.append(" properties: ").append(toIndentedString(properties)).append("\n"); sb.append("}"); return sb.toString(); } @@ -692,6 +859,12 @@ private String toIndentedString(Object o) { openapiFields.add("alert_urgency_id"); 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("auto_add_members_when_attached"); + openapiFields.add("properties"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -797,6 +970,28 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; } } + // validate the optional field `alert_broadcast_channel` + if (jsonObj.get("alert_broadcast_channel") != null && !jsonObj.get("alert_broadcast_channel").isJsonNull()) { + NewServiceDataAttributesAlertBroadcastChannel.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()) { + NewServiceDataAttributesIncidentBroadcastChannel.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)); + }; + } + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java b/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java index c44a75ec..2da79193 100644 --- a/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -54,7 +54,7 @@ /** * UpdateTrelloCardTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ee891531..5daf49b9 100644 --- a/src/main/java/com/rootly/client/model/UpdateUser.java +++ b/src/main/java/com/rootly/client/model/UpdateUser.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 16d94c0e..3d21dc57 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java index 2136b390..78c66ef2 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateUserDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..5e432a9b --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddress.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.UpdateUserEmailAddressData; +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; + +/** + * UpdateUserEmailAddress + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserEmailAddress { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateUserEmailAddressData data; + + public UpdateUserEmailAddress() { + } + + public UpdateUserEmailAddress data(@javax.annotation.Nonnull UpdateUserEmailAddressData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateUserEmailAddressData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateUserEmailAddressData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserEmailAddress updateUserEmailAddress = (UpdateUserEmailAddress) o; + return Objects.equals(this.data, updateUserEmailAddress.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserEmailAddress {\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 UpdateUserEmailAddress + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserEmailAddress.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserEmailAddress is not found in the empty JSON string", UpdateUserEmailAddress.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserEmailAddress.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserEmailAddress` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateUserEmailAddress.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` + UpdateUserEmailAddressData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateUserEmailAddress.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserEmailAddress' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserEmailAddress.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserEmailAddress value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserEmailAddress read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserEmailAddress given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserEmailAddress + * @throws IOException if the JSON string is invalid with respect to UpdateUserEmailAddress + */ + public static UpdateUserEmailAddress fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserEmailAddress.class); + } + + /** + * Convert an instance of UpdateUserEmailAddress 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/UpdateUserEmailAddressData.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java new file mode 100644 index 00000000..be3470fb --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.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.UpdateUserEmailAddressDataAttributes; +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; + +/** + * UpdateUserEmailAddressData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserEmailAddressData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_EMAIL_ADDRESSES("user_email_addresses"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateUserEmailAddressDataAttributes attributes; + + public UpdateUserEmailAddressData() { + } + + public UpdateUserEmailAddressData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateUserEmailAddressData attributes(@javax.annotation.Nonnull UpdateUserEmailAddressDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateUserEmailAddressDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateUserEmailAddressDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserEmailAddressData updateUserEmailAddressData = (UpdateUserEmailAddressData) o; + return Objects.equals(this.type, updateUserEmailAddressData.type) && + Objects.equals(this.attributes, updateUserEmailAddressData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserEmailAddressData {\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 UpdateUserEmailAddressData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserEmailAddressData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserEmailAddressData is not found in the empty JSON string", UpdateUserEmailAddressData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserEmailAddressData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserEmailAddressData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateUserEmailAddressData.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` + UpdateUserEmailAddressDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateUserEmailAddressData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserEmailAddressData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserEmailAddressData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserEmailAddressData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserEmailAddressData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserEmailAddressData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserEmailAddressData + * @throws IOException if the JSON string is invalid with respect to UpdateUserEmailAddressData + */ + public static UpdateUserEmailAddressData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserEmailAddressData.class); + } + + /** + * Convert an instance of UpdateUserEmailAddressData 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/UpdateUserEmailAddressDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java new file mode 100644 index 00000000..45c3edd0 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.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; + +/** + * UpdateUserEmailAddressDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserEmailAddressDataAttributes { + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public UpdateUserEmailAddressDataAttributes() { + } + + public UpdateUserEmailAddressDataAttributes email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Email address + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserEmailAddressDataAttributes updateUserEmailAddressDataAttributes = (UpdateUserEmailAddressDataAttributes) o; + return Objects.equals(this.email, updateUserEmailAddressDataAttributes.email); + } + + @Override + public int hashCode() { + return Objects.hash(email); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserEmailAddressDataAttributes {\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(); + } + + /** + * 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 UpdateUserEmailAddressDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserEmailAddressDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserEmailAddressDataAttributes is not found in the empty JSON string", UpdateUserEmailAddressDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserEmailAddressDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserEmailAddressDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("email") != null && !jsonObj.get("email").isJsonNull()) && !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 (!UpdateUserEmailAddressDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserEmailAddressDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserEmailAddressDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserEmailAddressDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserEmailAddressDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserEmailAddressDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserEmailAddressDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateUserEmailAddressDataAttributes + */ + public static UpdateUserEmailAddressDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserEmailAddressDataAttributes.class); + } + + /** + * Convert an instance of UpdateUserEmailAddressDataAttributes 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/UpdateUserNotificationRule.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java index 94ba7796..5265362d 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateUserNotificationRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 4719d8db..f2b33fce 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateUserNotificationRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java index 0887c700..e3bec632 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateUserNotificationRuleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRuleDataAttributes { public static final String SERIALIZED_NAME_DELAY = "delay"; @SerializedName(SERIALIZED_NAME_DELAY) @@ -96,7 +96,9 @@ public enum EnabledContactTypesEnum { DEVICE("device"), - NON_CRITICAL_DEVICE("non_critical_device"); + NON_CRITICAL_DEVICE("non_critical_device"), + + SLACK("slack"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.java new file mode 100644 index 00000000..6894e4b2 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumber.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.UpdateUserPhoneNumberData; +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; + +/** + * UpdateUserPhoneNumber + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserPhoneNumber { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UpdateUserPhoneNumberData data; + + public UpdateUserPhoneNumber() { + } + + public UpdateUserPhoneNumber data(@javax.annotation.Nonnull UpdateUserPhoneNumberData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UpdateUserPhoneNumberData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UpdateUserPhoneNumberData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserPhoneNumber updateUserPhoneNumber = (UpdateUserPhoneNumber) o; + return Objects.equals(this.data, updateUserPhoneNumber.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserPhoneNumber {\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 UpdateUserPhoneNumber + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserPhoneNumber.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserPhoneNumber is not found in the empty JSON string", UpdateUserPhoneNumber.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserPhoneNumber.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserPhoneNumber` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateUserPhoneNumber.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` + UpdateUserPhoneNumberData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateUserPhoneNumber.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserPhoneNumber' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserPhoneNumber.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserPhoneNumber value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserPhoneNumber read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserPhoneNumber given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserPhoneNumber + * @throws IOException if the JSON string is invalid with respect to UpdateUserPhoneNumber + */ + public static UpdateUserPhoneNumber fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserPhoneNumber.class); + } + + /** + * Convert an instance of UpdateUserPhoneNumber 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/UpdateUserPhoneNumberData.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java new file mode 100644 index 00000000..e3ba6497 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.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.UpdateUserPhoneNumberDataAttributes; +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; + +/** + * UpdateUserPhoneNumberData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserPhoneNumberData { + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_PHONE_NUMBERS("user_phone_numbers"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UpdateUserPhoneNumberDataAttributes attributes; + + public UpdateUserPhoneNumberData() { + } + + public UpdateUserPhoneNumberData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UpdateUserPhoneNumberData attributes(@javax.annotation.Nonnull UpdateUserPhoneNumberDataAttributes attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UpdateUserPhoneNumberDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UpdateUserPhoneNumberDataAttributes attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserPhoneNumberData updateUserPhoneNumberData = (UpdateUserPhoneNumberData) o; + return Objects.equals(this.type, updateUserPhoneNumberData.type) && + Objects.equals(this.attributes, updateUserPhoneNumberData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserPhoneNumberData {\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 UpdateUserPhoneNumberData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserPhoneNumberData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserPhoneNumberData is not found in the empty JSON string", UpdateUserPhoneNumberData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserPhoneNumberData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserPhoneNumberData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UpdateUserPhoneNumberData.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` + UpdateUserPhoneNumberDataAttributes.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateUserPhoneNumberData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserPhoneNumberData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserPhoneNumberData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserPhoneNumberData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserPhoneNumberData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserPhoneNumberData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserPhoneNumberData + * @throws IOException if the JSON string is invalid with respect to UpdateUserPhoneNumberData + */ + public static UpdateUserPhoneNumberData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserPhoneNumberData.class); + } + + /** + * Convert an instance of UpdateUserPhoneNumberData 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/UpdateUserPhoneNumberDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java new file mode 100644 index 00000000..ca14e5fd --- /dev/null +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.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; + +/** + * UpdateUserPhoneNumberDataAttributes + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UpdateUserPhoneNumberDataAttributes { + public static final String SERIALIZED_NAME_PHONE = "phone"; + @SerializedName(SERIALIZED_NAME_PHONE) + @javax.annotation.Nullable + private String phone; + + public UpdateUserPhoneNumberDataAttributes() { + } + + public UpdateUserPhoneNumberDataAttributes phone(@javax.annotation.Nullable String phone) { + this.phone = phone; + return this; + } + + /** + * Phone number in international format + * @return phone + */ + @javax.annotation.Nullable + public String getPhone() { + return phone; + } + + public void setPhone(@javax.annotation.Nullable String phone) { + this.phone = phone; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateUserPhoneNumberDataAttributes updateUserPhoneNumberDataAttributes = (UpdateUserPhoneNumberDataAttributes) o; + return Objects.equals(this.phone, updateUserPhoneNumberDataAttributes.phone); + } + + @Override + public int hashCode() { + return Objects.hash(phone); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateUserPhoneNumberDataAttributes {\n"); + sb.append(" phone: ").append(toIndentedString(phone)).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("phone"); + + // 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 UpdateUserPhoneNumberDataAttributes + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UpdateUserPhoneNumberDataAttributes.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UpdateUserPhoneNumberDataAttributes is not found in the empty JSON string", UpdateUserPhoneNumberDataAttributes.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UpdateUserPhoneNumberDataAttributes.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UpdateUserPhoneNumberDataAttributes` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("phone") != null && !jsonObj.get("phone").isJsonNull()) && !jsonObj.get("phone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UpdateUserPhoneNumberDataAttributes.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UpdateUserPhoneNumberDataAttributes' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UpdateUserPhoneNumberDataAttributes.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UpdateUserPhoneNumberDataAttributes value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UpdateUserPhoneNumberDataAttributes read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UpdateUserPhoneNumberDataAttributes given an JSON string + * + * @param jsonString JSON string + * @return An instance of UpdateUserPhoneNumberDataAttributes + * @throws IOException if the JSON string is invalid with respect to UpdateUserPhoneNumberDataAttributes + */ + public static UpdateUserPhoneNumberDataAttributes fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UpdateUserPhoneNumberDataAttributes.class); + } + + /** + * Convert an instance of UpdateUserPhoneNumberDataAttributes 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/UpdateVictorOpsIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java index e993c5df..f95a59fb 100644 --- a/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * UpdateVictorOpsIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 01614db0..467620fc 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpoint.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWebhooksEndpoint */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 d565255a..033f4e04 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWebhooksEndpointData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java index 33ad0059..64bf5e5d 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateWebhooksEndpointDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -118,7 +118,9 @@ public enum EventTypesEnum { GENIUS_WORKFLOW_RUN_FAILED("genius_workflow_run.failed"), - GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"); + GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"), + + AUDIT_LOG_CREATED("audit_log.created"); private String value; diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflow.java b/src/main/java/com/rootly/client/model/UpdateWorkflow.java index 5ef2f1c6..9449be37 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflow.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/UpdateWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java index b9991848..0fce4ba4 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2206ed7c..61f0a969 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java index 18ca27e4..f0950106 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateWorkflowCustomFieldSelectionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelectionDataAttributes { /** * The trigger condition @@ -59,6 +59,8 @@ public class UpdateWorkflowCustomFieldSelectionDataAttributes { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowData.java b/src/main/java/com/rootly/client/model/UpdateWorkflowData.java index 450a4791..4a340ba4 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java index 1f2f9795..39f85cb8 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,18 +52,13 @@ /** * UpdateWorkflowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @javax.annotation.Nullable private String name; - public static final String SERIALIZED_NAME_SLUG = "slug"; - @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nullable - private String slug; - public static final String SERIALIZED_NAME_DESCRIPTION = "description"; @SerializedName(SERIALIZED_NAME_DESCRIPTION) @javax.annotation.Nullable @@ -196,25 +191,6 @@ public void setName(@javax.annotation.Nullable String name) { } - public UpdateWorkflowDataAttributes slug(@javax.annotation.Nullable String slug) { - this.slug = slug; - return this; - } - - /** - * The slug of the workflow - * @return slug - */ - @javax.annotation.Nullable - public String getSlug() { - return slug; - } - - public void setSlug(@javax.annotation.Nullable String slug) { - this.slug = slug; - } - - public UpdateWorkflowDataAttributes description(@javax.annotation.Nullable String description) { this.description = description; return this; @@ -716,7 +692,6 @@ public boolean equals(Object o) { } UpdateWorkflowDataAttributes updateWorkflowDataAttributes = (UpdateWorkflowDataAttributes) o; return Objects.equals(this.name, updateWorkflowDataAttributes.name) && - Objects.equals(this.slug, updateWorkflowDataAttributes.slug) && Objects.equals(this.description, updateWorkflowDataAttributes.description) && Objects.equals(this.command, updateWorkflowDataAttributes.command) && Objects.equals(this.commandFeedbackEnabled, updateWorkflowDataAttributes.commandFeedbackEnabled) && @@ -747,7 +722,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, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, causeIds, subStatusIds); + return Objects.hash(name, description, command, commandFeedbackEnabled, wait, repeatEveryDuration, repeatConditionDurationSinceFirstRun, repeatConditionNumberOfRepeats, continuouslyRepeat, enabled, locked, position, workflowGroupId, triggerParams, environmentIds, severityIds, incidentTypeIds, incidentRoleIds, serviceIds, functionalityIds, groupIds, causeIds, subStatusIds); } private static int hashCodeNullable(JsonNullable a) { @@ -762,7 +737,6 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UpdateWorkflowDataAttributes {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); - sb.append(" slug: ").append(toIndentedString(slug)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" command: ").append(toIndentedString(command)).append("\n"); sb.append(" commandFeedbackEnabled: ").append(toIndentedString(commandFeedbackEnabled)).append("\n"); @@ -808,7 +782,6 @@ private String toIndentedString(Object o) { // a set of all properties/fields (JSON key names) openapiFields = new HashSet(); openapiFields.add("name"); - openapiFields.add("slug"); openapiFields.add("description"); openapiFields.add("command"); openapiFields.add("command_feedback_enabled"); @@ -860,9 +833,6 @@ 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())); } - 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("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())); } diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java index 7686f33c..627a7d30 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowFormFieldCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 22db44f9..1f0e0cc5 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowFormFieldConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java index eeff7e8d..a8738d87 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UpdateWorkflowFormFieldConditionDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldConditionDataAttributes { /** * The trigger condition @@ -59,6 +59,8 @@ public class UpdateWorkflowFormFieldConditionDataAttributes { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -156,6 +158,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public UpdateWorkflowFormFieldConditionDataAttributes() { } @@ -367,6 +384,87 @@ public void setSelectedUserIds(@javax.annotation.Nullable List selected } + public UpdateWorkflowFormFieldConditionDataAttributes selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public UpdateWorkflowFormFieldConditionDataAttributes addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public UpdateWorkflowFormFieldConditionDataAttributes selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public UpdateWorkflowFormFieldConditionDataAttributes addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public UpdateWorkflowFormFieldConditionDataAttributes selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public UpdateWorkflowFormFieldConditionDataAttributes addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -384,12 +482,15 @@ public boolean equals(Object o) { Objects.equals(this.selectedGroupIds, updateWorkflowFormFieldConditionDataAttributes.selectedGroupIds) && Objects.equals(this.selectedOptionIds, updateWorkflowFormFieldConditionDataAttributes.selectedOptionIds) && Objects.equals(this.selectedServiceIds, updateWorkflowFormFieldConditionDataAttributes.selectedServiceIds) && - Objects.equals(this.selectedUserIds, updateWorkflowFormFieldConditionDataAttributes.selectedUserIds); + Objects.equals(this.selectedUserIds, updateWorkflowFormFieldConditionDataAttributes.selectedUserIds) && + Objects.equals(this.selectedCauseIds, updateWorkflowFormFieldConditionDataAttributes.selectedCauseIds) && + Objects.equals(this.selectedEnvironmentIds, updateWorkflowFormFieldConditionDataAttributes.selectedEnvironmentIds) && + Objects.equals(this.selectedIncidentTypeIds, updateWorkflowFormFieldConditionDataAttributes.selectedIncidentTypeIds); } @Override public int hashCode() { - return Objects.hash(incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds); + return Objects.hash(incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds, selectedCauseIds, selectedEnvironmentIds, selectedIncidentTypeIds); } @Override @@ -404,6 +505,9 @@ public String toString() { sb.append(" selectedOptionIds: ").append(toIndentedString(selectedOptionIds)).append("\n"); sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -434,6 +538,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_option_ids"); openapiFields.add("selected_service_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -495,6 +602,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("selected_user_ids") != null && !jsonObj.get("selected_user_ids").isJsonNull() && !jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java index bd13ecc1..04c11c91 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6b905a2c..5301468e 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java index b4c5e97a..11083b1c 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupDataAttributes { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java index 660a9e72..43f8035d 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ab59501e..0e9a7096 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java index f58fd702..fff297c9 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UpdateWorkflowTaskDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 48665ec7..966e19f4 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParams; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.AddMicrosoftTeamsChatTabTaskParams; import com.rootly.client.model.AddMicrosoftTeamsTabTaskParams; import com.rootly.client.model.AddRoleTaskParams; import com.rootly.client.model.AddRoleTaskParamsAssignedToUser; @@ -37,10 +38,13 @@ import com.rootly.client.model.CallPeopleTaskParams; import com.rootly.client.model.ChangeSlackChannelPrivacyTaskParams; import com.rootly.client.model.CreateAirtableTableRecordTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParamsModel; import com.rootly.client.model.CreateAsanaSubtaskTaskParams; import com.rootly.client.model.CreateAsanaTaskTaskParams; import com.rootly.client.model.CreateClickupTaskTaskParams; import com.rootly.client.model.CreateCodaPageTaskParams; +import com.rootly.client.model.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateConfluencePageTaskParams; import com.rootly.client.model.CreateDatadogNotebookTaskParams; import com.rootly.client.model.CreateDropboxPaperPageTaskParams; @@ -50,25 +54,29 @@ import com.rootly.client.model.CreateGoogleCalendarEventTaskParams; import com.rootly.client.model.CreateGoogleDocsPageTaskParams; import com.rootly.client.model.CreateGoogleDocsPermissionsTaskParams; +import com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParams; import com.rootly.client.model.CreateGoogleMeetingTaskParams; import com.rootly.client.model.CreateIncidentPostmortemTaskParams; -import com.rootly.client.model.CreateIncidentPostmortemTaskParamsTemplate; import com.rootly.client.model.CreateIncidentTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsIssueType; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraSubtaskTaskParams; +import com.rootly.client.model.CreateJsmopsAlertTaskParams; import com.rootly.client.model.CreateLinearIssueCommentTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; import com.rootly.client.model.CreateLinearSubtaskIssueTaskParams; import com.rootly.client.model.CreateMicrosoftTeamsChannelTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParamsMembersInner; import com.rootly.client.model.CreateMicrosoftTeamsMeetingTaskParams; +import com.rootly.client.model.CreateMistralChatCompletionTaskParams; import com.rootly.client.model.CreateMotionTaskTaskParams; import com.rootly.client.model.CreateNotionPageTaskParams; import com.rootly.client.model.CreateNotionPageTaskParamsParentPage; +import com.rootly.client.model.CreateOpenaiChatCompletionTaskParams; import com.rootly.client.model.CreateOpsgenieAlertTaskParams; import com.rootly.client.model.CreateOutlookEventTaskParams; import com.rootly.client.model.CreatePagerdutyStatusUpdateTaskParams; @@ -80,17 +88,16 @@ import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; import com.rootly.client.model.CreateSlackChannelTaskParams; +import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParamsArchivation; import com.rootly.client.model.CreateTrelloCardTaskParamsBoard; import com.rootly.client.model.CreateTrelloCardTaskParamsList; +import com.rootly.client.model.CreateWatsonxChatCompletionTaskParams; import com.rootly.client.model.CreateWebexMeetingTaskParams; import com.rootly.client.model.CreateZendeskJiraLinkTaskParams; import com.rootly.client.model.CreateZendeskTicketTaskParams; import com.rootly.client.model.CreateZoomMeetingTaskParams; -import com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParamsModel; import com.rootly.client.model.GetAlertsTaskParams; import com.rootly.client.model.GetGithubCommitsTaskParams; import com.rootly.client.model.GetGitlabCommitsTaskParams; @@ -102,6 +109,7 @@ import com.rootly.client.model.InviteToSlackChannelRootlyTaskParams; import com.rootly.client.model.InviteToSlackChannelTaskParams; import com.rootly.client.model.InviteToSlackChannelVictorOpsTaskParams; +import com.rootly.client.model.PageJsmopsOnCallRespondersTaskParams; import com.rootly.client.model.PageOpsgenieOnCallRespondersTaskParams; import com.rootly.client.model.PagePagerdutyOnCallRespondersTaskParams; import com.rootly.client.model.PageRootlyOnCallRespondersTaskParams; @@ -116,6 +124,7 @@ import com.rootly.client.model.SendDashboardReportTaskParams; import com.rootly.client.model.SendEmailTaskParams; import com.rootly.client.model.SendMicrosoftTeamsBlocksTaskParams; +import com.rootly.client.model.SendMicrosoftTeamsChatMessageTaskParams; import com.rootly.client.model.SendMicrosoftTeamsMessageTaskParams; import com.rootly.client.model.SendSlackBlocksTaskParams; import com.rootly.client.model.SendSlackMessageTaskParams; @@ -133,7 +142,12 @@ import com.rootly.client.model.UpdateAttachedAlertsTaskParams; import com.rootly.client.model.UpdateClickupTaskTaskParams; import com.rootly.client.model.UpdateCodaPageTaskParams; +import com.rootly.client.model.UpdateConfluencePageTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate; +import com.rootly.client.model.UpdateDropboxPaperPageTaskParams; import com.rootly.client.model.UpdateGithubIssueTaskParams; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; import com.rootly.client.model.UpdateGitlabIssueTaskParams; import com.rootly.client.model.UpdateGoogleCalendarEventTaskParams; import com.rootly.client.model.UpdateGoogleDocsPageTaskParams; @@ -142,13 +156,16 @@ import com.rootly.client.model.UpdateIncidentTaskParams; import com.rootly.client.model.UpdateJiraIssueTaskParams; import com.rootly.client.model.UpdateLinearIssueTaskParams; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; import com.rootly.client.model.UpdateMotionTaskTaskParams; import com.rootly.client.model.UpdateNotionPageTaskParams; import com.rootly.client.model.UpdateOpsgenieAlertTaskParams; import com.rootly.client.model.UpdateOpsgenieIncidentTaskParams; import com.rootly.client.model.UpdatePagerdutyIncidentTaskParams; import com.rootly.client.model.UpdatePagertreeAlertTaskParams; +import com.rootly.client.model.UpdateQuipPageTaskParams; import com.rootly.client.model.UpdateServiceNowIncidentTaskParams; +import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; @@ -157,6 +174,7 @@ import com.rootly.client.model.UpdateVictorOpsIncidentTaskParams; import com.rootly.client.model.UpdateZendeskTicketTaskParams; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -197,7 +215,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateWorkflowTaskDataAttributesTaskParams.class.getName()); @@ -248,6 +266,7 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterCreateGoogleMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleMeetingTaskParams.class)); final TypeAdapter adapterCreateGoToMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoToMeetingTaskParams.class)); final TypeAdapter adapterCreateIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateIncidentTaskParams.class)); + final TypeAdapter adapterCreateSubIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateSubIncidentTaskParams.class)); final TypeAdapter adapterCreateIncidentPostmortemTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateIncidentPostmortemTaskParams.class)); final TypeAdapter adapterCreateJiraIssueTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJiraIssueTaskParams.class)); final TypeAdapter adapterCreateJiraSubtaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJiraSubtaskTaskParams.class)); @@ -256,14 +275,22 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterCreateLinearIssueCommentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateLinearIssueCommentTaskParams.class)); final TypeAdapter adapterCreateMicrosoftTeamsMeetingTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsMeetingTaskParams.class)); final TypeAdapter adapterCreateMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChannelTaskParams.class)); + final TypeAdapter adapterCreateMicrosoftTeamsChatTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMicrosoftTeamsChatTaskParams.class)); final TypeAdapter adapterAddMicrosoftTeamsTabTaskParams = gson.getDelegateAdapter(this, TypeToken.get(AddMicrosoftTeamsTabTaskParams.class)); + final TypeAdapter adapterAddMicrosoftTeamsChatTabTaskParams = gson.getDelegateAdapter(this, TypeToken.get(AddMicrosoftTeamsChatTabTaskParams.class)); final TypeAdapter adapterArchiveMicrosoftTeamsChannelsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(ArchiveMicrosoftTeamsChannelsTaskParams.class)); final TypeAdapter adapterRenameMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(RenameMicrosoftTeamsChannelTaskParams.class)); final TypeAdapter adapterInviteToMicrosoftTeamsChannelTaskParams = gson.getDelegateAdapter(this, TypeToken.get(InviteToMicrosoftTeamsChannelTaskParams.class)); final TypeAdapter adapterCreateNotionPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateNotionPageTaskParams.class)); final TypeAdapter adapterSendMicrosoftTeamsMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsMessageTaskParams.class)); + final TypeAdapter adapterSendMicrosoftTeamsChatMessageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsChatMessageTaskParams.class)); final TypeAdapter adapterSendMicrosoftTeamsBlocksTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendMicrosoftTeamsBlocksTaskParams.class)); final TypeAdapter adapterUpdateNotionPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateNotionPageTaskParams.class)); + final TypeAdapter adapterUpdateQuipPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateQuipPageTaskParams.class)); + final TypeAdapter adapterUpdateConfluencePageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateConfluencePageTaskParams.class)); + final TypeAdapter adapterUpdateSharepointPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateSharepointPageTaskParams.class)); + final TypeAdapter adapterUpdateDropboxPaperPageTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateDropboxPaperPageTaskParams.class)); + final TypeAdapter adapterUpdateDatadogNotebookTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateDatadogNotebookTaskParams.class)); final TypeAdapter adapterCreateServiceNowIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateServiceNowIncidentTaskParams.class)); final TypeAdapter adapterCreateShortcutStoryTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateShortcutStoryTaskParams.class)); final TypeAdapter adapterCreateShortcutTaskTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateShortcutTaskTaskParams.class)); @@ -286,6 +313,8 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterInviteToSlackChannelVictorOpsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(InviteToSlackChannelVictorOpsTaskParams.class)); final TypeAdapter adapterPageOpsgenieOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageOpsgenieOnCallRespondersTaskParams.class)); final TypeAdapter adapterCreateOpsgenieAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateOpsgenieAlertTaskParams.class)); + final TypeAdapter adapterCreateJsmopsAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateJsmopsAlertTaskParams.class)); + final TypeAdapter adapterPageJsmopsOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageJsmopsOnCallRespondersTaskParams.class)); final TypeAdapter adapterUpdateOpsgenieAlertTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateOpsgenieAlertTaskParams.class)); final TypeAdapter adapterUpdateOpsgenieIncidentTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateOpsgenieIncidentTaskParams.class)); final TypeAdapter adapterPageRootlyOnCallRespondersTaskParams = gson.getDelegateAdapter(this, TypeToken.get(PageRootlyOnCallRespondersTaskParams.class)); @@ -330,8 +359,11 @@ public TypeAdapter create(Gson gson, TypeToken type) { final TypeAdapter adapterUpdateAttachedAlertsTaskParams = gson.getDelegateAdapter(this, TypeToken.get(UpdateAttachedAlertsTaskParams.class)); final TypeAdapter adapterTriggerWorkflowTaskParams = gson.getDelegateAdapter(this, TypeToken.get(TriggerWorkflowTaskParams.class)); final TypeAdapter adapterSendSlackBlocksTaskParams = gson.getDelegateAdapter(this, TypeToken.get(SendSlackBlocksTaskParams.class)); - final TypeAdapter adapterGeniusCreateOpenaiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(GeniusCreateOpenaiChatCompletionTaskParams.class)); - final TypeAdapter adapterGeniusCreateWatsonxChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(GeniusCreateWatsonxChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateOpenaiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateOpenaiChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateWatsonxChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateWatsonxChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateGoogleGeminiChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateGoogleGeminiChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateMistralChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateMistralChatCompletionTaskParams.class)); + final TypeAdapter adapterCreateAnthropicChatCompletionTaskParams = gson.getDelegateAdapter(this, TypeToken.get(CreateAnthropicChatCompletionTaskParams.class)); return (TypeAdapter) new TypeAdapter() { @Override @@ -575,6 +607,12 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateSubIncidentTaskParams` + if (value.getActualInstance() instanceof CreateSubIncidentTaskParams) { + JsonElement element = adapterCreateSubIncidentTaskParams.toJsonTree((CreateSubIncidentTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `CreateIncidentPostmortemTaskParams` if (value.getActualInstance() instanceof CreateIncidentPostmortemTaskParams) { JsonElement element = adapterCreateIncidentPostmortemTaskParams.toJsonTree((CreateIncidentPostmortemTaskParams)value.getActualInstance()); @@ -623,12 +661,24 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateMicrosoftTeamsChatTaskParams` + if (value.getActualInstance() instanceof CreateMicrosoftTeamsChatTaskParams) { + JsonElement element = adapterCreateMicrosoftTeamsChatTaskParams.toJsonTree((CreateMicrosoftTeamsChatTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `AddMicrosoftTeamsTabTaskParams` if (value.getActualInstance() instanceof AddMicrosoftTeamsTabTaskParams) { JsonElement element = adapterAddMicrosoftTeamsTabTaskParams.toJsonTree((AddMicrosoftTeamsTabTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `AddMicrosoftTeamsChatTabTaskParams` + if (value.getActualInstance() instanceof AddMicrosoftTeamsChatTabTaskParams) { + JsonElement element = adapterAddMicrosoftTeamsChatTabTaskParams.toJsonTree((AddMicrosoftTeamsChatTabTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `ArchiveMicrosoftTeamsChannelsTaskParams` if (value.getActualInstance() instanceof ArchiveMicrosoftTeamsChannelsTaskParams) { JsonElement element = adapterArchiveMicrosoftTeamsChannelsTaskParams.toJsonTree((ArchiveMicrosoftTeamsChannelsTaskParams)value.getActualInstance()); @@ -659,6 +709,12 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `SendMicrosoftTeamsChatMessageTaskParams` + if (value.getActualInstance() instanceof SendMicrosoftTeamsChatMessageTaskParams) { + JsonElement element = adapterSendMicrosoftTeamsChatMessageTaskParams.toJsonTree((SendMicrosoftTeamsChatMessageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `SendMicrosoftTeamsBlocksTaskParams` if (value.getActualInstance() instanceof SendMicrosoftTeamsBlocksTaskParams) { JsonElement element = adapterSendMicrosoftTeamsBlocksTaskParams.toJsonTree((SendMicrosoftTeamsBlocksTaskParams)value.getActualInstance()); @@ -671,6 +727,36 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `UpdateQuipPageTaskParams` + if (value.getActualInstance() instanceof UpdateQuipPageTaskParams) { + JsonElement element = adapterUpdateQuipPageTaskParams.toJsonTree((UpdateQuipPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateConfluencePageTaskParams` + if (value.getActualInstance() instanceof UpdateConfluencePageTaskParams) { + JsonElement element = adapterUpdateConfluencePageTaskParams.toJsonTree((UpdateConfluencePageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateSharepointPageTaskParams` + if (value.getActualInstance() instanceof UpdateSharepointPageTaskParams) { + JsonElement element = adapterUpdateSharepointPageTaskParams.toJsonTree((UpdateSharepointPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateDropboxPaperPageTaskParams` + if (value.getActualInstance() instanceof UpdateDropboxPaperPageTaskParams) { + JsonElement element = adapterUpdateDropboxPaperPageTaskParams.toJsonTree((UpdateDropboxPaperPageTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `UpdateDatadogNotebookTaskParams` + if (value.getActualInstance() instanceof UpdateDatadogNotebookTaskParams) { + JsonElement element = adapterUpdateDatadogNotebookTaskParams.toJsonTree((UpdateDatadogNotebookTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `CreateServiceNowIncidentTaskParams` if (value.getActualInstance() instanceof CreateServiceNowIncidentTaskParams) { JsonElement element = adapterCreateServiceNowIncidentTaskParams.toJsonTree((CreateServiceNowIncidentTaskParams)value.getActualInstance()); @@ -803,6 +889,18 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `CreateJsmopsAlertTaskParams` + if (value.getActualInstance() instanceof CreateJsmopsAlertTaskParams) { + JsonElement element = adapterCreateJsmopsAlertTaskParams.toJsonTree((CreateJsmopsAlertTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `PageJsmopsOnCallRespondersTaskParams` + if (value.getActualInstance() instanceof PageJsmopsOnCallRespondersTaskParams) { + JsonElement element = adapterPageJsmopsOnCallRespondersTaskParams.toJsonTree((PageJsmopsOnCallRespondersTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `UpdateOpsgenieAlertTaskParams` if (value.getActualInstance() instanceof UpdateOpsgenieAlertTaskParams) { JsonElement element = adapterUpdateOpsgenieAlertTaskParams.toJsonTree((UpdateOpsgenieAlertTaskParams)value.getActualInstance()); @@ -1067,19 +1165,37 @@ public void write(JsonWriter out, UpdateWorkflowTaskDataAttributesTaskParams val elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `GeniusCreateOpenaiChatCompletionTaskParams` - if (value.getActualInstance() instanceof GeniusCreateOpenaiChatCompletionTaskParams) { - JsonElement element = adapterGeniusCreateOpenaiChatCompletionTaskParams.toJsonTree((GeniusCreateOpenaiChatCompletionTaskParams)value.getActualInstance()); + // check if the actual instance is of the type `CreateOpenaiChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateOpenaiChatCompletionTaskParams) { + JsonElement element = adapterCreateOpenaiChatCompletionTaskParams.toJsonTree((CreateOpenaiChatCompletionTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } - // check if the actual instance is of the type `GeniusCreateWatsonxChatCompletionTaskParams` - if (value.getActualInstance() instanceof GeniusCreateWatsonxChatCompletionTaskParams) { - JsonElement element = adapterGeniusCreateWatsonxChatCompletionTaskParams.toJsonTree((GeniusCreateWatsonxChatCompletionTaskParams)value.getActualInstance()); + // check if the actual instance is of the type `CreateWatsonxChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateWatsonxChatCompletionTaskParams) { + JsonElement element = adapterCreateWatsonxChatCompletionTaskParams.toJsonTree((CreateWatsonxChatCompletionTaskParams)value.getActualInstance()); elementAdapter.write(out, element); return; } - throw new IOException("Failed to serialize as the type doesn't match anyOf schemas: AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + // check if the actual instance is of the type `CreateGoogleGeminiChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateGoogleGeminiChatCompletionTaskParams) { + JsonElement element = adapterCreateGoogleGeminiChatCompletionTaskParams.toJsonTree((CreateGoogleGeminiChatCompletionTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CreateMistralChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateMistralChatCompletionTaskParams) { + JsonElement element = adapterCreateMistralChatCompletionTaskParams.toJsonTree((CreateMistralChatCompletionTaskParams)value.getActualInstance()); + elementAdapter.write(out, element); + return; + } + // check if the actual instance is of the type `CreateAnthropicChatCompletionTaskParams` + if (value.getActualInstance() instanceof CreateAnthropicChatCompletionTaskParams) { + JsonElement element = adapterCreateAnthropicChatCompletionTaskParams.toJsonTree((CreateAnthropicChatCompletionTaskParams)value.getActualInstance()); + 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, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } @Override @@ -1597,6 +1713,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for CreateIncidentTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateIncidentTaskParams'", e); } + // deserialize CreateSubIncidentTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateSubIncidentTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateSubIncidentTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateSubIncidentTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateSubIncidentTaskParams'", e); + } // deserialize CreateIncidentPostmortemTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1701,6 +1830,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChannelTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateMicrosoftTeamsChannelTaskParams'", e); } + // deserialize CreateMicrosoftTeamsChatTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateMicrosoftTeamsChatTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateMicrosoftTeamsChatTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChatTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateMicrosoftTeamsChatTaskParams'", e); + } // deserialize AddMicrosoftTeamsTabTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1714,6 +1856,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsTabTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'AddMicrosoftTeamsTabTaskParams'", e); } + // deserialize AddMicrosoftTeamsChatTabTaskParams + try { + // validate the JSON object to see if any exception is thrown + AddMicrosoftTeamsChatTabTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterAddMicrosoftTeamsChatTabTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsChatTabTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'AddMicrosoftTeamsChatTabTaskParams'", e); + } // deserialize ArchiveMicrosoftTeamsChannelsTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1779,6 +1934,19 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsMessageTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'SendMicrosoftTeamsMessageTaskParams'", e); } + // deserialize SendMicrosoftTeamsChatMessageTaskParams + try { + // validate the JSON object to see if any exception is thrown + SendMicrosoftTeamsChatMessageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterSendMicrosoftTeamsChatMessageTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsChatMessageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'SendMicrosoftTeamsChatMessageTaskParams'", e); + } // deserialize SendMicrosoftTeamsBlocksTaskParams try { // validate the JSON object to see if any exception is thrown @@ -1805,6 +1973,71 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for UpdateNotionPageTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'UpdateNotionPageTaskParams'", e); } + // deserialize UpdateQuipPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateQuipPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateQuipPageTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateQuipPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateQuipPageTaskParams'", e); + } + // deserialize UpdateConfluencePageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateConfluencePageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateConfluencePageTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateConfluencePageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateConfluencePageTaskParams'", e); + } + // deserialize UpdateSharepointPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateSharepointPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateSharepointPageTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateSharepointPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateSharepointPageTaskParams'", e); + } + // deserialize UpdateDropboxPaperPageTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateDropboxPaperPageTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateDropboxPaperPageTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateDropboxPaperPageTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateDropboxPaperPageTaskParams'", e); + } + // deserialize UpdateDatadogNotebookTaskParams + try { + // validate the JSON object to see if any exception is thrown + UpdateDatadogNotebookTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterUpdateDatadogNotebookTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for UpdateDatadogNotebookTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'UpdateDatadogNotebookTaskParams'", e); + } // deserialize CreateServiceNowIncidentTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2091,6 +2324,32 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for CreateOpsgenieAlertTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'CreateOpsgenieAlertTaskParams'", e); } + // deserialize CreateJsmopsAlertTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateJsmopsAlertTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateJsmopsAlertTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateJsmopsAlertTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateJsmopsAlertTaskParams'", e); + } + // deserialize PageJsmopsOnCallRespondersTaskParams + try { + // validate the JSON object to see if any exception is thrown + PageJsmopsOnCallRespondersTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterPageJsmopsOnCallRespondersTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for PageJsmopsOnCallRespondersTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'PageJsmopsOnCallRespondersTaskParams'", e); + } // deserialize UpdateOpsgenieAlertTaskParams try { // validate the JSON object to see if any exception is thrown @@ -2663,31 +2922,70 @@ public UpdateWorkflowTaskDataAttributesTaskParams read(JsonReader in) throws IOE errorMessages.add(String.format("Deserialization for SendSlackBlocksTaskParams failed with `%s`.", e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'SendSlackBlocksTaskParams'", e); } - // deserialize GeniusCreateOpenaiChatCompletionTaskParams + // deserialize CreateOpenaiChatCompletionTaskParams try { // validate the JSON object to see if any exception is thrown - GeniusCreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); - actualAdapter = adapterGeniusCreateOpenaiChatCompletionTaskParams; + CreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateOpenaiChatCompletionTaskParams; UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); return ret; } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for GeniusCreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'GeniusCreateOpenaiChatCompletionTaskParams'", e); + errorMessages.add(String.format("Deserialization for CreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateOpenaiChatCompletionTaskParams'", e); } - // deserialize GeniusCreateWatsonxChatCompletionTaskParams + // deserialize CreateWatsonxChatCompletionTaskParams try { // validate the JSON object to see if any exception is thrown - GeniusCreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); - actualAdapter = adapterGeniusCreateWatsonxChatCompletionTaskParams; + CreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateWatsonxChatCompletionTaskParams; UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); return ret; } catch (Exception e) { // deserialization failed, continue - errorMessages.add(String.format("Deserialization for GeniusCreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); - log.log(Level.FINER, "Input data does not match schema 'GeniusCreateWatsonxChatCompletionTaskParams'", e); + errorMessages.add(String.format("Deserialization for CreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateWatsonxChatCompletionTaskParams'", e); + } + // deserialize CreateGoogleGeminiChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateGoogleGeminiChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateGoogleGeminiChatCompletionTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateGoogleGeminiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateGoogleGeminiChatCompletionTaskParams'", e); + } + // deserialize CreateMistralChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateMistralChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateMistralChatCompletionTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateMistralChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateMistralChatCompletionTaskParams'", e); + } + // deserialize CreateAnthropicChatCompletionTaskParams + try { + // validate the JSON object to see if any exception is thrown + CreateAnthropicChatCompletionTaskParams.validateJsonElement(jsonElement); + actualAdapter = adapterCreateAnthropicChatCompletionTaskParams; + UpdateWorkflowTaskDataAttributesTaskParams ret = new UpdateWorkflowTaskDataAttributesTaskParams(); + ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); + return ret; + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add(String.format("Deserialization for CreateAnthropicChatCompletionTaskParams failed with `%s`.", e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'CreateAnthropicChatCompletionTaskParams'", e); } throw new IOException(String.format("Failed deserialization for UpdateWorkflowTaskDataAttributesTaskParams: no class matches result, expected at least 1. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString())); @@ -2748,6 +3046,7 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("CreateGoogleMeetingTaskParams", CreateGoogleMeetingTaskParams.class); schemas.put("CreateGoToMeetingTaskParams", CreateGoToMeetingTaskParams.class); schemas.put("CreateIncidentTaskParams", CreateIncidentTaskParams.class); + schemas.put("CreateSubIncidentTaskParams", CreateSubIncidentTaskParams.class); schemas.put("CreateIncidentPostmortemTaskParams", CreateIncidentPostmortemTaskParams.class); schemas.put("CreateJiraIssueTaskParams", CreateJiraIssueTaskParams.class); schemas.put("CreateJiraSubtaskTaskParams", CreateJiraSubtaskTaskParams.class); @@ -2756,14 +3055,22 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("CreateLinearIssueCommentTaskParams", CreateLinearIssueCommentTaskParams.class); schemas.put("CreateMicrosoftTeamsMeetingTaskParams", CreateMicrosoftTeamsMeetingTaskParams.class); schemas.put("CreateMicrosoftTeamsChannelTaskParams", CreateMicrosoftTeamsChannelTaskParams.class); + schemas.put("CreateMicrosoftTeamsChatTaskParams", CreateMicrosoftTeamsChatTaskParams.class); schemas.put("AddMicrosoftTeamsTabTaskParams", AddMicrosoftTeamsTabTaskParams.class); + schemas.put("AddMicrosoftTeamsChatTabTaskParams", AddMicrosoftTeamsChatTabTaskParams.class); schemas.put("ArchiveMicrosoftTeamsChannelsTaskParams", ArchiveMicrosoftTeamsChannelsTaskParams.class); schemas.put("RenameMicrosoftTeamsChannelTaskParams", RenameMicrosoftTeamsChannelTaskParams.class); schemas.put("InviteToMicrosoftTeamsChannelTaskParams", InviteToMicrosoftTeamsChannelTaskParams.class); schemas.put("CreateNotionPageTaskParams", CreateNotionPageTaskParams.class); schemas.put("SendMicrosoftTeamsMessageTaskParams", SendMicrosoftTeamsMessageTaskParams.class); + schemas.put("SendMicrosoftTeamsChatMessageTaskParams", SendMicrosoftTeamsChatMessageTaskParams.class); schemas.put("SendMicrosoftTeamsBlocksTaskParams", SendMicrosoftTeamsBlocksTaskParams.class); schemas.put("UpdateNotionPageTaskParams", UpdateNotionPageTaskParams.class); + schemas.put("UpdateQuipPageTaskParams", UpdateQuipPageTaskParams.class); + schemas.put("UpdateConfluencePageTaskParams", UpdateConfluencePageTaskParams.class); + schemas.put("UpdateSharepointPageTaskParams", UpdateSharepointPageTaskParams.class); + schemas.put("UpdateDropboxPaperPageTaskParams", UpdateDropboxPaperPageTaskParams.class); + schemas.put("UpdateDatadogNotebookTaskParams", UpdateDatadogNotebookTaskParams.class); schemas.put("CreateServiceNowIncidentTaskParams", CreateServiceNowIncidentTaskParams.class); schemas.put("CreateShortcutStoryTaskParams", CreateShortcutStoryTaskParams.class); schemas.put("CreateShortcutTaskTaskParams", CreateShortcutTaskTaskParams.class); @@ -2786,6 +3093,8 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("InviteToSlackChannelVictorOpsTaskParams", InviteToSlackChannelVictorOpsTaskParams.class); schemas.put("PageOpsgenieOnCallRespondersTaskParams", PageOpsgenieOnCallRespondersTaskParams.class); schemas.put("CreateOpsgenieAlertTaskParams", CreateOpsgenieAlertTaskParams.class); + schemas.put("CreateJsmopsAlertTaskParams", CreateJsmopsAlertTaskParams.class); + schemas.put("PageJsmopsOnCallRespondersTaskParams", PageJsmopsOnCallRespondersTaskParams.class); schemas.put("UpdateOpsgenieAlertTaskParams", UpdateOpsgenieAlertTaskParams.class); schemas.put("UpdateOpsgenieIncidentTaskParams", UpdateOpsgenieIncidentTaskParams.class); schemas.put("PageRootlyOnCallRespondersTaskParams", PageRootlyOnCallRespondersTaskParams.class); @@ -2830,8 +3139,11 @@ public UpdateWorkflowTaskDataAttributesTaskParams(Object o) { schemas.put("UpdateAttachedAlertsTaskParams", UpdateAttachedAlertsTaskParams.class); schemas.put("TriggerWorkflowTaskParams", TriggerWorkflowTaskParams.class); schemas.put("SendSlackBlocksTaskParams", SendSlackBlocksTaskParams.class); - schemas.put("GeniusCreateOpenaiChatCompletionTaskParams", GeniusCreateOpenaiChatCompletionTaskParams.class); - schemas.put("GeniusCreateWatsonxChatCompletionTaskParams", GeniusCreateWatsonxChatCompletionTaskParams.class); + schemas.put("CreateOpenaiChatCompletionTaskParams", CreateOpenaiChatCompletionTaskParams.class); + schemas.put("CreateWatsonxChatCompletionTaskParams", CreateWatsonxChatCompletionTaskParams.class); + schemas.put("CreateGoogleGeminiChatCompletionTaskParams", CreateGoogleGeminiChatCompletionTaskParams.class); + schemas.put("CreateMistralChatCompletionTaskParams", CreateMistralChatCompletionTaskParams.class); + schemas.put("CreateAnthropicChatCompletionTaskParams", CreateAnthropicChatCompletionTaskParams.class); } @Override @@ -2842,7 +3154,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, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams * * It could be an instance of the 'anyOf' schemas. */ @@ -3043,6 +3355,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateSubIncidentTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof CreateIncidentPostmortemTaskParams) { super.setActualInstance(instance); return; @@ -3083,11 +3400,21 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateMicrosoftTeamsChatTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof AddMicrosoftTeamsTabTaskParams) { super.setActualInstance(instance); return; } + if (instance instanceof AddMicrosoftTeamsChatTabTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof ArchiveMicrosoftTeamsChannelsTaskParams) { super.setActualInstance(instance); return; @@ -3113,6 +3440,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof SendMicrosoftTeamsChatMessageTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof SendMicrosoftTeamsBlocksTaskParams) { super.setActualInstance(instance); return; @@ -3123,6 +3455,31 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof UpdateQuipPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateConfluencePageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateSharepointPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateDropboxPaperPageTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof UpdateDatadogNotebookTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof CreateServiceNowIncidentTaskParams) { super.setActualInstance(instance); return; @@ -3233,6 +3590,16 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof CreateJsmopsAlertTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof PageJsmopsOnCallRespondersTaskParams) { + super.setActualInstance(instance); + return; + } + if (instance instanceof UpdateOpsgenieAlertTaskParams) { super.setActualInstance(instance); return; @@ -3453,24 +3820,39 @@ public void setActualInstance(Object instance) { return; } - if (instance instanceof GeniusCreateOpenaiChatCompletionTaskParams) { + if (instance instanceof CreateOpenaiChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CreateWatsonxChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CreateGoogleGeminiChatCompletionTaskParams) { + super.setActualInstance(instance); + return; + } + + if (instance instanceof CreateMistralChatCompletionTaskParams) { super.setActualInstance(instance); return; } - if (instance instanceof GeniusCreateWatsonxChatCompletionTaskParams) { + if (instance instanceof CreateAnthropicChatCompletionTaskParams) { super.setActualInstance(instance); return; } - throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); + throw new RuntimeException("Invalid instance type. Must be AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams"); } /** * Get the actual instance, which can be the following: - * AddActionItemTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams + * AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, 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, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) + * @return The actual instance (AddActionItemTaskParams, AddMicrosoftTeamsChatTabTaskParams, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateQuipPageTaskParams, UpdateServiceNowIncidentTaskParams, UpdateSharepointPageTaskParams, UpdateShortcutStoryTaskParams, UpdateShortcutTaskTaskParams, UpdateSlackChannelTopicTaskParams, UpdateStatusTaskParams, UpdateTrelloCardTaskParams, UpdateVictorOpsIncidentTaskParams, UpdateZendeskTicketTaskParams) */ @SuppressWarnings("unchecked") @Override @@ -3907,6 +4289,17 @@ public CreateIncidentTaskParams getCreateIncidentTaskParams() throws ClassCastEx return (CreateIncidentTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateSubIncidentTaskParams`. If the actual instance is not `CreateSubIncidentTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateSubIncidentTaskParams` + * @throws ClassCastException if the instance is not `CreateSubIncidentTaskParams` + */ + public CreateSubIncidentTaskParams getCreateSubIncidentTaskParams() throws ClassCastException { + return (CreateSubIncidentTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `CreateIncidentPostmortemTaskParams`. If the actual instance is not `CreateIncidentPostmortemTaskParams`, * the ClassCastException will be thrown. @@ -3995,6 +4388,17 @@ public CreateMicrosoftTeamsChannelTaskParams getCreateMicrosoftTeamsChannelTaskP return (CreateMicrosoftTeamsChannelTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateMicrosoftTeamsChatTaskParams`. If the actual instance is not `CreateMicrosoftTeamsChatTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateMicrosoftTeamsChatTaskParams` + * @throws ClassCastException if the instance is not `CreateMicrosoftTeamsChatTaskParams` + */ + public CreateMicrosoftTeamsChatTaskParams getCreateMicrosoftTeamsChatTaskParams() throws ClassCastException { + return (CreateMicrosoftTeamsChatTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `AddMicrosoftTeamsTabTaskParams`. If the actual instance is not `AddMicrosoftTeamsTabTaskParams`, * the ClassCastException will be thrown. @@ -4006,6 +4410,17 @@ public AddMicrosoftTeamsTabTaskParams getAddMicrosoftTeamsTabTaskParams() throws return (AddMicrosoftTeamsTabTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `AddMicrosoftTeamsChatTabTaskParams`. If the actual instance is not `AddMicrosoftTeamsChatTabTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AddMicrosoftTeamsChatTabTaskParams` + * @throws ClassCastException if the instance is not `AddMicrosoftTeamsChatTabTaskParams` + */ + public AddMicrosoftTeamsChatTabTaskParams getAddMicrosoftTeamsChatTabTaskParams() throws ClassCastException { + return (AddMicrosoftTeamsChatTabTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `ArchiveMicrosoftTeamsChannelsTaskParams`. If the actual instance is not `ArchiveMicrosoftTeamsChannelsTaskParams`, * the ClassCastException will be thrown. @@ -4061,6 +4476,17 @@ public SendMicrosoftTeamsMessageTaskParams getSendMicrosoftTeamsMessageTaskParam return (SendMicrosoftTeamsMessageTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `SendMicrosoftTeamsChatMessageTaskParams`. If the actual instance is not `SendMicrosoftTeamsChatMessageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `SendMicrosoftTeamsChatMessageTaskParams` + * @throws ClassCastException if the instance is not `SendMicrosoftTeamsChatMessageTaskParams` + */ + public SendMicrosoftTeamsChatMessageTaskParams getSendMicrosoftTeamsChatMessageTaskParams() throws ClassCastException { + return (SendMicrosoftTeamsChatMessageTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `SendMicrosoftTeamsBlocksTaskParams`. If the actual instance is not `SendMicrosoftTeamsBlocksTaskParams`, * the ClassCastException will be thrown. @@ -4083,6 +4509,61 @@ public UpdateNotionPageTaskParams getUpdateNotionPageTaskParams() throws ClassCa return (UpdateNotionPageTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `UpdateQuipPageTaskParams`. If the actual instance is not `UpdateQuipPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateQuipPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateQuipPageTaskParams` + */ + public UpdateQuipPageTaskParams getUpdateQuipPageTaskParams() throws ClassCastException { + return (UpdateQuipPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateConfluencePageTaskParams`. If the actual instance is not `UpdateConfluencePageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateConfluencePageTaskParams` + * @throws ClassCastException if the instance is not `UpdateConfluencePageTaskParams` + */ + public UpdateConfluencePageTaskParams getUpdateConfluencePageTaskParams() throws ClassCastException { + return (UpdateConfluencePageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateSharepointPageTaskParams`. If the actual instance is not `UpdateSharepointPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateSharepointPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateSharepointPageTaskParams` + */ + public UpdateSharepointPageTaskParams getUpdateSharepointPageTaskParams() throws ClassCastException { + return (UpdateSharepointPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateDropboxPaperPageTaskParams`. If the actual instance is not `UpdateDropboxPaperPageTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateDropboxPaperPageTaskParams` + * @throws ClassCastException if the instance is not `UpdateDropboxPaperPageTaskParams` + */ + public UpdateDropboxPaperPageTaskParams getUpdateDropboxPaperPageTaskParams() throws ClassCastException { + return (UpdateDropboxPaperPageTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `UpdateDatadogNotebookTaskParams`. If the actual instance is not `UpdateDatadogNotebookTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UpdateDatadogNotebookTaskParams` + * @throws ClassCastException if the instance is not `UpdateDatadogNotebookTaskParams` + */ + public UpdateDatadogNotebookTaskParams getUpdateDatadogNotebookTaskParams() throws ClassCastException { + return (UpdateDatadogNotebookTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `CreateServiceNowIncidentTaskParams`. If the actual instance is not `CreateServiceNowIncidentTaskParams`, * the ClassCastException will be thrown. @@ -4325,6 +4806,28 @@ public CreateOpsgenieAlertTaskParams getCreateOpsgenieAlertTaskParams() throws C return (CreateOpsgenieAlertTaskParams)super.getActualInstance(); } + /** + * Get the actual instance of `CreateJsmopsAlertTaskParams`. If the actual instance is not `CreateJsmopsAlertTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateJsmopsAlertTaskParams` + * @throws ClassCastException if the instance is not `CreateJsmopsAlertTaskParams` + */ + public CreateJsmopsAlertTaskParams getCreateJsmopsAlertTaskParams() throws ClassCastException { + return (CreateJsmopsAlertTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `PageJsmopsOnCallRespondersTaskParams`. If the actual instance is not `PageJsmopsOnCallRespondersTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `PageJsmopsOnCallRespondersTaskParams` + * @throws ClassCastException if the instance is not `PageJsmopsOnCallRespondersTaskParams` + */ + public PageJsmopsOnCallRespondersTaskParams getPageJsmopsOnCallRespondersTaskParams() throws ClassCastException { + return (PageJsmopsOnCallRespondersTaskParams)super.getActualInstance(); + } + /** * Get the actual instance of `UpdateOpsgenieAlertTaskParams`. If the actual instance is not `UpdateOpsgenieAlertTaskParams`, * the ClassCastException will be thrown. @@ -4810,25 +5313,58 @@ public SendSlackBlocksTaskParams getSendSlackBlocksTaskParams() throws ClassCast } /** - * Get the actual instance of `GeniusCreateOpenaiChatCompletionTaskParams`. If the actual instance is not `GeniusCreateOpenaiChatCompletionTaskParams`, + * Get the actual instance of `CreateOpenaiChatCompletionTaskParams`. If the actual instance is not `CreateOpenaiChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateOpenaiChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateOpenaiChatCompletionTaskParams` + */ + public CreateOpenaiChatCompletionTaskParams getCreateOpenaiChatCompletionTaskParams() throws ClassCastException { + return (CreateOpenaiChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateWatsonxChatCompletionTaskParams`. If the actual instance is not `CreateWatsonxChatCompletionTaskParams`, * the ClassCastException will be thrown. * - * @return The actual instance of `GeniusCreateOpenaiChatCompletionTaskParams` - * @throws ClassCastException if the instance is not `GeniusCreateOpenaiChatCompletionTaskParams` + * @return The actual instance of `CreateWatsonxChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateWatsonxChatCompletionTaskParams` */ - public GeniusCreateOpenaiChatCompletionTaskParams getGeniusCreateOpenaiChatCompletionTaskParams() throws ClassCastException { - return (GeniusCreateOpenaiChatCompletionTaskParams)super.getActualInstance(); + public CreateWatsonxChatCompletionTaskParams getCreateWatsonxChatCompletionTaskParams() throws ClassCastException { + return (CreateWatsonxChatCompletionTaskParams)super.getActualInstance(); } /** - * Get the actual instance of `GeniusCreateWatsonxChatCompletionTaskParams`. If the actual instance is not `GeniusCreateWatsonxChatCompletionTaskParams`, + * Get the actual instance of `CreateGoogleGeminiChatCompletionTaskParams`. If the actual instance is not `CreateGoogleGeminiChatCompletionTaskParams`, * the ClassCastException will be thrown. * - * @return The actual instance of `GeniusCreateWatsonxChatCompletionTaskParams` - * @throws ClassCastException if the instance is not `GeniusCreateWatsonxChatCompletionTaskParams` + * @return The actual instance of `CreateGoogleGeminiChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateGoogleGeminiChatCompletionTaskParams` */ - public GeniusCreateWatsonxChatCompletionTaskParams getGeniusCreateWatsonxChatCompletionTaskParams() throws ClassCastException { - return (GeniusCreateWatsonxChatCompletionTaskParams)super.getActualInstance(); + public CreateGoogleGeminiChatCompletionTaskParams getCreateGoogleGeminiChatCompletionTaskParams() throws ClassCastException { + return (CreateGoogleGeminiChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateMistralChatCompletionTaskParams`. If the actual instance is not `CreateMistralChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateMistralChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateMistralChatCompletionTaskParams` + */ + public CreateMistralChatCompletionTaskParams getCreateMistralChatCompletionTaskParams() throws ClassCastException { + return (CreateMistralChatCompletionTaskParams)super.getActualInstance(); + } + + /** + * Get the actual instance of `CreateAnthropicChatCompletionTaskParams`. If the actual instance is not `CreateAnthropicChatCompletionTaskParams`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CreateAnthropicChatCompletionTaskParams` + * @throws ClassCastException if the instance is not `CreateAnthropicChatCompletionTaskParams` + */ + public CreateAnthropicChatCompletionTaskParams getCreateAnthropicChatCompletionTaskParams() throws ClassCastException { + return (CreateAnthropicChatCompletionTaskParams)super.getActualInstance(); } /** @@ -5152,6 +5688,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateIncidentTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateSubIncidentTaskParams + try { + CreateSubIncidentTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateSubIncidentTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with CreateIncidentPostmortemTaskParams try { CreateIncidentPostmortemTaskParams.validateJsonElement(jsonElement); @@ -5216,6 +5760,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChannelTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateMicrosoftTeamsChatTaskParams + try { + CreateMicrosoftTeamsChatTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateMicrosoftTeamsChatTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with AddMicrosoftTeamsTabTaskParams try { AddMicrosoftTeamsTabTaskParams.validateJsonElement(jsonElement); @@ -5224,6 +5776,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsTabTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with AddMicrosoftTeamsChatTabTaskParams + try { + AddMicrosoftTeamsChatTabTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for AddMicrosoftTeamsChatTabTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with ArchiveMicrosoftTeamsChannelsTaskParams try { ArchiveMicrosoftTeamsChannelsTaskParams.validateJsonElement(jsonElement); @@ -5264,6 +5824,14 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsMessageTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with SendMicrosoftTeamsChatMessageTaskParams + try { + SendMicrosoftTeamsChatMessageTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for SendMicrosoftTeamsChatMessageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with SendMicrosoftTeamsBlocksTaskParams try { SendMicrosoftTeamsBlocksTaskParams.validateJsonElement(jsonElement); @@ -5280,6 +5848,46 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for UpdateNotionPageTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with UpdateQuipPageTaskParams + try { + UpdateQuipPageTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateQuipPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateConfluencePageTaskParams + try { + UpdateConfluencePageTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateConfluencePageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateSharepointPageTaskParams + try { + UpdateSharepointPageTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateSharepointPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateDropboxPaperPageTaskParams + try { + UpdateDropboxPaperPageTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateDropboxPaperPageTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with UpdateDatadogNotebookTaskParams + try { + UpdateDatadogNotebookTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for UpdateDatadogNotebookTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with CreateServiceNowIncidentTaskParams try { CreateServiceNowIncidentTaskParams.validateJsonElement(jsonElement); @@ -5456,6 +6064,22 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for CreateOpsgenieAlertTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with CreateJsmopsAlertTaskParams + try { + CreateJsmopsAlertTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateJsmopsAlertTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with PageJsmopsOnCallRespondersTaskParams + try { + PageJsmopsOnCallRespondersTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for PageJsmopsOnCallRespondersTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with UpdateOpsgenieAlertTaskParams try { UpdateOpsgenieAlertTaskParams.validateJsonElement(jsonElement); @@ -5808,23 +6432,47 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti errorMessages.add(String.format("Deserialization for SendSlackBlocksTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with GeniusCreateOpenaiChatCompletionTaskParams + // validate the json string with CreateOpenaiChatCompletionTaskParams + try { + CreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateWatsonxChatCompletionTaskParams + try { + CreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateGoogleGeminiChatCompletionTaskParams + try { + CreateGoogleGeminiChatCompletionTaskParams.validateJsonElement(jsonElement); + return; + } catch (Exception e) { + errorMessages.add(String.format("Deserialization for CreateGoogleGeminiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + // continue to the next one + } + // validate the json string with CreateMistralChatCompletionTaskParams try { - GeniusCreateOpenaiChatCompletionTaskParams.validateJsonElement(jsonElement); + CreateMistralChatCompletionTaskParams.validateJsonElement(jsonElement); return; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for GeniusCreateOpenaiChatCompletionTaskParams failed with `%s`.", e.getMessage())); + errorMessages.add(String.format("Deserialization for CreateMistralChatCompletionTaskParams failed with `%s`.", e.getMessage())); // continue to the next one } - // validate the json string with GeniusCreateWatsonxChatCompletionTaskParams + // validate the json string with CreateAnthropicChatCompletionTaskParams try { - GeniusCreateWatsonxChatCompletionTaskParams.validateJsonElement(jsonElement); + CreateAnthropicChatCompletionTaskParams.validateJsonElement(jsonElement); return; } catch (Exception e) { - errorMessages.add(String.format("Deserialization for GeniusCreateWatsonxChatCompletionTaskParams failed with `%s`.", e.getMessage())); + 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, AddMicrosoftTeamsTabTaskParams, AddRoleTaskParams, AddSlackBookmarkTaskParams, AddTeamTaskParams, AddToTimelineTaskParams, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, CreateGoogleDocsPageTaskParams, CreateGoogleDocsPermissionsTaskParams, CreateGoogleMeetingTaskParams, CreateIncidentPostmortemTaskParams, CreateIncidentTaskParams, CreateJiraIssueTaskParams, CreateJiraSubtaskTaskParams, CreateLinearIssueCommentTaskParams, CreateLinearIssueTaskParams, CreateLinearSubtaskIssueTaskParams, CreateMicrosoftTeamsChannelTaskParams, CreateMicrosoftTeamsMeetingTaskParams, CreateMotionTaskTaskParams, CreateNotionPageTaskParams, CreateOpsgenieAlertTaskParams, CreateOutlookEventTaskParams, CreatePagerdutyStatusUpdateTaskParams, CreatePagertreeAlertTaskParams, CreateQuipPageTaskParams, CreateServiceNowIncidentTaskParams, CreateSharepointPageTaskParams, CreateShortcutStoryTaskParams, CreateShortcutTaskTaskParams, CreateSlackChannelTaskParams, CreateTrelloCardTaskParams, CreateWebexMeetingTaskParams, CreateZendeskJiraLinkTaskParams, CreateZendeskTicketTaskParams, CreateZoomMeetingTaskParams, GeniusCreateOpenaiChatCompletionTaskParams, GeniusCreateWatsonxChatCompletionTaskParams, GetAlertsTaskParams, GetGithubCommitsTaskParams, GetGitlabCommitsTaskParams, GetPulsesTaskParams, HttpClientTaskParams, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, SendMicrosoftTeamsBlocksTaskParams, SendMicrosoftTeamsMessageTaskParams, SendSlackBlocksTaskParams, SendSlackMessageTaskParams, SendSmsTaskParams, SendWhatsappMessageTaskParams, SnapshotDatadogGraphTaskParams, SnapshotGrafanaDashboardTaskParams, SnapshotLookerLookTaskParams, SnapshotNewRelicGraphTaskParams, TriggerWorkflowTaskParams, TweetTwitterMessageTaskParams, UpdateActionItemTaskParams, UpdateAirtableTableRecordTaskParams, UpdateAsanaTaskTaskParams, UpdateAttachedAlertsTaskParams, UpdateClickupTaskTaskParams, UpdateCodaPageTaskParams, UpdateGithubIssueTaskParams, UpdateGitlabIssueTaskParams, UpdateGoogleCalendarEventTaskParams, UpdateGoogleDocsPageTaskParams, UpdateIncidentPostmortemTaskParams, UpdateIncidentStatusTimestampTaskParams, UpdateIncidentTaskParams, UpdateJiraIssueTaskParams, UpdateLinearIssueTaskParams, UpdateMotionTaskTaskParams, UpdateNotionPageTaskParams, UpdateOpsgenieAlertTaskParams, UpdateOpsgenieIncidentTaskParams, UpdatePagerdutyIncidentTaskParams, UpdatePagertreeAlertTaskParams, UpdateServiceNowIncidentTaskParams, 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, ArchiveMicrosoftTeamsChannelsTaskParams, ArchiveSlackChannelsTaskParams, AttachDatadogDashboardsTaskParams, AutoAssignRoleOpsgenieTaskParams, AutoAssignRolePagerdutyTaskParams, AutoAssignRoleRootlyTaskParams, AutoAssignRoleVictorOpsTaskParams, CallPeopleTaskParams, ChangeSlackChannelPrivacyTaskParams, CreateAirtableTableRecordTaskParams, CreateAnthropicChatCompletionTaskParams, CreateAsanaSubtaskTaskParams, CreateAsanaTaskTaskParams, CreateClickupTaskTaskParams, CreateCodaPageTaskParams, CreateConfluencePageTaskParams, CreateDatadogNotebookTaskParams, CreateDropboxPaperPageTaskParams, CreateGithubIssueTaskParams, CreateGitlabIssueTaskParams, CreateGoToMeetingTaskParams, CreateGoogleCalendarEventTaskParams, 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, InviteToMicrosoftTeamsChannelTaskParams, InviteToSlackChannelOpsgenieTaskParams, InviteToSlackChannelPagerdutyTaskParams, InviteToSlackChannelRootlyTaskParams, InviteToSlackChannelTaskParams, InviteToSlackChannelVictorOpsTaskParams, PageJsmopsOnCallRespondersTaskParams, PageOpsgenieOnCallRespondersTaskParams, PagePagerdutyOnCallRespondersTaskParams, PageRootlyOnCallRespondersTaskParams, PageVictorOpsOnCallRespondersTaskParams, PrintTaskParams, PublishIncidentTaskParams, RedisClientTaskParams, RemoveGoogleDocsPermissionsTaskParams, RenameMicrosoftTeamsChannelTaskParams, RenameSlackChannelTaskParams, RunCommandHerokuTaskParams, SendDashboardReportTaskParams, SendEmailTaskParams, 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, 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())); } /** diff --git a/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java b/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java index c04a6186..1682a1f8 100644 --- a/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UpdateZendeskTicketTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/User.java b/src/main/java/com/rootly/client/model/User.java index 90065b46..900fc1cf 100644 --- a/src/main/java/com/rootly/client/model/User.java +++ b/src/main/java/com/rootly/client/model/User.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * User */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..3207d221 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserEmailAddress.java @@ -0,0 +1,320 @@ +/* + * 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; + +/** + * UserEmailAddress + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private Integer userId; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nullable + private String email; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + @javax.annotation.Nullable + private Boolean primary; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public UserEmailAddress() { + } + + public UserEmailAddress userId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + */ + @javax.annotation.Nullable + public Integer getUserId() { + return userId; + } + + public void setUserId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + } + + + public UserEmailAddress email(@javax.annotation.Nullable String email) { + this.email = email; + return this; + } + + /** + * Email address + * @return email + */ + @javax.annotation.Nullable + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nullable String email) { + this.email = email; + } + + + public UserEmailAddress primary(@javax.annotation.Nullable Boolean primary) { + this.primary = primary; + return this; + } + + /** + * Whether this is the primary email address + * @return primary + */ + @javax.annotation.Nullable + public Boolean getPrimary() { + return primary; + } + + public void setPrimary(@javax.annotation.Nullable Boolean primary) { + this.primary = primary; + } + + + public UserEmailAddress createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public UserEmailAddress updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserEmailAddress userEmailAddress = (UserEmailAddress) o; + return Objects.equals(this.userId, userEmailAddress.userId) && + Objects.equals(this.email, userEmailAddress.email) && + Objects.equals(this.primary, userEmailAddress.primary) && + Objects.equals(this.createdAt, userEmailAddress.createdAt) && + Objects.equals(this.updatedAt, userEmailAddress.updatedAt); + } + + @Override + public int hashCode() { + return Objects.hash(userId, email, primary, createdAt, updatedAt); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserEmailAddress {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).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("user_id"); + openapiFields.add("email"); + openapiFields.add("primary"); + 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 UserEmailAddress + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserEmailAddress.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserEmailAddress is not found in the empty JSON string", UserEmailAddress.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserEmailAddress.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserEmailAddress` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("email") != null && !jsonObj.get("email").isJsonNull()) && !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())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!UserEmailAddress.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserEmailAddress' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserEmailAddress.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserEmailAddress value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserEmailAddress read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserEmailAddress given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserEmailAddress + * @throws IOException if the JSON string is invalid with respect to UserEmailAddress + */ + public static UserEmailAddress fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserEmailAddress.class); + } + + /** + * Convert an instance of UserEmailAddress 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/UserEmailAddressList.java b/src/main/java/com/rootly/client/model/UserEmailAddressList.java new file mode 100644 index 00000000..9ad1f5f4 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserEmailAddressList.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 com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.UserEmailAddressResponseData; +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; + +/** + * UserEmailAddressList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserEmailAddressList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public UserEmailAddressList() { + } + + public UserEmailAddressList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public UserEmailAddressList addDataItem(UserEmailAddressResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public UserEmailAddressList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public UserEmailAddressList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserEmailAddressList userEmailAddressList = (UserEmailAddressList) o; + return Objects.equals(this.data, userEmailAddressList.data) && + Objects.equals(this.links, userEmailAddressList.links) && + Objects.equals(this.meta, userEmailAddressList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserEmailAddressList {\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("}"); + 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"); + + // 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 UserEmailAddressList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserEmailAddressList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserEmailAddressList is not found in the empty JSON string", UserEmailAddressList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserEmailAddressList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserEmailAddressList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserEmailAddressList.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++) { + UserEmailAddressResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserEmailAddressList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserEmailAddressList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserEmailAddressList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserEmailAddressList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserEmailAddressList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserEmailAddressList given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserEmailAddressList + * @throws IOException if the JSON string is invalid with respect to UserEmailAddressList + */ + public static UserEmailAddressList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserEmailAddressList.class); + } + + /** + * Convert an instance of UserEmailAddressList 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/UserEmailAddressResponse.java b/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java new file mode 100644 index 00000000..c999416c --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserEmailAddressResponse.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.UserEmailAddressResponseData; +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; + +/** + * UserEmailAddressResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserEmailAddressResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UserEmailAddressResponseData data; + + public UserEmailAddressResponse() { + } + + public UserEmailAddressResponse data(@javax.annotation.Nonnull UserEmailAddressResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UserEmailAddressResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UserEmailAddressResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserEmailAddressResponse userEmailAddressResponse = (UserEmailAddressResponse) o; + return Objects.equals(this.data, userEmailAddressResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserEmailAddressResponse {\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 UserEmailAddressResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserEmailAddressResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserEmailAddressResponse is not found in the empty JSON string", UserEmailAddressResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserEmailAddressResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserEmailAddressResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserEmailAddressResponse.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` + UserEmailAddressResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserEmailAddressResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserEmailAddressResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserEmailAddressResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserEmailAddressResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserEmailAddressResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserEmailAddressResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserEmailAddressResponse + * @throws IOException if the JSON string is invalid with respect to UserEmailAddressResponse + */ + public static UserEmailAddressResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserEmailAddressResponse.class); + } + + /** + * Convert an instance of UserEmailAddressResponse 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/UserEmailAddressResponseData.java b/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.java new file mode 100644 index 00000000..ededb42e --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserEmailAddressResponseData.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.UserEmailAddress; +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; + +/** + * UserEmailAddressResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserEmailAddressResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_EMAIL_ADDRESSES("user_email_addresses"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UserEmailAddress attributes; + + public UserEmailAddressResponseData() { + } + + public UserEmailAddressResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the email address + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public UserEmailAddressResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UserEmailAddressResponseData attributes(@javax.annotation.Nonnull UserEmailAddress attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UserEmailAddress getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UserEmailAddress attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserEmailAddressResponseData userEmailAddressResponseData = (UserEmailAddressResponseData) o; + return Objects.equals(this.id, userEmailAddressResponseData.id) && + Objects.equals(this.type, userEmailAddressResponseData.type) && + Objects.equals(this.attributes, userEmailAddressResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserEmailAddressResponseData {\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 UserEmailAddressResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserEmailAddressResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserEmailAddressResponseData is not found in the empty JSON string", UserEmailAddressResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserEmailAddressResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserEmailAddressResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserEmailAddressResponseData.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` + UserEmailAddress.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserEmailAddressResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserEmailAddressResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserEmailAddressResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserEmailAddressResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserEmailAddressResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserEmailAddressResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserEmailAddressResponseData + * @throws IOException if the JSON string is invalid with respect to UserEmailAddressResponseData + */ + public static UserEmailAddressResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserEmailAddressResponseData.class); + } + + /** + * Convert an instance of UserEmailAddressResponseData 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/UserFlatResponse.java b/src/main/java/com/rootly/client/model/UserFlatResponse.java new file mode 100644 index 00000000..3d75cf79 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserFlatResponse.java @@ -0,0 +1,466 @@ +/* + * 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; + +/** + * Flat user object as returned by serializer + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserFlatResponse { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private Integer id; + + public static final String SERIALIZED_NAME_EMAIL = "email"; + @SerializedName(SERIALIZED_NAME_EMAIL) + @javax.annotation.Nonnull + private String email; + + public static final String SERIALIZED_NAME_FIRST_NAME = "first_name"; + @SerializedName(SERIALIZED_NAME_FIRST_NAME) + @javax.annotation.Nullable + private String firstName; + + public static final String SERIALIZED_NAME_LAST_NAME = "last_name"; + @SerializedName(SERIALIZED_NAME_LAST_NAME) + @javax.annotation.Nullable + private String lastName; + + public static final String SERIALIZED_NAME_FULL_NAME = "full_name"; + @SerializedName(SERIALIZED_NAME_FULL_NAME) + @javax.annotation.Nullable + private String fullName; + + public static final String SERIALIZED_NAME_FULL_NAME_WITH_TEAM = "full_name_with_team"; + @SerializedName(SERIALIZED_NAME_FULL_NAME_WITH_TEAM) + @javax.annotation.Nullable + private String fullNameWithTeam; + + public static final String SERIALIZED_NAME_TIME_ZONE = "time_zone"; + @SerializedName(SERIALIZED_NAME_TIME_ZONE) + @javax.annotation.Nullable + private String timeZone; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nonnull + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nonnull + private String updatedAt; + + public UserFlatResponse() { + } + + public UserFlatResponse id(@javax.annotation.Nonnull Integer id) { + this.id = id; + return this; + } + + /** + * User ID + * @return id + */ + @javax.annotation.Nonnull + public Integer getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull Integer id) { + this.id = id; + } + + + public UserFlatResponse email(@javax.annotation.Nonnull String email) { + this.email = email; + return this; + } + + /** + * User email + * @return email + */ + @javax.annotation.Nonnull + public String getEmail() { + return email; + } + + public void setEmail(@javax.annotation.Nonnull String email) { + this.email = email; + } + + + public UserFlatResponse firstName(@javax.annotation.Nullable String firstName) { + this.firstName = firstName; + return this; + } + + /** + * User first name + * @return firstName + */ + @javax.annotation.Nullable + public String getFirstName() { + return firstName; + } + + public void setFirstName(@javax.annotation.Nullable String firstName) { + this.firstName = firstName; + } + + + public UserFlatResponse lastName(@javax.annotation.Nullable String lastName) { + this.lastName = lastName; + return this; + } + + /** + * User last name + * @return lastName + */ + @javax.annotation.Nullable + public String getLastName() { + return lastName; + } + + public void setLastName(@javax.annotation.Nullable String lastName) { + this.lastName = lastName; + } + + + public UserFlatResponse fullName(@javax.annotation.Nullable String fullName) { + this.fullName = fullName; + return this; + } + + /** + * User full name + * @return fullName + */ + @javax.annotation.Nullable + public String getFullName() { + return fullName; + } + + public void setFullName(@javax.annotation.Nullable String fullName) { + this.fullName = fullName; + } + + + public UserFlatResponse fullNameWithTeam(@javax.annotation.Nullable String fullNameWithTeam) { + this.fullNameWithTeam = fullNameWithTeam; + return this; + } + + /** + * User full name with team + * @return fullNameWithTeam + */ + @javax.annotation.Nullable + public String getFullNameWithTeam() { + return fullNameWithTeam; + } + + public void setFullNameWithTeam(@javax.annotation.Nullable String fullNameWithTeam) { + this.fullNameWithTeam = fullNameWithTeam; + } + + + public UserFlatResponse timeZone(@javax.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + return this; + } + + /** + * User time zone + * @return timeZone + */ + @javax.annotation.Nullable + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(@javax.annotation.Nullable String timeZone) { + this.timeZone = timeZone; + } + + + public UserFlatResponse createdAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * User creation timestamp + * @return createdAt + */ + @javax.annotation.Nonnull + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nonnull String createdAt) { + this.createdAt = createdAt; + } + + + public UserFlatResponse updatedAt(@javax.annotation.Nonnull String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * User last update timestamp + * @return updatedAt + */ + @javax.annotation.Nonnull + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.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; + } + UserFlatResponse userFlatResponse = (UserFlatResponse) o; + return Objects.equals(this.id, userFlatResponse.id) && + Objects.equals(this.email, userFlatResponse.email) && + Objects.equals(this.firstName, userFlatResponse.firstName) && + Objects.equals(this.lastName, userFlatResponse.lastName) && + Objects.equals(this.fullName, userFlatResponse.fullName) && + Objects.equals(this.fullNameWithTeam, userFlatResponse.fullNameWithTeam) && + Objects.equals(this.timeZone, userFlatResponse.timeZone) && + Objects.equals(this.createdAt, userFlatResponse.createdAt) && + Objects.equals(this.updatedAt, userFlatResponse.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(id, email, firstName, lastName, fullName, fullNameWithTeam, timeZone, 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 UserFlatResponse {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" firstName: ").append(toIndentedString(firstName)).append("\n"); + sb.append(" lastName: ").append(toIndentedString(lastName)).append("\n"); + sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n"); + sb.append(" fullNameWithTeam: ").append(toIndentedString(fullNameWithTeam)).append("\n"); + sb.append(" timeZone: ").append(toIndentedString(timeZone)).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("id"); + openapiFields.add("email"); + openapiFields.add("first_name"); + openapiFields.add("last_name"); + openapiFields.add("full_name"); + openapiFields.add("full_name_with_team"); + openapiFields.add("time_zone"); + openapiFields.add("created_at"); + openapiFields.add("updated_at"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("id"); + openapiRequiredFields.add("email"); + 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 UserFlatResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserFlatResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserFlatResponse is not found in the empty JSON string", UserFlatResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserFlatResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserFlatResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserFlatResponse.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())); + } + if ((jsonObj.get("first_name") != null && !jsonObj.get("first_name").isJsonNull()) && !jsonObj.get("first_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `first_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("first_name").toString())); + } + if ((jsonObj.get("last_name") != null && !jsonObj.get("last_name").isJsonNull()) && !jsonObj.get("last_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `last_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("last_name").toString())); + } + if ((jsonObj.get("full_name") != null && !jsonObj.get("full_name").isJsonNull()) && !jsonObj.get("full_name").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `full_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("full_name").toString())); + } + if ((jsonObj.get("full_name_with_team") != null && !jsonObj.get("full_name_with_team").isJsonNull()) && !jsonObj.get("full_name_with_team").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `full_name_with_team` to be a primitive type in the JSON string but got `%s`", jsonObj.get("full_name_with_team").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())); + } + 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 (!UserFlatResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserFlatResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserFlatResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserFlatResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserFlatResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserFlatResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserFlatResponse + * @throws IOException if the JSON string is invalid with respect to UserFlatResponse + */ + public static UserFlatResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserFlatResponse.class); + } + + /** + * Convert an instance of UserFlatResponse 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/UserList.java b/src/main/java/com/rootly/client/model/UserList.java index 0a6fb24a..af19cc3f 100644 --- a/src/main/java/com/rootly/client/model/UserList.java +++ b/src/main/java/com/rootly/client/model/UserList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.UserResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * UserList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class UserList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public UserList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public UserList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } UserList userList = (UserList) o; return Objects.equals(this.data, userList.data) && - Objects.equals(this.links, userList.links); + Objects.equals(this.links, userList.links) && + Objects.equals(this.meta, userList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class UserList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UserNotificationRule.java b/src/main/java/com/rootly/client/model/UserNotificationRule.java index 78140215..7c3a60dd 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRule.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRule.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * UserNotificationRule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -101,7 +101,9 @@ public enum EnabledContactTypesEnum { DEVICE("device"), - NON_CRITICAL_DEVICE("non_critical_device"); + NON_CRITICAL_DEVICE("non_critical_device"), + + SLACK("slack"); private String value; @@ -151,6 +153,63 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nullable private List enabledContactTypes = new ArrayList<>(); + /** + * Type of notification rule (audible or quiet). Audible notifications use sound/vibration to alert users, while quiet notifications are silent. + */ + @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) + @javax.annotation.Nullable + private NotificationTypeEnum notificationType; + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; @SerializedName(SERIALIZED_NAME_CREATED_AT) @javax.annotation.Nullable @@ -324,6 +383,25 @@ public void setEnabledContactTypes(@javax.annotation.Nullable List boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(userId, delay, position, userEmailAddressId, userCallNumberId, userSmsNumberId, userDeviceId, enabledContactTypes, createdAt, updatedAt); + return Objects.hash(userId, delay, position, userEmailAddressId, userCallNumberId, userSmsNumberId, userDeviceId, enabledContactTypes, notificationType, createdAt, updatedAt); } private static int hashCodeNullable(JsonNullable a) { @@ -412,6 +491,7 @@ public String toString() { sb.append(" userSmsNumberId: ").append(toIndentedString(userSmsNumberId)).append("\n"); sb.append(" userDeviceId: ").append(toIndentedString(userDeviceId)).append("\n"); sb.append(" enabledContactTypes: ").append(toIndentedString(enabledContactTypes)).append("\n"); + sb.append(" notificationType: ").append(toIndentedString(notificationType)).append("\n"); sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n"); sb.append(" updatedAt: ").append(toIndentedString(updatedAt)).append("\n"); sb.append("}"); @@ -444,6 +524,7 @@ private String toIndentedString(Object o) { openapiFields.add("user_sms_number_id"); openapiFields.add("user_device_id"); openapiFields.add("enabled_contact_types"); + openapiFields.add("notification_type"); openapiFields.add("created_at"); openapiFields.add("updated_at"); @@ -488,6 +569,13 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("enabled_contact_types") != null && !jsonObj.get("enabled_contact_types").isJsonNull() && !jsonObj.get("enabled_contact_types").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `enabled_contact_types` to be an array in the JSON string but got `%s`", jsonObj.get("enabled_contact_types").toString())); } + 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("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/UserNotificationRuleList.java b/src/main/java/com/rootly/client/model/UserNotificationRuleList.java index a5060c37..58f3a89a 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleList.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.UserNotificationRuleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * UserNotificationRuleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UserNotificationRuleList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class UserNotificationRuleList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public UserNotificationRuleList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public UserNotificationRuleList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } UserNotificationRuleList userNotificationRuleList = (UserNotificationRuleList) o; return Objects.equals(this.data, userNotificationRuleList.data) && - Objects.equals(this.links, userNotificationRuleList.links); + Objects.equals(this.links, userNotificationRuleList.links) && + Objects.equals(this.meta, userNotificationRuleList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class UserNotificationRuleList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java b/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java index 599be186..393cc558 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UserNotificationRuleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f548c19b..56b000e7 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UserNotificationRuleResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 new file mode 100644 index 00000000..3c343097 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserPhoneNumber.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 java.io.IOException; +import java.time.OffsetDateTime; +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; + +/** + * UserPhoneNumber + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) + @javax.annotation.Nullable + private Integer userId; + + public static final String SERIALIZED_NAME_PHONE = "phone"; + @SerializedName(SERIALIZED_NAME_PHONE) + @javax.annotation.Nullable + private String phone; + + public static final String SERIALIZED_NAME_PRIMARY = "primary"; + @SerializedName(SERIALIZED_NAME_PRIMARY) + @javax.annotation.Nullable + private Boolean primary; + + public static final String SERIALIZED_NAME_VERIFIED_AT = "verified_at"; + @SerializedName(SERIALIZED_NAME_VERIFIED_AT) + @javax.annotation.Nullable + private OffsetDateTime verifiedAt; + + public static final String SERIALIZED_NAME_VERIFICATION_ATTEMPTS_TODAY = "verification_attempts_today"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_ATTEMPTS_TODAY) + @javax.annotation.Nullable + private Integer verificationAttemptsToday; + + public static final String SERIALIZED_NAME_CREATED_AT = "created_at"; + @SerializedName(SERIALIZED_NAME_CREATED_AT) + @javax.annotation.Nullable + private String createdAt; + + public static final String SERIALIZED_NAME_UPDATED_AT = "updated_at"; + @SerializedName(SERIALIZED_NAME_UPDATED_AT) + @javax.annotation.Nullable + private String updatedAt; + + public UserPhoneNumber() { + } + + public UserPhoneNumber userId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + return this; + } + + /** + * Get userId + * @return userId + */ + @javax.annotation.Nullable + public Integer getUserId() { + return userId; + } + + public void setUserId(@javax.annotation.Nullable Integer userId) { + this.userId = userId; + } + + + public UserPhoneNumber phone(@javax.annotation.Nullable String phone) { + this.phone = phone; + return this; + } + + /** + * Phone number in international format + * @return phone + */ + @javax.annotation.Nullable + public String getPhone() { + return phone; + } + + public void setPhone(@javax.annotation.Nullable String phone) { + this.phone = phone; + } + + + public UserPhoneNumber primary(@javax.annotation.Nullable Boolean primary) { + this.primary = primary; + return this; + } + + /** + * Whether this is the primary phone number + * @return primary + */ + @javax.annotation.Nullable + public Boolean getPrimary() { + return primary; + } + + public void setPrimary(@javax.annotation.Nullable Boolean primary) { + this.primary = primary; + } + + + public UserPhoneNumber verifiedAt(@javax.annotation.Nullable OffsetDateTime verifiedAt) { + this.verifiedAt = verifiedAt; + return this; + } + + /** + * Date when phone number was verified + * @return verifiedAt + */ + @javax.annotation.Nullable + public OffsetDateTime getVerifiedAt() { + return verifiedAt; + } + + public void setVerifiedAt(@javax.annotation.Nullable OffsetDateTime verifiedAt) { + this.verifiedAt = verifiedAt; + } + + + public UserPhoneNumber verificationAttemptsToday(@javax.annotation.Nullable Integer verificationAttemptsToday) { + this.verificationAttemptsToday = verificationAttemptsToday; + return this; + } + + /** + * Number of verification attempts made today + * @return verificationAttemptsToday + */ + @javax.annotation.Nullable + public Integer getVerificationAttemptsToday() { + return verificationAttemptsToday; + } + + public void setVerificationAttemptsToday(@javax.annotation.Nullable Integer verificationAttemptsToday) { + this.verificationAttemptsToday = verificationAttemptsToday; + } + + + public UserPhoneNumber createdAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + * Date of creation + * @return createdAt + */ + @javax.annotation.Nullable + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(@javax.annotation.Nullable String createdAt) { + this.createdAt = createdAt; + } + + + public UserPhoneNumber updatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + /** + * Date of last update + * @return updatedAt + */ + @javax.annotation.Nullable + public String getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(@javax.annotation.Nullable String updatedAt) { + this.updatedAt = updatedAt; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserPhoneNumber userPhoneNumber = (UserPhoneNumber) o; + return Objects.equals(this.userId, userPhoneNumber.userId) && + Objects.equals(this.phone, userPhoneNumber.phone) && + Objects.equals(this.primary, userPhoneNumber.primary) && + Objects.equals(this.verifiedAt, userPhoneNumber.verifiedAt) && + Objects.equals(this.verificationAttemptsToday, userPhoneNumber.verificationAttemptsToday) && + Objects.equals(this.createdAt, userPhoneNumber.createdAt) && + Objects.equals(this.updatedAt, userPhoneNumber.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(userId, phone, primary, verifiedAt, verificationAttemptsToday, 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 UserPhoneNumber {\n"); + sb.append(" userId: ").append(toIndentedString(userId)).append("\n"); + sb.append(" phone: ").append(toIndentedString(phone)).append("\n"); + sb.append(" primary: ").append(toIndentedString(primary)).append("\n"); + sb.append(" verifiedAt: ").append(toIndentedString(verifiedAt)).append("\n"); + sb.append(" verificationAttemptsToday: ").append(toIndentedString(verificationAttemptsToday)).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("user_id"); + openapiFields.add("phone"); + openapiFields.add("primary"); + openapiFields.add("verified_at"); + openapiFields.add("verification_attempts_today"); + 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 UserPhoneNumber + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserPhoneNumber.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserPhoneNumber is not found in the empty JSON string", UserPhoneNumber.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserPhoneNumber.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserPhoneNumber` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + if ((jsonObj.get("phone") != null && !jsonObj.get("phone").isJsonNull()) && !jsonObj.get("phone").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `phone` to be a primitive type in the JSON string but got `%s`", jsonObj.get("phone").toString())); + } + 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())); + } + if ((jsonObj.get("updated_at") != null && !jsonObj.get("updated_at").isJsonNull()) && !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 (!UserPhoneNumber.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserPhoneNumber' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserPhoneNumber.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserPhoneNumber value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserPhoneNumber read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserPhoneNumber given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserPhoneNumber + * @throws IOException if the JSON string is invalid with respect to UserPhoneNumber + */ + public static UserPhoneNumber fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserPhoneNumber.class); + } + + /** + * Convert an instance of UserPhoneNumber 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/UserPhoneNumberList.java b/src/main/java/com/rootly/client/model/UserPhoneNumberList.java new file mode 100644 index 00000000..b8463e00 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberList.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 com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.UserPhoneNumberResponseData; +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; + +/** + * UserPhoneNumberList + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserPhoneNumberList { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private List data = new ArrayList<>(); + + public static final String SERIALIZED_NAME_LINKS = "links"; + @SerializedName(SERIALIZED_NAME_LINKS) + @javax.annotation.Nonnull + private Links links; + + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + + public UserPhoneNumberList() { + } + + public UserPhoneNumberList data(@javax.annotation.Nonnull List data) { + this.data = data; + return this; + } + + public UserPhoneNumberList addDataItem(UserPhoneNumberResponseData dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public List getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull List data) { + this.data = data; + } + + + public UserPhoneNumberList links(@javax.annotation.Nonnull Links links) { + this.links = links; + return this; + } + + /** + * Get links + * @return links + */ + @javax.annotation.Nonnull + public Links getLinks() { + return links; + } + + public void setLinks(@javax.annotation.Nonnull Links links) { + this.links = links; + } + + + public UserPhoneNumberList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserPhoneNumberList userPhoneNumberList = (UserPhoneNumberList) o; + return Objects.equals(this.data, userPhoneNumberList.data) && + Objects.equals(this.links, userPhoneNumberList.links) && + Objects.equals(this.meta, userPhoneNumberList.meta); + } + + @Override + public int hashCode() { + return Objects.hash(data, links, meta); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserPhoneNumberList {\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("}"); + 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"); + + // 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 UserPhoneNumberList + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserPhoneNumberList.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserPhoneNumberList is not found in the empty JSON string", UserPhoneNumberList.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserPhoneNumberList.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserPhoneNumberList` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserPhoneNumberList.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++) { + UserPhoneNumberResponseData.validateJsonElement(jsonArraydata.get(i)); + }; + // validate the required field `links` + Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserPhoneNumberList.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserPhoneNumberList' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserPhoneNumberList.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserPhoneNumberList value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserPhoneNumberList read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserPhoneNumberList given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserPhoneNumberList + * @throws IOException if the JSON string is invalid with respect to UserPhoneNumberList + */ + public static UserPhoneNumberList fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserPhoneNumberList.class); + } + + /** + * Convert an instance of UserPhoneNumberList 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/UserPhoneNumberResponse.java b/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java new file mode 100644 index 00000000..fb087c1b --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.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.UserPhoneNumberResponseData; +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; + +/** + * UserPhoneNumberResponse + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserPhoneNumberResponse { + public static final String SERIALIZED_NAME_DATA = "data"; + @SerializedName(SERIALIZED_NAME_DATA) + @javax.annotation.Nonnull + private UserPhoneNumberResponseData data; + + public UserPhoneNumberResponse() { + } + + public UserPhoneNumberResponse data(@javax.annotation.Nonnull UserPhoneNumberResponseData data) { + this.data = data; + return this; + } + + /** + * Get data + * @return data + */ + @javax.annotation.Nonnull + public UserPhoneNumberResponseData getData() { + return data; + } + + public void setData(@javax.annotation.Nonnull UserPhoneNumberResponseData data) { + this.data = data; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserPhoneNumberResponse userPhoneNumberResponse = (UserPhoneNumberResponse) o; + return Objects.equals(this.data, userPhoneNumberResponse.data); + } + + @Override + public int hashCode() { + return Objects.hash(data); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserPhoneNumberResponse {\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 UserPhoneNumberResponse + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserPhoneNumberResponse.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserPhoneNumberResponse is not found in the empty JSON string", UserPhoneNumberResponse.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserPhoneNumberResponse.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserPhoneNumberResponse` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserPhoneNumberResponse.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` + UserPhoneNumberResponseData.validateJsonElement(jsonObj.get("data")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserPhoneNumberResponse.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserPhoneNumberResponse' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserPhoneNumberResponse.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserPhoneNumberResponse value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserPhoneNumberResponse read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserPhoneNumberResponse given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserPhoneNumberResponse + * @throws IOException if the JSON string is invalid with respect to UserPhoneNumberResponse + */ + public static UserPhoneNumberResponse fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserPhoneNumberResponse.class); + } + + /** + * Convert an instance of UserPhoneNumberResponse 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/UserPhoneNumberResponseData.java b/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.java new file mode 100644 index 00000000..d5e01219 --- /dev/null +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberResponseData.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.UserPhoneNumber; +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; + +/** + * UserPhoneNumberResponseData + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class UserPhoneNumberResponseData { + public static final String SERIALIZED_NAME_ID = "id"; + @SerializedName(SERIALIZED_NAME_ID) + @javax.annotation.Nonnull + private String id; + + /** + * Gets or Sets type + */ + @JsonAdapter(TypeEnum.Adapter.class) + public enum TypeEnum { + USER_PHONE_NUMBERS("user_phone_numbers"); + + 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) + @javax.annotation.Nonnull + private TypeEnum type; + + public static final String SERIALIZED_NAME_ATTRIBUTES = "attributes"; + @SerializedName(SERIALIZED_NAME_ATTRIBUTES) + @javax.annotation.Nonnull + private UserPhoneNumber attributes; + + public UserPhoneNumberResponseData() { + } + + public UserPhoneNumberResponseData id(@javax.annotation.Nonnull String id) { + this.id = id; + return this; + } + + /** + * Unique ID of the phone number + * @return id + */ + @javax.annotation.Nonnull + public String getId() { + return id; + } + + public void setId(@javax.annotation.Nonnull String id) { + this.id = id; + } + + + public UserPhoneNumberResponseData type(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @javax.annotation.Nonnull + public TypeEnum getType() { + return type; + } + + public void setType(@javax.annotation.Nonnull TypeEnum type) { + this.type = type; + } + + + public UserPhoneNumberResponseData attributes(@javax.annotation.Nonnull UserPhoneNumber attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get attributes + * @return attributes + */ + @javax.annotation.Nonnull + public UserPhoneNumber getAttributes() { + return attributes; + } + + public void setAttributes(@javax.annotation.Nonnull UserPhoneNumber attributes) { + this.attributes = attributes; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UserPhoneNumberResponseData userPhoneNumberResponseData = (UserPhoneNumberResponseData) o; + return Objects.equals(this.id, userPhoneNumberResponseData.id) && + Objects.equals(this.type, userPhoneNumberResponseData.type) && + Objects.equals(this.attributes, userPhoneNumberResponseData.attributes); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, attributes); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UserPhoneNumberResponseData {\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 UserPhoneNumberResponseData + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!UserPhoneNumberResponseData.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in UserPhoneNumberResponseData is not found in the empty JSON string", UserPhoneNumberResponseData.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!UserPhoneNumberResponseData.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `UserPhoneNumberResponseData` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : UserPhoneNumberResponseData.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` + UserPhoneNumber.validateJsonElement(jsonObj.get("attributes")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!UserPhoneNumberResponseData.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'UserPhoneNumberResponseData' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(UserPhoneNumberResponseData.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, UserPhoneNumberResponseData value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public UserPhoneNumberResponseData read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of UserPhoneNumberResponseData given an JSON string + * + * @param jsonString JSON string + * @return An instance of UserPhoneNumberResponseData + * @throws IOException if the JSON string is invalid with respect to UserPhoneNumberResponseData + */ + public static UserPhoneNumberResponseData fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, UserPhoneNumberResponseData.class); + } + + /** + * Convert an instance of UserPhoneNumberResponseData 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/UserRelationships.java b/src/main/java/com/rootly/client/model/UserRelationships.java index 3d4d230d..f15caf0e 100644 --- a/src/main/java/com/rootly/client/model/UserRelationships.java +++ b/src/main/java/com/rootly/client/model/UserRelationships.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UserRelationships */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a67c5ffb..eb529718 100644 --- a/src/main/java/com/rootly/client/model/UserResponse.java +++ b/src/main/java/com/rootly/client/model/UserResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * UserResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6a9b13a9..5975b7d4 100644 --- a/src/main/java/com/rootly/client/model/UserResponseData.java +++ b/src/main/java/com/rootly/client/model/UserResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * UserResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/VerifyPhoneNumberRequest.java b/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java new file mode 100644 index 00000000..1cd6d470 --- /dev/null +++ b/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.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; + +/** + * VerifyPhoneNumberRequest + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +public class VerifyPhoneNumberRequest { + public static final String SERIALIZED_NAME_CODE = "code"; + @SerializedName(SERIALIZED_NAME_CODE) + @javax.annotation.Nonnull + private String code; + + public VerifyPhoneNumberRequest() { + } + + public VerifyPhoneNumberRequest code(@javax.annotation.Nonnull String code) { + this.code = code; + return this; + } + + /** + * 6-digit verification code + * @return code + */ + @javax.annotation.Nonnull + public String getCode() { + return code; + } + + public void setCode(@javax.annotation.Nonnull String code) { + this.code = code; + } + + + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VerifyPhoneNumberRequest verifyPhoneNumberRequest = (VerifyPhoneNumberRequest) o; + return Objects.equals(this.code, verifyPhoneNumberRequest.code); + } + + @Override + public int hashCode() { + return Objects.hash(code); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VerifyPhoneNumberRequest {\n"); + sb.append(" code: ").append(toIndentedString(code)).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("code"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("code"); + } + + /** + * 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 VerifyPhoneNumberRequest + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!VerifyPhoneNumberRequest.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException(String.format("The required field(s) %s in VerifyPhoneNumberRequest is not found in the empty JSON string", VerifyPhoneNumberRequest.openapiRequiredFields.toString())); + } + } + + Set> entries = jsonElement.getAsJsonObject().entrySet(); + // check to see if the JSON string contains additional fields + for (Map.Entry entry : entries) { + if (!VerifyPhoneNumberRequest.openapiFields.contains(entry.getKey())) { + throw new IllegalArgumentException(String.format("The field `%s` in the JSON string is not defined in the `VerifyPhoneNumberRequest` properties. JSON: %s", entry.getKey(), jsonElement.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : VerifyPhoneNumberRequest.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("code").isJsonPrimitive()) { + throw new IllegalArgumentException(String.format("Expected the field `code` to be a primitive type in the JSON string but got `%s`", jsonObj.get("code").toString())); + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!VerifyPhoneNumberRequest.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'VerifyPhoneNumberRequest' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter + = gson.getDelegateAdapter(this, TypeToken.get(VerifyPhoneNumberRequest.class)); + + return (TypeAdapter) new TypeAdapter() { + @Override + public void write(JsonWriter out, VerifyPhoneNumberRequest value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public VerifyPhoneNumberRequest read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + + }.nullSafe(); + } + } + + /** + * Create an instance of VerifyPhoneNumberRequest given an JSON string + * + * @param jsonString JSON string + * @return An instance of VerifyPhoneNumberRequest + * @throws IOException if the JSON string is invalid with respect to VerifyPhoneNumberRequest + */ + public static VerifyPhoneNumberRequest fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, VerifyPhoneNumberRequest.class); + } + + /** + * Convert an instance of VerifyPhoneNumberRequest 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 ad75e652..7eef113a 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDelivery.java +++ b/src/main/java/com/rootly/client/model/WebhooksDelivery.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,7 +48,7 @@ /** * WebhooksDelivery */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 06302e7d..aaa88b58 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WebhooksDeliveryResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WebhooksDeliveryList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksDeliveryList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WebhooksDeliveryList { @javax.annotation.Nullable private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + public WebhooksDeliveryList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nullable Links links) { } + public WebhooksDeliveryList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WebhooksDeliveryList webhooksDeliveryList = (WebhooksDeliveryList) o; return Objects.equals(this.data, webhooksDeliveryList.data) && - Objects.equals(this.links, webhooksDeliveryList.links); + Objects.equals(this.links, webhooksDeliveryList.links) && + Objects.equals(this.meta, webhooksDeliveryList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WebhooksDeliveryList {\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("}"); return sb.toString(); } @@ -162,6 +189,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -210,6 +238,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { Links.validateJsonElement(jsonObj.get("links")); } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java index 2444a91e..ad5f6cb2 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WebhooksDeliveryResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 173ea8bc..436637eb 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WebhooksDeliveryResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ba02bbf8..1c4e4868 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpoint.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * WebhooksEndpoint */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpoint { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) @@ -59,7 +59,7 @@ public class WebhooksEndpoint { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) - @javax.annotation.Nonnull + @javax.annotation.Nullable private String slug; public static final String SERIALIZED_NAME_URL = "url"; @@ -128,7 +128,9 @@ public enum EventTypesEnum { GENIUS_WORKFLOW_RUN_FAILED("genius_workflow_run.failed"), - GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"); + GENIUS_WORKFLOW_RUN_CANCELED("genius_workflow_run.canceled"), + + AUDIT_LOG_CREATED("audit_log.created"); private String value; @@ -220,7 +222,7 @@ public void setName(@javax.annotation.Nonnull String name) { } - public WebhooksEndpoint slug(@javax.annotation.Nonnull String slug) { + public WebhooksEndpoint slug(@javax.annotation.Nullable String slug) { this.slug = slug; return this; } @@ -229,12 +231,12 @@ public WebhooksEndpoint slug(@javax.annotation.Nonnull String slug) { * The slug of the endpoint * @return slug */ - @javax.annotation.Nonnull + @javax.annotation.Nullable public String getSlug() { return slug; } - public void setSlug(@javax.annotation.Nonnull String slug) { + public void setSlug(@javax.annotation.Nullable String slug) { this.slug = slug; } @@ -432,7 +434,6 @@ private String toIndentedString(Object o) { // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("name"); - openapiRequiredFields.add("slug"); openapiRequiredFields.add("url"); openapiRequiredFields.add("event_types"); openapiRequiredFields.add("secret"); @@ -472,7 +473,7 @@ 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())); } - if (!jsonObj.get("slug").isJsonPrimitive()) { + 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("url").isJsonPrimitive()) { diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java index 66d4f823..e312596a 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WebhooksEndpointResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WebhooksEndpointList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpointList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WebhooksEndpointList { @javax.annotation.Nullable private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nullable + private Meta meta; + public WebhooksEndpointList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nullable Links links) { } + public WebhooksEndpointList meta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nullable + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nullable Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WebhooksEndpointList webhooksEndpointList = (WebhooksEndpointList) o; return Objects.equals(this.data, webhooksEndpointList.data) && - Objects.equals(this.links, webhooksEndpointList.links); + Objects.equals(this.links, webhooksEndpointList.links) && + Objects.equals(this.meta, webhooksEndpointList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WebhooksEndpointList {\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("}"); return sb.toString(); } @@ -162,6 +189,7 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -210,6 +238,10 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (jsonObj.get("links") != null && !jsonObj.get("links").isJsonNull()) { Links.validateJsonElement(jsonObj.get("links")); } + // validate the optional field `meta` + if (jsonObj.get("meta") != null && !jsonObj.get("meta").isJsonNull()) { + Meta.validateJsonElement(jsonObj.get("meta")); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java b/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java index dc3ae846..29b92497 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WebhooksEndpointResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 18d9fff8..ee20cfd2 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WebhooksEndpointResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 ecd97a8a..59135897 100644 --- a/src/main/java/com/rootly/client/model/Workflow.java +++ b/src/main/java/com/rootly/client/model/Workflow.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -52,7 +52,7 @@ /** * Workflow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Workflow { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java index 9a5a760e..082a0cb1 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * WorkflowCustomFieldSelection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -69,6 +69,8 @@ public class WorkflowCustomFieldSelection { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java index c5faafe1..2a48add2 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowCustomFieldSelectionResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowCustomFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowCustomFieldSelectionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowCustomFieldSelectionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowCustomFieldSelectionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowCustomFieldSelectionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowCustomFieldSelectionList workflowCustomFieldSelectionList = (WorkflowCustomFieldSelectionList) o; return Objects.equals(this.data, workflowCustomFieldSelectionList.data) && - Objects.equals(this.links, workflowCustomFieldSelectionList.links); + Objects.equals(this.links, workflowCustomFieldSelectionList.links) && + Objects.equals(this.meta, workflowCustomFieldSelectionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowCustomFieldSelectionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java index c0cba464..fc369768 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowCustomFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 85d6ccc1..a3d031d5 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowCustomFieldSelectionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 33e8dd19..3b87eaac 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldCondition.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -50,7 +50,7 @@ /** * WorkflowFormFieldCondition */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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) @@ -69,6 +69,8 @@ public class WorkflowFormFieldCondition { public enum IncidentConditionEnum { IS("IS"), + IS_NOT("IS NOT"), + ANY("ANY"), CONTAINS("CONTAINS"), @@ -166,6 +168,21 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti @javax.annotation.Nonnull private List selectedUserIds = new ArrayList<>(); + public static final String SERIALIZED_NAME_SELECTED_CAUSE_IDS = "selected_cause_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_CAUSE_IDS) + @javax.annotation.Nullable + private List selectedCauseIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS = "selected_environment_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_ENVIRONMENT_IDS) + @javax.annotation.Nullable + private List selectedEnvironmentIds = new ArrayList<>(); + + public static final String SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS = "selected_incident_type_ids"; + @SerializedName(SERIALIZED_NAME_SELECTED_INCIDENT_TYPE_IDS) + @javax.annotation.Nullable + private List selectedIncidentTypeIds = new ArrayList<>(); + public WorkflowFormFieldCondition() { } @@ -415,6 +432,87 @@ public void setSelectedUserIds(@javax.annotation.Nonnull List selectedU } + public WorkflowFormFieldCondition selectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + return this; + } + + public WorkflowFormFieldCondition addSelectedCauseIdsItem(String selectedCauseIdsItem) { + if (this.selectedCauseIds == null) { + this.selectedCauseIds = new ArrayList<>(); + } + this.selectedCauseIds.add(selectedCauseIdsItem); + return this; + } + + /** + * Get selectedCauseIds + * @return selectedCauseIds + */ + @javax.annotation.Nullable + public List getSelectedCauseIds() { + return selectedCauseIds; + } + + public void setSelectedCauseIds(@javax.annotation.Nullable List selectedCauseIds) { + this.selectedCauseIds = selectedCauseIds; + } + + + public WorkflowFormFieldCondition selectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + return this; + } + + public WorkflowFormFieldCondition addSelectedEnvironmentIdsItem(String selectedEnvironmentIdsItem) { + if (this.selectedEnvironmentIds == null) { + this.selectedEnvironmentIds = new ArrayList<>(); + } + this.selectedEnvironmentIds.add(selectedEnvironmentIdsItem); + return this; + } + + /** + * Get selectedEnvironmentIds + * @return selectedEnvironmentIds + */ + @javax.annotation.Nullable + public List getSelectedEnvironmentIds() { + return selectedEnvironmentIds; + } + + public void setSelectedEnvironmentIds(@javax.annotation.Nullable List selectedEnvironmentIds) { + this.selectedEnvironmentIds = selectedEnvironmentIds; + } + + + public WorkflowFormFieldCondition selectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + return this; + } + + public WorkflowFormFieldCondition addSelectedIncidentTypeIdsItem(String selectedIncidentTypeIdsItem) { + if (this.selectedIncidentTypeIds == null) { + this.selectedIncidentTypeIds = new ArrayList<>(); + } + this.selectedIncidentTypeIds.add(selectedIncidentTypeIdsItem); + return this; + } + + /** + * Get selectedIncidentTypeIds + * @return selectedIncidentTypeIds + */ + @javax.annotation.Nullable + public List getSelectedIncidentTypeIds() { + return selectedIncidentTypeIds; + } + + public void setSelectedIncidentTypeIds(@javax.annotation.Nullable List selectedIncidentTypeIds) { + this.selectedIncidentTypeIds = selectedIncidentTypeIds; + } + + @Override public boolean equals(Object o) { @@ -434,12 +532,15 @@ public boolean equals(Object o) { Objects.equals(this.selectedGroupIds, workflowFormFieldCondition.selectedGroupIds) && Objects.equals(this.selectedOptionIds, workflowFormFieldCondition.selectedOptionIds) && Objects.equals(this.selectedServiceIds, workflowFormFieldCondition.selectedServiceIds) && - Objects.equals(this.selectedUserIds, workflowFormFieldCondition.selectedUserIds); + Objects.equals(this.selectedUserIds, workflowFormFieldCondition.selectedUserIds) && + Objects.equals(this.selectedCauseIds, workflowFormFieldCondition.selectedCauseIds) && + Objects.equals(this.selectedEnvironmentIds, workflowFormFieldCondition.selectedEnvironmentIds) && + Objects.equals(this.selectedIncidentTypeIds, workflowFormFieldCondition.selectedIncidentTypeIds); } @Override public int hashCode() { - return Objects.hash(workflowId, formFieldId, incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds); + return Objects.hash(workflowId, formFieldId, incidentCondition, values, selectedCatalogEntityIds, selectedFunctionalityIds, selectedGroupIds, selectedOptionIds, selectedServiceIds, selectedUserIds, selectedCauseIds, selectedEnvironmentIds, selectedIncidentTypeIds); } @Override @@ -456,6 +557,9 @@ public String toString() { sb.append(" selectedOptionIds: ").append(toIndentedString(selectedOptionIds)).append("\n"); sb.append(" selectedServiceIds: ").append(toIndentedString(selectedServiceIds)).append("\n"); sb.append(" selectedUserIds: ").append(toIndentedString(selectedUserIds)).append("\n"); + sb.append(" selectedCauseIds: ").append(toIndentedString(selectedCauseIds)).append("\n"); + sb.append(" selectedEnvironmentIds: ").append(toIndentedString(selectedEnvironmentIds)).append("\n"); + sb.append(" selectedIncidentTypeIds: ").append(toIndentedString(selectedIncidentTypeIds)).append("\n"); sb.append("}"); return sb.toString(); } @@ -488,6 +592,9 @@ private String toIndentedString(Object o) { openapiFields.add("selected_option_ids"); openapiFields.add("selected_service_ids"); openapiFields.add("selected_user_ids"); + openapiFields.add("selected_cause_ids"); + openapiFields.add("selected_environment_ids"); + openapiFields.add("selected_incident_type_ids"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); @@ -572,6 +679,18 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } else if (!jsonObj.get("selected_user_ids").isJsonArray()) { throw new IllegalArgumentException(String.format("Expected the field `selected_user_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_user_ids").toString())); } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_cause_ids") != null && !jsonObj.get("selected_cause_ids").isJsonNull() && !jsonObj.get("selected_cause_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_cause_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_cause_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_environment_ids") != null && !jsonObj.get("selected_environment_ids").isJsonNull() && !jsonObj.get("selected_environment_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_environment_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_environment_ids").toString())); + } + // ensure the optional json data is an array if present + if (jsonObj.get("selected_incident_type_ids") != null && !jsonObj.get("selected_incident_type_ids").isJsonNull() && !jsonObj.get("selected_incident_type_ids").isJsonArray()) { + throw new IllegalArgumentException(String.format("Expected the field `selected_incident_type_ids` to be an array in the JSON string but got `%s`", jsonObj.get("selected_incident_type_ids").toString())); + } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java index dd7efa43..07846bb4 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowFormFieldConditionResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowFormFieldConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowFormFieldConditionList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowFormFieldConditionList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowFormFieldConditionList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowFormFieldConditionList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowFormFieldConditionList workflowFormFieldConditionList = (WorkflowFormFieldConditionList) o; return Objects.equals(this.data, workflowFormFieldConditionList.data) && - Objects.equals(this.links, workflowFormFieldConditionList.links); + Objects.equals(this.links, workflowFormFieldConditionList.links) && + Objects.equals(this.meta, workflowFormFieldConditionList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowFormFieldConditionList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java index 4c586c2c..561c28bb 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowFormFieldConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 a062bc80..759afc2b 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowFormFieldConditionResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 267277d4..4fcbb940 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroup.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroup.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroup { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupList.java b/src/main/java/com/rootly/client/model/WorkflowGroupList.java index 2f60f6f8..b2727931 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupList.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowGroupResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroupList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowGroupList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowGroupList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowGroupList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowGroupList workflowGroupList = (WorkflowGroupList) o; return Objects.equals(this.data, workflowGroupList.data) && - Objects.equals(this.links, workflowGroupList.links); + Objects.equals(this.links, workflowGroupList.links) && + Objects.equals(this.meta, workflowGroupList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowGroupList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java b/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java index 1a26066a..e68854a8 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 b6ce6db0..6221d1ee 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowGroupResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 6552e60a..1ded4684 100644 --- a/src/main/java/com/rootly/client/model/WorkflowList.java +++ b/src/main/java/com/rootly/client/model/WorkflowList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowList workflowList = (WorkflowList) o; return Objects.equals(this.data, workflowList.data) && - Objects.equals(this.links, workflowList.links); + Objects.equals(this.links, workflowList.links) && + Objects.equals(this.meta, workflowList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowResponse.java b/src/main/java/com/rootly/client/model/WorkflowResponse.java index 3eed0851..a42a3699 100644 --- a/src/main/java/com/rootly/client/model/WorkflowResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 2d802e89..f3a63ffd 100644 --- a/src/main/java/com/rootly/client/model/WorkflowResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 29457ce8..940769a4 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRun.java +++ b/src/main/java/com/rootly/client/model/WorkflowRun.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -51,7 +51,7 @@ /** * WorkflowRun */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 403a016a..45509ac5 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowRunResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 8047bcdf..851b6060 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowRunResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 f41f9539..901b0887 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunsList.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunsList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowRunResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowRunsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowRunsList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowRunsList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowRunsList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowRunsList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowRunsList workflowRunsList = (WorkflowRunsList) o; return Objects.equals(this.data, workflowRunsList.data) && - Objects.equals(this.links, workflowRunsList.links); + Objects.equals(this.links, workflowRunsList.links) && + Objects.equals(this.meta, workflowRunsList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowRunsList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowTask.java b/src/main/java/com/rootly/client/model/WorkflowTask.java index 31c5da2e..1ebff143 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTask.java +++ b/src/main/java/com/rootly/client/model/WorkflowTask.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowTask */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 bb7ff596..aa83bad9 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskList.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskList.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowTaskResponseData; import java.io.IOException; import java.util.ArrayList; @@ -52,7 +53,7 @@ /** * WorkflowTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowTaskList { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) @@ -64,6 +65,11 @@ public class WorkflowTaskList { @javax.annotation.Nonnull private Links links; + public static final String SERIALIZED_NAME_META = "meta"; + @SerializedName(SERIALIZED_NAME_META) + @javax.annotation.Nonnull + private Meta meta; + public WorkflowTaskList() { } @@ -113,6 +119,25 @@ public void setLinks(@javax.annotation.Nonnull Links links) { } + public WorkflowTaskList meta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + return this; + } + + /** + * Get meta + * @return meta + */ + @javax.annotation.Nonnull + public Meta getMeta() { + return meta; + } + + public void setMeta(@javax.annotation.Nonnull Meta meta) { + this.meta = meta; + } + + @Override public boolean equals(Object o) { @@ -124,12 +149,13 @@ public boolean equals(Object o) { } WorkflowTaskList workflowTaskList = (WorkflowTaskList) o; return Objects.equals(this.data, workflowTaskList.data) && - Objects.equals(this.links, workflowTaskList.links); + Objects.equals(this.links, workflowTaskList.links) && + Objects.equals(this.meta, workflowTaskList.meta); } @Override public int hashCode() { - return Objects.hash(data, links); + return Objects.hash(data, links, meta); } @Override @@ -138,6 +164,7 @@ public String toString() { sb.append("class WorkflowTaskList {\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("}"); return sb.toString(); } @@ -162,11 +189,13 @@ private String toIndentedString(Object o) { openapiFields = new HashSet(); openapiFields.add("data"); openapiFields.add("links"); + openapiFields.add("meta"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet(); openapiRequiredFields.add("data"); openapiRequiredFields.add("links"); + openapiRequiredFields.add("meta"); } /** @@ -209,6 +238,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti }; // validate the required field `links` Links.validateJsonElement(jsonObj.get("links")); + // validate the required field `meta` + Meta.validateJsonElement(jsonObj.get("meta")); } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { diff --git a/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java b/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java index 1023d4c5..77966640 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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 504b1661..ecf386c7 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskResponseData.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,7 +49,7 @@ /** * WorkflowTaskResponseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-22T07:13:31.203496-07:00[America/Los_Angeles]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[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/test/java/com/rootly/client/api/AlertFieldsApiTest.java b/src/test/java/com/rootly/client/api/AlertFieldsApiTest.java new file mode 100644 index 00000000..353f33d6 --- /dev/null +++ b/src/test/java/com/rootly/client/api/AlertFieldsApiTest.java @@ -0,0 +1,120 @@ +/* + * 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.AlertFieldList; +import com.rootly.client.model.AlertFieldResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewAlertField; +import com.rootly.client.model.UpdateAlertField; +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 AlertFieldsApi + */ +@Disabled +public class AlertFieldsApiTest { + + private final AlertFieldsApi api = new AlertFieldsApi(); + + /** + * Creates an alert field + * + * Creates a new alert field from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createAlertFieldTest() throws ApiException { + NewAlertField newAlertField = null; + AlertFieldResponse response = api.createAlertField(newAlertField); + // TODO: test validations + } + + /** + * Delete an alert field + * + * Delete a specific alert field by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteAlertFieldTest() throws ApiException { + GetAlertFieldIdParameter id = null; + AlertFieldResponse response = api.deleteAlertField(id); + // TODO: test validations + } + + /** + * Retrieves an alert field + * + * Retrieves a specific alert field by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getAlertFieldTest() throws ApiException { + GetAlertFieldIdParameter id = null; + AlertFieldResponse response = api.getAlertField(id); + // TODO: test validations + } + + /** + * List alert fields + * + * List alert fields + * + * @throws ApiException if the Api call fails + */ + @Test + public void listAlertFieldsTest() throws ApiException { + String include = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + AlertFieldList response = api.listAlertFields(include, pageNumber, pageSize, filterSearch, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Update an alert field + * + * Update a specific alert field by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateAlertFieldTest() throws ApiException { + GetAlertFieldIdParameter id = null; + UpdateAlertField updateAlertField = null; + AlertFieldResponse response = api.updateAlertField(id, updateAlertField); + // 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 new file mode 100644 index 00000000..f0716725 --- /dev/null +++ b/src/test/java/com/rootly/client/api/AlertRoutesApiTest.java @@ -0,0 +1,130 @@ +/* + * 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.AlertRouteList; +import com.rootly.client.model.AlertRouteResponse; +import com.rootly.client.model.DeleteAlertRoute200Response; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewAlertRoute; +import com.rootly.client.model.PatchAlertRoute; +import com.rootly.client.model.UpdateAlertRoute; +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 AlertRoutesApi + */ +@Disabled +public class AlertRoutesApiTest { + + private final AlertRoutesApi api = new AlertRoutesApi(); + + /** + * 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. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createAlertRouteTest() throws ApiException { + NewAlertRoute newAlertRoute = null; + AlertRouteResponse response = api.createAlertRoute(newAlertRoute); + // TODO: test validations + } + + /** + * Delete an alert route + * + * 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.** + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteAlertRouteTest() throws ApiException { + String id = null; + DeleteAlertRoute200Response response = api.deleteAlertRoute(id); + // TODO: test validations + } + + /** + * Get an alert route + * + * 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` + * + * @throws ApiException if the Api call fails + */ + @Test + public void getAlertRouteTest() throws ApiException { + String id = null; + AlertRouteResponse response = api.getAlertRoute(id); + // TODO: test validations + } + + /** + * List alert routes + * + * 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.** + * + * @throws ApiException if the Api call fails + */ + @Test + public void listAlertRoutesTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String sort = null; + AlertRouteList response = api.listAlertRoutes(pageNumber, pageSize, filterSearch, filterName, sort); + // TODO: test validations + } + + /** + * Update an alert route + * + * 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.** + * + * @throws ApiException if the Api call fails + */ + @Test + public void patchAlertRouteTest() throws ApiException { + String id = null; + PatchAlertRoute patchAlertRoute = null; + AlertRouteResponse response = api.patchAlertRoute(id, patchAlertRoute); + // TODO: test validations + } + + /** + * 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. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateAlertRouteTest() throws ApiException { + String id = null; + UpdateAlertRoute updateAlertRoute = null; + AlertRouteResponse response = api.updateAlertRoute(id, updateAlertRoute); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/ApiKeysApiTest.java b/src/test/java/com/rootly/client/api/ApiKeysApiTest.java new file mode 100644 index 00000000..b78b69af --- /dev/null +++ b/src/test/java/com/rootly/client/api/ApiKeysApiTest.java @@ -0,0 +1,151 @@ +/* + * 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.ApiKeyList; +import com.rootly.client.model.ApiKeyResponse; +import com.rootly.client.model.ApiKeyWithTokenResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewApiKey; +import com.rootly.client.model.RotateApiKey; +import java.util.UUID; +import com.rootly.client.model.UpdateApiKey; +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 ApiKeysApi + */ +@Disabled +public class ApiKeysApiTest { + + private final ApiKeysApi api = new ApiKeysApi(); + + /** + * Creates an API key + * + * Creates a new API key and returns it with the plaintext token. **The token is only returned once** — store it securely, as it cannot be retrieved again. **Kinds and required fields:** - `personal` — created for the authenticated user. No additional fields required. - `team` — scoped to a team (group). Requires `group_id`. A service account is automatically created with permissions derived from group membership. - `organization` — organization-wide access. Requires owner or admin role. Optionally set `role_id` and `on_call_role_id` to control the service account's permissions. **Expiration:** All keys require an `expires_at` date set in the future (maximum 5 years). Names must be unique within their kind and scope. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createApiKeyTest() throws ApiException { + NewApiKey newApiKey = null; + ApiKeyWithTokenResponse response = api.createApiKey(newApiKey); + // TODO: test validations + } + + /** + * Revoke an API key + * + * Revoke an API key. The key is immediately invalidated and can no longer be used for authentication. This action cannot be undone. For `team` and `organization` keys, the associated service account is also deleted. Any active sessions using this key will fail on the next request. + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteApiKeyTest() throws ApiException { + UUID id = null; + ApiKeyResponse response = api.deleteApiKey(id); + // TODO: test validations + } + + /** + * Retrieves an API key + * + * Retrieves a specific API key by its UUID. Returns key metadata including name, kind, expiration, last usage timestamp, and the grace period status — the secret token is never included. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getApiKeyTest() throws ApiException { + UUID id = null; + String include = null; + ApiKeyResponse response = api.getApiKey(id, include); + // TODO: test validations + } + + /** + * List API keys + * + * List API keys for the current organization. Returns key metadata including name, kind, expiration, and last usage — the secret token value is never included in the response. **API key kinds:** - `personal` — tied to a specific user, inherits that user's permissions. - `team` — scoped to one or more teams (groups), creates a service account with permissions derived from group membership. - `organization` — organization-wide, creates a service account with a configurable role and on-call role. **Automated rotation workflow:** Use `filter[expires_at][lt]` to find keys approaching expiration, then call the rotate endpoint to issue a new token before the old one expires. Combine with `filter[active]=true` to exclude already-expired keys. **Sorting:** Use the `sort` parameter with a field name (e.g., `sort=expires_at`). Prefix with `-` for descending order (e.g., `sort=-created_at`). Allowed fields: `name`, `kind`, `created_at`, `updated_at`, `expires_at`, `last_used_at`. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listApiKeysTest() throws ApiException { + String include = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterKind = null; + String filterSearch = null; + String filterName = null; + String filterUserId = null; + String filterGroupIds = null; + String filterRoleId = null; + Boolean filterActive = null; + Boolean filterExpired = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String filterExpiresAtGt = null; + String filterExpiresAtGte = null; + String filterExpiresAtLt = null; + String filterExpiresAtLte = null; + String filterLastUsedAtGt = null; + String filterLastUsedAtGte = null; + String filterLastUsedAtLt = null; + String filterLastUsedAtLte = null; + String sort = null; + ApiKeyList response = api.listApiKeys(include, pageNumber, pageSize, filterKind, filterSearch, filterName, filterUserId, filterGroupIds, filterRoleId, filterActive, filterExpired, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterExpiresAtGt, filterExpiresAtGte, filterExpiresAtLt, filterExpiresAtLte, filterLastUsedAtGt, filterLastUsedAtGte, filterLastUsedAtLt, filterLastUsedAtLte, sort); + // TODO: test validations + } + + /** + * Rotate an API key + * + * Rotate an API key's token. Issues a new secret token and returns it — **the new token is only shown once**, so store it securely. **Self-only:** You can only rotate the API key that was used to authenticate this request. Attempting to rotate a different key returns `403 Forbidden`. **Grace period:** When enabled for your organization, the previous token remains valid after rotation, giving you time to deploy the new token without downtime. Pass `grace_period_minutes` (integer, 0–1440, default 30) to control how long the old token stays valid. Set to 0 to immediately invalidate the old token. The `grace_period_ends_at` field in the response confirms the exact time the old token will stop working. **Expiration:** Optionally provide a new `expires_at` date (ISO 8601, up to 5 years). Defaults to 90 days from now if omitted. Dates in the past are rejected. **Typical rotation workflow:** 1. Call this endpoint to get a new token (optionally with a custom `grace_period_minutes`). 2. Deploy the new token to your systems. 3. The old token continues working for `grace_period_minutes` (if grace period is enabled). 4. After the grace period, the old token is automatically invalidated. + * + * @throws ApiException if the Api call fails + */ + @Test + public void rotateApiKeyTest() throws ApiException { + String id = null; + RotateApiKey rotateApiKey = null; + ApiKeyWithTokenResponse response = api.rotateApiKey(id, rotateApiKey); + // TODO: test validations + } + + /** + * Update an API key + * + * Update an API key's mutable attributes: `name`, `description`, and `expires_at`. The key's `kind`, `role_id`, `on_call_role_id`, and token cannot be changed after creation. To issue a new token, use the rotate endpoint. To change the role or kind, revoke the key and create a new one. The new `expires_at` must be in the future and within 5 years. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateApiKeyTest() throws ApiException { + UUID id = null; + UpdateApiKey updateApiKey = null; + ApiKeyResponse response = api.updateApiKey(id, updateApiKey); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java b/src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java new file mode 100644 index 00000000..73ab69fc --- /dev/null +++ b/src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java @@ -0,0 +1,135 @@ +/* + * 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.CatalogChecklistTemplateList; +import com.rootly.client.model.CatalogChecklistTemplateResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogChecklistTemplate; +import com.rootly.client.model.UpdateCatalogChecklistTemplate; +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 CatalogChecklistTemplatesApi + */ +@Disabled +public class CatalogChecklistTemplatesApiTest { + + private final CatalogChecklistTemplatesApi api = new CatalogChecklistTemplatesApi(); + + /** + * Creates a catalog checklist template + * + * Creates a new catalog checklist template + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCatalogChecklistTemplateTest() throws ApiException { + NewCatalogChecklistTemplate newCatalogChecklistTemplate = null; + CatalogChecklistTemplateResponse response = api.createCatalogChecklistTemplate(newCatalogChecklistTemplate); + // TODO: test validations + } + + /** + * Delete a catalog checklist template + * + * Delete a specific catalog checklist template by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCatalogChecklistTemplateTest() throws ApiException { + GetAlertFieldIdParameter id = null; + CatalogChecklistTemplateResponse response = api.deleteCatalogChecklistTemplate(id); + // TODO: test validations + } + + /** + * Retrieves a catalog checklist template + * + * Retrieves a specific catalog checklist template by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCatalogChecklistTemplateTest() throws ApiException { + GetAlertFieldIdParameter id = null; + CatalogChecklistTemplateResponse response = api.getCatalogChecklistTemplate(id); + // TODO: test validations + } + + /** + * List catalog checklist templates + * + * List catalog checklist templates + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCatalogChecklistTemplatesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterName = null; + String filterSlug = null; + String filterCatalogType = null; + String filterScopeType = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogChecklistTemplateList response = api.listCatalogChecklistTemplates(include, sort, pageNumber, pageSize, filterName, filterSlug, filterCatalogType, filterScopeType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + + /** + * Trigger an audit for a catalog checklist template + * + * Triggers an audit for all applicable entities of the checklist template + * + * @throws ApiException if the Api call fails + */ + @Test + public void triggerCatalogChecklistTemplateTest() throws ApiException { + GetAlertFieldIdParameter id = null; + api.triggerCatalogChecklistTemplate(id); + // TODO: test validations + } + + /** + * Update a catalog checklist template + * + * Update a specific catalog checklist template by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCatalogChecklistTemplateTest() throws ApiException { + GetAlertFieldIdParameter id = null; + UpdateCatalogChecklistTemplate updateCatalogChecklistTemplate = null; + CatalogChecklistTemplateResponse response = api.updateCatalogChecklistTemplate(id, updateCatalogChecklistTemplate); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java b/src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java new file mode 100644 index 00000000..ae7a1b31 --- /dev/null +++ b/src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java @@ -0,0 +1,74 @@ +/* + * 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.CatalogEntityChecklistList; +import com.rootly.client.model.CatalogEntityChecklistResponse; +import com.rootly.client.model.ErrorsList; +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 CatalogEntityChecklistsApi + */ +@Disabled +public class CatalogEntityChecklistsApiTest { + + private final CatalogEntityChecklistsApi api = new CatalogEntityChecklistsApi(); + + /** + * Retrieves a catalog entity checklist + * + * Retrieves a specific catalog entity checklist by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCatalogEntityChecklistTest() throws ApiException { + UUID id = null; + CatalogEntityChecklistResponse response = api.getCatalogEntityChecklist(id); + // TODO: test validations + } + + /** + * List catalog entity checklists + * + * List catalog entity checklists + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCatalogEntityChecklistsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterStatus = null; + String filterCatalogChecklistTemplateId = null; + String filterAuditableType = null; + String filterAuditableId = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogEntityChecklistList response = api.listCatalogEntityChecklists(pageNumber, pageSize, filterStatus, filterCatalogChecklistTemplateId, filterAuditableType, filterAuditableId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.java b/src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.java new file mode 100644 index 00000000..18f19bf9 --- /dev/null +++ b/src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.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.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.NewCatalogField; +import com.rootly.client.model.UpdateCatalogField; +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 CatalogPropertiesApi + */ +@Disabled +public class CatalogPropertiesApiTest { + + private final CatalogPropertiesApi api = new CatalogPropertiesApi(); + + /** + * Creates a Catalog Property (alias for field) + * + * Creates a new Catalog Property - returns catalog_properties type + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCatalogPropertyTest() throws ApiException { + String catalogId = null; + NewCatalogField newCatalogField = null; + api.createCatalogProperty(catalogId, newCatalogField); + // TODO: test validations + } + + /** + * Delete a catalog_property + * + * Delete a specific catalog_property by id - returns catalog_properties type + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCatalogPropertyTest() throws ApiException { + String id = null; + api.deleteCatalogProperty(id); + // TODO: test validations + } + + /** + * Retrieves a Catalog Property (alias for field) + * + * Retrieves a specific Catalog Property by id - returns catalog_properties type + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCatalogPropertyTest() throws ApiException { + String id = null; + api.getCatalogProperty(id); + // TODO: test validations + } + + /** + * List Catalog Properties (alias for fields) + * + * List Catalog Properties - returns catalog_properties type + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCatalogPropertiesTest() throws ApiException { + String catalogId = null; + api.listCatalogProperties(catalogId); + // TODO: test validations + } + + /** + * Update a catalog_property (alias for field) + * + * Update a specific catalog_property by id - returns catalog_properties type + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCatalogPropertyTest() throws ApiException { + String id = null; + UpdateCatalogField updateCatalogField = null; + api.updateCatalogProperty(id, updateCatalogField); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java b/src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java new file mode 100644 index 00000000..b862e98e --- /dev/null +++ b/src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java @@ -0,0 +1,121 @@ +/* + * 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.CommunicationsGroupResponse; +import com.rootly.client.model.CommunicationsGroupsResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsGroup; +import com.rootly.client.model.UpdateCommunicationsGroup; +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 CommunicationsGroupsApi + */ +@Disabled +public class CommunicationsGroupsApiTest { + + private final CommunicationsGroupsApi api = new CommunicationsGroupsApi(); + + /** + * Creates a communications group + * + * Creates a new communications group from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCommunicationsGroupTest() throws ApiException { + NewCommunicationsGroup newCommunicationsGroup = null; + CommunicationsGroupResponse response = api.createCommunicationsGroup(newCommunicationsGroup); + // TODO: test validations + } + + /** + * Deletes a communications group + * + * Deletes a communications group + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCommunicationsGroupTest() throws ApiException { + String id = null; + api.deleteCommunicationsGroup(id); + // TODO: test validations + } + + /** + * Shows a communications group + * + * Shows details of a communications group + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCommunicationsGroupTest() throws ApiException { + String id = null; + CommunicationsGroupResponse response = api.getCommunicationsGroup(id); + // TODO: test validations + } + + /** + * Lists communications groups + * + * Lists communications groups + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCommunicationsGroupsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String filterSlug = null; + String filterIsPrivate = null; + String filterCommunicationTypeId = null; + String filterConditionType = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + CommunicationsGroupsResponse response = api.listCommunicationsGroups(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterIsPrivate, filterCommunicationTypeId, filterConditionType, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Updates a communications group + * + * Updates a communications group + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCommunicationsGroupTest() throws ApiException { + String id = null; + UpdateCommunicationsGroup updateCommunicationsGroup = null; + CommunicationsGroupResponse response = api.updateCommunicationsGroup(id, updateCommunicationsGroup); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java b/src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java new file mode 100644 index 00000000..3f79397e --- /dev/null +++ b/src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java @@ -0,0 +1,118 @@ +/* + * 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.CommunicationsStageResponse; +import com.rootly.client.model.CommunicationsStagesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsStage; +import com.rootly.client.model.UpdateCommunicationsStage; +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 CommunicationsStagesApi + */ +@Disabled +public class CommunicationsStagesApiTest { + + private final CommunicationsStagesApi api = new CommunicationsStagesApi(); + + /** + * Creates a communications stage + * + * Creates a new communications stage from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCommunicationsStageTest() throws ApiException { + NewCommunicationsStage newCommunicationsStage = null; + CommunicationsStageResponse response = api.createCommunicationsStage(newCommunicationsStage); + // TODO: test validations + } + + /** + * Deletes a communications stage + * + * Deletes a communications stage + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCommunicationsStageTest() throws ApiException { + String id = null; + api.deleteCommunicationsStage(id); + // TODO: test validations + } + + /** + * Shows a communications stage + * + * Shows details of a communications stage + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCommunicationsStageTest() throws ApiException { + String id = null; + CommunicationsStageResponse response = api.getCommunicationsStage(id); + // TODO: test validations + } + + /** + * Lists communications stages + * + * Lists communications stages + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCommunicationsStagesTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String filterSlug = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + CommunicationsStagesResponse response = api.listCommunicationsStages(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Updates a communications stage + * + * Updates a communications stage + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCommunicationsStageTest() throws ApiException { + String id = null; + UpdateCommunicationsStage updateCommunicationsStage = null; + CommunicationsStageResponse response = api.updateCommunicationsStage(id, updateCommunicationsStage); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java b/src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java new file mode 100644 index 00000000..4dae831c --- /dev/null +++ b/src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java @@ -0,0 +1,119 @@ +/* + * 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.CommunicationsTemplateResponse; +import com.rootly.client.model.CommunicationsTemplatesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsTemplate; +import com.rootly.client.model.UpdateCommunicationsTemplate; +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 CommunicationsTemplatesApi + */ +@Disabled +public class CommunicationsTemplatesApiTest { + + private final CommunicationsTemplatesApi api = new CommunicationsTemplatesApi(); + + /** + * Creates a communications template + * + * Creates a new communications template from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCommunicationsTemplateTest() throws ApiException { + NewCommunicationsTemplate newCommunicationsTemplate = null; + CommunicationsTemplateResponse response = api.createCommunicationsTemplate(newCommunicationsTemplate); + // TODO: test validations + } + + /** + * Deletes a communications template + * + * Deletes a communications template + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCommunicationsTemplateTest() throws ApiException { + String id = null; + api.deleteCommunicationsTemplate(id); + // TODO: test validations + } + + /** + * Shows a communications template + * + * Shows details of a communications template + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCommunicationsTemplateTest() throws ApiException { + String id = null; + CommunicationsTemplateResponse response = api.getCommunicationsTemplate(id); + // TODO: test validations + } + + /** + * Lists communications templates + * + * Lists communications templates + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCommunicationsTemplatesTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String filterSlug = null; + String filterCommunicationTypeId = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + CommunicationsTemplatesResponse response = api.listCommunicationsTemplates(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCommunicationTypeId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Updates a communications template + * + * Updates a communications template + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCommunicationsTemplateTest() throws ApiException { + String id = null; + UpdateCommunicationsTemplate updateCommunicationsTemplate = null; + CommunicationsTemplateResponse response = api.updateCommunicationsTemplate(id, updateCommunicationsTemplate); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java b/src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java new file mode 100644 index 00000000..249abc61 --- /dev/null +++ b/src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java @@ -0,0 +1,118 @@ +/* + * 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.CommunicationsTypeResponse; +import com.rootly.client.model.CommunicationsTypesResponse; +import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.NewCommunicationsType; +import com.rootly.client.model.UpdateCommunicationsType; +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 CommunicationsTypesApi + */ +@Disabled +public class CommunicationsTypesApiTest { + + private final CommunicationsTypesApi api = new CommunicationsTypesApi(); + + /** + * Creates a communications type + * + * Creates a new communications type from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCommunicationsTypeTest() throws ApiException { + NewCommunicationsType newCommunicationsType = null; + CommunicationsTypeResponse response = api.createCommunicationsType(newCommunicationsType); + // TODO: test validations + } + + /** + * Deletes a communications type + * + * Deletes a communications type + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteCommunicationsTypeTest() throws ApiException { + String id = null; + api.deleteCommunicationsType(id); + // TODO: test validations + } + + /** + * Shows a communications type + * + * Shows details of a communications type + * + * @throws ApiException if the Api call fails + */ + @Test + public void getCommunicationsTypeTest() throws ApiException { + String id = null; + CommunicationsTypeResponse response = api.getCommunicationsType(id); + // TODO: test validations + } + + /** + * Lists communications types + * + * Lists communications types + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCommunicationsTypesTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterName = null; + String filterSlug = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + CommunicationsTypesResponse response = api.listCommunicationsTypes(pageNumber, pageSize, filterSearch, filterName, filterSlug, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Updates a communications type + * + * Updates a communications type + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateCommunicationsTypeTest() throws ApiException { + String id = null; + UpdateCommunicationsType updateCommunicationsType = null; + CommunicationsTypeResponse response = api.updateCommunicationsType(id, updateCommunicationsType); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java b/src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java new file mode 100644 index 00000000..8bdbc466 --- /dev/null +++ b/src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java @@ -0,0 +1,101 @@ +/* + * 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.CreateEdgeConnectorActionRequest; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.UpdateEdgeConnectorActionRequest; +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 EdgeConnectorActionsApi + */ +@Disabled +public class EdgeConnectorActionsApiTest { + + private final EdgeConnectorActionsApi api = new EdgeConnectorActionsApi(); + + /** + * Create edge connector action + * + * @throws ApiException if the Api call fails + */ + @Test + public void createEdgeConnectorActionTest() throws ApiException { + String edgeConnectorId = null; + CreateEdgeConnectorActionRequest createEdgeConnectorActionRequest = null; + api.createEdgeConnectorAction(edgeConnectorId, createEdgeConnectorActionRequest); + // TODO: test validations + } + + /** + * Delete edge connector action + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteEdgeConnectorActionTest() throws ApiException { + String edgeConnectorId = null; + GetAlertFieldIdParameter id = null; + api.deleteEdgeConnectorAction(edgeConnectorId, id); + // TODO: test validations + } + + /** + * Show edge connector action + * + * @throws ApiException if the Api call fails + */ + @Test + public void getEdgeConnectorActionTest() throws ApiException { + String edgeConnectorId = null; + GetAlertFieldIdParameter id = null; + api.getEdgeConnectorAction(edgeConnectorId, id); + // TODO: test validations + } + + /** + * List edge connector actions + * + * @throws ApiException if the Api call fails + */ + @Test + public void listEdgeConnectorActionsTest() throws ApiException { + String edgeConnectorId = null; + api.listEdgeConnectorActions(edgeConnectorId); + // TODO: test validations + } + + /** + * Update edge connector action + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateEdgeConnectorActionTest() throws ApiException { + String edgeConnectorId = null; + GetAlertFieldIdParameter id = null; + UpdateEdgeConnectorActionRequest updateEdgeConnectorActionRequest = null; + api.updateEdgeConnectorAction(edgeConnectorId, id, updateEdgeConnectorActionRequest); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java b/src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java new file mode 100644 index 00000000..57967685 --- /dev/null +++ b/src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java @@ -0,0 +1,99 @@ +/* + * 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.CreateEdgeConnectorRequest; +import com.rootly.client.model.UpdateEdgeConnectorRequest; +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 EdgeConnectorsApi + */ +@Disabled +public class EdgeConnectorsApiTest { + + private final EdgeConnectorsApi api = new EdgeConnectorsApi(); + + /** + * Create edge connector + * + * @throws ApiException if the Api call fails + */ + @Test + public void createEdgeConnectorTest() throws ApiException { + CreateEdgeConnectorRequest createEdgeConnectorRequest = null; + api.createEdgeConnector(createEdgeConnectorRequest); + // TODO: test validations + } + + /** + * Delete edge connector + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteEdgeConnectorTest() throws ApiException { + String id = null; + api.deleteEdgeConnector(id); + // TODO: test validations + } + + /** + * Show edge connector + * + * @throws ApiException if the Api call fails + */ + @Test + public void getEdgeConnectorTest() throws ApiException { + String id = null; + api.getEdgeConnector(id); + // TODO: test validations + } + + /** + * List edge connectors + * + * @throws ApiException if the Api call fails + */ + @Test + public void listEdgeConnectorsTest() throws ApiException { + Integer page = null; + Integer perPage = null; + String status = null; + String name = null; + api.listEdgeConnectors(page, perPage, status, name); + // TODO: test validations + } + + /** + * Update edge connector + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateEdgeConnectorTest() throws ApiException { + String id = null; + UpdateEdgeConnectorRequest updateEdgeConnectorRequest = null; + api.updateEdgeConnector(id, updateEdgeConnectorRequest); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java b/src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java new file mode 100644 index 00000000..316c99e3 --- /dev/null +++ b/src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java @@ -0,0 +1,163 @@ +/* + * 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.MeetingRecordingList; +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 MeetingRecordingsApi + */ +@Disabled +public class MeetingRecordingsApiTest { + + private final MeetingRecordingsApi api = new MeetingRecordingsApi(); + + /** + * Create meeting recording + * + * Invite a recording bot to the incident's meeting. If no previous recordings exist for the platform, a new bot is invited (session 1). If previous sessions exist, a new session is created (re-invite). The bot joins the meeting, records audio/video, and generates a transcript when the session ends. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createMeetingRecordingTest() throws ApiException { + String incidentId = null; + String platform = null; + api.createMeetingRecording(incidentId, platform); + // TODO: test validations + } + + /** + * Delete a meeting recording + * + * Delete a meeting recording. Only completed or failed recordings can be deleted. Active recordings (pending, recording, paused) must be stopped first. + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteMeetingRecordingTest() throws ApiException { + String id = null; + api.deleteMeetingRecording(id); + // TODO: test validations + } + + /** + * Delete video from a meeting recording + * + * Delete only the video file from a meeting recording. The transcript, summary, and all metadata are preserved. Only non-active recordings with an attached video can have their video deleted. + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteMeetingRecordingVideoTest() throws ApiException { + String id = null; + api.deleteMeetingRecordingVideo(id); + // TODO: test validations + } + + /** + * Get a meeting recording + * + * Retrieve a single meeting recording session including its status, duration, speaker count, word count, and transcript summary. + * + * @throws ApiException if the Api call fails + */ + @Test + public void getMeetingRecordingTest() throws ApiException { + String id = null; + api.getMeetingRecording(id); + // TODO: test validations + } + + /** + * Leave a meeting call + * + * Remove the recording bot from the meeting entirely. Unlike stop, this immediately disconnects the bot. The session will transition to analyzing and then completed once transcript processing finishes. + * + * @throws ApiException if the Api call fails + */ + @Test + public void leaveMeetingRecordingTest() throws ApiException { + String id = null; + api.leaveMeetingRecording(id); + // TODO: test validations + } + + /** + * List meeting recordings + * + * List all meeting recording sessions for an incident. Returns recordings sorted by session number. Each recording represents one bot session with its own transcript, status, and metadata. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listMeetingRecordingsTest() throws ApiException { + String incidentId = null; + Integer pageNumber = null; + Integer pageSize = null; + MeetingRecordingList response = api.listMeetingRecordings(incidentId, pageNumber, pageSize); + // TODO: test validations + } + + /** + * Pause a meeting recording + * + * Pause an active recording session. The bot remains in the meeting but stops capturing audio/video. Use the resume endpoint to continue recording. + * + * @throws ApiException if the Api call fails + */ + @Test + public void pauseMeetingRecordingTest() throws ApiException { + String id = null; + api.pauseMeetingRecording(id); + // TODO: test validations + } + + /** + * Resume a meeting recording + * + * Resume a paused recording session. The bot continues capturing audio/video from the meeting. + * + * @throws ApiException if the Api call fails + */ + @Test + public void resumeMeetingRecordingTest() throws ApiException { + String id = null; + api.resumeMeetingRecording(id); + // TODO: test validations + } + + /** + * Stop a meeting recording + * + * Stop an active or paused recording. The bot finishes processing, generates a transcript, and the session status transitions to completed. This is irreversible — to record again, create a new session. + * + * @throws ApiException if the Api call fails + */ + @Test + public void stopMeetingRecordingTest() throws ApiException { + String id = null; + api.stopMeetingRecording(id); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java b/src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java new file mode 100644 index 00000000..39c43bb9 --- /dev/null +++ b/src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java @@ -0,0 +1,117 @@ +/* + * 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.NewOnCallPayReport; +import com.rootly.client.model.OnCallPayReportList; +import com.rootly.client.model.OnCallPayReportResponse; +import com.rootly.client.model.UpdateOnCallPayReport; +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 OnCallPayReportsApi + */ +@Disabled +public class OnCallPayReportsApiTest { + + private final OnCallPayReportsApi api = new OnCallPayReportsApi(); + + /** + * Creates an On-Call Pay Report + * + * Generates a new on-call pay report for the given date range. The report is generated asynchronously. + * + * @throws ApiException if the Api call fails + */ + @Test + public void createOnCallPayReportTest() throws ApiException { + NewOnCallPayReport newOnCallPayReport = null; + OnCallPayReportResponse response = api.createOnCallPayReport(newOnCallPayReport); + // TODO: test validations + } + + /** + * Retrieves an On-Call Pay Report + * + * Retrieves a specific on-call pay report by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getOnCallPayReportTest() throws ApiException { + String id = null; + String include = null; + OnCallPayReportResponse response = api.getOnCallPayReport(id, include); + // TODO: test validations + } + + /** + * List On-Call Pay Reports + * + * List on-call pay reports + * + * @throws ApiException if the Api call fails + */ + @Test + public void listOnCallPayReportsTest() throws ApiException { + String include = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterStatus = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + OnCallPayReportList response = api.listOnCallPayReports(include, pageNumber, pageSize, filterStatus, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + + /** + * Regenerate an On-Call Pay Report + * + * Triggers regeneration of an existing on-call pay report. + * + * @throws ApiException if the Api call fails + */ + @Test + public void regenerateOnCallPayReportTest() throws ApiException { + String id = null; + OnCallPayReportResponse response = api.regenerateOnCallPayReport(id); + // TODO: test validations + } + + /** + * Update an On-Call Pay Report + * + * Update a specific on-call pay report by id. Triggers report regeneration. + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateOnCallPayReportTest() throws ApiException { + String id = null; + UpdateOnCallPayReport updateOnCallPayReport = null; + OnCallPayReportResponse response = api.updateOnCallPayReport(id, updateOnCallPayReport); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/OnCallsApiTest.java b/src/test/java/com/rootly/client/api/OnCallsApiTest.java new file mode 100644 index 00000000..60f885ce --- /dev/null +++ b/src/test/java/com/rootly/client/api/OnCallsApiTest.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.api; + +import com.rootly.client.ApiException; +import com.rootly.client.model.ErrorsList; +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 OnCallsApi + */ +@Disabled +public class OnCallsApiTest { + + private final OnCallsApi api = new OnCallsApi(); + + /** + * List on-calls + * + * List who is currently on-call, with support for filtering by escalation policy, schedule, and user. Returns on-call entries grouped by escalation policy level. + * + * @throws ApiException if the Api call fails + */ + @Test + public void listOncallsTest() throws ApiException { + String include = null; + String since = null; + String until = null; + Boolean earliest = null; + String timeZone = null; + String filterEscalationPolicyIds = null; + String filterScheduleIds = null; + String filterUserIds = null; + String filterServiceIds = null; + String filterGroupIds = null; + String filterNotificationTypes = null; + api.listOncalls(include, since, until, earliest, timeZone, filterEscalationPolicyIds, filterScheduleIds, filterUserIds, filterServiceIds, filterGroupIds, filterNotificationTypes); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/SlasApiTest.java b/src/test/java/com/rootly/client/api/SlasApiTest.java new file mode 100644 index 00000000..42dd7e64 --- /dev/null +++ b/src/test/java/com/rootly/client/api/SlasApiTest.java @@ -0,0 +1,118 @@ +/* + * 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.NewSla; +import com.rootly.client.model.SlaList; +import com.rootly.client.model.SlaResponse; +import com.rootly.client.model.UpdateSla; +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 SlasApi + */ +@Disabled +public class SlasApiTest { + + private final SlasApi api = new SlasApi(); + + /** + * Creates an SLA + * + * Creates a new SLA from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createSLATest() throws ApiException { + NewSla newSla = null; + SlaResponse response = api.createSLA(newSla); + // TODO: test validations + } + + /** + * Delete an SLA + * + * Delete a specific SLA by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteSLATest() throws ApiException { + String id = null; + SlaResponse response = api.deleteSLA(id); + // TODO: test validations + } + + /** + * Retrieves an SLA + * + * Retrieves a specific SLA by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getSLATest() throws ApiException { + String id = null; + SlaResponse response = api.getSLA(id); + // TODO: test validations + } + + /** + * List SLAs + * + * List SLAs + * + * @throws ApiException if the Api call fails + */ + @Test + public void listSLAsTest() throws ApiException { + Integer pageNumber = null; + Integer pageSize = null; + String filterSearch = null; + String filterSlug = null; + String filterName = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + String sort = null; + SlaList response = api.listSLAs(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + // TODO: test validations + } + + /** + * Update an SLA + * + * Update a specific SLA by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateSLATest() throws ApiException { + String id = null; + UpdateSla updateSla = null; + SlaResponse response = api.updateSLA(id, updateSla); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/StatusesApiTest.java b/src/test/java/com/rootly/client/api/StatusesApiTest.java new file mode 100644 index 00000000..229ba626 --- /dev/null +++ b/src/test/java/com/rootly/client/api/StatusesApiTest.java @@ -0,0 +1,74 @@ +/* + * 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.GetAlertFieldIdParameter; +import com.rootly.client.model.StatusList; +import com.rootly.client.model.StatusResponse; +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 StatusesApi + */ +@Disabled +public class StatusesApiTest { + + private final StatusesApi api = new StatusesApi(); + + /** + * Retrieves a Status + * + * Retrieves a specific Status by id + * + * @throws ApiException if the Api call fails + */ + @Test + public void getStatusTest() throws ApiException { + GetAlertFieldIdParameter id = null; + StatusResponse response = api.getStatus(id); + // TODO: test validations + } + + /** + * List Statuses + * + * List Statuses + * + * @throws ApiException if the Api call fails + */ + @Test + public void listStatusesTest() throws ApiException { + String include = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + Boolean filterEnabled = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + StatusList response = api.listStatuses(include, pageNumber, pageSize, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java b/src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java new file mode 100644 index 00000000..ed1b41f5 --- /dev/null +++ b/src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java @@ -0,0 +1,139 @@ +/* + * 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.NewUserEmailAddress; +import com.rootly.client.model.UpdateUserEmailAddress; +import com.rootly.client.model.UserEmailAddressList; +import com.rootly.client.model.UserEmailAddressResponse; +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 UserEmailAddressesApi + */ +@Disabled +public class UserEmailAddressesApiTest { + + private final UserEmailAddressesApi api = new UserEmailAddressesApi(); + + /** + * Creates a user email address + * + * Creates a new user email address from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createUserEmailAddressTest() throws ApiException { + String userId = null; + NewUserEmailAddress newUserEmailAddress = null; + UserEmailAddressResponse response = api.createUserEmailAddress(userId, newUserEmailAddress); + // TODO: test validations + } + + /** + * Delete user email address + * + * Deletes a user email address + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteUserEmailAddressTest() throws ApiException { + String id = null; + UserEmailAddressResponse response = api.deleteUserEmailAddress(id); + // TODO: test validations + } + + /** + * Retrieves user email addresses + * + * Retrieves all email addresses for the specified user + * + * @throws ApiException if the Api call fails + */ + @Test + public void getUserEmailAddressesTest() throws ApiException { + String userId = null; + UserEmailAddressList response = api.getUserEmailAddresses(userId); + // TODO: test validations + } + + /** + * Resends verification email + * + * Resends verification email for an email address + * + * @throws ApiException if the Api call fails + */ + @Test + public void resendUserEmailAddressVerificationTest() throws ApiException { + String id = null; + UserEmailAddressResponse response = api.resendUserEmailAddressVerification(id); + // TODO: test validations + } + + /** + * Show user email address + * + * Retrieves a specific user email address + * + * @throws ApiException if the Api call fails + */ + @Test + public void showUserEmailAddressTest() throws ApiException { + String id = null; + UserEmailAddressResponse response = api.showUserEmailAddress(id); + // TODO: test validations + } + + /** + * Update user email address + * + * Updates a user email address + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateUserEmailAddressTest() throws ApiException { + String id = null; + UpdateUserEmailAddress updateUserEmailAddress = null; + UserEmailAddressResponse response = api.updateUserEmailAddress(id, updateUserEmailAddress); + // TODO: test validations + } + + /** + * Verifies an email address with token + * + * Verifies an email address using a verification token + * + * @throws ApiException if the Api call fails + */ + @Test + public void verifyUserEmailAddressTest() throws ApiException { + String id = null; + String token = null; + UserEmailAddressResponse response = api.verifyUserEmailAddress(id, token); + // 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 new file mode 100644 index 00000000..571df84d --- /dev/null +++ b/src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.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.NewUserPhoneNumber; +import com.rootly.client.model.UpdateUserPhoneNumber; +import com.rootly.client.model.UserPhoneNumberList; +import com.rootly.client.model.UserPhoneNumberResponse; +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 UserPhoneNumbersApi + */ +@Disabled +public class UserPhoneNumbersApiTest { + + private final UserPhoneNumbersApi api = new UserPhoneNumbersApi(); + + /** + * Creates a user phone number + * + * Creates a new user phone number from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createUserPhoneNumberTest() throws ApiException { + String userId = null; + NewUserPhoneNumber newUserPhoneNumber = null; + UserPhoneNumberResponse response = api.createUserPhoneNumber(userId, newUserPhoneNumber); + // TODO: test validations + } + + /** + * Delete user phone number + * + * Deletes a user phone number + * + * @throws ApiException if the Api call fails + */ + @Test + public void deleteUserPhoneNumberTest() throws ApiException { + String id = null; + UserPhoneNumberResponse response = api.deleteUserPhoneNumber(id); + // TODO: test validations + } + + /** + * Retrieves user phone numbers + * + * Retrieves all phone numbers for the specified user + * + * @throws ApiException if the Api call fails + */ + @Test + public void getUserPhoneNumbersTest() throws ApiException { + String userId = null; + UserPhoneNumberList response = api.getUserPhoneNumbers(userId); + // TODO: test validations + } + + /** + * Show user phone number + * + * Retrieves a specific user phone number + * + * @throws ApiException if the Api call fails + */ + @Test + public void showUserPhoneNumberTest() throws ApiException { + String id = null; + UserPhoneNumberResponse response = api.showUserPhoneNumber(id); + // TODO: test validations + } + + /** + * Update user phone number + * + * Updates a user phone number + * + * @throws ApiException if the Api call fails + */ + @Test + public void updateUserPhoneNumberTest() throws ApiException { + String id = null; + UpdateUserPhoneNumber updateUserPhoneNumber = null; + UserPhoneNumberResponse response = api.updateUserPhoneNumber(id, updateUserPhoneNumber); + // TODO: test validations + } + +} diff --git a/src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java new file mode 100644 index 00000000..26584e85 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java @@ -0,0 +1,73 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AddMicrosoftTeamsChatTabTaskParams + */ +public class AddMicrosoftTeamsChatTabTaskParamsTest { + private final AddMicrosoftTeamsChatTabTaskParams model = new AddMicrosoftTeamsChatTabTaskParams(); + + /** + * Model tests for AddMicrosoftTeamsChatTabTaskParams + */ + @Test + public void testAddMicrosoftTeamsChatTabTaskParams() { + // TODO: test AddMicrosoftTeamsChatTabTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'chat' + */ + @Test + public void chatTest() { + // TODO: test chat + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'link' + */ + @Test + public void linkTest() { + // TODO: test link + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.java b/src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.java new file mode 100644 index 00000000..9c400ad4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.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.AlertField; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertFieldListDataInner + */ +public class AlertFieldListDataInnerTest { + private final AlertFieldListDataInner model = new AlertFieldListDataInner(); + + /** + * Model tests for AlertFieldListDataInner + */ + @Test + public void testAlertFieldListDataInner() { + // TODO: test AlertFieldListDataInner + } + + /** + * 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/AlertFieldListTest.java b/src/test/java/com/rootly/client/model/AlertFieldListTest.java new file mode 100644 index 00000000..ea24ee65 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertFieldListTest.java @@ -0,0 +1,69 @@ +/* + * 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.AlertFieldListDataInner; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 AlertFieldList + */ +public class AlertFieldListTest { + private final AlertFieldList model = new AlertFieldList(); + + /** + * Model tests for AlertFieldList + */ + @Test + public void testAlertFieldList() { + // TODO: test AlertFieldList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.java new file mode 100644 index 00000000..fed0a555 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.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.AlertField; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertFieldResponseData + */ +public class AlertFieldResponseDataTest { + private final AlertFieldResponseData model = new AlertFieldResponseData(); + + /** + * Model tests for AlertFieldResponseData + */ + @Test + public void testAlertFieldResponseData() { + // TODO: test AlertFieldResponseData + } + + /** + * 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/AlertFieldResponseTest.java b/src/test/java/com/rootly/client/model/AlertFieldResponseTest.java new file mode 100644 index 00000000..8fa71c3e --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertFieldResponseTest.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.AlertFieldResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertFieldResponse + */ +public class AlertFieldResponseTest { + private final AlertFieldResponse model = new AlertFieldResponse(); + + /** + * Model tests for AlertFieldResponse + */ + @Test + public void testAlertFieldResponse() { + // TODO: test AlertFieldResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertFieldTest.java b/src/test/java/com/rootly/client/model/AlertFieldTest.java new file mode 100644 index 00000000..cbc8e807 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertFieldTest.java @@ -0,0 +1,80 @@ +/* + * 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 AlertField + */ +public class AlertFieldTest { + private final AlertField model = new AlertField(); + + /** + * Model tests for AlertField + */ + @Test + public void testAlertField() { + // TODO: test AlertField + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * 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/AlertGroupConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertGroupConditionsInnerTest.java new file mode 100644 index 00000000..af949d35 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertGroupConditionsInnerTest.java @@ -0,0 +1,116 @@ +/* + * 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.AlertGroupConditionsInnerValuesInner; +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 AlertGroupConditionsInner + */ +public class AlertGroupConditionsInnerTest { + private final AlertGroupConditionsInner model = new AlertGroupConditionsInner(); + + /** + * Model tests for AlertGroupConditionsInner + */ + @Test + public void testAlertGroupConditionsInner() { + // TODO: test AlertGroupConditionsInner + } + + /** + * Test the property 'propertyFieldType' + */ + @Test + public void propertyFieldTypeTest() { + // TODO: test propertyFieldType + } + + /** + * Test the property 'propertyFieldName' + */ + @Test + public void propertyFieldNameTest() { + // TODO: test propertyFieldName + } + + /** + * Test the property 'propertyFieldConditionType' + */ + @Test + public void propertyFieldConditionTypeTest() { + // TODO: test propertyFieldConditionType + } + + /** + * 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 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * 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/AlertGroupConditionsInnerValuesInnerTest.java b/src/test/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInnerTest.java new file mode 100644 index 00000000..c12a164e --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertGroupConditionsInnerValuesInnerTest.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 AlertGroupConditionsInnerValuesInner + */ +public class AlertGroupConditionsInnerValuesInnerTest { + private final AlertGroupConditionsInnerValuesInner model = new AlertGroupConditionsInnerValuesInner(); + + /** + * Model tests for AlertGroupConditionsInnerValuesInner + */ + @Test + public void testAlertGroupConditionsInnerValuesInner() { + // TODO: test AlertGroupConditionsInnerValuesInner + } + + /** + * Test the property 'recordId' + */ + @Test + public void recordIdTest() { + // TODO: test recordId + } + + /** + * Test the property 'recordType' + */ + @Test + public void recordTypeTest() { + // TODO: test recordType + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRouteListTest.java b/src/test/java/com/rootly/client/model/AlertRouteListTest.java new file mode 100644 index 00000000..c808695a --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteListTest.java @@ -0,0 +1,69 @@ +/* + * 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.AlertRouteResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 AlertRouteList + */ +public class AlertRouteListTest { + private final AlertRouteList model = new AlertRouteList(); + + /** + * Model tests for AlertRouteList + */ + @Test + public void testAlertRouteList() { + // TODO: test AlertRouteList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.java new file mode 100644 index 00000000..98a53f00 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.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.AlertRoute; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRouteResponseData + */ +public class AlertRouteResponseDataTest { + private final AlertRouteResponseData model = new AlertRouteResponseData(); + + /** + * Model tests for AlertRouteResponseData + */ + @Test + public void testAlertRouteResponseData() { + // TODO: test AlertRouteResponseData + } + + /** + * 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/AlertRouteResponseTest.java b/src/test/java/com/rootly/client/model/AlertRouteResponseTest.java new file mode 100644 index 00000000..cfd03e2c --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteResponseTest.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.AlertRouteResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRouteResponse + */ +public class AlertRouteResponseTest { + private final AlertRouteResponse model = new AlertRouteResponse(); + + /** + * Model tests for AlertRouteResponse + */ + @Test + public void testAlertRouteResponse() { + // TODO: test AlertRouteResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRouteTest.java b/src/test/java/com/rootly/client/model/AlertRouteTest.java new file mode 100644 index 00000000..a38930ea --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRouteTest.java @@ -0,0 +1,84 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInner; +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 AlertRoute + */ +public class AlertRouteTest { + private final AlertRoute model = new AlertRoute(); + + /** + * Model tests for AlertRoute + */ + @Test + public void testAlertRoute() { + // TODO: test AlertRoute + } + + /** + * 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 'alertsSourceIds' + */ + @Test + public void alertsSourceIdsTest() { + // TODO: test alertsSourceIds + } + + /** + * Test the property 'owningTeamIds' + */ + @Test + public void owningTeamIdsTest() { + // TODO: test owningTeamIds + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java new file mode 100644 index 00000000..e1d1ffd6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java @@ -0,0 +1,84 @@ +/* + * 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.AlertRoutingRuleCondition; +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 AlertRoutingRuleConditionGroup + */ +public class AlertRoutingRuleConditionGroupTest { + private final AlertRoutingRuleConditionGroup model = new AlertRoutingRuleConditionGroup(); + + /** + * Model tests for AlertRoutingRuleConditionGroup + */ + @Test + public void testAlertRoutingRuleConditionGroup() { + // TODO: test AlertRoutingRuleConditionGroup + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + + /** + * 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/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java new file mode 100644 index 00000000..c07e0ef8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java @@ -0,0 +1,124 @@ +/* + * 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.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRoutingRuleConditionGroupsInnerConditionsInner + */ +public class AlertRoutingRuleConditionGroupsInnerConditionsInnerTest { + private final AlertRoutingRuleConditionGroupsInnerConditionsInner model = new AlertRoutingRuleConditionGroupsInnerConditionsInner(); + + /** + * Model tests for AlertRoutingRuleConditionGroupsInnerConditionsInner + */ + @Test + public void testAlertRoutingRuleConditionGroupsInnerConditionsInner() { + // TODO: test AlertRoutingRuleConditionGroupsInnerConditionsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'propertyFieldType' + */ + @Test + public void propertyFieldTypeTest() { + // TODO: test propertyFieldType + } + + /** + * Test the property 'propertyFieldName' + */ + @Test + public void propertyFieldNameTest() { + // TODO: test propertyFieldName + } + + /** + * Test the property 'propertyFieldConditionType' + */ + @Test + public void propertyFieldConditionTypeTest() { + // TODO: test propertyFieldConditionType + } + + /** + * 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 'conditionableId' + */ + @Test + public void conditionableIdTest() { + // TODO: test conditionableId + } + + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * 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/AlertRoutingRuleConditionGroupsInnerTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerTest.java new file mode 100644 index 00000000..8b2092cc --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerTest.java @@ -0,0 +1,84 @@ +/* + * 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.AlertRoutingRuleConditionGroupsInnerConditionsInner; +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 AlertRoutingRuleConditionGroupsInner + */ +public class AlertRoutingRuleConditionGroupsInnerTest { + private final AlertRoutingRuleConditionGroupsInner model = new AlertRoutingRuleConditionGroupsInner(); + + /** + * Model tests for AlertRoutingRuleConditionGroupsInner + */ + @Test + public void testAlertRoutingRuleConditionGroupsInner() { + // TODO: test AlertRoutingRuleConditionGroupsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + + /** + * 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/AlertRoutingRuleConditionTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionTest.java new file mode 100644 index 00000000..0d850bd1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionTest.java @@ -0,0 +1,124 @@ +/* + * 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.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for AlertRoutingRuleCondition + */ +public class AlertRoutingRuleConditionTest { + private final AlertRoutingRuleCondition model = new AlertRoutingRuleCondition(); + + /** + * Model tests for AlertRoutingRuleCondition + */ + @Test + public void testAlertRoutingRuleCondition() { + // TODO: test AlertRoutingRuleCondition + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'propertyFieldType' + */ + @Test + public void propertyFieldTypeTest() { + // TODO: test propertyFieldType + } + + /** + * Test the property 'propertyFieldName' + */ + @Test + public void propertyFieldNameTest() { + // TODO: test propertyFieldName + } + + /** + * Test the property 'propertyFieldConditionType' + */ + @Test + public void propertyFieldConditionTypeTest() { + // TODO: test propertyFieldConditionType + } + + /** + * 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 'conditionableId' + */ + @Test + public void conditionableIdTest() { + // TODO: test conditionableId + } + + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * 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/AlertRoutingRuleTargetTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleTargetTest.java new file mode 100644 index 00000000..6d56d248 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleTargetTest.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 AlertRoutingRuleTarget + */ +public class AlertRoutingRuleTargetTest { + private final AlertRoutingRuleTarget model = new AlertRoutingRuleTarget(); + + /** + * Model tests for AlertRoutingRuleTarget + */ + @Test + public void testAlertRoutingRuleTarget() { + // TODO: test AlertRoutingRuleTarget + } + + /** + * 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/AlertTriggerParamsAlertFieldConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.java new file mode 100644 index 00000000..203aed44 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.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 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 AlertTriggerParamsAlertFieldConditionsInner + */ +public class AlertTriggerParamsAlertFieldConditionsInnerTest { + private final AlertTriggerParamsAlertFieldConditionsInner model = new AlertTriggerParamsAlertFieldConditionsInner(); + + /** + * Model tests for AlertTriggerParamsAlertFieldConditionsInner + */ + @Test + public void testAlertTriggerParamsAlertFieldConditionsInner() { + // TODO: test AlertTriggerParamsAlertFieldConditionsInner + } + + /** + * Test the property 'alertFieldId' + */ + @Test + public void alertFieldIdTest() { + // TODO: test alertFieldId + } + + /** + * Test the property 'conditionType' + */ + @Test + public void conditionTypeTest() { + // TODO: test conditionType + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java new file mode 100644 index 00000000..02c2b437 --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java @@ -0,0 +1,74 @@ +/* + * 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 AlertTriggerParamsAlertPayloadConditionsConditionsInner + */ +public class AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest { + private final AlertTriggerParamsAlertPayloadConditionsConditionsInner model = new AlertTriggerParamsAlertPayloadConditionsConditionsInner(); + + /** + * Model tests for AlertTriggerParamsAlertPayloadConditionsConditionsInner + */ + @Test + public void testAlertTriggerParamsAlertPayloadConditionsConditionsInner() { + // TODO: test AlertTriggerParamsAlertPayloadConditionsConditionsInner + } + + /** + * Test the property 'query' + */ + @Test + public void queryTest() { + // TODO: test query + } + + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * Test the property 'useRegexp' + */ + @Test + public void useRegexpTest() { + // TODO: test useRegexp + } + +} diff --git a/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.java b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.java new file mode 100644 index 00000000..09a5c64e --- /dev/null +++ b/src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.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.AlertTriggerParamsAlertPayloadConditionsConditionsInner; +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 AlertTriggerParamsAlertPayloadConditions + */ +public class AlertTriggerParamsAlertPayloadConditionsTest { + private final AlertTriggerParamsAlertPayloadConditions model = new AlertTriggerParamsAlertPayloadConditions(); + + /** + * Model tests for AlertTriggerParamsAlertPayloadConditions + */ + @Test + public void testAlertTriggerParamsAlertPayloadConditions() { + // TODO: test AlertTriggerParamsAlertPayloadConditions + } + + /** + * Test the property 'logic' + */ + @Test + public void logicTest() { + // TODO: test logic + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + +} diff --git a/src/test/java/com/rootly/client/model/ApiKeyListTest.java b/src/test/java/com/rootly/client/model/ApiKeyListTest.java new file mode 100644 index 00000000..c0e6bd6f --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyListTest.java @@ -0,0 +1,69 @@ +/* + * 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.ApiKeyResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 ApiKeyList + */ +public class ApiKeyListTest { + private final ApiKeyList model = new ApiKeyList(); + + /** + * Model tests for ApiKeyList + */ + @Test + public void testApiKeyList() { + // TODO: test ApiKeyList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.java b/src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.java new file mode 100644 index 00000000..19ba3baa --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.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.ApiKey; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ApiKeyResponseData + */ +public class ApiKeyResponseDataTest { + private final ApiKeyResponseData model = new ApiKeyResponseData(); + + /** + * Model tests for ApiKeyResponseData + */ + @Test + public void testApiKeyResponseData() { + // TODO: test ApiKeyResponseData + } + + /** + * 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/ApiKeyResponseTest.java b/src/test/java/com/rootly/client/model/ApiKeyResponseTest.java new file mode 100644 index 00000000..f7a6eaf5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyResponseTest.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.ApiKeyResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ApiKeyResponse + */ +public class ApiKeyResponseTest { + private final ApiKeyResponse model = new ApiKeyResponse(); + + /** + * Model tests for ApiKeyResponse + */ + @Test + public void testApiKeyResponse() { + // TODO: test ApiKeyResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/ApiKeyTest.java b/src/test/java/com/rootly/client/model/ApiKeyTest.java new file mode 100644 index 00000000..4735b05f --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyTest.java @@ -0,0 +1,121 @@ +/* + * 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 ApiKey + */ +public class ApiKeyTest { + private final ApiKey model = new ApiKey(); + + /** + * Model tests for ApiKey + */ + @Test + public void testApiKey() { + // TODO: test ApiKey + } + + /** + * 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 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'roleId' + */ + @Test + public void roleIdTest() { + // TODO: test roleId + } + + /** + * Test the property 'onCallRoleId' + */ + @Test + public void onCallRoleIdTest() { + // TODO: test onCallRoleId + } + + /** + * 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 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + + /** + * Test the property 'lastUsedAt' + */ + @Test + public void lastUsedAtTest() { + // TODO: test lastUsedAt + } + + /** + * Test the property 'gracePeriodEndsAt' + */ + @Test + public void gracePeriodEndsAtTest() { + // TODO: test gracePeriodEndsAt + } + +} diff --git a/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java new file mode 100644 index 00000000..dd8bedfe --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.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.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ApiKeyWithTokenResponseDataAttributes + */ +public class ApiKeyWithTokenResponseDataAttributesTest { + private final ApiKeyWithTokenResponseDataAttributes model = new ApiKeyWithTokenResponseDataAttributes(); + + /** + * Model tests for ApiKeyWithTokenResponseDataAttributes + */ + @Test + public void testApiKeyWithTokenResponseDataAttributes() { + // TODO: test ApiKeyWithTokenResponseDataAttributes + } + + /** + * 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 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'roleId' + */ + @Test + public void roleIdTest() { + // TODO: test roleId + } + + /** + * Test the property 'onCallRoleId' + */ + @Test + public void onCallRoleIdTest() { + // TODO: test onCallRoleId + } + + /** + * 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 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + + /** + * Test the property 'lastUsedAt' + */ + @Test + public void lastUsedAtTest() { + // TODO: test lastUsedAt + } + + /** + * Test the property 'gracePeriodEndsAt' + */ + @Test + public void gracePeriodEndsAtTest() { + // TODO: test gracePeriodEndsAt + } + + /** + * Test the property 'token' + */ + @Test + public void tokenTest() { + // TODO: test token + } + +} diff --git a/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.java b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.java new file mode 100644 index 00000000..1dc19242 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.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.ApiKeyWithTokenResponseDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ApiKeyWithTokenResponseData + */ +public class ApiKeyWithTokenResponseDataTest { + private final ApiKeyWithTokenResponseData model = new ApiKeyWithTokenResponseData(); + + /** + * Model tests for ApiKeyWithTokenResponseData + */ + @Test + public void testApiKeyWithTokenResponseData() { + // TODO: test ApiKeyWithTokenResponseData + } + + /** + * 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/ApiKeyWithTokenResponseTest.java b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseTest.java new file mode 100644 index 00000000..64161e99 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseTest.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.ApiKeyWithTokenResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ApiKeyWithTokenResponse + */ +public class ApiKeyWithTokenResponseTest { + private final ApiKeyWithTokenResponse model = new ApiKeyWithTokenResponse(); + + /** + * Model tests for ApiKeyWithTokenResponse + */ + @Test + public void testApiKeyWithTokenResponse() { + // TODO: test ApiKeyWithTokenResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/BuiltinFieldTest.java b/src/test/java/com/rootly/client/model/BuiltinFieldTest.java new file mode 100644 index 00000000..321c948b --- /dev/null +++ b/src/test/java/com/rootly/client/model/BuiltinFieldTest.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 BuiltinField + */ +public class BuiltinFieldTest { + private final BuiltinField model = new BuiltinField(); + + /** + * Model tests for BuiltinField + */ + @Test + public void testBuiltinField() { + // TODO: test BuiltinField + } + + /** + * Test the property 'fieldSource' + */ + @Test + public void fieldSourceTest() { + // TODO: test fieldSource + } + + /** + * Test the property 'fieldKey' + */ + @Test + public void fieldKeyTest() { + // TODO: test fieldKey + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.java new file mode 100644 index 00000000..8c4f9d56 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.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 CatalogChecklistTemplateFieldsInner + */ +public class CatalogChecklistTemplateFieldsInnerTest { + private final CatalogChecklistTemplateFieldsInner model = new CatalogChecklistTemplateFieldsInner(); + + /** + * Model tests for CatalogChecklistTemplateFieldsInner + */ + @Test + public void testCatalogChecklistTemplateFieldsInner() { + // TODO: test CatalogChecklistTemplateFieldsInner + } + + /** + * Test the property 'fieldSource' + */ + @Test + public void fieldSourceTest() { + // TODO: test fieldSource + } + + /** + * Test the property 'fieldKey' + */ + @Test + public void fieldKeyTest() { + // TODO: test fieldKey + } + + /** + * Test the property 'catalogPropertyId' + */ + @Test + public void catalogPropertyIdTest() { + // TODO: test catalogPropertyId + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java new file mode 100644 index 00000000..383cdcfc --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java @@ -0,0 +1,69 @@ +/* + * 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.CatalogChecklistTemplateResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CatalogChecklistTemplateList + */ +public class CatalogChecklistTemplateListTest { + private final CatalogChecklistTemplateList model = new CatalogChecklistTemplateList(); + + /** + * Model tests for CatalogChecklistTemplateList + */ + @Test + public void testCatalogChecklistTemplateList() { + // TODO: test CatalogChecklistTemplateList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.java new file mode 100644 index 00000000..1a0fa1e1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.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 CatalogChecklistTemplateOwnersInner + */ +public class CatalogChecklistTemplateOwnersInnerTest { + private final CatalogChecklistTemplateOwnersInner model = new CatalogChecklistTemplateOwnersInner(); + + /** + * Model tests for CatalogChecklistTemplateOwnersInner + */ + @Test + public void testCatalogChecklistTemplateOwnersInner() { + // TODO: test CatalogChecklistTemplateOwnersInner + } + + /** + * 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/CatalogChecklistTemplateResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseDataTest.java new file mode 100644 index 00000000..6200099f --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseDataTest.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.CatalogChecklistTemplate; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogChecklistTemplateResponseData + */ +public class CatalogChecklistTemplateResponseDataTest { + private final CatalogChecklistTemplateResponseData model = new CatalogChecklistTemplateResponseData(); + + /** + * Model tests for CatalogChecklistTemplateResponseData + */ + @Test + public void testCatalogChecklistTemplateResponseData() { + // TODO: test CatalogChecklistTemplateResponseData + } + + /** + * 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/CatalogChecklistTemplateResponseTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseTest.java new file mode 100644 index 00000000..f2b7be66 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateResponseTest.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.CatalogChecklistTemplateResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogChecklistTemplateResponse + */ +public class CatalogChecklistTemplateResponseTest { + private final CatalogChecklistTemplateResponse model = new CatalogChecklistTemplateResponse(); + + /** + * Model tests for CatalogChecklistTemplateResponse + */ + @Test + public void testCatalogChecklistTemplateResponse() { + // TODO: test CatalogChecklistTemplateResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogChecklistTemplateTest.java b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateTest.java new file mode 100644 index 00000000..4d575972 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogChecklistTemplateTest.java @@ -0,0 +1,125 @@ +/* + * 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.CatalogChecklistTemplateFieldsInner; +import com.rootly.client.model.CatalogChecklistTemplateOwnersInner; +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 CatalogChecklistTemplate + */ +public class CatalogChecklistTemplateTest { + private final CatalogChecklistTemplate model = new CatalogChecklistTemplate(); + + /** + * Model tests for CatalogChecklistTemplate + */ + @Test + public void testCatalogChecklistTemplate() { + // TODO: test CatalogChecklistTemplate + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + + /** + * Test the property 'scopeType' + */ + @Test + public void scopeTypeTest() { + // TODO: test scopeType + } + + /** + * Test the property 'scopeId' + */ + @Test + public void scopeIdTest() { + // TODO: test scopeId + } + + /** + * 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 'fields' + */ + @Test + public void fieldsTest() { + // TODO: test fields + } + + /** + * Test the property 'owners' + */ + @Test + public void ownersTest() { + // TODO: test owners + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest.java new file mode 100644 index 00000000..aed4bd1b --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest.java @@ -0,0 +1,113 @@ +/* + * 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 CatalogEntityChecklistChecklistFieldsInnerDataAttributes + */ +public class CatalogEntityChecklistChecklistFieldsInnerDataAttributesTest { + private final CatalogEntityChecklistChecklistFieldsInnerDataAttributes model = new CatalogEntityChecklistChecklistFieldsInnerDataAttributes(); + + /** + * Model tests for CatalogEntityChecklistChecklistFieldsInnerDataAttributes + */ + @Test + public void testCatalogEntityChecklistChecklistFieldsInnerDataAttributes() { + // TODO: test CatalogEntityChecklistChecklistFieldsInnerDataAttributes + } + + /** + * Test the property 'catalogEntityChecklistId' + */ + @Test + public void catalogEntityChecklistIdTest() { + // TODO: test catalogEntityChecklistId + } + + /** + * Test the property 'catalogChecklistTemplateFieldId' + */ + @Test + public void catalogChecklistTemplateFieldIdTest() { + // TODO: test catalogChecklistTemplateFieldId + } + + /** + * Test the property 'fieldKey' + */ + @Test + public void fieldKeyTest() { + // TODO: test fieldKey + } + + /** + * Test the property 'checked' + */ + @Test + public void checkedTest() { + // TODO: test checked + } + + /** + * Test the property 'valueSnapshot' + */ + @Test + public void valueSnapshotTest() { + // TODO: test valueSnapshot + } + + /** + * Test the property 'completedByUserId' + */ + @Test + public void completedByUserIdTest() { + // TODO: test completedByUserId + } + + /** + * Test the property 'completedAt' + */ + @Test + public void completedAtTest() { + // TODO: test completedAt + } + + /** + * 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/CatalogEntityChecklistChecklistFieldsInnerDataTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataTest.java new file mode 100644 index 00000000..e0847a16 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerDataTest.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.CatalogEntityChecklistChecklistFieldsInnerDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistChecklistFieldsInnerData + */ +public class CatalogEntityChecklistChecklistFieldsInnerDataTest { + private final CatalogEntityChecklistChecklistFieldsInnerData model = new CatalogEntityChecklistChecklistFieldsInnerData(); + + /** + * Model tests for CatalogEntityChecklistChecklistFieldsInnerData + */ + @Test + public void testCatalogEntityChecklistChecklistFieldsInnerData() { + // TODO: test CatalogEntityChecklistChecklistFieldsInnerData + } + + /** + * 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/CatalogEntityChecklistChecklistFieldsInnerTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerTest.java new file mode 100644 index 00000000..88873dca --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistFieldsInnerTest.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.CatalogEntityChecklistChecklistFieldsInnerData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistChecklistFieldsInner + */ +public class CatalogEntityChecklistChecklistFieldsInnerTest { + private final CatalogEntityChecklistChecklistFieldsInner model = new CatalogEntityChecklistChecklistFieldsInner(); + + /** + * Model tests for CatalogEntityChecklistChecklistFieldsInner + */ + @Test + public void testCatalogEntityChecklistChecklistFieldsInner() { + // TODO: test CatalogEntityChecklistChecklistFieldsInner + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest.java new file mode 100644 index 00000000..4c0ea2a3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest.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 CatalogEntityChecklistChecklistOwnersInnerDataAttributes + */ +public class CatalogEntityChecklistChecklistOwnersInnerDataAttributesTest { + private final CatalogEntityChecklistChecklistOwnersInnerDataAttributes model = new CatalogEntityChecklistChecklistOwnersInnerDataAttributes(); + + /** + * Model tests for CatalogEntityChecklistChecklistOwnersInnerDataAttributes + */ + @Test + public void testCatalogEntityChecklistChecklistOwnersInnerDataAttributes() { + // TODO: test CatalogEntityChecklistChecklistOwnersInnerDataAttributes + } + + /** + * Test the property 'catalogEntityChecklistId' + */ + @Test + public void catalogEntityChecklistIdTest() { + // TODO: test catalogEntityChecklistId + } + + /** + * Test the property 'ownerUserId' + */ + @Test + public void ownerUserIdTest() { + // TODO: test ownerUserId + } + + /** + * 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/CatalogEntityChecklistChecklistOwnersInnerDataTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataTest.java new file mode 100644 index 00000000..07c52027 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerDataTest.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.CatalogEntityChecklistChecklistOwnersInnerDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistChecklistOwnersInnerData + */ +public class CatalogEntityChecklistChecklistOwnersInnerDataTest { + private final CatalogEntityChecklistChecklistOwnersInnerData model = new CatalogEntityChecklistChecklistOwnersInnerData(); + + /** + * Model tests for CatalogEntityChecklistChecklistOwnersInnerData + */ + @Test + public void testCatalogEntityChecklistChecklistOwnersInnerData() { + // TODO: test CatalogEntityChecklistChecklistOwnersInnerData + } + + /** + * 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/CatalogEntityChecklistChecklistOwnersInnerTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerTest.java new file mode 100644 index 00000000..dfdacb8d --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistChecklistOwnersInnerTest.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.CatalogEntityChecklistChecklistOwnersInnerData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistChecklistOwnersInner + */ +public class CatalogEntityChecklistChecklistOwnersInnerTest { + private final CatalogEntityChecklistChecklistOwnersInner model = new CatalogEntityChecklistChecklistOwnersInner(); + + /** + * Model tests for CatalogEntityChecklistChecklistOwnersInner + */ + @Test + public void testCatalogEntityChecklistChecklistOwnersInner() { + // TODO: test CatalogEntityChecklistChecklistOwnersInner + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java new file mode 100644 index 00000000..bb50c1b7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java @@ -0,0 +1,69 @@ +/* + * 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.CatalogEntityChecklistResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CatalogEntityChecklistList + */ +public class CatalogEntityChecklistListTest { + private final CatalogEntityChecklistList model = new CatalogEntityChecklistList(); + + /** + * Model tests for CatalogEntityChecklistList + */ + @Test + public void testCatalogEntityChecklistList() { + // TODO: test CatalogEntityChecklistList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.java new file mode 100644 index 00000000..4a007948 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.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.CatalogEntityChecklist; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistResponseData + */ +public class CatalogEntityChecklistResponseDataTest { + private final CatalogEntityChecklistResponseData model = new CatalogEntityChecklistResponseData(); + + /** + * Model tests for CatalogEntityChecklistResponseData + */ + @Test + public void testCatalogEntityChecklistResponseData() { + // TODO: test CatalogEntityChecklistResponseData + } + + /** + * 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/CatalogEntityChecklistResponseTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseTest.java new file mode 100644 index 00000000..296ba514 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseTest.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.CatalogEntityChecklistResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogEntityChecklistResponse + */ +public class CatalogEntityChecklistResponseTest { + private final CatalogEntityChecklistResponse model = new CatalogEntityChecklistResponse(); + + /** + * Model tests for CatalogEntityChecklistResponse + */ + @Test + public void testCatalogEntityChecklistResponse() { + // TODO: test CatalogEntityChecklistResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java b/src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java new file mode 100644 index 00000000..212b92fc --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java @@ -0,0 +1,133 @@ +/* + * 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.CatalogEntityChecklistChecklistFieldsInner; +import com.rootly.client.model.CatalogEntityChecklistChecklistOwnersInner; +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 CatalogEntityChecklist + */ +public class CatalogEntityChecklistTest { + private final CatalogEntityChecklist model = new CatalogEntityChecklist(); + + /** + * Model tests for CatalogEntityChecklist + */ + @Test + public void testCatalogEntityChecklist() { + // TODO: test CatalogEntityChecklist + } + + /** + * Test the property 'catalogChecklistTemplateId' + */ + @Test + public void catalogChecklistTemplateIdTest() { + // TODO: test catalogChecklistTemplateId + } + + /** + * Test the property 'auditableType' + */ + @Test + public void auditableTypeTest() { + // TODO: test auditableType + } + + /** + * Test the property 'auditableId' + */ + @Test + public void auditableIdTest() { + // TODO: test auditableId + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'startedAt' + */ + @Test + public void startedAtTest() { + // TODO: test startedAt + } + + /** + * Test the property 'completedAt' + */ + @Test + public void completedAtTest() { + // TODO: test completedAt + } + + /** + * Test the property 'completedByUserId' + */ + @Test + public void completedByUserIdTest() { + // TODO: test completedByUserId + } + + /** + * 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 'checklistFields' + */ + @Test + public void checklistFieldsTest() { + // TODO: test checklistFields + } + + /** + * Test the property 'checklistOwners' + */ + @Test + public void checklistOwnersTest() { + // TODO: test checklistOwners + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogPropertyListTest.java b/src/test/java/com/rootly/client/model/CatalogPropertyListTest.java new file mode 100644 index 00000000..bbf0bf97 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogPropertyListTest.java @@ -0,0 +1,69 @@ +/* + * 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.CatalogPropertyResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CatalogPropertyList + */ +public class CatalogPropertyListTest { + private final CatalogPropertyList model = new CatalogPropertyList(); + + /** + * Model tests for CatalogPropertyList + */ + @Test + public void testCatalogPropertyList() { + // TODO: test CatalogPropertyList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.java new file mode 100644 index 00000000..aba7d16c --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.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.CatalogProperty; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogPropertyResponseData + */ +public class CatalogPropertyResponseDataTest { + private final CatalogPropertyResponseData model = new CatalogPropertyResponseData(); + + /** + * Model tests for CatalogPropertyResponseData + */ + @Test + public void testCatalogPropertyResponseData() { + // TODO: test CatalogPropertyResponseData + } + + /** + * 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/CatalogPropertyResponseTest.java b/src/test/java/com/rootly/client/model/CatalogPropertyResponseTest.java new file mode 100644 index 00000000..4016d5f3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogPropertyResponseTest.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.CatalogPropertyResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogPropertyResponse + */ +public class CatalogPropertyResponseTest { + private final CatalogPropertyResponse model = new CatalogPropertyResponse(); + + /** + * Model tests for CatalogPropertyResponse + */ + @Test + public void testCatalogPropertyResponse() { + // TODO: test CatalogPropertyResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CatalogPropertyTest.java b/src/test/java/com/rootly/client/model/CatalogPropertyTest.java new file mode 100644 index 00000000..4dc2edb7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CatalogPropertyTest.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.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CatalogProperty + */ +public class CatalogPropertyTest { + private final CatalogProperty model = new CatalogProperty(); + + /** + * Model tests for CatalogProperty + */ + @Test + public void testCatalogProperty() { + // TODO: test CatalogProperty + } + + /** + * Test the property 'catalogId' + */ + @Test + public void catalogIdTest() { + // TODO: test catalogId + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'kindCatalogId' + */ + @Test + public void kindCatalogIdTest() { + // TODO: test kindCatalogId + } + + /** + * Test the property 'multiple' + */ + @Test + public void multipleTest() { + // TODO: test multiple + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + + /** + * 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/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.java new file mode 100644 index 00000000..05e0bfd0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInnerTest.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 CommunicationsGroupCommunicationExternalGroupMembersInner + */ +public class CommunicationsGroupCommunicationExternalGroupMembersInnerTest { + private final CommunicationsGroupCommunicationExternalGroupMembersInner model = new CommunicationsGroupCommunicationExternalGroupMembersInner(); + + /** + * Model tests for CommunicationsGroupCommunicationExternalGroupMembersInner + */ + @Test + public void testCommunicationsGroupCommunicationExternalGroupMembersInner() { + // TODO: test CommunicationsGroupCommunicationExternalGroupMembersInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'phoneNumber' + */ + @Test + public void phoneNumberTest() { + // TODO: test phoneNumber + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsGroupResponseDataTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupResponseDataTest.java new file mode 100644 index 00000000..c2198537 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupResponseDataTest.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.CommunicationsGroup; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsGroupResponseData + */ +public class CommunicationsGroupResponseDataTest { + private final CommunicationsGroupResponseData model = new CommunicationsGroupResponseData(); + + /** + * Model tests for CommunicationsGroupResponseData + */ + @Test + public void testCommunicationsGroupResponseData() { + // TODO: test CommunicationsGroupResponseData + } + + /** + * 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/CommunicationsGroupResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupResponseTest.java new file mode 100644 index 00000000..1e533d6c --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupResponseTest.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.CommunicationsGroupResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsGroupResponse + */ +public class CommunicationsGroupResponseTest { + private final CommunicationsGroupResponse model = new CommunicationsGroupResponse(); + + /** + * Model tests for CommunicationsGroupResponse + */ + @Test + public void testCommunicationsGroupResponse() { + // TODO: test CommunicationsGroupResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java new file mode 100644 index 00000000..4283a516 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupTest.java @@ -0,0 +1,157 @@ +/* + * 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.CommunicationsGroupCommunicationExternalGroupMembersInner; +import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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 CommunicationsGroup + */ +public class CommunicationsGroupTest { + private final CommunicationsGroup model = new CommunicationsGroup(); + + /** + * Model tests for CommunicationsGroup + */ + @Test + public void testCommunicationsGroup() { + // TODO: test CommunicationsGroup + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'isPrivate' + */ + @Test + public void isPrivateTest() { + // TODO: test isPrivate + } + + /** + * Test the property 'conditionType' + */ + @Test + public void conditionTypeTest() { + // TODO: test conditionType + } + + /** + * Test the property 'smsChannel' + */ + @Test + public void smsChannelTest() { + // TODO: test smsChannel + } + + /** + * Test the property 'emailChannel' + */ + @Test + public void emailChannelTest() { + // TODO: test emailChannel + } + + /** + * 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 'communicationGroupConditions' + */ + @Test + public void communicationGroupConditionsTest() { + // TODO: test communicationGroupConditions + } + + /** + * Test the property 'memberIds' + */ + @Test + public void memberIdsTest() { + // TODO: test memberIds + } + + /** + * Test the property 'slackChannelIds' + */ + @Test + public void slackChannelIdsTest() { + // TODO: test slackChannelIds + } + + /** + * Test the property 'communicationExternalGroupMembers' + */ + @Test + public void communicationExternalGroupMembersTest() { + // TODO: test communicationExternalGroupMembers + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsGroupsResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsGroupsResponseTest.java new file mode 100644 index 00000000..44f08c7d --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsGroupsResponseTest.java @@ -0,0 +1,69 @@ +/* + * 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.CommunicationsGroupResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CommunicationsGroupsResponse + */ +public class CommunicationsGroupsResponseTest { + private final CommunicationsGroupsResponse model = new CommunicationsGroupsResponse(); + + /** + * Model tests for CommunicationsGroupsResponse + */ + @Test + public void testCommunicationsGroupsResponse() { + // TODO: test CommunicationsGroupsResponse + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsStageResponseDataTest.java b/src/test/java/com/rootly/client/model/CommunicationsStageResponseDataTest.java new file mode 100644 index 00000000..babff65f --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsStageResponseDataTest.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.CommunicationsStage; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsStageResponseData + */ +public class CommunicationsStageResponseDataTest { + private final CommunicationsStageResponseData model = new CommunicationsStageResponseData(); + + /** + * Model tests for CommunicationsStageResponseData + */ + @Test + public void testCommunicationsStageResponseData() { + // TODO: test CommunicationsStageResponseData + } + + /** + * 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/CommunicationsStageResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsStageResponseTest.java new file mode 100644 index 00000000..98ea98a4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsStageResponseTest.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.CommunicationsStageResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsStageResponse + */ +public class CommunicationsStageResponseTest { + private final CommunicationsStageResponse model = new CommunicationsStageResponse(); + + /** + * Model tests for CommunicationsStageResponse + */ + @Test + public void testCommunicationsStageResponse() { + // TODO: test CommunicationsStageResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsStageTest.java b/src/test/java/com/rootly/client/model/CommunicationsStageTest.java new file mode 100644 index 00000000..34a5c09b --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsStageTest.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 CommunicationsStage + */ +public class CommunicationsStageTest { + private final CommunicationsStage model = new CommunicationsStage(); + + /** + * Model tests for CommunicationsStage + */ + @Test + public void testCommunicationsStage() { + // TODO: test CommunicationsStage + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * 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/CommunicationsStagesResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsStagesResponseTest.java new file mode 100644 index 00000000..17b88f5a --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsStagesResponseTest.java @@ -0,0 +1,69 @@ +/* + * 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.CommunicationsStageResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CommunicationsStagesResponse + */ +public class CommunicationsStagesResponseTest { + private final CommunicationsStagesResponse model = new CommunicationsStagesResponse(); + + /** + * Model tests for CommunicationsStagesResponse + */ + @Test + public void testCommunicationsStagesResponse() { + // TODO: test CommunicationsStagesResponse + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest.java new file mode 100644 index 00000000..f73d34bc --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest.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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + */ +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStageTest { + private final CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage model = new CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage(); + + /** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + */ + @Test + public void testCommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage() { + // TODO: test CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage + } + + /** + * 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/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest.java new file mode 100644 index 00000000..a2814974 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest.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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + */ +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplateTest { + private final CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate model = new CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate(); + + /** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + */ + @Test + public void testCommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate() { + // TODO: test CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate + } + + /** + * 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/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest.java new file mode 100644 index 00000000..7dc72a46 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest.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 com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationStage; +import com.rootly.client.model.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesCommunicationTemplate; +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 CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + */ +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributesTest { + private final CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes model = new CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes(); + + /** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + */ + @Test + public void testCommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes() { + // TODO: test CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes + } + + /** + * Test the property 'emailBody' + */ + @Test + public void emailBodyTest() { + // TODO: test emailBody + } + + /** + * Test the property 'emailSubject' + */ + @Test + public void emailSubjectTest() { + // TODO: test emailSubject + } + + /** + * Test the property 'slackContent' + */ + @Test + public void slackContentTest() { + // TODO: test slackContent + } + + /** + * Test the property 'smsContent' + */ + @Test + public void smsContentTest() { + // TODO: test smsContent + } + + /** + * 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 'communicationStage' + */ + @Test + public void communicationStageTest() { + // TODO: test communicationStage + } + + /** + * Test the property 'communicationTemplate' + */ + @Test + public void communicationTemplateTest() { + // TODO: test communicationTemplate + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataTest.java new file mode 100644 index 00000000..a3d0f3ea --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerDataTest.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.CommunicationsTemplateCommunicationTemplateStagesInnerDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInnerData + */ +public class CommunicationsTemplateCommunicationTemplateStagesInnerDataTest { + private final CommunicationsTemplateCommunicationTemplateStagesInnerData model = new CommunicationsTemplateCommunicationTemplateStagesInnerData(); + + /** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInnerData + */ + @Test + public void testCommunicationsTemplateCommunicationTemplateStagesInnerData() { + // TODO: test CommunicationsTemplateCommunicationTemplateStagesInnerData + } + + /** + * 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/CommunicationsTemplateCommunicationTemplateStagesInnerTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerTest.java new file mode 100644 index 00000000..efbf5fd9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTemplateStagesInnerTest.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.CommunicationsTemplateCommunicationTemplateStagesInnerData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInner + */ +public class CommunicationsTemplateCommunicationTemplateStagesInnerTest { + private final CommunicationsTemplateCommunicationTemplateStagesInner model = new CommunicationsTemplateCommunicationTemplateStagesInner(); + + /** + * Model tests for CommunicationsTemplateCommunicationTemplateStagesInner + */ + @Test + public void testCommunicationsTemplateCommunicationTemplateStagesInner() { + // TODO: test CommunicationsTemplateCommunicationTemplateStagesInner + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTypeTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTypeTest.java new file mode 100644 index 00000000..5c4139db --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateCommunicationTypeTest.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 CommunicationsTemplateCommunicationType + */ +public class CommunicationsTemplateCommunicationTypeTest { + private final CommunicationsTemplateCommunicationType model = new CommunicationsTemplateCommunicationType(); + + /** + * Model tests for CommunicationsTemplateCommunicationType + */ + @Test + public void testCommunicationsTemplateCommunicationType() { + // TODO: test CommunicationsTemplateCommunicationType + } + + /** + * 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/CommunicationsTemplateResponseDataTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateResponseDataTest.java new file mode 100644 index 00000000..b1f204ab --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateResponseDataTest.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.CommunicationsTemplate; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTemplateResponseData + */ +public class CommunicationsTemplateResponseDataTest { + private final CommunicationsTemplateResponseData model = new CommunicationsTemplateResponseData(); + + /** + * Model tests for CommunicationsTemplateResponseData + */ + @Test + public void testCommunicationsTemplateResponseData() { + // TODO: test CommunicationsTemplateResponseData + } + + /** + * 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/CommunicationsTemplateResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateResponseTest.java new file mode 100644 index 00000000..3ecb6070 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateResponseTest.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.CommunicationsTemplateResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTemplateResponse + */ +public class CommunicationsTemplateResponseTest { + private final CommunicationsTemplateResponse model = new CommunicationsTemplateResponse(); + + /** + * Model tests for CommunicationsTemplateResponse + */ + @Test + public void testCommunicationsTemplateResponse() { + // TODO: test CommunicationsTemplateResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTemplateTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplateTest.java new file mode 100644 index 00000000..a2b97222 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplateTest.java @@ -0,0 +1,117 @@ +/* + * 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.CommunicationsTemplateCommunicationTemplateStagesInner; +import com.rootly.client.model.CommunicationsTemplateCommunicationType; +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 CommunicationsTemplate + */ +public class CommunicationsTemplateTest { + private final CommunicationsTemplate model = new CommunicationsTemplate(); + + /** + * Model tests for CommunicationsTemplate + */ + @Test + public void testCommunicationsTemplate() { + // TODO: test CommunicationsTemplate + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * 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 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'communicationTemplateStages' + */ + @Test + public void communicationTemplateStagesTest() { + // TODO: test communicationTemplateStages + } + + /** + * Test the property 'communicationType' + */ + @Test + public void communicationTypeTest() { + // TODO: test communicationType + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTemplatesResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsTemplatesResponseTest.java new file mode 100644 index 00000000..c83019ea --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTemplatesResponseTest.java @@ -0,0 +1,69 @@ +/* + * 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.CommunicationsTemplateResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CommunicationsTemplatesResponse + */ +public class CommunicationsTemplatesResponseTest { + private final CommunicationsTemplatesResponse model = new CommunicationsTemplatesResponse(); + + /** + * Model tests for CommunicationsTemplatesResponse + */ + @Test + public void testCommunicationsTemplatesResponse() { + // TODO: test CommunicationsTemplatesResponse + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.java b/src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.java new file mode 100644 index 00000000..0edaa83f --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.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.CommunicationsType; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTypeResponseData + */ +public class CommunicationsTypeResponseDataTest { + private final CommunicationsTypeResponseData model = new CommunicationsTypeResponseData(); + + /** + * Model tests for CommunicationsTypeResponseData + */ + @Test + public void testCommunicationsTypeResponseData() { + // TODO: test CommunicationsTypeResponseData + } + + /** + * 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/CommunicationsTypeResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsTypeResponseTest.java new file mode 100644 index 00000000..8e69150c --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTypeResponseTest.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.CommunicationsTypeResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CommunicationsTypeResponse + */ +public class CommunicationsTypeResponseTest { + private final CommunicationsTypeResponse model = new CommunicationsTypeResponse(); + + /** + * Model tests for CommunicationsTypeResponse + */ + @Test + public void testCommunicationsTypeResponse() { + // TODO: test CommunicationsTypeResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CommunicationsTypeTest.java b/src/test/java/com/rootly/client/model/CommunicationsTypeTest.java new file mode 100644 index 00000000..09476662 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTypeTest.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 CommunicationsType + */ +public class CommunicationsTypeTest { + private final CommunicationsType model = new CommunicationsType(); + + /** + * Model tests for CommunicationsType + */ + @Test + public void testCommunicationsType() { + // TODO: test CommunicationsType + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * 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 '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/CommunicationsTypesResponseTest.java b/src/test/java/com/rootly/client/model/CommunicationsTypesResponseTest.java new file mode 100644 index 00000000..16438698 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CommunicationsTypesResponseTest.java @@ -0,0 +1,69 @@ +/* + * 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.CommunicationsTypeResponseData; +import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; +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 CommunicationsTypesResponse + */ +public class CommunicationsTypesResponseTest { + private final CommunicationsTypesResponse model = new CommunicationsTypesResponse(); + + /** + * Model tests for CommunicationsTypesResponse + */ + @Test + public void testCommunicationsTypesResponse() { + // TODO: test CommunicationsTypesResponse + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.java new file mode 100644 index 00000000..08aa9386 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.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 CreateAnthropicChatCompletionTaskParamsModel + */ +public class CreateAnthropicChatCompletionTaskParamsModelTest { + private final CreateAnthropicChatCompletionTaskParamsModel model = new CreateAnthropicChatCompletionTaskParamsModel(); + + /** + * Model tests for CreateAnthropicChatCompletionTaskParamsModel + */ + @Test + public void testCreateAnthropicChatCompletionTaskParamsModel() { + // TODO: test CreateAnthropicChatCompletionTaskParamsModel + } + + /** + * 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/CreateAnthropicChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsTest.java new file mode 100644 index 00000000..4e83d658 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsTest.java @@ -0,0 +1,73 @@ +/* + * 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.CreateAnthropicChatCompletionTaskParamsModel; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateAnthropicChatCompletionTaskParams + */ +public class CreateAnthropicChatCompletionTaskParamsTest { + private final CreateAnthropicChatCompletionTaskParams model = new CreateAnthropicChatCompletionTaskParams(); + + /** + * Model tests for CreateAnthropicChatCompletionTaskParams + */ + @Test + public void testCreateAnthropicChatCompletionTaskParams() { + // TODO: test CreateAnthropicChatCompletionTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'model' + */ + @Test + public void modelTest() { + // TODO: test model + } + + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + + /** + * Test the property 'prompt' + */ + @Test + public void promptTest() { + // TODO: test prompt + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.java b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.java new file mode 100644 index 00000000..495abe31 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.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 CreateCodaPageTaskParamsDoc + */ +public class CreateCodaPageTaskParamsDocTest { + private final CreateCodaPageTaskParamsDoc model = new CreateCodaPageTaskParamsDoc(); + + /** + * Model tests for CreateCodaPageTaskParamsDoc + */ + @Test + public void testCreateCodaPageTaskParamsDoc() { + // TODO: test CreateCodaPageTaskParamsDoc + } + + /** + * 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/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.java new file mode 100644 index 00000000..73c6c512 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.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.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 CreateEdgeConnectorActionRequestActionMetadataParametersInner + */ +public class CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest { + private final CreateEdgeConnectorActionRequestActionMetadataParametersInner model = new CreateEdgeConnectorActionRequestActionMetadataParametersInner(); + + /** + * Model tests for CreateEdgeConnectorActionRequestActionMetadataParametersInner + */ + @Test + public void testCreateEdgeConnectorActionRequestActionMetadataParametersInner() { + // TODO: test CreateEdgeConnectorActionRequestActionMetadataParametersInner + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'options' + */ + @Test + public void optionsTest() { + // TODO: test options + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java new file mode 100644 index 00000000..852711c1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java @@ -0,0 +1,67 @@ +/* + * 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.CreateEdgeConnectorActionRequestActionMetadataParametersInner; +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 CreateEdgeConnectorActionRequestActionMetadata + */ +public class CreateEdgeConnectorActionRequestActionMetadataTest { + private final CreateEdgeConnectorActionRequestActionMetadata model = new CreateEdgeConnectorActionRequestActionMetadata(); + + /** + * Model tests for CreateEdgeConnectorActionRequestActionMetadata + */ + @Test + public void testCreateEdgeConnectorActionRequestActionMetadata() { + // TODO: test CreateEdgeConnectorActionRequestActionMetadata + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'timeout' + */ + @Test + public void timeoutTest() { + // TODO: test timeout + } + + /** + * Test the property 'parameters' + */ + @Test + public void parametersTest() { + // TODO: test parameters + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.java new file mode 100644 index 00000000..7f0eb417 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.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.CreateEdgeConnectorActionRequestActionMetadata; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateEdgeConnectorActionRequestAction + */ +public class CreateEdgeConnectorActionRequestActionTest { + private final CreateEdgeConnectorActionRequestAction model = new CreateEdgeConnectorActionRequestAction(); + + /** + * Model tests for CreateEdgeConnectorActionRequestAction + */ + @Test + public void testCreateEdgeConnectorActionRequestAction() { + // TODO: test CreateEdgeConnectorActionRequestAction + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'actionType' + */ + @Test + public void actionTypeTest() { + // TODO: test actionType + } + + /** + * Test the property 'metadata' + */ + @Test + public void metadataTest() { + // TODO: test metadata + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestTest.java new file mode 100644 index 00000000..aa4de6a4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestTest.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.CreateEdgeConnectorActionRequestAction; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateEdgeConnectorActionRequest + */ +public class CreateEdgeConnectorActionRequestTest { + private final CreateEdgeConnectorActionRequest model = new CreateEdgeConnectorActionRequest(); + + /** + * Model tests for CreateEdgeConnectorActionRequest + */ + @Test + public void testCreateEdgeConnectorActionRequest() { + // TODO: test CreateEdgeConnectorActionRequest + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java new file mode 100644 index 00000000..b333daea --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTest.java @@ -0,0 +1,74 @@ +/* + * 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 CreateEdgeConnectorRequestDataAttributes + */ +public class CreateEdgeConnectorRequestDataAttributesTest { + private final CreateEdgeConnectorRequestDataAttributes model = new CreateEdgeConnectorRequestDataAttributes(); + + /** + * Model tests for CreateEdgeConnectorRequestDataAttributes + */ + @Test + public void testCreateEdgeConnectorRequestDataAttributes() { + // TODO: test CreateEdgeConnectorRequestDataAttributes + } + + /** + * 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 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'subscriptions' + */ + @Test + public void subscriptionsTest() { + // TODO: test subscriptions + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.java new file mode 100644 index 00000000..23253c7d --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.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.CreateEdgeConnectorRequestDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateEdgeConnectorRequestData + */ +public class CreateEdgeConnectorRequestDataTest { + private final CreateEdgeConnectorRequestData model = new CreateEdgeConnectorRequestData(); + + /** + * Model tests for CreateEdgeConnectorRequestData + */ + @Test + public void testCreateEdgeConnectorRequestData() { + // TODO: test CreateEdgeConnectorRequestData + } + + /** + * 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/CreateEdgeConnectorRequestTest.java b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestTest.java new file mode 100644 index 00000000..0746856c --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestTest.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.CreateEdgeConnectorRequestData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateEdgeConnectorRequest + */ +public class CreateEdgeConnectorRequestTest { + private final CreateEdgeConnectorRequest model = new CreateEdgeConnectorRequest(); + + /** + * Model tests for CreateEdgeConnectorRequest + */ + @Test + public void testCreateEdgeConnectorRequest() { + // TODO: test CreateEdgeConnectorRequest + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.java b/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.java new file mode 100644 index 00000000..5feb19e2 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.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 CreateGithubIssueTaskParamsIssueType + */ +public class CreateGithubIssueTaskParamsIssueTypeTest { + private final CreateGithubIssueTaskParamsIssueType model = new CreateGithubIssueTaskParamsIssueType(); + + /** + * Model tests for CreateGithubIssueTaskParamsIssueType + */ + @Test + public void testCreateGithubIssueTaskParamsIssueType() { + // TODO: test CreateGithubIssueTaskParamsIssueType + } + + /** + * 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/CreateGoogleGeminiChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModelTest.java new file mode 100644 index 00000000..745ccfa4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModelTest.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 CreateGoogleGeminiChatCompletionTaskParamsModel + */ +public class CreateGoogleGeminiChatCompletionTaskParamsModelTest { + private final CreateGoogleGeminiChatCompletionTaskParamsModel model = new CreateGoogleGeminiChatCompletionTaskParamsModel(); + + /** + * Model tests for CreateGoogleGeminiChatCompletionTaskParamsModel + */ + @Test + public void testCreateGoogleGeminiChatCompletionTaskParamsModel() { + // TODO: test CreateGoogleGeminiChatCompletionTaskParamsModel + } + + /** + * 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/CreateGoogleGeminiChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsTest.java new file mode 100644 index 00000000..c1c83be7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsTest.java @@ -0,0 +1,73 @@ +/* + * 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.CreateGoogleGeminiChatCompletionTaskParamsModel; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateGoogleGeminiChatCompletionTaskParams + */ +public class CreateGoogleGeminiChatCompletionTaskParamsTest { + private final CreateGoogleGeminiChatCompletionTaskParams model = new CreateGoogleGeminiChatCompletionTaskParams(); + + /** + * Model tests for CreateGoogleGeminiChatCompletionTaskParams + */ + @Test + public void testCreateGoogleGeminiChatCompletionTaskParams() { + // TODO: test CreateGoogleGeminiChatCompletionTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'model' + */ + @Test + public void modelTest() { + // TODO: test model + } + + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + + /** + * Test the property 'prompt' + */ + @Test + public void promptTest() { + // TODO: test prompt + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java new file mode 100644 index 00000000..241a52ad --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java @@ -0,0 +1,116 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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 CreateJsmopsAlertTaskParams + */ +public class CreateJsmopsAlertTaskParamsTest { + private final CreateJsmopsAlertTaskParams model = new CreateJsmopsAlertTaskParams(); + + /** + * Model tests for CreateJsmopsAlertTaskParams + */ + @Test + public void testCreateJsmopsAlertTaskParams() { + // TODO: test CreateJsmopsAlertTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'teams' + */ + @Test + public void teamsTest() { + // TODO: test teams + } + + /** + * Test the property 'users' + */ + @Test + public void usersTest() { + // TODO: test users + } + + /** + * Test the property 'schedules' + */ + @Test + public void schedulesTest() { + // TODO: test schedules + } + + /** + * Test the property 'escalations' + */ + @Test + public void escalationsTest() { + // TODO: test escalations + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + + /** + * Test the property 'details' + */ + @Test + public void detailsTest() { + // TODO: test details + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.java b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.java new file mode 100644 index 00000000..217636fa --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.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 CreateMicrosoftTeamsChatTaskParamsMembersInner + */ +public class CreateMicrosoftTeamsChatTaskParamsMembersInnerTest { + private final CreateMicrosoftTeamsChatTaskParamsMembersInner model = new CreateMicrosoftTeamsChatTaskParamsMembersInner(); + + /** + * Model tests for CreateMicrosoftTeamsChatTaskParamsMembersInner + */ + @Test + public void testCreateMicrosoftTeamsChatTaskParamsMembersInner() { + // TODO: test CreateMicrosoftTeamsChatTaskParamsMembersInner + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java new file mode 100644 index 00000000..188c4f66 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java @@ -0,0 +1,76 @@ +/* + * 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.CreateMicrosoftTeamsChatTaskParamsMembersInner; +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 CreateMicrosoftTeamsChatTaskParams + */ +public class CreateMicrosoftTeamsChatTaskParamsTest { + private final CreateMicrosoftTeamsChatTaskParams model = new CreateMicrosoftTeamsChatTaskParams(); + + /** + * Model tests for CreateMicrosoftTeamsChatTaskParams + */ + @Test + public void testCreateMicrosoftTeamsChatTaskParams() { + // TODO: test CreateMicrosoftTeamsChatTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'topic' + */ + @Test + public void topicTest() { + // TODO: test topic + } + + /** + * Test the property 'chatType' + */ + @Test + public void chatTypeTest() { + // TODO: test chatType + } + + /** + * Test the property 'members' + */ + @Test + public void membersTest() { + // TODO: test members + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.java new file mode 100644 index 00000000..fadaf8c0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.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 CreateMistralChatCompletionTaskParamsModel + */ +public class CreateMistralChatCompletionTaskParamsModelTest { + private final CreateMistralChatCompletionTaskParamsModel model = new CreateMistralChatCompletionTaskParamsModel(); + + /** + * Model tests for CreateMistralChatCompletionTaskParamsModel + */ + @Test + public void testCreateMistralChatCompletionTaskParamsModel() { + // TODO: test CreateMistralChatCompletionTaskParamsModel + } + + /** + * 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/CreateMistralChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsTest.java new file mode 100644 index 00000000..131c5558 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsTest.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.CreateMistralChatCompletionTaskParamsModel; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateMistralChatCompletionTaskParams + */ +public class CreateMistralChatCompletionTaskParamsTest { + private final CreateMistralChatCompletionTaskParams model = new CreateMistralChatCompletionTaskParams(); + + /** + * Model tests for CreateMistralChatCompletionTaskParams + */ + @Test + public void testCreateMistralChatCompletionTaskParams() { + // TODO: test CreateMistralChatCompletionTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'model' + */ + @Test + public void modelTest() { + // TODO: test model + } + + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + + /** + * Test the property 'prompt' + */ + @Test + public void promptTest() { + // TODO: test prompt + } + + /** + * Test the property 'temperature' + */ + @Test + public void temperatureTest() { + // TODO: test temperature + } + + /** + * Test the property 'maxTokens' + */ + @Test + public void maxTokensTest() { + // TODO: test maxTokens + } + + /** + * Test the property 'topP' + */ + @Test + public void topPTest() { + // TODO: test topP + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.java new file mode 100644 index 00000000..c281f041 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.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 CreateOpenaiChatCompletionTaskParamsModel + */ +public class CreateOpenaiChatCompletionTaskParamsModelTest { + private final CreateOpenaiChatCompletionTaskParamsModel model = new CreateOpenaiChatCompletionTaskParamsModel(); + + /** + * Model tests for CreateOpenaiChatCompletionTaskParamsModel + */ + @Test + public void testCreateOpenaiChatCompletionTaskParamsModel() { + // TODO: test CreateOpenaiChatCompletionTaskParamsModel + } + + /** + * 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/CreateOpenaiChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsTest.java new file mode 100644 index 00000000..e9343962 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsTest.java @@ -0,0 +1,114 @@ +/* + * 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.CreateOpenaiChatCompletionTaskParamsModel; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateOpenaiChatCompletionTaskParams + */ +public class CreateOpenaiChatCompletionTaskParamsTest { + private final CreateOpenaiChatCompletionTaskParams model = new CreateOpenaiChatCompletionTaskParams(); + + /** + * Model tests for CreateOpenaiChatCompletionTaskParams + */ + @Test + public void testCreateOpenaiChatCompletionTaskParams() { + // TODO: test CreateOpenaiChatCompletionTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'model' + */ + @Test + public void modelTest() { + // TODO: test model + } + + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + + /** + * Test the property 'prompt' + */ + @Test + public void promptTest() { + // TODO: test prompt + } + + /** + * Test the property 'temperature' + */ + @Test + public void temperatureTest() { + // TODO: test temperature + } + + /** + * Test the property 'maxTokens' + */ + @Test + public void maxTokensTest() { + // TODO: test maxTokens + } + + /** + * Test the property 'topP' + */ + @Test + public void topPTest() { + // TODO: test topP + } + + /** + * Test the property 'reasoningEffort' + */ + @Test + public void reasoningEffortTest() { + // TODO: test reasoningEffort + } + + /** + * Test the property 'reasoningSummary' + */ + @Test + public void reasoningSummaryTest() { + // TODO: test reasoningSummary + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java new file mode 100644 index 00000000..726779cd --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.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 CreateSubIncidentTaskParams + */ +public class CreateSubIncidentTaskParamsTest { + private final CreateSubIncidentTaskParams model = new CreateSubIncidentTaskParams(); + + /** + * Model tests for CreateSubIncidentTaskParams + */ + @Test + public void testCreateSubIncidentTaskParams() { + // TODO: test CreateSubIncidentTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'summary' + */ + @Test + public void summaryTest() { + // TODO: test summary + } + +} diff --git a/src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.java new file mode 100644 index 00000000..2f6041f6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.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 CreateWatsonxChatCompletionTaskParamsModel + */ +public class CreateWatsonxChatCompletionTaskParamsModelTest { + private final CreateWatsonxChatCompletionTaskParamsModel model = new CreateWatsonxChatCompletionTaskParamsModel(); + + /** + * Model tests for CreateWatsonxChatCompletionTaskParamsModel + */ + @Test + public void testCreateWatsonxChatCompletionTaskParamsModel() { + // TODO: test CreateWatsonxChatCompletionTaskParamsModel + } + + /** + * 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/CreateWatsonxChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsTest.java new file mode 100644 index 00000000..e25ac02b --- /dev/null +++ b/src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsTest.java @@ -0,0 +1,81 @@ +/* + * 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.CreateWatsonxChatCompletionTaskParamsModel; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for CreateWatsonxChatCompletionTaskParams + */ +public class CreateWatsonxChatCompletionTaskParamsTest { + private final CreateWatsonxChatCompletionTaskParams model = new CreateWatsonxChatCompletionTaskParams(); + + /** + * Model tests for CreateWatsonxChatCompletionTaskParams + */ + @Test + public void testCreateWatsonxChatCompletionTaskParams() { + // TODO: test CreateWatsonxChatCompletionTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'model' + */ + @Test + public void modelTest() { + // TODO: test model + } + + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + + /** + * Test the property 'prompt' + */ + @Test + public void promptTest() { + // TODO: test prompt + } + + /** + * Test the property 'projectId' + */ + @Test + public void projectIdTest() { + // TODO: test projectId + } + +} diff --git a/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributesTest.java b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributesTest.java new file mode 100644 index 00000000..9703b76c --- /dev/null +++ b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataAttributesTest.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 DeleteAlertRoute200ResponseDataAttributes + */ +public class DeleteAlertRoute200ResponseDataAttributesTest { + private final DeleteAlertRoute200ResponseDataAttributes model = new DeleteAlertRoute200ResponseDataAttributes(); + + /** + * Model tests for DeleteAlertRoute200ResponseDataAttributes + */ + @Test + public void testDeleteAlertRoute200ResponseDataAttributes() { + // TODO: test DeleteAlertRoute200ResponseDataAttributes + } + + /** + * Test the property 'deleted' + */ + @Test + public void deletedTest() { + // TODO: test deleted + } + +} diff --git a/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.java b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.java new file mode 100644 index 00000000..9d677d00 --- /dev/null +++ b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.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.DeleteAlertRoute200ResponseDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for DeleteAlertRoute200ResponseData + */ +public class DeleteAlertRoute200ResponseDataTest { + private final DeleteAlertRoute200ResponseData model = new DeleteAlertRoute200ResponseData(); + + /** + * Model tests for DeleteAlertRoute200ResponseData + */ + @Test + public void testDeleteAlertRoute200ResponseData() { + // TODO: test DeleteAlertRoute200ResponseData + } + + /** + * 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/DeleteAlertRoute200ResponseTest.java b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseTest.java new file mode 100644 index 00000000..c276e6d3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseTest.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.DeleteAlertRoute200ResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for DeleteAlertRoute200Response + */ +public class DeleteAlertRoute200ResponseTest { + private final DeleteAlertRoute200Response model = new DeleteAlertRoute200Response(); + + /** + * Model tests for DeleteAlertRoute200Response + */ + @Test + public void testDeleteAlertRoute200Response() { + // TODO: test DeleteAlertRoute200Response + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.java new file mode 100644 index 00000000..1ca36f63 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.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 EdgeConnectorActionDataAttributesParametersInner + */ +public class EdgeConnectorActionDataAttributesParametersInnerTest { + private final EdgeConnectorActionDataAttributesParametersInner model = new EdgeConnectorActionDataAttributesParametersInner(); + + /** + * Model tests for EdgeConnectorActionDataAttributesParametersInner + */ + @Test + public void testEdgeConnectorActionDataAttributesParametersInner() { + // TODO: test EdgeConnectorActionDataAttributesParametersInner + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property '_default' + */ + @Test + public void _defaultTest() { + // TODO: test _default + } + + /** + * Test the property 'options' + */ + @Test + public void optionsTest() { + // TODO: test options + } + +} diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java new file mode 100644 index 00000000..b791ea32 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java @@ -0,0 +1,125 @@ +/* + * 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.EdgeConnectorActionDataAttributesParametersInner; +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 org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EdgeConnectorActionDataAttributes + */ +public class EdgeConnectorActionDataAttributesTest { + private final EdgeConnectorActionDataAttributes model = new EdgeConnectorActionDataAttributes(); + + /** + * Model tests for EdgeConnectorActionDataAttributes + */ + @Test + public void testEdgeConnectorActionDataAttributes() { + // TODO: test EdgeConnectorActionDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'actionType' + */ + @Test + public void actionTypeTest() { + // TODO: test actionType + } + + /** + * Test the property 'icon' + */ + @Test + public void iconTest() { + // TODO: test icon + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'timeout' + */ + @Test + public void timeoutTest() { + // TODO: test timeout + } + + /** + * Test the property 'parameters' + */ + @Test + public void parametersTest() { + // TODO: test parameters + } + + /** + * Test the property 'lastExecutedAt' + */ + @Test + public void lastExecutedAtTest() { + // TODO: test lastExecutedAt + } + + /** + * 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/EdgeConnectorActionDataTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataTest.java new file mode 100644 index 00000000..fa5d347a --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorActionDataTest.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.EdgeConnectorActionDataAttributes; +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 EdgeConnectorActionData + */ +public class EdgeConnectorActionDataTest { + private final EdgeConnectorActionData model = new EdgeConnectorActionData(); + + /** + * Model tests for EdgeConnectorActionData + */ + @Test + public void testEdgeConnectorActionData() { + // TODO: test EdgeConnectorActionData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorActionTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorActionTest.java new file mode 100644 index 00000000..a0531fac --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorActionTest.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.EdgeConnectorActionData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EdgeConnectorAction + */ +public class EdgeConnectorActionTest { + private final EdgeConnectorAction model = new EdgeConnectorAction(); + + /** + * Model tests for EdgeConnectorAction + */ + @Test + public void testEdgeConnectorAction() { + // TODO: test EdgeConnectorAction + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java new file mode 100644 index 00000000..687cdab7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java @@ -0,0 +1,148 @@ +/* + * 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.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 EdgeConnectorDataAttributes + */ +public class EdgeConnectorDataAttributesTest { + private final EdgeConnectorDataAttributes model = new EdgeConnectorDataAttributes(); + + /** + * Model tests for EdgeConnectorDataAttributes + */ + @Test + public void testEdgeConnectorDataAttributes() { + // TODO: test EdgeConnectorDataAttributes + } + + /** + * 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 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'subscriptions' + */ + @Test + public void subscriptionsTest() { + // TODO: test subscriptions + } + + /** + * Test the property 'lastPollAt' + */ + @Test + public void lastPollAtTest() { + // TODO: test lastPollAt + } + + /** + * Test the property 'online' + */ + @Test + public void onlineTest() { + // TODO: test online + } + + /** + * Test the property 'deliveriesCount' + */ + @Test + public void deliveriesCountTest() { + // TODO: test deliveriesCount + } + + /** + * Test the property 'deliveriesQueuedCount' + */ + @Test + public void deliveriesQueuedCountTest() { + // TODO: test deliveriesQueuedCount + } + + /** + * Test the property 'deliveriesRunningCount' + */ + @Test + public void deliveriesRunningCountTest() { + // TODO: test deliveriesRunningCount + } + + /** + * Test the property 'deliveriesCompletedCount' + */ + @Test + public void deliveriesCompletedCountTest() { + // TODO: test deliveriesCompletedCount + } + + /** + * Test the property 'deliveriesFailedCount' + */ + @Test + public void deliveriesFailedCountTest() { + // TODO: test deliveriesFailedCount + } + + /** + * 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/EdgeConnectorDataTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorDataTest.java new file mode 100644 index 00000000..52ea2af8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorDataTest.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.EdgeConnectorDataAttributes; +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 EdgeConnectorData + */ +public class EdgeConnectorDataTest { + private final EdgeConnectorData model = new EdgeConnectorData(); + + /** + * Model tests for EdgeConnectorData + */ + @Test + public void testEdgeConnectorData() { + // TODO: test EdgeConnectorData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/EdgeConnectorTest.java b/src/test/java/com/rootly/client/model/EdgeConnectorTest.java new file mode 100644 index 00000000..bf4e2d78 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EdgeConnectorTest.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.EdgeConnectorData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EdgeConnector + */ +public class EdgeConnectorTest { + private final EdgeConnector model = new EdgeConnector(); + + /** + * Model tests for EdgeConnector + */ + @Test + public void testEdgeConnector() { + // TODO: test EdgeConnector + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.java new file mode 100644 index 00000000..943ef054 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EscalateAlertDataAttributesTest.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 EscalateAlertDataAttributes + */ +public class EscalateAlertDataAttributesTest { + private final EscalateAlertDataAttributes model = new EscalateAlertDataAttributes(); + + /** + * Model tests for EscalateAlertDataAttributes + */ + @Test + public void testEscalateAlertDataAttributes() { + // TODO: test EscalateAlertDataAttributes + } + + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId + } + + /** + * Test the property 'escalationPolicyLevel' + */ + @Test + public void escalationPolicyLevelTest() { + // TODO: test escalationPolicyLevel + } + +} diff --git a/src/test/java/com/rootly/client/model/EscalateAlertDataTest.java b/src/test/java/com/rootly/client/model/EscalateAlertDataTest.java new file mode 100644 index 00000000..da1f081d --- /dev/null +++ b/src/test/java/com/rootly/client/model/EscalateAlertDataTest.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.EscalateAlertDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EscalateAlertData + */ +public class EscalateAlertDataTest { + private final EscalateAlertData model = new EscalateAlertData(); + + /** + * Model tests for EscalateAlertData + */ + @Test + public void testEscalateAlertData() { + // TODO: test EscalateAlertData + } + + /** + * 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/EscalateAlertTest.java b/src/test/java/com/rootly/client/model/EscalateAlertTest.java new file mode 100644 index 00000000..d1ad8901 --- /dev/null +++ b/src/test/java/com/rootly/client/model/EscalateAlertTest.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.EscalateAlertData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for EscalateAlert + */ +public class EscalateAlertTest { + private final EscalateAlert model = new EscalateAlert(); + + /** + * Model tests for EscalateAlert + */ + @Test + public void testEscalateAlert() { + // TODO: test EscalateAlert + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/GetAlertFieldIdParameterTest.java b/src/test/java/com/rootly/client/model/GetAlertFieldIdParameterTest.java new file mode 100644 index 00000000..5ee99d9b --- /dev/null +++ b/src/test/java/com/rootly/client/model/GetAlertFieldIdParameterTest.java @@ -0,0 +1,34 @@ +/* + * 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.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for GetAlertFieldIdParameter + */ +public class GetAlertFieldIdParameterTest { + private final GetAlertFieldIdParameter model = new GetAlertFieldIdParameter(); + + /** + * Model tests for GetAlertFieldIdParameter + */ + @Test + public void testGetAlertFieldIdParameter() { + // TODO: test GetAlertFieldIdParameter + } + +} diff --git a/src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java b/src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java new file mode 100644 index 00000000..2841dd36 --- /dev/null +++ b/src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java @@ -0,0 +1,34 @@ +/* + * 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.UUID; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for GetTeamIdParameter + */ +public class GetTeamIdParameterTest { + private final GetTeamIdParameter model = new GetTeamIdParameter(); + + /** + * Model tests for GetTeamIdParameter + */ + @Test + public void testGetTeamIdParameter() { + // TODO: test GetTeamIdParameter + } + +} diff --git a/src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java b/src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java new file mode 100644 index 00000000..7baa12c4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java @@ -0,0 +1,80 @@ +/* + * 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 IncidentZoomMeetingGlobalDialInNumbersInner + */ +public class IncidentZoomMeetingGlobalDialInNumbersInnerTest { + private final IncidentZoomMeetingGlobalDialInNumbersInner model = new IncidentZoomMeetingGlobalDialInNumbersInner(); + + /** + * Model tests for IncidentZoomMeetingGlobalDialInNumbersInner + */ + @Test + public void testIncidentZoomMeetingGlobalDialInNumbersInner() { + // TODO: test IncidentZoomMeetingGlobalDialInNumbersInner + } + + /** + * Test the property 'country' + */ + @Test + public void countryTest() { + // TODO: test country + } + + /** + * Test the property 'countryName' + */ + @Test + public void countryNameTest() { + // TODO: test countryName + } + + /** + * Test the property 'city' + */ + @Test + public void cityTest() { + // TODO: test city + } + + /** + * Test the property 'number' + */ + @Test + public void numberTest() { + // TODO: test number + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + +} diff --git a/src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.java b/src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.java new file mode 100644 index 00000000..a2104482 --- /dev/null +++ b/src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.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.MeetingRecording; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for MeetingRecordingListDataInner + */ +public class MeetingRecordingListDataInnerTest { + private final MeetingRecordingListDataInner model = new MeetingRecordingListDataInner(); + + /** + * Model tests for MeetingRecordingListDataInner + */ + @Test + public void testMeetingRecordingListDataInner() { + // TODO: test MeetingRecordingListDataInner + } + + /** + * 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/MeetingRecordingListTest.java b/src/test/java/com/rootly/client/model/MeetingRecordingListTest.java new file mode 100644 index 00000000..5e0ab4ae --- /dev/null +++ b/src/test/java/com/rootly/client/model/MeetingRecordingListTest.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.MeetingRecordingListDataInner; +import com.rootly.client.model.Meta; +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 MeetingRecordingList + */ +public class MeetingRecordingListTest { + private final MeetingRecordingList model = new MeetingRecordingList(); + + /** + * Model tests for MeetingRecordingList + */ + @Test + public void testMeetingRecordingList() { + // TODO: test MeetingRecordingList + } + + /** + * 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/MeetingRecordingTest.java b/src/test/java/com/rootly/client/model/MeetingRecordingTest.java new file mode 100644 index 00000000..6d1d266f --- /dev/null +++ b/src/test/java/com/rootly/client/model/MeetingRecordingTest.java @@ -0,0 +1,139 @@ +/* + * 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.math.BigDecimal; +import java.time.OffsetDateTime; +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 MeetingRecording + */ +public class MeetingRecordingTest { + private final MeetingRecording model = new MeetingRecording(); + + /** + * Model tests for MeetingRecording + */ + @Test + public void testMeetingRecording() { + // TODO: test MeetingRecording + } + + /** + * Test the property 'platform' + */ + @Test + public void platformTest() { + // TODO: test platform + } + + /** + * Test the property 'sessionNumber' + */ + @Test + public void sessionNumberTest() { + // TODO: test sessionNumber + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'startedAt' + */ + @Test + public void startedAtTest() { + // TODO: test startedAt + } + + /** + * Test the property 'endedAt' + */ + @Test + public void endedAtTest() { + // TODO: test endedAt + } + + /** + * Test the property 'durationMinutes' + */ + @Test + public void durationMinutesTest() { + // TODO: test durationMinutes + } + + /** + * Test the property 'speakerCount' + */ + @Test + public void speakerCountTest() { + // TODO: test speakerCount + } + + /** + * Test the property 'wordCount' + */ + @Test + public void wordCountTest() { + // TODO: test wordCount + } + + /** + * Test the property 'transcriptSummary' + */ + @Test + public void transcriptSummaryTest() { + // TODO: test transcriptSummary + } + + /** + * Test the property 'hasVideo' + */ + @Test + public void hasVideoTest() { + // TODO: test hasVideo + } + + /** + * 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/MetaTest.java b/src/test/java/com/rootly/client/model/MetaTest.java new file mode 100644 index 00000000..bcdfcebb --- /dev/null +++ b/src/test/java/com/rootly/client/model/MetaTest.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 Meta + */ +public class MetaTest { + private final Meta model = new Meta(); + + /** + * Model tests for Meta + */ + @Test + public void testMeta() { + // TODO: test Meta + } + + /** + * Test the property 'nextCursor' + */ + @Test + public void nextCursorTest() { + // TODO: test nextCursor + } + + /** + * Test the property 'currentPage' + */ + @Test + public void currentPageTest() { + // TODO: test currentPage + } + + /** + * Test the property 'nextPage' + */ + @Test + public void nextPageTest() { + // TODO: test nextPage + } + + /** + * Test the property 'prevPage' + */ + @Test + public void prevPageTest() { + // TODO: test prevPage + } + + /** + * Test the property 'totalCount' + */ + @Test + public void totalCountTest() { + // TODO: test totalCount + } + + /** + * Test the property 'totalPages' + */ + @Test + public void totalPagesTest() { + // TODO: test totalPages + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java new file mode 100644 index 00000000..c730bfd6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.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 NewAlertDataAttributesAlertFieldValuesAttributesInner + */ +public class NewAlertDataAttributesAlertFieldValuesAttributesInnerTest { + private final NewAlertDataAttributesAlertFieldValuesAttributesInner model = new NewAlertDataAttributesAlertFieldValuesAttributesInner(); + + /** + * Model tests for NewAlertDataAttributesAlertFieldValuesAttributesInner + */ + @Test + public void testNewAlertDataAttributesAlertFieldValuesAttributesInner() { + // TODO: test NewAlertDataAttributesAlertFieldValuesAttributesInner + } + + /** + * Test the property 'alertFieldId' + */ + @Test + public void alertFieldIdTest() { + // TODO: test alertFieldId + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java new file mode 100644 index 00000000..55d2191d --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java @@ -0,0 +1,34 @@ +/* + * 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.math.BigDecimal; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertDataAttributesLabelsInnerValue + */ +public class NewAlertDataAttributesLabelsInnerValueTest { + private final NewAlertDataAttributesLabelsInnerValue model = new NewAlertDataAttributesLabelsInnerValue(); + + /** + * Model tests for NewAlertDataAttributesLabelsInnerValue + */ + @Test + public void testNewAlertDataAttributesLabelsInnerValue() { + // TODO: test NewAlertDataAttributesLabelsInnerValue + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java new file mode 100644 index 00000000..b26cba87 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.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 NewAlertFieldDataAttributes + */ +public class NewAlertFieldDataAttributesTest { + private final NewAlertFieldDataAttributes model = new NewAlertFieldDataAttributes(); + + /** + * Model tests for NewAlertFieldDataAttributes + */ + @Test + public void testNewAlertFieldDataAttributes() { + // TODO: test NewAlertFieldDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertFieldDataTest.java b/src/test/java/com/rootly/client/model/NewAlertFieldDataTest.java new file mode 100644 index 00000000..88240827 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertFieldDataTest.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.NewAlertFieldDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertFieldData + */ +public class NewAlertFieldDataTest { + private final NewAlertFieldData model = new NewAlertFieldData(); + + /** + * Model tests for NewAlertFieldData + */ + @Test + public void testNewAlertFieldData() { + // TODO: test NewAlertFieldData + } + + /** + * 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/NewAlertFieldTest.java b/src/test/java/com/rootly/client/model/NewAlertFieldTest.java new file mode 100644 index 00000000..a7bfa629 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertFieldTest.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.NewAlertFieldData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertField + */ +public class NewAlertFieldTest { + private final NewAlertField model = new NewAlertField(); + + /** + * Model tests for NewAlertField + */ + @Test + public void testNewAlertField() { + // TODO: test NewAlertField + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.java new file mode 100644 index 00000000..3d92ef36 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.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 org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertGroupDataAttributesConditionsInner + */ +public class NewAlertGroupDataAttributesConditionsInnerTest { + private final NewAlertGroupDataAttributesConditionsInner model = new NewAlertGroupDataAttributesConditionsInner(); + + /** + * Model tests for NewAlertGroupDataAttributesConditionsInner + */ + @Test + public void testNewAlertGroupDataAttributesConditionsInner() { + // TODO: test NewAlertGroupDataAttributesConditionsInner + } + + /** + * Test the property 'propertyFieldType' + */ + @Test + public void propertyFieldTypeTest() { + // TODO: test propertyFieldType + } + + /** + * Test the property 'propertyFieldName' + */ + @Test + public void propertyFieldNameTest() { + // TODO: test propertyFieldName + } + + /** + * Test the property 'propertyFieldConditionType' + */ + @Test + public void propertyFieldConditionTypeTest() { + // TODO: test propertyFieldConditionType + } + + /** + * 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/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java new file mode 100644 index 00000000..0bc45937 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.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 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 NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ +public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest { + private final NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner model = new NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner(); + + /** + * Model tests for NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + @Test + public void testNewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner() { + // TODO: test NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + } + + /** + * 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/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java new file mode 100644 index 00000000..2d1c12f8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.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.NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner; +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 NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ +public class NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest { + private final NewAlertRouteDataAttributesRulesInnerConditionGroupsInner model = new NewAlertRouteDataAttributesRulesInnerConditionGroupsInner(); + + /** + * Model tests for NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + @Test + public void testNewAlertRouteDataAttributesRulesInnerConditionGroupsInner() { + // TODO: test NewAlertRouteDataAttributesRulesInnerConditionGroupsInner + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java new file mode 100644 index 00000000..1157ea4c --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.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 NewAlertRouteDataAttributesRulesInnerDestinationsInner + */ +public class NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest { + private final NewAlertRouteDataAttributesRulesInnerDestinationsInner model = new NewAlertRouteDataAttributesRulesInnerDestinationsInner(); + + /** + * Model tests for NewAlertRouteDataAttributesRulesInnerDestinationsInner + */ + @Test + public void testNewAlertRouteDataAttributesRulesInnerDestinationsInner() { + // TODO: test NewAlertRouteDataAttributesRulesInnerDestinationsInner + } + + /** + * 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/NewAlertRouteDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerTest.java new file mode 100644 index 00000000..7c300834 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerTest.java @@ -0,0 +1,84 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInnerConditionGroupsInner; +import com.rootly.client.model.NewAlertRouteDataAttributesRulesInnerDestinationsInner; +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 NewAlertRouteDataAttributesRulesInner + */ +public class NewAlertRouteDataAttributesRulesInnerTest { + private final NewAlertRouteDataAttributesRulesInner model = new NewAlertRouteDataAttributesRulesInner(); + + /** + * Model tests for NewAlertRouteDataAttributesRulesInner + */ + @Test + public void testNewAlertRouteDataAttributesRulesInner() { + // TODO: test NewAlertRouteDataAttributesRulesInner + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'fallbackRule' + */ + @Test + public void fallbackRuleTest() { + // TODO: test fallbackRule + } + + /** + * Test the property 'destinations' + */ + @Test + public void destinationsTest() { + // TODO: test destinations + } + + /** + * Test the property 'conditionGroups' + */ + @Test + public void conditionGroupsTest() { + // TODO: test conditionGroups + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java new file mode 100644 index 00000000..2ad0e8eb --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java @@ -0,0 +1,84 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInner; +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 NewAlertRouteDataAttributes + */ +public class NewAlertRouteDataAttributesTest { + private final NewAlertRouteDataAttributes model = new NewAlertRouteDataAttributes(); + + /** + * Model tests for NewAlertRouteDataAttributes + */ + @Test + public void testNewAlertRouteDataAttributes() { + // TODO: test NewAlertRouteDataAttributes + } + + /** + * 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 'alertsSourceIds' + */ + @Test + public void alertsSourceIdsTest() { + // TODO: test alertsSourceIds + } + + /** + * Test the property 'owningTeamIds' + */ + @Test + public void owningTeamIdsTest() { + // TODO: test owningTeamIds + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertRouteDataTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteDataTest.java new file mode 100644 index 00000000..fdbee281 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteDataTest.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.NewAlertRouteDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertRouteData + */ +public class NewAlertRouteDataTest { + private final NewAlertRouteData model = new NewAlertRouteData(); + + /** + * Model tests for NewAlertRouteData + */ + @Test + public void testNewAlertRouteData() { + // TODO: test NewAlertRouteData + } + + /** + * 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/NewAlertRouteTest.java b/src/test/java/com/rootly/client/model/NewAlertRouteTest.java new file mode 100644 index 00000000..cd23ff4c --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertRouteTest.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.NewAlertRouteData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewAlertRoute + */ +public class NewAlertRouteTest { + private final NewAlertRoute model = new NewAlertRoute(); + + /** + * Model tests for NewAlertRoute + */ + @Test + public void testNewAlertRoute() { + // TODO: test NewAlertRoute + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java new file mode 100644 index 00000000..5a8b909e --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.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 NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ +public class NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest { + private final NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner model = new NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner(); + + /** + * Model tests for NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + */ + @Test + public void testNewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner() { + // TODO: test NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner + } + + /** + * 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/NewApiKeyDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewApiKeyDataAttributesTest.java new file mode 100644 index 00000000..dbc28b07 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewApiKeyDataAttributesTest.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 java.io.IOException; +import java.time.OffsetDateTime; +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 NewApiKeyDataAttributes + */ +public class NewApiKeyDataAttributesTest { + private final NewApiKeyDataAttributes model = new NewApiKeyDataAttributes(); + + /** + * Model tests for NewApiKeyDataAttributes + */ + @Test + public void testNewApiKeyDataAttributes() { + // TODO: test NewApiKeyDataAttributes + } + + /** + * 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 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + + /** + * Test the property 'groupId' + */ + @Test + public void groupIdTest() { + // TODO: test groupId + } + + /** + * Test the property 'roleId' + */ + @Test + public void roleIdTest() { + // TODO: test roleId + } + + /** + * Test the property 'onCallRoleId' + */ + @Test + public void onCallRoleIdTest() { + // TODO: test onCallRoleId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewApiKeyDataTest.java b/src/test/java/com/rootly/client/model/NewApiKeyDataTest.java new file mode 100644 index 00000000..6cca853f --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewApiKeyDataTest.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.NewApiKeyDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewApiKeyData + */ +public class NewApiKeyDataTest { + private final NewApiKeyData model = new NewApiKeyData(); + + /** + * Model tests for NewApiKeyData + */ + @Test + public void testNewApiKeyData() { + // TODO: test NewApiKeyData + } + + /** + * 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/NewApiKeyTest.java b/src/test/java/com/rootly/client/model/NewApiKeyTest.java new file mode 100644 index 00000000..ae835089 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewApiKeyTest.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.NewApiKeyData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewApiKey + */ +public class NewApiKeyTest { + private final NewApiKey model = new NewApiKey(); + + /** + * Model tests for NewApiKey + */ + @Test + public void testNewApiKey() { + // TODO: test NewApiKey + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.java b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.java new file mode 100644 index 00000000..239609e6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.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.BuiltinField; +import com.rootly.client.model.CustomField; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCatalogChecklistTemplateDataAttributesFieldsInner + */ +public class NewCatalogChecklistTemplateDataAttributesFieldsInnerTest { + private final NewCatalogChecklistTemplateDataAttributesFieldsInner model = new NewCatalogChecklistTemplateDataAttributesFieldsInner(); + + /** + * Model tests for NewCatalogChecklistTemplateDataAttributesFieldsInner + */ + @Test + public void testNewCatalogChecklistTemplateDataAttributesFieldsInner() { + // TODO: test NewCatalogChecklistTemplateDataAttributesFieldsInner + } + + /** + * Test the property 'fieldSource' + */ + @Test + public void fieldSourceTest() { + // TODO: test fieldSource + } + + /** + * Test the property 'fieldKey' + */ + @Test + public void fieldKeyTest() { + // TODO: test fieldKey + } + + /** + * Test the property 'catalogPropertyId' + */ + @Test + public void catalogPropertyIdTest() { + // TODO: test catalogPropertyId + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.java b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.java new file mode 100644 index 00000000..9994b360 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.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 NewCatalogChecklistTemplateDataAttributesOwnersInner + */ +public class NewCatalogChecklistTemplateDataAttributesOwnersInnerTest { + private final NewCatalogChecklistTemplateDataAttributesOwnersInner model = new NewCatalogChecklistTemplateDataAttributesOwnersInner(); + + /** + * Model tests for NewCatalogChecklistTemplateDataAttributesOwnersInner + */ + @Test + public void testNewCatalogChecklistTemplateDataAttributesOwnersInner() { + // TODO: test NewCatalogChecklistTemplateDataAttributesOwnersInner + } + + /** + * 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/NewCatalogChecklistTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesTest.java new file mode 100644 index 00000000..52b24e62 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesTest.java @@ -0,0 +1,101 @@ +/* + * 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.NewCatalogChecklistTemplateDataAttributesFieldsInner; +import com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesOwnersInner; +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 NewCatalogChecklistTemplateDataAttributes + */ +public class NewCatalogChecklistTemplateDataAttributesTest { + private final NewCatalogChecklistTemplateDataAttributes model = new NewCatalogChecklistTemplateDataAttributes(); + + /** + * Model tests for NewCatalogChecklistTemplateDataAttributes + */ + @Test + public void testNewCatalogChecklistTemplateDataAttributes() { + // TODO: test NewCatalogChecklistTemplateDataAttributes + } + + /** + * 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 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + + /** + * Test the property 'scopeType' + */ + @Test + public void scopeTypeTest() { + // TODO: test scopeType + } + + /** + * Test the property 'scopeId' + */ + @Test + public void scopeIdTest() { + // TODO: test scopeId + } + + /** + * Test the property 'fields' + */ + @Test + public void fieldsTest() { + // TODO: test fields + } + + /** + * Test the property 'owners' + */ + @Test + public void ownersTest() { + // TODO: test owners + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.java new file mode 100644 index 00000000..6b280ef1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.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.NewCatalogChecklistTemplateDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCatalogChecklistTemplateData + */ +public class NewCatalogChecklistTemplateDataTest { + private final NewCatalogChecklistTemplateData model = new NewCatalogChecklistTemplateData(); + + /** + * Model tests for NewCatalogChecklistTemplateData + */ + @Test + public void testNewCatalogChecklistTemplateData() { + // TODO: test NewCatalogChecklistTemplateData + } + + /** + * 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/NewCatalogChecklistTemplateTest.java b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateTest.java new file mode 100644 index 00000000..2e4ba912 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateTest.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.NewCatalogChecklistTemplateData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCatalogChecklistTemplate + */ +public class NewCatalogChecklistTemplateTest { + private final NewCatalogChecklistTemplate model = new NewCatalogChecklistTemplate(); + + /** + * Model tests for NewCatalogChecklistTemplate + */ + @Test + public void testNewCatalogChecklistTemplate() { + // TODO: test NewCatalogChecklistTemplate + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.java new file mode 100644 index 00000000..bb48479b --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.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 NewCatalogEntityDataAttributesPropertiesInner + */ +public class NewCatalogEntityDataAttributesPropertiesInnerTest { + private final NewCatalogEntityDataAttributesPropertiesInner model = new NewCatalogEntityDataAttributesPropertiesInner(); + + /** + * Model tests for NewCatalogEntityDataAttributesPropertiesInner + */ + @Test + public void testNewCatalogEntityDataAttributesPropertiesInner() { + // TODO: test NewCatalogEntityDataAttributesPropertiesInner + } + + /** + * Test the property 'catalogPropertyId' + */ + @Test + public void catalogPropertyIdTest() { + // TODO: test catalogPropertyId + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.java new file mode 100644 index 00000000..6ea35a67 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.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 NewCatalogPropertyDataAttributes + */ +public class NewCatalogPropertyDataAttributesTest { + private final NewCatalogPropertyDataAttributes model = new NewCatalogPropertyDataAttributes(); + + /** + * Model tests for NewCatalogPropertyDataAttributes + */ + @Test + public void testNewCatalogPropertyDataAttributes() { + // TODO: test NewCatalogPropertyDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'kindCatalogId' + */ + @Test + public void kindCatalogIdTest() { + // TODO: test kindCatalogId + } + + /** + * Test the property 'multiple' + */ + @Test + public void multipleTest() { + // TODO: test multiple + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.java new file mode 100644 index 00000000..2ee25d7a --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.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.NewCatalogPropertyDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCatalogPropertyData + */ +public class NewCatalogPropertyDataTest { + private final NewCatalogPropertyData model = new NewCatalogPropertyData(); + + /** + * Model tests for NewCatalogPropertyData + */ + @Test + public void testNewCatalogPropertyData() { + // TODO: test NewCatalogPropertyData + } + + /** + * 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/NewCatalogPropertyTest.java b/src/test/java/com/rootly/client/model/NewCatalogPropertyTest.java new file mode 100644 index 00000000..4b1ef842 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCatalogPropertyTest.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.NewCatalogPropertyData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCatalogProperty + */ +public class NewCatalogPropertyTest { + private final NewCatalogProperty model = new NewCatalogProperty(); + + /** + * Model tests for NewCatalogProperty + */ + @Test + public void testNewCatalogProperty() { + // TODO: test NewCatalogProperty + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.java b/src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.java new file mode 100644 index 00000000..ec0dbb65 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.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 NewCauseDataAttributesPropertiesInner + */ +public class NewCauseDataAttributesPropertiesInnerTest { + private final NewCauseDataAttributesPropertiesInner model = new NewCauseDataAttributesPropertiesInner(); + + /** + * Model tests for NewCauseDataAttributesPropertiesInner + */ + @Test + public void testNewCauseDataAttributesPropertiesInner() { + // TODO: test NewCauseDataAttributesPropertiesInner + } + + /** + * Test the property 'catalogPropertyId' + */ + @Test + public void catalogPropertyIdTest() { + // TODO: test catalogPropertyId + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java new file mode 100644 index 00000000..ef08ece5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.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 NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ +public class NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest { + private final NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner model = new NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner(); + + /** + * Model tests for NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + @Test + public void testNewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner() { + // TODO: test NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'phoneNumber' + */ + @Test + public void phoneNumberTest() { + // TODO: test phoneNumber + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java new file mode 100644 index 00000000..58d3c6b4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.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 NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ +public class NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest { + private final NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner model = new NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner(); + + /** + * Model tests for NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + @Test + public void testNewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner() { + // TODO: test NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + } + + /** + * 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/NewCommunicationsGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesTest.java new file mode 100644 index 00000000..cb25c4f2 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesTest.java @@ -0,0 +1,133 @@ +/* + * 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.NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner; +import com.rootly.client.model.NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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 NewCommunicationsGroupDataAttributes + */ +public class NewCommunicationsGroupDataAttributesTest { + private final NewCommunicationsGroupDataAttributes model = new NewCommunicationsGroupDataAttributes(); + + /** + * Model tests for NewCommunicationsGroupDataAttributes + */ + @Test + public void testNewCommunicationsGroupDataAttributes() { + // TODO: test NewCommunicationsGroupDataAttributes + } + + /** + * 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 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'isPrivate' + */ + @Test + public void isPrivateTest() { + // TODO: test isPrivate + } + + /** + * Test the property 'conditionType' + */ + @Test + public void conditionTypeTest() { + // TODO: test conditionType + } + + /** + * Test the property 'smsChannel' + */ + @Test + public void smsChannelTest() { + // TODO: test smsChannel + } + + /** + * Test the property 'emailChannel' + */ + @Test + public void emailChannelTest() { + // TODO: test emailChannel + } + + /** + * Test the property 'memberIds' + */ + @Test + public void memberIdsTest() { + // TODO: test memberIds + } + + /** + * Test the property 'slackChannelIds' + */ + @Test + public void slackChannelIdsTest() { + // TODO: test slackChannelIds + } + + /** + * Test the property 'communicationGroupConditions' + */ + @Test + public void communicationGroupConditionsTest() { + // TODO: test communicationGroupConditions + } + + /** + * Test the property 'communicationExternalGroupMembers' + */ + @Test + public void communicationExternalGroupMembersTest() { + // TODO: test communicationExternalGroupMembers + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataTest.java new file mode 100644 index 00000000..efe15908 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsGroupDataTest.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.NewCommunicationsGroupDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsGroupData + */ +public class NewCommunicationsGroupDataTest { + private final NewCommunicationsGroupData model = new NewCommunicationsGroupData(); + + /** + * Model tests for NewCommunicationsGroupData + */ + @Test + public void testNewCommunicationsGroupData() { + // TODO: test NewCommunicationsGroupData + } + + /** + * 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/NewCommunicationsGroupTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsGroupTest.java new file mode 100644 index 00000000..955459af --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsGroupTest.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.NewCommunicationsGroupData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsGroup + */ +public class NewCommunicationsGroupTest { + private final NewCommunicationsGroup model = new NewCommunicationsGroup(); + + /** + * Model tests for NewCommunicationsGroup + */ + @Test + public void testNewCommunicationsGroup() { + // TODO: test NewCommunicationsGroup + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsStageDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsStageDataAttributesTest.java new file mode 100644 index 00000000..2c2f4122 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsStageDataAttributesTest.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 NewCommunicationsStageDataAttributes + */ +public class NewCommunicationsStageDataAttributesTest { + private final NewCommunicationsStageDataAttributes model = new NewCommunicationsStageDataAttributes(); + + /** + * Model tests for NewCommunicationsStageDataAttributes + */ + @Test + public void testNewCommunicationsStageDataAttributes() { + // TODO: test NewCommunicationsStageDataAttributes + } + + /** + * 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 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsStageDataTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsStageDataTest.java new file mode 100644 index 00000000..aba3aa76 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsStageDataTest.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.NewCommunicationsStageDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsStageData + */ +public class NewCommunicationsStageDataTest { + private final NewCommunicationsStageData model = new NewCommunicationsStageData(); + + /** + * Model tests for NewCommunicationsStageData + */ + @Test + public void testNewCommunicationsStageData() { + // TODO: test NewCommunicationsStageData + } + + /** + * 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/NewCommunicationsStageTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsStageTest.java new file mode 100644 index 00000000..ee499d66 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsStageTest.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.NewCommunicationsStageData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsStage + */ +public class NewCommunicationsStageTest { + private final NewCommunicationsStage model = new NewCommunicationsStage(); + + /** + * Model tests for NewCommunicationsStage + */ + @Test + public void testNewCommunicationsStage() { + // TODO: test NewCommunicationsStage + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java new file mode 100644 index 00000000..a6242e1d --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java @@ -0,0 +1,81 @@ +/* + * 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 NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ +public class NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest { + private final NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner model = new NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner(); + + /** + * Model tests for NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + @Test + public void testNewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner() { + // TODO: test NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + } + + /** + * Test the property 'communicationStageId' + */ + @Test + public void communicationStageIdTest() { + // TODO: test communicationStageId + } + + /** + * Test the property 'smsContent' + */ + @Test + public void smsContentTest() { + // TODO: test smsContent + } + + /** + * Test the property 'emailSubject' + */ + @Test + public void emailSubjectTest() { + // TODO: test emailSubject + } + + /** + * Test the property 'emailBody' + */ + @Test + public void emailBodyTest() { + // TODO: test emailBody + } + + /** + * Test the property 'slackContent' + */ + @Test + public void slackContentTest() { + // TODO: test slackContent + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesTest.java new file mode 100644 index 00000000..0a18c3a8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataAttributesTest.java @@ -0,0 +1,84 @@ +/* + * 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.NewCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner; +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 NewCommunicationsTemplateDataAttributes + */ +public class NewCommunicationsTemplateDataAttributesTest { + private final NewCommunicationsTemplateDataAttributes model = new NewCommunicationsTemplateDataAttributes(); + + /** + * Model tests for NewCommunicationsTemplateDataAttributes + */ + @Test + public void testNewCommunicationsTemplateDataAttributes() { + // TODO: test NewCommunicationsTemplateDataAttributes + } + + /** + * 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 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'communicationTemplateStagesAttributes' + */ + @Test + public void communicationTemplateStagesAttributesTest() { + // TODO: test communicationTemplateStagesAttributes + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataTest.java new file mode 100644 index 00000000..b31652d2 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateDataTest.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.NewCommunicationsTemplateDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsTemplateData + */ +public class NewCommunicationsTemplateDataTest { + private final NewCommunicationsTemplateData model = new NewCommunicationsTemplateData(); + + /** + * Model tests for NewCommunicationsTemplateData + */ + @Test + public void testNewCommunicationsTemplateData() { + // TODO: test NewCommunicationsTemplateData + } + + /** + * 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/NewCommunicationsTemplateTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateTest.java new file mode 100644 index 00000000..be28d5ab --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTemplateTest.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.NewCommunicationsTemplateData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsTemplate + */ +public class NewCommunicationsTemplateTest { + private final NewCommunicationsTemplate model = new NewCommunicationsTemplate(); + + /** + * Model tests for NewCommunicationsTemplate + */ + @Test + public void testNewCommunicationsTemplate() { + // TODO: test NewCommunicationsTemplate + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java new file mode 100644 index 00000000..a1ddd327 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java @@ -0,0 +1,73 @@ +/* + * 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 NewCommunicationsTypeDataAttributes + */ +public class NewCommunicationsTypeDataAttributesTest { + private final NewCommunicationsTypeDataAttributes model = new NewCommunicationsTypeDataAttributes(); + + /** + * Model tests for NewCommunicationsTypeDataAttributes + */ + @Test + public void testNewCommunicationsTypeDataAttributes() { + // TODO: test NewCommunicationsTypeDataAttributes + } + + /** + * 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 'color' + */ + @Test + public void colorTest() { + // TODO: test color + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.java new file mode 100644 index 00000000..b35d0406 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.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.NewCommunicationsTypeDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsTypeData + */ +public class NewCommunicationsTypeDataTest { + private final NewCommunicationsTypeData model = new NewCommunicationsTypeData(); + + /** + * Model tests for NewCommunicationsTypeData + */ + @Test + public void testNewCommunicationsTypeData() { + // TODO: test NewCommunicationsTypeData + } + + /** + * 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/NewCommunicationsTypeTest.java b/src/test/java/com/rootly/client/model/NewCommunicationsTypeTest.java new file mode 100644 index 00000000..5600e536 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewCommunicationsTypeTest.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.NewCommunicationsTypeData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewCommunicationsType + */ +public class NewCommunicationsTypeTest { + private final NewCommunicationsType model = new NewCommunicationsType(); + + /** + * Model tests for NewCommunicationsType + */ + @Test + public void testNewCommunicationsType() { + // TODO: test NewCommunicationsType + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.java new file mode 100644 index 00000000..12e655b9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.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 NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + */ +public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest { + private final NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf model = new NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf(); + + /** + * Model tests for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + */ + @Test + public void testNewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf() { + // TODO: test NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf + } + + /** + * 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/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.java new file mode 100644 index 00000000..abc7b316 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.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.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOf; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + */ +public class NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest { + private final NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy model = new NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy(); + + /** + * Model tests for NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + */ + @Test + public void testNewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy() { + // TODO: test NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy + } + + /** + * 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/NewEdgeConnectorActionActionMetadataTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadataTest.java new file mode 100644 index 00000000..f84fbd43 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadataTest.java @@ -0,0 +1,76 @@ +/* + * 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.EdgeConnectorActionDataAttributesParametersInner; +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 NewEdgeConnectorActionActionMetadata + */ +public class NewEdgeConnectorActionActionMetadataTest { + private final NewEdgeConnectorActionActionMetadata model = new NewEdgeConnectorActionActionMetadata(); + + /** + * Model tests for NewEdgeConnectorActionActionMetadata + */ + @Test + public void testNewEdgeConnectorActionActionMetadata() { + // TODO: test NewEdgeConnectorActionActionMetadata + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'timeout' + */ + @Test + public void timeoutTest() { + // TODO: test timeout + } + + /** + * Test the property 'icon' + */ + @Test + public void iconTest() { + // TODO: test icon + } + + /** + * Test the property 'parameters' + */ + @Test + public void parametersTest() { + // TODO: test parameters + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.java new file mode 100644 index 00000000..7de27959 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.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.NewEdgeConnectorActionActionMetadata; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewEdgeConnectorActionAction + */ +public class NewEdgeConnectorActionActionTest { + private final NewEdgeConnectorActionAction model = new NewEdgeConnectorActionAction(); + + /** + * Model tests for NewEdgeConnectorActionAction + */ + @Test + public void testNewEdgeConnectorActionAction() { + // TODO: test NewEdgeConnectorActionAction + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'actionType' + */ + @Test + public void actionTypeTest() { + // TODO: test actionType + } + + /** + * Test the property 'metadata' + */ + @Test + public void metadataTest() { + // TODO: test metadata + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.java new file mode 100644 index 00000000..19f6b951 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.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.NewEdgeConnectorActionAction; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewEdgeConnectorAction + */ +public class NewEdgeConnectorActionTest { + private final NewEdgeConnectorAction model = new NewEdgeConnectorAction(); + + /** + * Model tests for NewEdgeConnectorAction + */ + @Test + public void testNewEdgeConnectorAction() { + // TODO: test NewEdgeConnectorAction + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java new file mode 100644 index 00000000..341ca2dd --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java @@ -0,0 +1,75 @@ +/* + * 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 NewEdgeConnectorEdgeConnector + */ +public class NewEdgeConnectorEdgeConnectorTest { + private final NewEdgeConnectorEdgeConnector model = new NewEdgeConnectorEdgeConnector(); + + /** + * Model tests for NewEdgeConnectorEdgeConnector + */ + @Test + public void testNewEdgeConnectorEdgeConnector() { + // TODO: test NewEdgeConnectorEdgeConnector + } + + /** + * 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 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'subscriptions' + */ + @Test + public void subscriptionsTest() { + // TODO: test subscriptions + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEdgeConnectorTest.java b/src/test/java/com/rootly/client/model/NewEdgeConnectorTest.java new file mode 100644 index 00000000..2c6479ba --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEdgeConnectorTest.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.NewEdgeConnectorEdgeConnector; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewEdgeConnector + */ +public class NewEdgeConnectorTest { + private final NewEdgeConnector model = new NewEdgeConnector(); + + /** + * Model tests for NewEdgeConnector + */ + @Test + public void testNewEdgeConnector() { + // TODO: test NewEdgeConnector + } + + /** + * Test the property 'edgeConnector' + */ + @Test + public void edgeConnectorTest() { + // TODO: test edgeConnector + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.java new file mode 100644 index 00000000..b7ad5027 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test.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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf1Test { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf1(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf1() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'withinWorkingHour' + */ + @Test + public void withinWorkingHourTest() { + // TODO: test withinWorkingHour + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java new file mode 100644 index 00000000..78487e57 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test.java @@ -0,0 +1,83 @@ +/* + * 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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf2Test { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf2(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf2() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'jsonPath' + */ + @Test + public void jsonPathTest() { + // TODO: test jsonPath + } + + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + + /** + * Test the property 'value' + */ + @Test + public void valueTest() { + // TODO: test value + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.java new file mode 100644 index 00000000..7621f4be --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test.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.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 + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf3Test { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf3(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf3() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'fieldableType' + */ + @Test + public void fieldableTypeTest() { + // TODO: test fieldableType + } + + /** + * Test the property 'fieldableId' + */ + @Test + public void fieldableIdTest() { + // TODO: test fieldableId + } + + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.java new file mode 100644 index 00000000..dcb9dc7c --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test.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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf4Test { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf4(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf4() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'serviceIds' + */ + @Test + public void serviceIdsTest() { + // TODO: test serviceIds + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java new file mode 100644 index 00000000..f1ec982d --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test.java @@ -0,0 +1,67 @@ +/* + * 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.NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner; +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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5Test { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf5(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf5() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + + /** + * Test the property 'timeBlocks' + */ + @Test + public void timeBlocksTest() { + // TODO: test timeBlocks + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.java new file mode 100644 index 00000000..dea54ad5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest.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.util.Arrays; +import org.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInnerTest { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner + } + + /** + * Test the property 'monday' + */ + @Test + public void mondayTest() { + // TODO: test monday + } + + /** + * Test the property 'tuesday' + */ + @Test + public void tuesdayTest() { + // TODO: test tuesday + } + + /** + * Test the property 'wednesday' + */ + @Test + public void wednesdayTest() { + // TODO: test wednesday + } + + /** + * Test the property 'thursday' + */ + @Test + public void thursdayTest() { + // TODO: test thursday + } + + /** + * Test the property 'friday' + */ + @Test + public void fridayTest() { + // TODO: test friday + } + + /** + * Test the property 'saturday' + */ + @Test + public void saturdayTest() { + // TODO: test saturday + } + + /** + * Test the property 'sunday' + */ + @Test + public void sundayTest() { + // TODO: test sunday + } + + /** + * 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 'allDay' + */ + @Test + public void allDayTest() { + // TODO: test allDay + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.java new file mode 100644 index 00000000..cf158d5a --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.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 NewEscalationPolicyPathDataAttributesRulesInnerOneOf + */ +public class NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest { + private final NewEscalationPolicyPathDataAttributesRulesInnerOneOf model = new NewEscalationPolicyPathDataAttributesRulesInnerOneOf(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerOneOf + */ + @Test + public void testNewEscalationPolicyPathDataAttributesRulesInnerOneOf() { + // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerOneOf + } + + /** + * Test the property 'ruleType' + */ + @Test + public void ruleTypeTest() { + // TODO: test ruleType + } + + /** + * Test the property 'urgencyIds' + */ + @Test + public void urgencyIdsTest() { + // TODO: test urgencyIds + } + +} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java new file mode 100644 index 00000000..9d62883b --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.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 NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ +public class NewEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest { + private final NewEscalationPolicyPathDataAttributesTimeRestrictionsInner model = new NewEscalationPolicyPathDataAttributesTimeRestrictionsInner(); + + /** + * Model tests for NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + @Test + public void testNewEscalationPolicyPathDataAttributesTimeRestrictionsInner() { + // TODO: test NewEscalationPolicyPathDataAttributesTimeRestrictionsInner + } + + /** + * 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/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.java b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.java new file mode 100644 index 00000000..c2dda506 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.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 NewLiveCallRouterDataAttributesPagingTargetsInner + */ +public class NewLiveCallRouterDataAttributesPagingTargetsInnerTest { + private final NewLiveCallRouterDataAttributesPagingTargetsInner model = new NewLiveCallRouterDataAttributesPagingTargetsInner(); + + /** + * Model tests for NewLiveCallRouterDataAttributesPagingTargetsInner + */ + @Test + public void testNewLiveCallRouterDataAttributesPagingTargetsInner() { + // TODO: test NewLiveCallRouterDataAttributesPagingTargetsInner + } + + /** + * 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/NewOnCallPayReportDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewOnCallPayReportDataAttributesTest.java new file mode 100644 index 00000000..68f11bac --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewOnCallPayReportDataAttributesTest.java @@ -0,0 +1,67 @@ +/* + * 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.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewOnCallPayReportDataAttributes + */ +public class NewOnCallPayReportDataAttributesTest { + private final NewOnCallPayReportDataAttributes model = new NewOnCallPayReportDataAttributes(); + + /** + * Model tests for NewOnCallPayReportDataAttributes + */ + @Test + public void testNewOnCallPayReportDataAttributes() { + // TODO: test NewOnCallPayReportDataAttributes + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'endDate' + */ + @Test + public void endDateTest() { + // TODO: test endDate + } + + /** + * Test the property 'scheduleIds' + */ + @Test + public void scheduleIdsTest() { + // TODO: test scheduleIds + } + +} diff --git a/src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.java b/src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.java new file mode 100644 index 00000000..5eca3364 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.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.NewOnCallPayReportDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewOnCallPayReportData + */ +public class NewOnCallPayReportDataTest { + private final NewOnCallPayReportData model = new NewOnCallPayReportData(); + + /** + * Model tests for NewOnCallPayReportData + */ + @Test + public void testNewOnCallPayReportData() { + // TODO: test NewOnCallPayReportData + } + + /** + * 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/NewOnCallPayReportTest.java b/src/test/java/com/rootly/client/model/NewOnCallPayReportTest.java new file mode 100644 index 00000000..e91cff53 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewOnCallPayReportTest.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.NewOnCallPayReportData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewOnCallPayReport + */ +public class NewOnCallPayReportTest { + private final NewOnCallPayReport model = new NewOnCallPayReport(); + + /** + * Model tests for NewOnCallPayReport + */ + @Test + public void testNewOnCallPayReport() { + // TODO: test NewOnCallPayReport + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.java b/src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.java new file mode 100644 index 00000000..cc3e456b --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewPulseDataAttributesLabelsInnerTest.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 NewPulseDataAttributesLabelsInner + */ +public class NewPulseDataAttributesLabelsInnerTest { + private final NewPulseDataAttributesLabelsInner model = new NewPulseDataAttributesLabelsInner(); + + /** + * Model tests for NewPulseDataAttributesLabelsInner + */ + @Test + public void testNewPulseDataAttributesLabelsInner() { + // TODO: test NewPulseDataAttributesLabelsInner + } + + /** + * 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/NewScheduleDataAttributesSlackChannelTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannelTest.java new file mode 100644 index 00000000..cb0a3338 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannelTest.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 NewScheduleDataAttributesSlackChannel + */ +public class NewScheduleDataAttributesSlackChannelTest { + private final NewScheduleDataAttributesSlackChannel model = new NewScheduleDataAttributesSlackChannel(); + + /** + * Model tests for NewScheduleDataAttributesSlackChannel + */ + @Test + public void testNewScheduleDataAttributesSlackChannel() { + // TODO: test NewScheduleDataAttributesSlackChannel + } + + /** + * 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/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.java new file mode 100644 index 00000000..e06714ce --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.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 NewScheduleRotationDataAttributesScheduleRotationMembersInner + */ +public class NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest { + private final NewScheduleRotationDataAttributesScheduleRotationMembersInner model = new NewScheduleRotationDataAttributesScheduleRotationMembersInner(); + + /** + * Model tests for NewScheduleRotationDataAttributesScheduleRotationMembersInner + */ + @Test + public void testNewScheduleRotationDataAttributesScheduleRotationMembersInner() { + // TODO: test NewScheduleRotationDataAttributesScheduleRotationMembersInner + } + + /** + * Test the property 'memberType' + */ + @Test + public void memberTypeTest() { + // TODO: test memberType + } + + /** + * Test the property 'memberId' + */ + @Test + public void memberIdTest() { + // TODO: test memberId + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.java b/src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.java new file mode 100644 index 00000000..a9bc7380 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.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 NewServiceDataAttributesAlertBroadcastChannel + */ +public class NewServiceDataAttributesAlertBroadcastChannelTest { + private final NewServiceDataAttributesAlertBroadcastChannel model = new NewServiceDataAttributesAlertBroadcastChannel(); + + /** + * Model tests for NewServiceDataAttributesAlertBroadcastChannel + */ + @Test + public void testNewServiceDataAttributesAlertBroadcastChannel() { + // TODO: test NewServiceDataAttributesAlertBroadcastChannel + } + + /** + * 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/NewServiceDataAttributesIncidentBroadcastChannelTest.java b/src/test/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannelTest.java new file mode 100644 index 00000000..90d765d5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannelTest.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 NewServiceDataAttributesIncidentBroadcastChannel + */ +public class NewServiceDataAttributesIncidentBroadcastChannelTest { + private final NewServiceDataAttributesIncidentBroadcastChannel model = new NewServiceDataAttributesIncidentBroadcastChannel(); + + /** + * Model tests for NewServiceDataAttributesIncidentBroadcastChannel + */ + @Test + public void testNewServiceDataAttributesIncidentBroadcastChannel() { + // TODO: test NewServiceDataAttributesIncidentBroadcastChannel + } + + /** + * 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/NewSlaDataAttributesConditionsInnerTest.java b/src/test/java/com/rootly/client/model/NewSlaDataAttributesConditionsInnerTest.java new file mode 100644 index 00000000..a02a3645 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewSlaDataAttributesConditionsInnerTest.java @@ -0,0 +1,92 @@ +/* + * 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.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewSlaDataAttributesConditionsInner + */ +public class NewSlaDataAttributesConditionsInnerTest { + private final NewSlaDataAttributesConditionsInner model = new NewSlaDataAttributesConditionsInner(); + + /** + * Model tests for NewSlaDataAttributesConditionsInner + */ + @Test + public void testNewSlaDataAttributesConditionsInner() { + // TODO: test NewSlaDataAttributesConditionsInner + } + + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * Test the property 'property' + */ + @Test + public void propertyTest() { + // TODO: test property + } + + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * Test the property 'formFieldId' + */ + @Test + public void formFieldIdTest() { + // TODO: test formFieldId + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.java b/src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.java new file mode 100644 index 00000000..00d11a8a --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.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 NewSlaDataAttributesNotificationConfigurationsInner + */ +public class NewSlaDataAttributesNotificationConfigurationsInnerTest { + private final NewSlaDataAttributesNotificationConfigurationsInner model = new NewSlaDataAttributesNotificationConfigurationsInner(); + + /** + * Model tests for NewSlaDataAttributesNotificationConfigurationsInner + */ + @Test + public void testNewSlaDataAttributesNotificationConfigurationsInner() { + // TODO: test NewSlaDataAttributesNotificationConfigurationsInner + } + + /** + * Test the property 'offsetType' + */ + @Test + public void offsetTypeTest() { + // TODO: test offsetType + } + + /** + * Test the property 'offsetDays' + */ + @Test + public void offsetDaysTest() { + // TODO: test offsetDays + } + +} diff --git a/src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java new file mode 100644 index 00000000..67dc46f5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java @@ -0,0 +1,174 @@ +/* + * 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.NewSlaDataAttributesConditionsInner; +import com.rootly.client.model.NewSlaDataAttributesNotificationConfigurationsInner; +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 NewSlaDataAttributes + */ +public class NewSlaDataAttributesTest { + private final NewSlaDataAttributes model = new NewSlaDataAttributes(); + + /** + * Model tests for NewSlaDataAttributes + */ + @Test + public void testNewSlaDataAttributes() { + // TODO: test NewSlaDataAttributes + } + + /** + * 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 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditionMatchType' + */ + @Test + public void conditionMatchTypeTest() { + // TODO: test conditionMatchType + } + + /** + * Test the property 'managerRoleId' + */ + @Test + public void managerRoleIdTest() { + // TODO: test managerRoleId + } + + /** + * Test the property 'managerUserId' + */ + @Test + public void managerUserIdTest() { + // TODO: test managerUserId + } + + /** + * Test the property 'assignmentDeadlineDays' + */ + @Test + public void assignmentDeadlineDaysTest() { + // TODO: test assignmentDeadlineDays + } + + /** + * Test the property 'assignmentDeadlineParentStatus' + */ + @Test + public void assignmentDeadlineParentStatusTest() { + // TODO: test assignmentDeadlineParentStatus + } + + /** + * Test the property 'assignmentDeadlineSubStatusId' + */ + @Test + public void assignmentDeadlineSubStatusIdTest() { + // TODO: test assignmentDeadlineSubStatusId + } + + /** + * Test the property 'assignmentSkipWeekends' + */ + @Test + public void assignmentSkipWeekendsTest() { + // TODO: test assignmentSkipWeekends + } + + /** + * Test the property 'completionDeadlineDays' + */ + @Test + public void completionDeadlineDaysTest() { + // TODO: test completionDeadlineDays + } + + /** + * Test the property 'completionDeadlineParentStatus' + */ + @Test + public void completionDeadlineParentStatusTest() { + // TODO: test completionDeadlineParentStatus + } + + /** + * Test the property 'completionDeadlineSubStatusId' + */ + @Test + public void completionDeadlineSubStatusIdTest() { + // TODO: test completionDeadlineSubStatusId + } + + /** + * Test the property 'completionSkipWeekends' + */ + @Test + public void completionSkipWeekendsTest() { + // TODO: test completionSkipWeekends + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + + /** + * Test the property 'notificationConfigurations' + */ + @Test + public void notificationConfigurationsTest() { + // TODO: test notificationConfigurations + } + +} diff --git a/src/test/java/com/rootly/client/model/NewSlaDataTest.java b/src/test/java/com/rootly/client/model/NewSlaDataTest.java new file mode 100644 index 00000000..87ec8ba8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewSlaDataTest.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.NewSlaDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewSlaData + */ +public class NewSlaDataTest { + private final NewSlaData model = new NewSlaData(); + + /** + * Model tests for NewSlaData + */ + @Test + public void testNewSlaData() { + // TODO: test NewSlaData + } + + /** + * 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/NewSlaTest.java b/src/test/java/com/rootly/client/model/NewSlaTest.java new file mode 100644 index 00000000..87a4afa7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewSlaTest.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.NewSlaData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewSla + */ +public class NewSlaTest { + private final NewSla model = new NewSla(); + + /** + * Model tests for NewSla + */ + @Test + public void testNewSla() { + // TODO: test NewSla + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.java new file mode 100644 index 00000000..c8b639b7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.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 NewUserEmailAddressDataAttributes + */ +public class NewUserEmailAddressDataAttributesTest { + private final NewUserEmailAddressDataAttributes model = new NewUserEmailAddressDataAttributes(); + + /** + * Model tests for NewUserEmailAddressDataAttributes + */ + @Test + public void testNewUserEmailAddressDataAttributes() { + // TODO: test NewUserEmailAddressDataAttributes + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + +} diff --git a/src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.java b/src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.java new file mode 100644 index 00000000..5a26b4ec --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.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.NewUserEmailAddressDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewUserEmailAddressData + */ +public class NewUserEmailAddressDataTest { + private final NewUserEmailAddressData model = new NewUserEmailAddressData(); + + /** + * Model tests for NewUserEmailAddressData + */ + @Test + public void testNewUserEmailAddressData() { + // TODO: test NewUserEmailAddressData + } + + /** + * 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/NewUserEmailAddressTest.java b/src/test/java/com/rootly/client/model/NewUserEmailAddressTest.java new file mode 100644 index 00000000..0d2538e1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserEmailAddressTest.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.NewUserEmailAddressData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewUserEmailAddress + */ +public class NewUserEmailAddressTest { + private final NewUserEmailAddress model = new NewUserEmailAddress(); + + /** + * Model tests for NewUserEmailAddress + */ + @Test + public void testNewUserEmailAddress() { + // TODO: test NewUserEmailAddress + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.java new file mode 100644 index 00000000..0813a1e8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.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 NewUserPhoneNumberDataAttributes + */ +public class NewUserPhoneNumberDataAttributesTest { + private final NewUserPhoneNumberDataAttributes model = new NewUserPhoneNumberDataAttributes(); + + /** + * Model tests for NewUserPhoneNumberDataAttributes + */ + @Test + public void testNewUserPhoneNumberDataAttributes() { + // TODO: test NewUserPhoneNumberDataAttributes + } + + /** + * Test the property 'phone' + */ + @Test + public void phoneTest() { + // TODO: test phone + } + +} diff --git a/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.java b/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.java new file mode 100644 index 00000000..68947fd4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.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.NewUserPhoneNumberDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewUserPhoneNumberData + */ +public class NewUserPhoneNumberDataTest { + private final NewUserPhoneNumberData model = new NewUserPhoneNumberData(); + + /** + * Model tests for NewUserPhoneNumberData + */ + @Test + public void testNewUserPhoneNumberData() { + // TODO: test NewUserPhoneNumberData + } + + /** + * 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/NewUserPhoneNumberTest.java b/src/test/java/com/rootly/client/model/NewUserPhoneNumberTest.java new file mode 100644 index 00000000..8d16f7db --- /dev/null +++ b/src/test/java/com/rootly/client/model/NewUserPhoneNumberTest.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.NewUserPhoneNumberData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for NewUserPhoneNumber + */ +public class NewUserPhoneNumberTest { + private final NewUserPhoneNumber model = new NewUserPhoneNumber(); + + /** + * Model tests for NewUserPhoneNumber + */ + @Test + public void testNewUserPhoneNumber() { + // TODO: test NewUserPhoneNumber + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/OnCallPayReportListTest.java b/src/test/java/com/rootly/client/model/OnCallPayReportListTest.java new file mode 100644 index 00000000..d0c888a0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/OnCallPayReportListTest.java @@ -0,0 +1,69 @@ +/* + * 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.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.OnCallPayReportResponseData; +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 OnCallPayReportList + */ +public class OnCallPayReportListTest { + private final OnCallPayReportList model = new OnCallPayReportList(); + + /** + * Model tests for OnCallPayReportList + */ + @Test + public void testOnCallPayReportList() { + // TODO: test OnCallPayReportList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.java b/src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.java new file mode 100644 index 00000000..06e1aaad --- /dev/null +++ b/src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.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.OnCallPayReport; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for OnCallPayReportResponseData + */ +public class OnCallPayReportResponseDataTest { + private final OnCallPayReportResponseData model = new OnCallPayReportResponseData(); + + /** + * Model tests for OnCallPayReportResponseData + */ + @Test + public void testOnCallPayReportResponseData() { + // TODO: test OnCallPayReportResponseData + } + + /** + * 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/OnCallPayReportResponseTest.java b/src/test/java/com/rootly/client/model/OnCallPayReportResponseTest.java new file mode 100644 index 00000000..666ad2dc --- /dev/null +++ b/src/test/java/com/rootly/client/model/OnCallPayReportResponseTest.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.OnCallPayReportResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for OnCallPayReportResponse + */ +public class OnCallPayReportResponseTest { + private final OnCallPayReportResponse model = new OnCallPayReportResponse(); + + /** + * Model tests for OnCallPayReportResponse + */ + @Test + public void testOnCallPayReportResponse() { + // TODO: test OnCallPayReportResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/OnCallPayReportTest.java b/src/test/java/com/rootly/client/model/OnCallPayReportTest.java new file mode 100644 index 00000000..20812c09 --- /dev/null +++ b/src/test/java/com/rootly/client/model/OnCallPayReportTest.java @@ -0,0 +1,204 @@ +/* + * 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.net.URI; +import java.time.LocalDate; +import java.time.OffsetDateTime; +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 OnCallPayReport + */ +public class OnCallPayReportTest { + private final OnCallPayReport model = new OnCallPayReport(); + + /** + * Model tests for OnCallPayReport + */ + @Test + public void testOnCallPayReport() { + // TODO: test OnCallPayReport + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'endDate' + */ + @Test + public void endDateTest() { + // TODO: test endDate + } + + /** + * Test the property 'totalDuration' + */ + @Test + public void totalDurationTest() { + // TODO: test totalDuration + } + + /** + * Test the property 'usersCount' + */ + @Test + public void usersCountTest() { + // TODO: test usersCount + } + + /** + * Test the property 'currency' + */ + @Test + public void currencyTest() { + // TODO: test currency + } + + /** + * Test the property 'payType' + */ + @Test + public void payTypeTest() { + // TODO: test payType + } + + /** + * Test the property 'hourlyRateCents' + */ + @Test + public void hourlyRateCentsTest() { + // TODO: test hourlyRateCents + } + + /** + * Test the property 'dailyRateCents' + */ + @Test + public void dailyRateCentsTest() { + // TODO: test dailyRateCents + } + + /** + * Test the property 'totalPayCents' + */ + @Test + public void totalPayCentsTest() { + // TODO: test totalPayCents + } + + /** + * Test the property 'includeShadow' + */ + @Test + public void includeShadowTest() { + // TODO: test includeShadow + } + + /** + * Test the property 'showIndividualShiftData' + */ + @Test + public void showIndividualShiftDataTest() { + // TODO: test showIndividualShiftData + } + + /** + * Test the property 'hasSingleRate' + */ + @Test + public void hasSingleRateTest() { + // TODO: test hasSingleRate + } + + /** + * Test the property 'enabledGranularTimeBreakdown' + */ + @Test + public void enabledGranularTimeBreakdownTest() { + // TODO: test enabledGranularTimeBreakdown + } + + /** + * Test the property 'lastGeneratedAt' + */ + @Test + public void lastGeneratedAtTest() { + // TODO: test lastGeneratedAt + } + + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + + /** + * Test the property 'csvFileUrl' + */ + @Test + public void csvFileUrlTest() { + // TODO: test csvFileUrl + } + + /** + * Test the property 'xlsxFileUrl' + */ + @Test + public void xlsxFileUrlTest() { + // TODO: test xlsxFileUrl + } + + /** + * 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/PageJsmopsOnCallRespondersTaskParamsTest.java b/src/test/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParamsTest.java new file mode 100644 index 00000000..630d2664 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParamsTest.java @@ -0,0 +1,100 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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 PageJsmopsOnCallRespondersTaskParams + */ +public class PageJsmopsOnCallRespondersTaskParamsTest { + private final PageJsmopsOnCallRespondersTaskParams model = new PageJsmopsOnCallRespondersTaskParams(); + + /** + * Model tests for PageJsmopsOnCallRespondersTaskParams + */ + @Test + public void testPageJsmopsOnCallRespondersTaskParams() { + // TODO: test PageJsmopsOnCallRespondersTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'teams' + */ + @Test + public void teamsTest() { + // TODO: test teams + } + + /** + * Test the property 'users' + */ + @Test + public void usersTest() { + // TODO: test users + } + + /** + * Test the property 'priority' + */ + @Test + public void priorityTest() { + // TODO: test priority + } + +} diff --git a/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java new file mode 100644 index 00000000..25292fa0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java @@ -0,0 +1,124 @@ +/* + * 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.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ +public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest { + private final PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner model = new PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner(); + + /** + * Model tests for PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + */ + @Test + public void testPatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner() { + // TODO: test PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'destroy' + */ + @Test + public void destroyTest() { + // TODO: test destroy + } + + /** + * 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/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java new file mode 100644 index 00000000..905ed75d --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java @@ -0,0 +1,76 @@ +/* + * 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.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInner; +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 PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ +public class PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest { + private final PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner model = new PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner(); + + /** + * Model tests for PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + */ + @Test + public void testPatchAlertRouteDataAttributesRulesInnerConditionGroupsInner() { + // TODO: test PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'destroy' + */ + @Test + public void destroyTest() { + // TODO: test destroy + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + +} diff --git a/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java new file mode 100644 index 00000000..c93bfb93 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java @@ -0,0 +1,73 @@ +/* + * 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 PatchAlertRouteDataAttributesRulesInnerDestinationsInner + */ +public class PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest { + private final PatchAlertRouteDataAttributesRulesInnerDestinationsInner model = new PatchAlertRouteDataAttributesRulesInnerDestinationsInner(); + + /** + * Model tests for PatchAlertRouteDataAttributesRulesInnerDestinationsInner + */ + @Test + public void testPatchAlertRouteDataAttributesRulesInnerDestinationsInner() { + // TODO: test PatchAlertRouteDataAttributesRulesInnerDestinationsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'destroy' + */ + @Test + public void destroyTest() { + // TODO: test destroy + } + + /** + * 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/PatchAlertRouteDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerTest.java new file mode 100644 index 00000000..891e147a --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerTest.java @@ -0,0 +1,101 @@ +/* + * 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.PatchAlertRouteDataAttributesRulesInnerConditionGroupsInner; +import com.rootly.client.model.PatchAlertRouteDataAttributesRulesInnerDestinationsInner; +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 PatchAlertRouteDataAttributesRulesInner + */ +public class PatchAlertRouteDataAttributesRulesInnerTest { + private final PatchAlertRouteDataAttributesRulesInner model = new PatchAlertRouteDataAttributesRulesInner(); + + /** + * Model tests for PatchAlertRouteDataAttributesRulesInner + */ + @Test + public void testPatchAlertRouteDataAttributesRulesInner() { + // TODO: test PatchAlertRouteDataAttributesRulesInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'destroy' + */ + @Test + public void destroyTest() { + // TODO: test destroy + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'fallbackRule' + */ + @Test + public void fallbackRuleTest() { + // TODO: test fallbackRule + } + + /** + * Test the property 'destinations' + */ + @Test + public void destinationsTest() { + // TODO: test destinations + } + + /** + * Test the property 'conditionGroups' + */ + @Test + public void conditionGroupsTest() { + // TODO: test conditionGroups + } + +} diff --git a/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java new file mode 100644 index 00000000..98d95cfc --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java @@ -0,0 +1,84 @@ +/* + * 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.PatchAlertRouteDataAttributesRulesInner; +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 PatchAlertRouteDataAttributes + */ +public class PatchAlertRouteDataAttributesTest { + private final PatchAlertRouteDataAttributes model = new PatchAlertRouteDataAttributes(); + + /** + * Model tests for PatchAlertRouteDataAttributes + */ + @Test + public void testPatchAlertRouteDataAttributes() { + // TODO: test PatchAlertRouteDataAttributes + } + + /** + * 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 'alertsSourceIds' + */ + @Test + public void alertsSourceIdsTest() { + // TODO: test alertsSourceIds + } + + /** + * Test the property 'owningTeamIds' + */ + @Test + public void owningTeamIdsTest() { + // TODO: test owningTeamIds + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + +} diff --git a/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java new file mode 100644 index 00000000..60c46803 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.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.PatchAlertRouteDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PatchAlertRouteData + */ +public class PatchAlertRouteDataTest { + private final PatchAlertRouteData model = new PatchAlertRouteData(); + + /** + * Model tests for PatchAlertRouteData + */ + @Test + public void testPatchAlertRouteData() { + // TODO: test PatchAlertRouteData + } + + /** + * 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/PatchAlertRouteTest.java b/src/test/java/com/rootly/client/model/PatchAlertRouteTest.java new file mode 100644 index 00000000..0c07f595 --- /dev/null +++ b/src/test/java/com/rootly/client/model/PatchAlertRouteTest.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.PatchAlertRouteData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for PatchAlertRoute + */ +public class PatchAlertRouteTest { + private final PatchAlertRoute model = new PatchAlertRoute(); + + /** + * Model tests for PatchAlertRoute + */ + @Test + public void testPatchAlertRoute() { + // TODO: test PatchAlertRoute + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.java b/src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.java new file mode 100644 index 00000000..0881507e --- /dev/null +++ b/src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.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 PhoneVerificationResponse + */ +public class PhoneVerificationResponseTest { + private final PhoneVerificationResponse model = new PhoneVerificationResponse(); + + /** + * Model tests for PhoneVerificationResponse + */ + @Test + public void testPhoneVerificationResponse() { + // TODO: test PhoneVerificationResponse + } + + /** + * Test the property 'message' + */ + @Test + public void messageTest() { + // TODO: test message + } + + /** + * Test the property 'error' + */ + @Test + public void errorTest() { + // TODO: test error + } + +} diff --git a/src/test/java/com/rootly/client/model/RotateApiKeyDataAttributesTest.java b/src/test/java/com/rootly/client/model/RotateApiKeyDataAttributesTest.java new file mode 100644 index 00000000..11e1043a --- /dev/null +++ b/src/test/java/com/rootly/client/model/RotateApiKeyDataAttributesTest.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.time.OffsetDateTime; +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 RotateApiKeyDataAttributes + */ +public class RotateApiKeyDataAttributesTest { + private final RotateApiKeyDataAttributes model = new RotateApiKeyDataAttributes(); + + /** + * Model tests for RotateApiKeyDataAttributes + */ + @Test + public void testRotateApiKeyDataAttributes() { + // TODO: test RotateApiKeyDataAttributes + } + + /** + * Test the property 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + + /** + * Test the property 'gracePeriodMinutes' + */ + @Test + public void gracePeriodMinutesTest() { + // TODO: test gracePeriodMinutes + } + +} diff --git a/src/test/java/com/rootly/client/model/RotateApiKeyDataTest.java b/src/test/java/com/rootly/client/model/RotateApiKeyDataTest.java new file mode 100644 index 00000000..477321ed --- /dev/null +++ b/src/test/java/com/rootly/client/model/RotateApiKeyDataTest.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.RotateApiKeyDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for RotateApiKeyData + */ +public class RotateApiKeyDataTest { + private final RotateApiKeyData model = new RotateApiKeyData(); + + /** + * Model tests for RotateApiKeyData + */ + @Test + public void testRotateApiKeyData() { + // TODO: test RotateApiKeyData + } + + /** + * 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/RotateApiKeyTest.java b/src/test/java/com/rootly/client/model/RotateApiKeyTest.java new file mode 100644 index 00000000..a1c87157 --- /dev/null +++ b/src/test/java/com/rootly/client/model/RotateApiKeyTest.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.RotateApiKeyData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for RotateApiKey + */ +public class RotateApiKeyTest { + private final RotateApiKey model = new RotateApiKey(); + + /** + * Model tests for RotateApiKey + */ + @Test + public void testRotateApiKey() { + // TODO: test RotateApiKey + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/ScheduleSlackChannelTest.java b/src/test/java/com/rootly/client/model/ScheduleSlackChannelTest.java new file mode 100644 index 00000000..b13801cb --- /dev/null +++ b/src/test/java/com/rootly/client/model/ScheduleSlackChannelTest.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 ScheduleSlackChannel + */ +public class ScheduleSlackChannelTest { + private final ScheduleSlackChannel model = new ScheduleSlackChannel(); + + /** + * Model tests for ScheduleSlackChannel + */ + @Test + public void testScheduleSlackChannel() { + // TODO: test ScheduleSlackChannel + } + + /** + * 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/SendMicrosoftTeamsChatMessageTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParamsTest.java new file mode 100644 index 00000000..323b6b1c --- /dev/null +++ b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParamsTest.java @@ -0,0 +1,67 @@ +/* + * 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.AddActionItemTaskParamsPostToSlackChannelsInner; +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 SendMicrosoftTeamsChatMessageTaskParams + */ +public class SendMicrosoftTeamsChatMessageTaskParamsTest { + private final SendMicrosoftTeamsChatMessageTaskParams model = new SendMicrosoftTeamsChatMessageTaskParams(); + + /** + * Model tests for SendMicrosoftTeamsChatMessageTaskParams + */ + @Test + public void testSendMicrosoftTeamsChatMessageTaskParams() { + // TODO: test SendMicrosoftTeamsChatMessageTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'chats' + */ + @Test + public void chatsTest() { + // TODO: test chats + } + + /** + * Test the property 'text' + */ + @Test + public void textTest() { + // TODO: test text + } + +} diff --git a/src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.java b/src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.java new file mode 100644 index 00000000..2fbfb464 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.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 ServiceAlertBroadcastChannel + */ +public class ServiceAlertBroadcastChannelTest { + private final ServiceAlertBroadcastChannel model = new ServiceAlertBroadcastChannel(); + + /** + * Model tests for ServiceAlertBroadcastChannel + */ + @Test + public void testServiceAlertBroadcastChannel() { + // TODO: test ServiceAlertBroadcastChannel + } + + /** + * 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/ServiceIncidentBroadcastChannelTest.java b/src/test/java/com/rootly/client/model/ServiceIncidentBroadcastChannelTest.java new file mode 100644 index 00000000..b9803491 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ServiceIncidentBroadcastChannelTest.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 ServiceIncidentBroadcastChannel + */ +public class ServiceIncidentBroadcastChannelTest { + private final ServiceIncidentBroadcastChannel model = new ServiceIncidentBroadcastChannel(); + + /** + * Model tests for ServiceIncidentBroadcastChannel + */ + @Test + public void testServiceIncidentBroadcastChannel() { + // TODO: test ServiceIncidentBroadcastChannel + } + + /** + * 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/ShiftRelationshipsAssigneeDataTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeDataTest.java new file mode 100644 index 00000000..e01524a9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeDataTest.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 ShiftRelationshipsAssigneeData + */ +public class ShiftRelationshipsAssigneeDataTest { + private final ShiftRelationshipsAssigneeData model = new ShiftRelationshipsAssigneeData(); + + /** + * Model tests for ShiftRelationshipsAssigneeData + */ + @Test + public void testShiftRelationshipsAssigneeData() { + // TODO: test ShiftRelationshipsAssigneeData + } + + /** + * 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/ShiftRelationshipsAssigneeTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeTest.java new file mode 100644 index 00000000..87eee05b --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeTest.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.ShiftRelationshipsAssigneeData; +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 ShiftRelationshipsAssignee + */ +public class ShiftRelationshipsAssigneeTest { + private final ShiftRelationshipsAssignee model = new ShiftRelationshipsAssignee(); + + /** + * Model tests for ShiftRelationshipsAssignee + */ + @Test + public void testShiftRelationshipsAssignee() { + // TODO: test ShiftRelationshipsAssignee + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.java new file mode 100644 index 00000000..d57e3aab --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.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 ShiftRelationshipsShiftOverrideData + */ +public class ShiftRelationshipsShiftOverrideDataTest { + private final ShiftRelationshipsShiftOverrideData model = new ShiftRelationshipsShiftOverrideData(); + + /** + * Model tests for ShiftRelationshipsShiftOverrideData + */ + @Test + public void testShiftRelationshipsShiftOverrideData() { + // TODO: test ShiftRelationshipsShiftOverrideData + } + + /** + * 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/ShiftRelationshipsShiftOverrideTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideTest.java new file mode 100644 index 00000000..8ebdef46 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideTest.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.ShiftRelationshipsShiftOverrideData; +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 ShiftRelationshipsShiftOverride + */ +public class ShiftRelationshipsShiftOverrideTest { + private final ShiftRelationshipsShiftOverride model = new ShiftRelationshipsShiftOverride(); + + /** + * Model tests for ShiftRelationshipsShiftOverride + */ + @Test + public void testShiftRelationshipsShiftOverride() { + // TODO: test ShiftRelationshipsShiftOverride + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java new file mode 100644 index 00000000..4fa040e5 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java @@ -0,0 +1,67 @@ +/* + * 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.ShiftRelationshipsAssignee; +import com.rootly.client.model.ShiftRelationshipsShiftOverride; +import com.rootly.client.model.ShiftRelationshipsUser; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for ShiftRelationships + */ +public class ShiftRelationshipsTest { + private final ShiftRelationships model = new ShiftRelationships(); + + /** + * Model tests for ShiftRelationships + */ + @Test + public void testShiftRelationships() { + // TODO: test ShiftRelationships + } + + /** + * Test the property 'shiftOverride' + */ + @Test + public void shiftOverrideTest() { + // TODO: test shiftOverride + } + + /** + * Test the property 'user' + */ + @Test + public void userTest() { + // TODO: test user + } + + /** + * Test the property 'assignee' + */ + @Test + public void assigneeTest() { + // TODO: test assignee + } + +} diff --git a/src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.java new file mode 100644 index 00000000..0c445038 --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.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 ShiftRelationshipsUserData + */ +public class ShiftRelationshipsUserDataTest { + private final ShiftRelationshipsUserData model = new ShiftRelationshipsUserData(); + + /** + * Model tests for ShiftRelationshipsUserData + */ + @Test + public void testShiftRelationshipsUserData() { + // TODO: test ShiftRelationshipsUserData + } + + /** + * 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/ShiftRelationshipsUserTest.java b/src/test/java/com/rootly/client/model/ShiftRelationshipsUserTest.java new file mode 100644 index 00000000..e75802ce --- /dev/null +++ b/src/test/java/com/rootly/client/model/ShiftRelationshipsUserTest.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.ShiftRelationshipsUserData; +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 ShiftRelationshipsUser + */ +public class ShiftRelationshipsUserTest { + private final ShiftRelationshipsUser model = new ShiftRelationshipsUser(); + + /** + * Model tests for ShiftRelationshipsUser + */ + @Test + public void testShiftRelationshipsUser() { + // TODO: test ShiftRelationshipsUser + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java b/src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java new file mode 100644 index 00000000..8f51d933 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java @@ -0,0 +1,100 @@ +/* + * 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.openapitools.jackson.nullable.JsonNullable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for SlaConditionsInner + */ +public class SlaConditionsInnerTest { + private final SlaConditionsInner model = new SlaConditionsInner(); + + /** + * Model tests for SlaConditionsInner + */ + @Test + public void testSlaConditionsInner() { + // TODO: test SlaConditionsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * Test the property 'property' + */ + @Test + public void propertyTest() { + // TODO: test property + } + + /** + * Test the property 'operator' + */ + @Test + public void operatorTest() { + // TODO: test operator + } + + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * Test the property 'formFieldId' + */ + @Test + public void formFieldIdTest() { + // TODO: test formFieldId + } + +} diff --git a/src/test/java/com/rootly/client/model/SlaListTest.java b/src/test/java/com/rootly/client/model/SlaListTest.java new file mode 100644 index 00000000..a2dea984 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaListTest.java @@ -0,0 +1,69 @@ +/* + * 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.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.SlaResponseData; +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 SlaList + */ +public class SlaListTest { + private final SlaList model = new SlaList(); + + /** + * Model tests for SlaList + */ + @Test + public void testSlaList() { + // TODO: test SlaList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java b/src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java new file mode 100644 index 00000000..898dd2ef --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java @@ -0,0 +1,81 @@ +/* + * 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 SlaNotificationConfigurationsInner + */ +public class SlaNotificationConfigurationsInnerTest { + private final SlaNotificationConfigurationsInner model = new SlaNotificationConfigurationsInner(); + + /** + * Model tests for SlaNotificationConfigurationsInner + */ + @Test + public void testSlaNotificationConfigurationsInner() { + // TODO: test SlaNotificationConfigurationsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'offsetType' + */ + @Test + public void offsetTypeTest() { + // TODO: test offsetType + } + + /** + * Test the property 'offsetDays' + */ + @Test + public void offsetDaysTest() { + // TODO: test offsetDays + } + + /** + * 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/SlaResponseDataTest.java b/src/test/java/com/rootly/client/model/SlaResponseDataTest.java new file mode 100644 index 00000000..54f56a68 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaResponseDataTest.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.Sla; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for SlaResponseData + */ +public class SlaResponseDataTest { + private final SlaResponseData model = new SlaResponseData(); + + /** + * Model tests for SlaResponseData + */ + @Test + public void testSlaResponseData() { + // TODO: test SlaResponseData + } + + /** + * 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/SlaResponseTest.java b/src/test/java/com/rootly/client/model/SlaResponseTest.java new file mode 100644 index 00000000..ab764c08 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaResponseTest.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.SlaResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for SlaResponse + */ +public class SlaResponseTest { + private final SlaResponse model = new SlaResponse(); + + /** + * Model tests for SlaResponse + */ + @Test + public void testSlaResponse() { + // TODO: test SlaResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/SlaTest.java b/src/test/java/com/rootly/client/model/SlaTest.java new file mode 100644 index 00000000..f5578c8c --- /dev/null +++ b/src/test/java/com/rootly/client/model/SlaTest.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 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.SlaConditionsInner; +import com.rootly.client.model.SlaNotificationConfigurationsInner; +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 Sla + */ +public class SlaTest { + private final Sla model = new Sla(); + + /** + * Model tests for Sla + */ + @Test + public void testSla() { + // TODO: test Sla + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * 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 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'entityType' + */ + @Test + public void entityTypeTest() { + // TODO: test entityType + } + + /** + * Test the property 'conditionMatchType' + */ + @Test + public void conditionMatchTypeTest() { + // TODO: test conditionMatchType + } + + /** + * Test the property 'managerRoleId' + */ + @Test + public void managerRoleIdTest() { + // TODO: test managerRoleId + } + + /** + * Test the property 'managerUserId' + */ + @Test + public void managerUserIdTest() { + // TODO: test managerUserId + } + + /** + * Test the property 'assignmentDeadlineDays' + */ + @Test + public void assignmentDeadlineDaysTest() { + // TODO: test assignmentDeadlineDays + } + + /** + * Test the property 'assignmentDeadlineParentStatus' + */ + @Test + public void assignmentDeadlineParentStatusTest() { + // TODO: test assignmentDeadlineParentStatus + } + + /** + * Test the property 'assignmentDeadlineSubStatusId' + */ + @Test + public void assignmentDeadlineSubStatusIdTest() { + // TODO: test assignmentDeadlineSubStatusId + } + + /** + * Test the property 'assignmentSkipWeekends' + */ + @Test + public void assignmentSkipWeekendsTest() { + // TODO: test assignmentSkipWeekends + } + + /** + * Test the property 'completionDeadlineDays' + */ + @Test + public void completionDeadlineDaysTest() { + // TODO: test completionDeadlineDays + } + + /** + * Test the property 'completionDeadlineParentStatus' + */ + @Test + public void completionDeadlineParentStatusTest() { + // TODO: test completionDeadlineParentStatus + } + + /** + * Test the property 'completionDeadlineSubStatusId' + */ + @Test + public void completionDeadlineSubStatusIdTest() { + // TODO: test completionDeadlineSubStatusId + } + + /** + * Test the property 'completionSkipWeekends' + */ + @Test + public void completionSkipWeekendsTest() { + // TODO: test completionSkipWeekends + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + + /** + * Test the property 'notificationConfigurations' + */ + @Test + public void notificationConfigurationsTest() { + // TODO: test notificationConfigurations + } + + /** + * 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/SnoozeAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java new file mode 100644 index 00000000..c529f41e --- /dev/null +++ b/src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.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 SnoozeAlertDataAttributes + */ +public class SnoozeAlertDataAttributesTest { + private final SnoozeAlertDataAttributes model = new SnoozeAlertDataAttributes(); + + /** + * Model tests for SnoozeAlertDataAttributes + */ + @Test + public void testSnoozeAlertDataAttributes() { + // TODO: test SnoozeAlertDataAttributes + } + + /** + * Test the property 'delayMinutes' + */ + @Test + public void delayMinutesTest() { + // TODO: test delayMinutes + } + +} diff --git a/src/test/java/com/rootly/client/model/SnoozeAlertDataTest.java b/src/test/java/com/rootly/client/model/SnoozeAlertDataTest.java new file mode 100644 index 00000000..c7a2c779 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SnoozeAlertDataTest.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.SnoozeAlertDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for SnoozeAlertData + */ +public class SnoozeAlertDataTest { + private final SnoozeAlertData model = new SnoozeAlertData(); + + /** + * Model tests for SnoozeAlertData + */ + @Test + public void testSnoozeAlertData() { + // TODO: test SnoozeAlertData + } + + /** + * 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/SnoozeAlertTest.java b/src/test/java/com/rootly/client/model/SnoozeAlertTest.java new file mode 100644 index 00000000..a03cc404 --- /dev/null +++ b/src/test/java/com/rootly/client/model/SnoozeAlertTest.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.SnoozeAlertData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for SnoozeAlert + */ +public class SnoozeAlertTest { + private final SnoozeAlert model = new SnoozeAlert(); + + /** + * Model tests for SnoozeAlert + */ + @Test + public void testSnoozeAlert() { + // TODO: test SnoozeAlert + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusListTest.java b/src/test/java/com/rootly/client/model/StatusListTest.java new file mode 100644 index 00000000..18f7b7d3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusListTest.java @@ -0,0 +1,69 @@ +/* + * 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.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.StatusResponseData; +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 StatusList + */ +public class StatusListTest { + private final StatusList model = new StatusList(); + + /** + * Model tests for StatusList + */ + @Test + public void testStatusList() { + // TODO: test StatusList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusResponseDataTest.java b/src/test/java/com/rootly/client/model/StatusResponseDataTest.java new file mode 100644 index 00000000..12d0089b --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusResponseDataTest.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.Status; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusResponseData + */ +public class StatusResponseDataTest { + private final StatusResponseData model = new StatusResponseData(); + + /** + * Model tests for StatusResponseData + */ + @Test + public void testStatusResponseData() { + // TODO: test StatusResponseData + } + + /** + * 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/StatusResponseTest.java b/src/test/java/com/rootly/client/model/StatusResponseTest.java new file mode 100644 index 00000000..44776f87 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusResponseTest.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.StatusResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for StatusResponse + */ +public class StatusResponseTest { + private final StatusResponse model = new StatusResponse(); + + /** + * Model tests for StatusResponse + */ + @Test + public void testStatusResponse() { + // TODO: test StatusResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/StatusTest.java b/src/test/java/com/rootly/client/model/StatusTest.java new file mode 100644 index 00000000..474f7a31 --- /dev/null +++ b/src/test/java/com/rootly/client/model/StatusTest.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 Status + */ +public class StatusTest { + private final Status model = new Status(); + + /** + * Model tests for Status + */ + @Test + public void testStatus() { + // TODO: test Status + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + + /** + * Test the property 'description' + */ + @Test + public void descriptionTest() { + // TODO: test description + } + + /** + * Test the property 'color' + */ + @Test + public void colorTest() { + // TODO: test color + } + + /** + * Test the property 'enabled' + */ + @Test + public void enabledTest() { + // TODO: test enabled + } + + /** + * 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/TiptapBlockSchemaFollowupComponentTest.java b/src/test/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponentTest.java new file mode 100644 index 00000000..23ba2c9f --- /dev/null +++ b/src/test/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponentTest.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 TiptapBlockSchemaFollowupComponent + */ +public class TiptapBlockSchemaFollowupComponentTest { + private final TiptapBlockSchemaFollowupComponent model = new TiptapBlockSchemaFollowupComponent(); + + /** + * Model tests for TiptapBlockSchemaFollowupComponent + */ + @Test + public void testTiptapBlockSchemaFollowupComponent() { + // TODO: test TiptapBlockSchemaFollowupComponent + } + + /** + * Test the property 'html' + */ + @Test + public void htmlTest() { + // TODO: test html + } + + /** + * Test the property 'dataSort' + */ + @Test + public void dataSortTest() { + // TODO: test dataSort + } + +} diff --git a/src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.java b/src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.java new file mode 100644 index 00000000..0bb20000 --- /dev/null +++ b/src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.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.TiptapBlockSchemaFollowupComponent; +import com.rootly.client.model.TiptapBlockSchemaTimelineComponent; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for TiptapBlockSchema + */ +public class TiptapBlockSchemaTest { + private final TiptapBlockSchema model = new TiptapBlockSchema(); + + /** + * Model tests for TiptapBlockSchema + */ + @Test + public void testTiptapBlockSchema() { + // TODO: test TiptapBlockSchema + } + + /** + * Test the property 'followupComponent' + */ + @Test + public void followupComponentTest() { + // TODO: test followupComponent + } + + /** + * Test the property 'timelineComponent' + */ + @Test + public void timelineComponentTest() { + // TODO: test timelineComponent + } + +} diff --git a/src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.java b/src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.java new file mode 100644 index 00000000..bff5cecc --- /dev/null +++ b/src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.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 TiptapBlockSchemaTimelineComponent + */ +public class TiptapBlockSchemaTimelineComponentTest { + private final TiptapBlockSchemaTimelineComponent model = new TiptapBlockSchemaTimelineComponent(); + + /** + * Model tests for TiptapBlockSchemaTimelineComponent + */ + @Test + public void testTiptapBlockSchemaTimelineComponent() { + // TODO: test TiptapBlockSchemaTimelineComponent + } + + /** + * Test the property 'html' + */ + @Test + public void htmlTest() { + // TODO: test html + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java new file mode 100644 index 00000000..c71310fb --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.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 UpdateAlertFieldDataAttributes + */ +public class UpdateAlertFieldDataAttributesTest { + private final UpdateAlertFieldDataAttributes model = new UpdateAlertFieldDataAttributes(); + + /** + * Model tests for UpdateAlertFieldDataAttributes + */ + @Test + public void testUpdateAlertFieldDataAttributes() { + // TODO: test UpdateAlertFieldDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java new file mode 100644 index 00000000..27a095df --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.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.UpdateAlertFieldDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertFieldData + */ +public class UpdateAlertFieldDataTest { + private final UpdateAlertFieldData model = new UpdateAlertFieldData(); + + /** + * Model tests for UpdateAlertFieldData + */ + @Test + public void testUpdateAlertFieldData() { + // TODO: test UpdateAlertFieldData + } + + /** + * 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/UpdateAlertFieldTest.java b/src/test/java/com/rootly/client/model/UpdateAlertFieldTest.java new file mode 100644 index 00000000..638027a7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertFieldTest.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.UpdateAlertFieldData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertField + */ +public class UpdateAlertFieldTest { + private final UpdateAlertField model = new UpdateAlertField(); + + /** + * Model tests for UpdateAlertField + */ + @Test + public void testUpdateAlertField() { + // TODO: test UpdateAlertField + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRouteDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataAttributesTest.java new file mode 100644 index 00000000..48c9a1e8 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataAttributesTest.java @@ -0,0 +1,84 @@ +/* + * 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.NewAlertRouteDataAttributesRulesInner; +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 UpdateAlertRouteDataAttributes + */ +public class UpdateAlertRouteDataAttributesTest { + private final UpdateAlertRouteDataAttributes model = new UpdateAlertRouteDataAttributes(); + + /** + * Model tests for UpdateAlertRouteDataAttributes + */ + @Test + public void testUpdateAlertRouteDataAttributes() { + // TODO: test UpdateAlertRouteDataAttributes + } + + /** + * 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 'alertsSourceIds' + */ + @Test + public void alertsSourceIdsTest() { + // TODO: test alertsSourceIds + } + + /** + * Test the property 'owningTeamIds' + */ + @Test + public void owningTeamIdsTest() { + // TODO: test owningTeamIds + } + + /** + * Test the property 'rules' + */ + @Test + public void rulesTest() { + // TODO: test rules + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java new file mode 100644 index 00000000..d40a7d42 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.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.UpdateAlertRouteDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertRouteData + */ +public class UpdateAlertRouteDataTest { + private final UpdateAlertRouteData model = new UpdateAlertRouteData(); + + /** + * Model tests for UpdateAlertRouteData + */ + @Test + public void testUpdateAlertRouteData() { + // TODO: test UpdateAlertRouteData + } + + /** + * 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/UpdateAlertRouteTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRouteTest.java new file mode 100644 index 00000000..f793b79f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateAlertRouteTest.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.UpdateAlertRouteData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateAlertRoute + */ +public class UpdateAlertRouteTest { + private final UpdateAlertRoute model = new UpdateAlertRoute(); + + /** + * Model tests for UpdateAlertRoute + */ + @Test + public void testUpdateAlertRoute() { + // TODO: test UpdateAlertRoute + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.java new file mode 100644 index 00000000..6dcbfd60 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.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 java.io.IOException; +import java.time.OffsetDateTime; +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 UpdateApiKeyDataAttributes + */ +public class UpdateApiKeyDataAttributesTest { + private final UpdateApiKeyDataAttributes model = new UpdateApiKeyDataAttributes(); + + /** + * Model tests for UpdateApiKeyDataAttributes + */ + @Test + public void testUpdateApiKeyDataAttributes() { + // TODO: test UpdateApiKeyDataAttributes + } + + /** + * 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 'expiresAt' + */ + @Test + public void expiresAtTest() { + // TODO: test expiresAt + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java b/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java new file mode 100644 index 00000000..d5957110 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.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.UpdateApiKeyDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateApiKeyData + */ +public class UpdateApiKeyDataTest { + private final UpdateApiKeyData model = new UpdateApiKeyData(); + + /** + * Model tests for UpdateApiKeyData + */ + @Test + public void testUpdateApiKeyData() { + // TODO: test UpdateApiKeyData + } + + /** + * 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/UpdateApiKeyTest.java b/src/test/java/com/rootly/client/model/UpdateApiKeyTest.java new file mode 100644 index 00000000..01f95b6a --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateApiKeyTest.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.UpdateApiKeyData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateApiKey + */ +public class UpdateApiKeyTest { + private final UpdateApiKey model = new UpdateApiKey(); + + /** + * Model tests for UpdateApiKey + */ + @Test + public void testUpdateApiKey() { + // TODO: test UpdateApiKey + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.java new file mode 100644 index 00000000..0f0220e7 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.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.NewCatalogChecklistTemplateDataAttributesFieldsInner; +import com.rootly.client.model.NewCatalogChecklistTemplateDataAttributesOwnersInner; +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 UpdateCatalogChecklistTemplateDataAttributes + */ +public class UpdateCatalogChecklistTemplateDataAttributesTest { + private final UpdateCatalogChecklistTemplateDataAttributes model = new UpdateCatalogChecklistTemplateDataAttributes(); + + /** + * Model tests for UpdateCatalogChecklistTemplateDataAttributes + */ + @Test + public void testUpdateCatalogChecklistTemplateDataAttributes() { + // TODO: test UpdateCatalogChecklistTemplateDataAttributes + } + + /** + * 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 'fields' + */ + @Test + public void fieldsTest() { + // TODO: test fields + } + + /** + * Test the property 'owners' + */ + @Test + public void ownersTest() { + // TODO: test owners + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java new file mode 100644 index 00000000..63cae73f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.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.UpdateCatalogChecklistTemplateDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCatalogChecklistTemplateData + */ +public class UpdateCatalogChecklistTemplateDataTest { + private final UpdateCatalogChecklistTemplateData model = new UpdateCatalogChecklistTemplateData(); + + /** + * Model tests for UpdateCatalogChecklistTemplateData + */ + @Test + public void testUpdateCatalogChecklistTemplateData() { + // TODO: test UpdateCatalogChecklistTemplateData + } + + /** + * 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/UpdateCatalogChecklistTemplateTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateTest.java new file mode 100644 index 00000000..34d4e0eb --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateTest.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.UpdateCatalogChecklistTemplateData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCatalogChecklistTemplate + */ +public class UpdateCatalogChecklistTemplateTest { + private final UpdateCatalogChecklistTemplate model = new UpdateCatalogChecklistTemplate(); + + /** + * Model tests for UpdateCatalogChecklistTemplate + */ + @Test + public void testUpdateCatalogChecklistTemplate() { + // TODO: test UpdateCatalogChecklistTemplate + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.java new file mode 100644 index 00000000..53c2bbae --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.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 UpdateCatalogPropertyDataAttributes + */ +public class UpdateCatalogPropertyDataAttributesTest { + private final UpdateCatalogPropertyDataAttributes model = new UpdateCatalogPropertyDataAttributes(); + + /** + * Model tests for UpdateCatalogPropertyDataAttributes + */ + @Test + public void testUpdateCatalogPropertyDataAttributes() { + // TODO: test UpdateCatalogPropertyDataAttributes + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'kindCatalogId' + */ + @Test + public void kindCatalogIdTest() { + // TODO: test kindCatalogId + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java new file mode 100644 index 00000000..2d575e5e --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.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.UpdateCatalogPropertyDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCatalogPropertyData + */ +public class UpdateCatalogPropertyDataTest { + private final UpdateCatalogPropertyData model = new UpdateCatalogPropertyData(); + + /** + * Model tests for UpdateCatalogPropertyData + */ + @Test + public void testUpdateCatalogPropertyData() { + // TODO: test UpdateCatalogPropertyData + } + + /** + * 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/UpdateCatalogPropertyTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyTest.java new file mode 100644 index 00000000..1505c0b0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCatalogPropertyTest.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.UpdateCatalogPropertyData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCatalogProperty + */ +public class UpdateCatalogPropertyTest { + private final UpdateCatalogProperty model = new UpdateCatalogProperty(); + + /** + * Model tests for UpdateCatalogProperty + */ + @Test + public void testUpdateCatalogProperty() { + // TODO: test UpdateCatalogProperty + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java new file mode 100644 index 00000000..498c34ef --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java @@ -0,0 +1,73 @@ +/* + * 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 UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ +public class UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest { + private final UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner model = new UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner(); + + /** + * Model tests for UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + */ + @Test + public void testUpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner() { + // TODO: test UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'phoneNumber' + */ + @Test + public void phoneNumberTest() { + // TODO: test phoneNumber + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java new file mode 100644 index 00000000..1dae39d0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java @@ -0,0 +1,99 @@ +/* + * 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 UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ +public class UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest { + private final UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner model = new UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner(); + + /** + * Model tests for UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + */ + @Test + public void testUpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner() { + // TODO: test UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * 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/UpdateCommunicationsGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesTest.java new file mode 100644 index 00000000..48a8fc91 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesTest.java @@ -0,0 +1,133 @@ +/* + * 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.UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInner; +import com.rootly.client.model.UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInner; +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 UpdateCommunicationsGroupDataAttributes + */ +public class UpdateCommunicationsGroupDataAttributesTest { + private final UpdateCommunicationsGroupDataAttributes model = new UpdateCommunicationsGroupDataAttributes(); + + /** + * Model tests for UpdateCommunicationsGroupDataAttributes + */ + @Test + public void testUpdateCommunicationsGroupDataAttributes() { + // TODO: test UpdateCommunicationsGroupDataAttributes + } + + /** + * 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 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'isPrivate' + */ + @Test + public void isPrivateTest() { + // TODO: test isPrivate + } + + /** + * Test the property 'conditionType' + */ + @Test + public void conditionTypeTest() { + // TODO: test conditionType + } + + /** + * Test the property 'smsChannel' + */ + @Test + public void smsChannelTest() { + // TODO: test smsChannel + } + + /** + * Test the property 'emailChannel' + */ + @Test + public void emailChannelTest() { + // TODO: test emailChannel + } + + /** + * Test the property 'memberIds' + */ + @Test + public void memberIdsTest() { + // TODO: test memberIds + } + + /** + * Test the property 'slackChannelIds' + */ + @Test + public void slackChannelIdsTest() { + // TODO: test slackChannelIds + } + + /** + * Test the property 'communicationGroupConditions' + */ + @Test + public void communicationGroupConditionsTest() { + // TODO: test communicationGroupConditions + } + + /** + * Test the property 'communicationExternalGroupMembers' + */ + @Test + public void communicationExternalGroupMembersTest() { + // TODO: test communicationExternalGroupMembers + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.java new file mode 100644 index 00000000..607f0d5f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataTest.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.UpdateCommunicationsGroupDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsGroupData + */ +public class UpdateCommunicationsGroupDataTest { + private final UpdateCommunicationsGroupData model = new UpdateCommunicationsGroupData(); + + /** + * Model tests for UpdateCommunicationsGroupData + */ + @Test + public void testUpdateCommunicationsGroupData() { + // TODO: test UpdateCommunicationsGroupData + } + + /** + * 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/UpdateCommunicationsGroupTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupTest.java new file mode 100644 index 00000000..8e9924a0 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsGroupTest.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.UpdateCommunicationsGroupData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsGroup + */ +public class UpdateCommunicationsGroupTest { + private final UpdateCommunicationsGroup model = new UpdateCommunicationsGroup(); + + /** + * Model tests for UpdateCommunicationsGroup + */ + @Test + public void testUpdateCommunicationsGroup() { + // TODO: test UpdateCommunicationsGroup + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributesTest.java new file mode 100644 index 00000000..f5a85454 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributesTest.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 UpdateCommunicationsStageDataAttributes + */ +public class UpdateCommunicationsStageDataAttributesTest { + private final UpdateCommunicationsStageDataAttributes model = new UpdateCommunicationsStageDataAttributes(); + + /** + * Model tests for UpdateCommunicationsStageDataAttributes + */ + @Test + public void testUpdateCommunicationsStageDataAttributes() { + // TODO: test UpdateCommunicationsStageDataAttributes + } + + /** + * 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 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.java new file mode 100644 index 00000000..63a4aa77 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageDataTest.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.UpdateCommunicationsStageDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsStageData + */ +public class UpdateCommunicationsStageDataTest { + private final UpdateCommunicationsStageData model = new UpdateCommunicationsStageData(); + + /** + * Model tests for UpdateCommunicationsStageData + */ + @Test + public void testUpdateCommunicationsStageData() { + // TODO: test UpdateCommunicationsStageData + } + + /** + * 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/UpdateCommunicationsStageTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageTest.java new file mode 100644 index 00000000..4ef9b7ce --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsStageTest.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.UpdateCommunicationsStageData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsStage + */ +public class UpdateCommunicationsStageTest { + private final UpdateCommunicationsStage model = new UpdateCommunicationsStage(); + + /** + * Model tests for UpdateCommunicationsStage + */ + @Test + public void testUpdateCommunicationsStage() { + // TODO: test UpdateCommunicationsStage + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java new file mode 100644 index 00000000..cf3d55ab --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest.java @@ -0,0 +1,81 @@ +/* + * 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 UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ +public class UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInnerTest { + private final UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner model = new UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner(); + + /** + * Model tests for UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + */ + @Test + public void testUpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner() { + // TODO: test UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'smsContent' + */ + @Test + public void smsContentTest() { + // TODO: test smsContent + } + + /** + * Test the property 'emailSubject' + */ + @Test + public void emailSubjectTest() { + // TODO: test emailSubject + } + + /** + * Test the property 'emailBody' + */ + @Test + public void emailBodyTest() { + // TODO: test emailBody + } + + /** + * Test the property 'slackContent' + */ + @Test + public void slackContentTest() { + // TODO: test slackContent + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesTest.java new file mode 100644 index 00000000..022e1fb3 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributesTest.java @@ -0,0 +1,84 @@ +/* + * 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.UpdateCommunicationsTemplateDataAttributesCommunicationTemplateStagesAttributesInner; +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 UpdateCommunicationsTemplateDataAttributes + */ +public class UpdateCommunicationsTemplateDataAttributesTest { + private final UpdateCommunicationsTemplateDataAttributes model = new UpdateCommunicationsTemplateDataAttributes(); + + /** + * Model tests for UpdateCommunicationsTemplateDataAttributes + */ + @Test + public void testUpdateCommunicationsTemplateDataAttributes() { + // TODO: test UpdateCommunicationsTemplateDataAttributes + } + + /** + * 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 'communicationTypeId' + */ + @Test + public void communicationTypeIdTest() { + // TODO: test communicationTypeId + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'communicationTemplateStagesAttributes' + */ + @Test + public void communicationTemplateStagesAttributesTest() { + // TODO: test communicationTemplateStagesAttributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.java new file mode 100644 index 00000000..536a18c4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateDataTest.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.UpdateCommunicationsTemplateDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsTemplateData + */ +public class UpdateCommunicationsTemplateDataTest { + private final UpdateCommunicationsTemplateData model = new UpdateCommunicationsTemplateData(); + + /** + * Model tests for UpdateCommunicationsTemplateData + */ + @Test + public void testUpdateCommunicationsTemplateData() { + // TODO: test UpdateCommunicationsTemplateData + } + + /** + * 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/UpdateCommunicationsTemplateTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateTest.java new file mode 100644 index 00000000..6147b25f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTemplateTest.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.UpdateCommunicationsTemplateData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsTemplate + */ +public class UpdateCommunicationsTemplateTest { + private final UpdateCommunicationsTemplate model = new UpdateCommunicationsTemplate(); + + /** + * Model tests for UpdateCommunicationsTemplate + */ + @Test + public void testUpdateCommunicationsTemplate() { + // TODO: test UpdateCommunicationsTemplate + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributesTest.java new file mode 100644 index 00000000..f2e2a90e --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributesTest.java @@ -0,0 +1,73 @@ +/* + * 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 UpdateCommunicationsTypeDataAttributes + */ +public class UpdateCommunicationsTypeDataAttributesTest { + private final UpdateCommunicationsTypeDataAttributes model = new UpdateCommunicationsTypeDataAttributes(); + + /** + * Model tests for UpdateCommunicationsTypeDataAttributes + */ + @Test + public void testUpdateCommunicationsTypeDataAttributes() { + // TODO: test UpdateCommunicationsTypeDataAttributes + } + + /** + * 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 'color' + */ + @Test + public void colorTest() { + // TODO: test color + } + + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java new file mode 100644 index 00000000..fce8a7ef --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.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.UpdateCommunicationsTypeDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsTypeData + */ +public class UpdateCommunicationsTypeDataTest { + private final UpdateCommunicationsTypeData model = new UpdateCommunicationsTypeData(); + + /** + * Model tests for UpdateCommunicationsTypeData + */ + @Test + public void testUpdateCommunicationsTypeData() { + // TODO: test UpdateCommunicationsTypeData + } + + /** + * 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/UpdateCommunicationsTypeTest.java b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeTest.java new file mode 100644 index 00000000..da4f459b --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateCommunicationsTypeTest.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.UpdateCommunicationsTypeData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateCommunicationsType + */ +public class UpdateCommunicationsTypeTest { + private final UpdateCommunicationsType model = new UpdateCommunicationsType(); + + /** + * Model tests for UpdateCommunicationsType + */ + @Test + public void testUpdateCommunicationsType() { + // TODO: test UpdateCommunicationsType + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.java b/src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.java new file mode 100644 index 00000000..35059a19 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.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 UpdateConfluencePageTaskParamsTemplate + */ +public class UpdateConfluencePageTaskParamsTemplateTest { + private final UpdateConfluencePageTaskParamsTemplate model = new UpdateConfluencePageTaskParamsTemplate(); + + /** + * Model tests for UpdateConfluencePageTaskParamsTemplate + */ + @Test + public void testUpdateConfluencePageTaskParamsTemplate() { + // TODO: test UpdateConfluencePageTaskParamsTemplate + } + + /** + * 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/UpdateConfluencePageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTest.java new file mode 100644 index 00000000..f686143d --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTest.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.CreateConfluencePageTaskParamsIntegration; +import com.rootly.client.model.UpdateConfluencePageTaskParamsTemplate; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateConfluencePageTaskParams + */ +public class UpdateConfluencePageTaskParamsTest { + private final UpdateConfluencePageTaskParams model = new UpdateConfluencePageTaskParams(); + + /** + * Model tests for UpdateConfluencePageTaskParams + */ + @Test + public void testUpdateConfluencePageTaskParams() { + // TODO: test UpdateConfluencePageTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'integration' + */ + @Test + public void integrationTest() { + // TODO: test integration + } + + /** + * Test the property 'fileId' + */ + @Test + public void fileIdTest() { + // TODO: test fileId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'postMortemTemplateId' + */ + @Test + public void postMortemTemplateIdTest() { + // TODO: test postMortemTemplateId + } + + /** + * Test the property 'template' + */ + @Test + public void templateTest() { + // TODO: test template + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.java b/src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.java new file mode 100644 index 00000000..07941549 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.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 UpdateDatadogNotebookTaskParamsTemplate + */ +public class UpdateDatadogNotebookTaskParamsTemplateTest { + private final UpdateDatadogNotebookTaskParamsTemplate model = new UpdateDatadogNotebookTaskParamsTemplate(); + + /** + * Model tests for UpdateDatadogNotebookTaskParamsTemplate + */ + @Test + public void testUpdateDatadogNotebookTaskParamsTemplate() { + // TODO: test UpdateDatadogNotebookTaskParamsTemplate + } + + /** + * 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/UpdateDatadogNotebookTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTest.java new file mode 100644 index 00000000..a9c048cd --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTest.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 com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateDatadogNotebookTaskParams + */ +public class UpdateDatadogNotebookTaskParamsTest { + private final UpdateDatadogNotebookTaskParams model = new UpdateDatadogNotebookTaskParams(); + + /** + * Model tests for UpdateDatadogNotebookTaskParams + */ + @Test + public void testUpdateDatadogNotebookTaskParams() { + // TODO: test UpdateDatadogNotebookTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'fileId' + */ + @Test + public void fileIdTest() { + // TODO: test fileId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'postMortemTemplateId' + */ + @Test + public void postMortemTemplateIdTest() { + // TODO: test postMortemTemplateId + } + + /** + * Test the property 'template' + */ + @Test + public void templateTest() { + // TODO: test template + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java new file mode 100644 index 00000000..f81cc92e --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java @@ -0,0 +1,80 @@ +/* + * 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 UpdateDropboxPaperPageTaskParams + */ +public class UpdateDropboxPaperPageTaskParamsTest { + private final UpdateDropboxPaperPageTaskParams model = new UpdateDropboxPaperPageTaskParams(); + + /** + * Model tests for UpdateDropboxPaperPageTaskParams + */ + @Test + public void testUpdateDropboxPaperPageTaskParams() { + // TODO: test UpdateDropboxPaperPageTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'fileId' + */ + @Test + public void fileIdTest() { + // TODO: test fileId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'postMortemTemplateId' + */ + @Test + public void postMortemTemplateIdTest() { + // TODO: test postMortemTemplateId + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestActionTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestActionTest.java new file mode 100644 index 00000000..fd61ed39 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestActionTest.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 UpdateEdgeConnectorActionRequestAction + */ +public class UpdateEdgeConnectorActionRequestActionTest { + private final UpdateEdgeConnectorActionRequestAction model = new UpdateEdgeConnectorActionRequestAction(); + + /** + * Model tests for UpdateEdgeConnectorActionRequestAction + */ + @Test + public void testUpdateEdgeConnectorActionRequestAction() { + // TODO: test UpdateEdgeConnectorActionRequestAction + } + + /** + * Test the property 'name' + */ + @Test + public void nameTest() { + // TODO: test name + } + + /** + * Test the property 'actionType' + */ + @Test + public void actionTypeTest() { + // TODO: test actionType + } + + /** + * Test the property 'metadata' + */ + @Test + public void metadataTest() { + // TODO: test metadata + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestTest.java new file mode 100644 index 00000000..ee48d26c --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionRequestTest.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.UpdateEdgeConnectorActionRequestAction; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateEdgeConnectorActionRequest + */ +public class UpdateEdgeConnectorActionRequestTest { + private final UpdateEdgeConnectorActionRequest model = new UpdateEdgeConnectorActionRequest(); + + /** + * Model tests for UpdateEdgeConnectorActionRequest + */ + @Test + public void testUpdateEdgeConnectorActionRequest() { + // TODO: test UpdateEdgeConnectorActionRequest + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionTest.java new file mode 100644 index 00000000..c35e15ca --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorActionTest.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.UpdateEdgeConnectorActionRequestAction; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateEdgeConnectorAction + */ +public class UpdateEdgeConnectorActionTest { + private final UpdateEdgeConnectorAction model = new UpdateEdgeConnectorAction(); + + /** + * Model tests for UpdateEdgeConnectorAction + */ + @Test + public void testUpdateEdgeConnectorAction() { + // TODO: test UpdateEdgeConnectorAction + } + + /** + * Test the property 'action' + */ + @Test + public void actionTest() { + // TODO: test action + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java new file mode 100644 index 00000000..f60b215f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTest.java @@ -0,0 +1,74 @@ +/* + * 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 UpdateEdgeConnectorRequestDataAttributes + */ +public class UpdateEdgeConnectorRequestDataAttributesTest { + private final UpdateEdgeConnectorRequestDataAttributes model = new UpdateEdgeConnectorRequestDataAttributes(); + + /** + * Model tests for UpdateEdgeConnectorRequestDataAttributes + */ + @Test + public void testUpdateEdgeConnectorRequestDataAttributes() { + // TODO: test UpdateEdgeConnectorRequestDataAttributes + } + + /** + * 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 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'subscriptions' + */ + @Test + public void subscriptionsTest() { + // TODO: test subscriptions + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.java new file mode 100644 index 00000000..11006fd6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.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.UpdateEdgeConnectorRequestDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateEdgeConnectorRequestData + */ +public class UpdateEdgeConnectorRequestDataTest { + private final UpdateEdgeConnectorRequestData model = new UpdateEdgeConnectorRequestData(); + + /** + * Model tests for UpdateEdgeConnectorRequestData + */ + @Test + public void testUpdateEdgeConnectorRequestData() { + // TODO: test UpdateEdgeConnectorRequestData + } + + /** + * Test the property 'type' + */ + @Test + public void typeTest() { + // TODO: test type + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'attributes' + */ + @Test + public void attributesTest() { + // TODO: test attributes + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.java new file mode 100644 index 00000000..3571183b --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.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.UpdateEdgeConnectorRequestData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateEdgeConnectorRequest + */ +public class UpdateEdgeConnectorRequestTest { + private final UpdateEdgeConnectorRequest model = new UpdateEdgeConnectorRequest(); + + /** + * Model tests for UpdateEdgeConnectorRequest + */ + @Test + public void testUpdateEdgeConnectorRequest() { + // TODO: test UpdateEdgeConnectorRequest + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.java b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.java new file mode 100644 index 00000000..5fae5a94 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.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.UpdateEdgeConnectorRequestDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateEdgeConnector + */ +public class UpdateEdgeConnectorTest { + private final UpdateEdgeConnector model = new UpdateEdgeConnector(); + + /** + * Model tests for UpdateEdgeConnector + */ + @Test + public void testUpdateEdgeConnector() { + // TODO: test UpdateEdgeConnector + } + + /** + * Test the property 'edgeConnector' + */ + @Test + public void edgeConnectorTest() { + // TODO: test edgeConnector + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java new file mode 100644 index 00000000..7266148c --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.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 UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ +public class UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest { + private final UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner model = new UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner(); + + /** + * Model tests for UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + */ + @Test + public void testUpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner() { + // TODO: test UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner + } + + /** + * 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/UpdateGithubIssueTaskParamsRepositoryTest.java b/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepositoryTest.java new file mode 100644 index 00000000..bca25beb --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepositoryTest.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 UpdateGithubIssueTaskParamsRepository + */ +public class UpdateGithubIssueTaskParamsRepositoryTest { + private final UpdateGithubIssueTaskParamsRepository model = new UpdateGithubIssueTaskParamsRepository(); + + /** + * Model tests for UpdateGithubIssueTaskParamsRepository + */ + @Test + public void testUpdateGithubIssueTaskParamsRepository() { + // TODO: test UpdateGithubIssueTaskParamsRepository + } + + /** + * 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/UpdateLinearIssueTaskParamsStateTest.java b/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsStateTest.java new file mode 100644 index 00000000..cadf79b4 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsStateTest.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 UpdateLinearIssueTaskParamsState + */ +public class UpdateLinearIssueTaskParamsStateTest { + private final UpdateLinearIssueTaskParamsState model = new UpdateLinearIssueTaskParamsState(); + + /** + * Model tests for UpdateLinearIssueTaskParamsState + */ + @Test + public void testUpdateLinearIssueTaskParamsState() { + // TODO: test UpdateLinearIssueTaskParamsState + } + + /** + * 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/UpdateOnCallPayReportDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributesTest.java new file mode 100644 index 00000000..0591b208 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributesTest.java @@ -0,0 +1,67 @@ +/* + * 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.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateOnCallPayReportDataAttributes + */ +public class UpdateOnCallPayReportDataAttributesTest { + private final UpdateOnCallPayReportDataAttributes model = new UpdateOnCallPayReportDataAttributes(); + + /** + * Model tests for UpdateOnCallPayReportDataAttributes + */ + @Test + public void testUpdateOnCallPayReportDataAttributes() { + // TODO: test UpdateOnCallPayReportDataAttributes + } + + /** + * Test the property 'startDate' + */ + @Test + public void startDateTest() { + // TODO: test startDate + } + + /** + * Test the property 'endDate' + */ + @Test + public void endDateTest() { + // TODO: test endDate + } + + /** + * Test the property 'scheduleIds' + */ + @Test + public void scheduleIdsTest() { + // TODO: test scheduleIds + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java new file mode 100644 index 00000000..a34d7731 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.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.UpdateOnCallPayReportDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateOnCallPayReportData + */ +public class UpdateOnCallPayReportDataTest { + private final UpdateOnCallPayReportData model = new UpdateOnCallPayReportData(); + + /** + * Model tests for UpdateOnCallPayReportData + */ + @Test + public void testUpdateOnCallPayReportData() { + // TODO: test UpdateOnCallPayReportData + } + + /** + * 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/UpdateOnCallPayReportTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportTest.java new file mode 100644 index 00000000..79ca3ba6 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateOnCallPayReportTest.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.UpdateOnCallPayReportData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateOnCallPayReport + */ +public class UpdateOnCallPayReportTest { + private final UpdateOnCallPayReport model = new UpdateOnCallPayReport(); + + /** + * Model tests for UpdateOnCallPayReport + */ + @Test + public void testUpdateOnCallPayReport() { + // TODO: test UpdateOnCallPayReport + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java new file mode 100644 index 00000000..5bae984a --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java @@ -0,0 +1,88 @@ +/* + * 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 UpdateQuipPageTaskParams + */ +public class UpdateQuipPageTaskParamsTest { + private final UpdateQuipPageTaskParams model = new UpdateQuipPageTaskParams(); + + /** + * Model tests for UpdateQuipPageTaskParams + */ + @Test + public void testUpdateQuipPageTaskParams() { + // TODO: test UpdateQuipPageTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'fileId' + */ + @Test + public void fileIdTest() { + // TODO: test fileId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'postMortemTemplateId' + */ + @Test + public void postMortemTemplateIdTest() { + // TODO: test postMortemTemplateId + } + + /** + * Test the property 'templateId' + */ + @Test + public void templateIdTest() { + // TODO: test templateId + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.java new file mode 100644 index 00000000..1f56bf80 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.java @@ -0,0 +1,80 @@ +/* + * 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 UpdateSharepointPageTaskParams + */ +public class UpdateSharepointPageTaskParamsTest { + private final UpdateSharepointPageTaskParams model = new UpdateSharepointPageTaskParams(); + + /** + * Model tests for UpdateSharepointPageTaskParams + */ + @Test + public void testUpdateSharepointPageTaskParams() { + // TODO: test UpdateSharepointPageTaskParams + } + + /** + * Test the property 'taskType' + */ + @Test + public void taskTypeTest() { + // TODO: test taskType + } + + /** + * Test the property 'fileId' + */ + @Test + public void fileIdTest() { + // TODO: test fileId + } + + /** + * Test the property 'title' + */ + @Test + public void titleTest() { + // TODO: test title + } + + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + + /** + * Test the property 'postMortemTemplateId' + */ + @Test + public void postMortemTemplateIdTest() { + // TODO: test postMortemTemplateId + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateSlaDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateSlaDataAttributesTest.java new file mode 100644 index 00000000..c2df3d48 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateSlaDataAttributesTest.java @@ -0,0 +1,174 @@ +/* + * 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.NewSlaDataAttributesConditionsInner; +import com.rootly.client.model.NewSlaDataAttributesNotificationConfigurationsInner; +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 UpdateSlaDataAttributes + */ +public class UpdateSlaDataAttributesTest { + private final UpdateSlaDataAttributes model = new UpdateSlaDataAttributes(); + + /** + * Model tests for UpdateSlaDataAttributes + */ + @Test + public void testUpdateSlaDataAttributes() { + // TODO: test UpdateSlaDataAttributes + } + + /** + * 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 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + + /** + * Test the property 'conditionMatchType' + */ + @Test + public void conditionMatchTypeTest() { + // TODO: test conditionMatchType + } + + /** + * Test the property 'managerRoleId' + */ + @Test + public void managerRoleIdTest() { + // TODO: test managerRoleId + } + + /** + * Test the property 'managerUserId' + */ + @Test + public void managerUserIdTest() { + // TODO: test managerUserId + } + + /** + * Test the property 'assignmentDeadlineDays' + */ + @Test + public void assignmentDeadlineDaysTest() { + // TODO: test assignmentDeadlineDays + } + + /** + * Test the property 'assignmentDeadlineParentStatus' + */ + @Test + public void assignmentDeadlineParentStatusTest() { + // TODO: test assignmentDeadlineParentStatus + } + + /** + * Test the property 'assignmentDeadlineSubStatusId' + */ + @Test + public void assignmentDeadlineSubStatusIdTest() { + // TODO: test assignmentDeadlineSubStatusId + } + + /** + * Test the property 'assignmentSkipWeekends' + */ + @Test + public void assignmentSkipWeekendsTest() { + // TODO: test assignmentSkipWeekends + } + + /** + * Test the property 'completionDeadlineDays' + */ + @Test + public void completionDeadlineDaysTest() { + // TODO: test completionDeadlineDays + } + + /** + * Test the property 'completionDeadlineParentStatus' + */ + @Test + public void completionDeadlineParentStatusTest() { + // TODO: test completionDeadlineParentStatus + } + + /** + * Test the property 'completionDeadlineSubStatusId' + */ + @Test + public void completionDeadlineSubStatusIdTest() { + // TODO: test completionDeadlineSubStatusId + } + + /** + * Test the property 'completionSkipWeekends' + */ + @Test + public void completionSkipWeekendsTest() { + // TODO: test completionSkipWeekends + } + + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + + /** + * Test the property 'notificationConfigurations' + */ + @Test + public void notificationConfigurationsTest() { + // TODO: test notificationConfigurations + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java b/src/test/java/com/rootly/client/model/UpdateSlaDataTest.java new file mode 100644 index 00000000..684cef6f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateSlaDataTest.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.UpdateSlaDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateSlaData + */ +public class UpdateSlaDataTest { + private final UpdateSlaData model = new UpdateSlaData(); + + /** + * Model tests for UpdateSlaData + */ + @Test + public void testUpdateSlaData() { + // TODO: test UpdateSlaData + } + + /** + * 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/UpdateSlaTest.java b/src/test/java/com/rootly/client/model/UpdateSlaTest.java new file mode 100644 index 00000000..41e38b6f --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateSlaTest.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.UpdateSlaData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateSla + */ +public class UpdateSlaTest { + private final UpdateSla model = new UpdateSla(); + + /** + * Model tests for UpdateSla + */ + @Test + public void testUpdateSla() { + // TODO: test UpdateSla + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributesTest.java new file mode 100644 index 00000000..2de703e9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributesTest.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 UpdateUserEmailAddressDataAttributes + */ +public class UpdateUserEmailAddressDataAttributesTest { + private final UpdateUserEmailAddressDataAttributes model = new UpdateUserEmailAddressDataAttributes(); + + /** + * Model tests for UpdateUserEmailAddressDataAttributes + */ + @Test + public void testUpdateUserEmailAddressDataAttributes() { + // TODO: test UpdateUserEmailAddressDataAttributes + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java new file mode 100644 index 00000000..7d824571 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.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.UpdateUserEmailAddressDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateUserEmailAddressData + */ +public class UpdateUserEmailAddressDataTest { + private final UpdateUserEmailAddressData model = new UpdateUserEmailAddressData(); + + /** + * Model tests for UpdateUserEmailAddressData + */ + @Test + public void testUpdateUserEmailAddressData() { + // TODO: test UpdateUserEmailAddressData + } + + /** + * 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/UpdateUserEmailAddressTest.java b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressTest.java new file mode 100644 index 00000000..10b51477 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserEmailAddressTest.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.UpdateUserEmailAddressData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateUserEmailAddress + */ +public class UpdateUserEmailAddressTest { + private final UpdateUserEmailAddress model = new UpdateUserEmailAddress(); + + /** + * Model tests for UpdateUserEmailAddress + */ + @Test + public void testUpdateUserEmailAddress() { + // TODO: test UpdateUserEmailAddress + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.java new file mode 100644 index 00000000..7a8608e9 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.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 UpdateUserPhoneNumberDataAttributes + */ +public class UpdateUserPhoneNumberDataAttributesTest { + private final UpdateUserPhoneNumberDataAttributes model = new UpdateUserPhoneNumberDataAttributes(); + + /** + * Model tests for UpdateUserPhoneNumberDataAttributes + */ + @Test + public void testUpdateUserPhoneNumberDataAttributes() { + // TODO: test UpdateUserPhoneNumberDataAttributes + } + + /** + * Test the property 'phone' + */ + @Test + public void phoneTest() { + // TODO: test phone + } + +} diff --git a/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java new file mode 100644 index 00000000..4a8c2ffc --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.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.UpdateUserPhoneNumberDataAttributes; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateUserPhoneNumberData + */ +public class UpdateUserPhoneNumberDataTest { + private final UpdateUserPhoneNumberData model = new UpdateUserPhoneNumberData(); + + /** + * Model tests for UpdateUserPhoneNumberData + */ + @Test + public void testUpdateUserPhoneNumberData() { + // TODO: test UpdateUserPhoneNumberData + } + + /** + * 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/UpdateUserPhoneNumberTest.java b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberTest.java new file mode 100644 index 00000000..1a2d3b22 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UpdateUserPhoneNumberTest.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.UpdateUserPhoneNumberData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UpdateUserPhoneNumber + */ +public class UpdateUserPhoneNumberTest { + private final UpdateUserPhoneNumber model = new UpdateUserPhoneNumber(); + + /** + * Model tests for UpdateUserPhoneNumber + */ + @Test + public void testUpdateUserPhoneNumber() { + // TODO: test UpdateUserPhoneNumber + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UserEmailAddressListTest.java b/src/test/java/com/rootly/client/model/UserEmailAddressListTest.java new file mode 100644 index 00000000..35d956ff --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserEmailAddressListTest.java @@ -0,0 +1,69 @@ +/* + * 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.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.UserEmailAddressResponseData; +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 UserEmailAddressList + */ +public class UserEmailAddressListTest { + private final UserEmailAddressList model = new UserEmailAddressList(); + + /** + * Model tests for UserEmailAddressList + */ + @Test + public void testUserEmailAddressList() { + // TODO: test UserEmailAddressList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.java b/src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.java new file mode 100644 index 00000000..5b0d7945 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.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.UserEmailAddress; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UserEmailAddressResponseData + */ +public class UserEmailAddressResponseDataTest { + private final UserEmailAddressResponseData model = new UserEmailAddressResponseData(); + + /** + * Model tests for UserEmailAddressResponseData + */ + @Test + public void testUserEmailAddressResponseData() { + // TODO: test UserEmailAddressResponseData + } + + /** + * 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/UserEmailAddressResponseTest.java b/src/test/java/com/rootly/client/model/UserEmailAddressResponseTest.java new file mode 100644 index 00000000..1747b24d --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserEmailAddressResponseTest.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.UserEmailAddressResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UserEmailAddressResponse + */ +public class UserEmailAddressResponseTest { + private final UserEmailAddressResponse model = new UserEmailAddressResponse(); + + /** + * Model tests for UserEmailAddressResponse + */ + @Test + public void testUserEmailAddressResponse() { + // TODO: test UserEmailAddressResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UserEmailAddressTest.java b/src/test/java/com/rootly/client/model/UserEmailAddressTest.java new file mode 100644 index 00000000..5d1c720c --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserEmailAddressTest.java @@ -0,0 +1,80 @@ +/* + * 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 UserEmailAddress + */ +public class UserEmailAddressTest { + private final UserEmailAddress model = new UserEmailAddress(); + + /** + * Model tests for UserEmailAddress + */ + @Test + public void testUserEmailAddress() { + // TODO: test UserEmailAddress + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'primary' + */ + @Test + public void primaryTest() { + // TODO: test primary + } + + /** + * 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/UserFlatResponseTest.java b/src/test/java/com/rootly/client/model/UserFlatResponseTest.java new file mode 100644 index 00000000..78bdddcc --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserFlatResponseTest.java @@ -0,0 +1,113 @@ +/* + * 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 UserFlatResponse + */ +public class UserFlatResponseTest { + private final UserFlatResponse model = new UserFlatResponse(); + + /** + * Model tests for UserFlatResponse + */ + @Test + public void testUserFlatResponse() { + // TODO: test UserFlatResponse + } + + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'firstName' + */ + @Test + public void firstNameTest() { + // TODO: test firstName + } + + /** + * Test the property 'lastName' + */ + @Test + public void lastNameTest() { + // TODO: test lastName + } + + /** + * Test the property 'fullName' + */ + @Test + public void fullNameTest() { + // TODO: test fullName + } + + /** + * Test the property 'fullNameWithTeam' + */ + @Test + public void fullNameWithTeamTest() { + // TODO: test fullNameWithTeam + } + + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + + /** + * 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/UserPhoneNumberListTest.java b/src/test/java/com/rootly/client/model/UserPhoneNumberListTest.java new file mode 100644 index 00000000..5dd82404 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserPhoneNumberListTest.java @@ -0,0 +1,69 @@ +/* + * 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.Links; +import com.rootly.client.model.Meta; +import com.rootly.client.model.UserPhoneNumberResponseData; +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 UserPhoneNumberList + */ +public class UserPhoneNumberListTest { + private final UserPhoneNumberList model = new UserPhoneNumberList(); + + /** + * Model tests for UserPhoneNumberList + */ + @Test + public void testUserPhoneNumberList() { + // TODO: test UserPhoneNumberList + } + + /** + * 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 + } + +} diff --git a/src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.java b/src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.java new file mode 100644 index 00000000..c1012cc1 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.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.UserPhoneNumber; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UserPhoneNumberResponseData + */ +public class UserPhoneNumberResponseDataTest { + private final UserPhoneNumberResponseData model = new UserPhoneNumberResponseData(); + + /** + * Model tests for UserPhoneNumberResponseData + */ + @Test + public void testUserPhoneNumberResponseData() { + // TODO: test UserPhoneNumberResponseData + } + + /** + * 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/UserPhoneNumberResponseTest.java b/src/test/java/com/rootly/client/model/UserPhoneNumberResponseTest.java new file mode 100644 index 00000000..f81f2497 --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserPhoneNumberResponseTest.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.UserPhoneNumberResponseData; +import java.io.IOException; +import java.util.Arrays; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +/** + * Model tests for UserPhoneNumberResponse + */ +public class UserPhoneNumberResponseTest { + private final UserPhoneNumberResponse model = new UserPhoneNumberResponse(); + + /** + * Model tests for UserPhoneNumberResponse + */ + @Test + public void testUserPhoneNumberResponse() { + // TODO: test UserPhoneNumberResponse + } + + /** + * Test the property 'data' + */ + @Test + public void dataTest() { + // TODO: test data + } + +} diff --git a/src/test/java/com/rootly/client/model/UserPhoneNumberTest.java b/src/test/java/com/rootly/client/model/UserPhoneNumberTest.java new file mode 100644 index 00000000..3b30ae6a --- /dev/null +++ b/src/test/java/com/rootly/client/model/UserPhoneNumberTest.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 java.io.IOException; +import java.time.OffsetDateTime; +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 UserPhoneNumber + */ +public class UserPhoneNumberTest { + private final UserPhoneNumber model = new UserPhoneNumber(); + + /** + * Model tests for UserPhoneNumber + */ + @Test + public void testUserPhoneNumber() { + // TODO: test UserPhoneNumber + } + + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + + /** + * Test the property 'phone' + */ + @Test + public void phoneTest() { + // TODO: test phone + } + + /** + * Test the property 'primary' + */ + @Test + public void primaryTest() { + // TODO: test primary + } + + /** + * Test the property 'verifiedAt' + */ + @Test + public void verifiedAtTest() { + // TODO: test verifiedAt + } + + /** + * Test the property 'verificationAttemptsToday' + */ + @Test + public void verificationAttemptsTodayTest() { + // TODO: test verificationAttemptsToday + } + + /** + * 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/VerifyPhoneNumberRequestTest.java b/src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.java new file mode 100644 index 00000000..6e06659c --- /dev/null +++ b/src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.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 VerifyPhoneNumberRequest + */ +public class VerifyPhoneNumberRequestTest { + private final VerifyPhoneNumberRequest model = new VerifyPhoneNumberRequest(); + + /** + * Model tests for VerifyPhoneNumberRequest + */ + @Test + public void testVerifyPhoneNumberRequest() { + // TODO: test VerifyPhoneNumberRequest + } + + /** + * Test the property 'code' + */ + @Test + public void codeTest() { + // TODO: test code + } + +} From 667e530e4a9c1a60de990137186b74c725ff99fb Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:31:12 -0700 Subject: [PATCH 2/7] ci: pin GitHub Actions to full-length commit SHAs Pin actions/checkout and actions/setup-java to commit SHAs to comply with rootlyhq org policy requiring pinned actions. --- .github/workflows/maven.yml | 4 ++-- .github/workflows/publish.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index ae5b8411..1e568bd0 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -19,9 +19,9 @@ jobs: matrix: java: [ 17, 21 ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cfc75776..ac286bc5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,9 +9,9 @@ jobs: test-and-publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 with: java-version: '17' distribution: 'temurin' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 253e364a..96add10b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,9 +9,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 with: java-version: '17' distribution: 'temurin' From a5f4bd719df603d82baaacfdbda10473e00a2adc Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:32:56 -0700 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20upgrade=20jackson-databind-nullable?= =?UTF-8?q?=200.2.6=20=E2=86=92=200.2.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.2.6 transitively pulls jackson-core:2.14.0-rc2 which is no longer available on Maven Central, breaking CI builds. --- build.gradle | 2 +- build.sbt | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index c2b09f3b..678afdae 100644 --- a/build.gradle +++ b/build.gradle @@ -113,7 +113,7 @@ dependencies { implementation 'com.google.code.gson:gson:2.9.1' implementation 'io.gsonfire:gson-fire:1.9.0' implementation 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6' - implementation 'org.openapitools:jackson-databind-nullable:0.2.6' + implementation 'org.openapitools:jackson-databind-nullable:0.2.10' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0' implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3' diff --git a/build.sbt b/build.sbt index 93e9a205..a0370a59 100644 --- a/build.sbt +++ b/build.sbt @@ -15,7 +15,7 @@ lazy val root = (project in file(".")). "com.google.code.gson" % "gson" % "2.9.1", "org.apache.commons" % "commons-lang3" % "3.17.0", "jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.6", - "org.openapitools" % "jackson-databind-nullable" % "0.2.6", + "org.openapitools" % "jackson-databind-nullable" % "0.2.10", "io.gsonfire" % "gson-fire" % "1.9.0" % "compile", "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile", "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile", diff --git a/pom.xml b/pom.xml index 139c93ef..5deab841 100644 --- a/pom.xml +++ b/pom.xml @@ -327,7 +327,7 @@ 4.12.0 2.10.1 3.17.0 - 0.2.6 + 0.2.10 1.3.5 2.0.2 5.10.3 From 64fc11506942db4e79ccb7c0a4dc6a087eecbe13 Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:33:41 -0700 Subject: [PATCH 4/7] fix: strip UUID.validateJsonElement calls from generated sources Post-generation sed only removed Object.validateJsonElement but UUID.validateJsonElement also has no such method, causing compile errors in GetTeamIdParameter and GetAlertFieldIdParameter. --- .../java/com/rootly/client/model/GetAlertFieldIdParameter.java | 2 -- src/main/java/com/rootly/client/model/GetTeamIdParameter.java | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java b/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java index e575e0fa..2ee209d8 100644 --- a/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java +++ b/src/main/java/com/rootly/client/model/GetAlertFieldIdParameter.java @@ -100,7 +100,6 @@ public GetAlertFieldIdParameter read(JsonReader in) throws IOException { // deserialize UUID try { // validate the JSON object to see if any exception is thrown - UUID.validateJsonElement(jsonElement); actualAdapter = adapterUUID; GetAlertFieldIdParameter ret = new GetAlertFieldIdParameter(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); @@ -221,7 +220,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti ArrayList errorMessages = new ArrayList<>(); // validate the json string with UUID try { - UUID.validateJsonElement(jsonElement); return; } catch (Exception e) { errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); diff --git a/src/main/java/com/rootly/client/model/GetTeamIdParameter.java b/src/main/java/com/rootly/client/model/GetTeamIdParameter.java index f7a44d62..27aa5406 100644 --- a/src/main/java/com/rootly/client/model/GetTeamIdParameter.java +++ b/src/main/java/com/rootly/client/model/GetTeamIdParameter.java @@ -100,7 +100,6 @@ public GetTeamIdParameter read(JsonReader in) throws IOException { // deserialize UUID try { // validate the JSON object to see if any exception is thrown - UUID.validateJsonElement(jsonElement); actualAdapter = adapterUUID; GetTeamIdParameter ret = new GetTeamIdParameter(); ret.setActualInstance(actualAdapter.fromJsonTree(jsonElement)); @@ -221,7 +220,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti ArrayList errorMessages = new ArrayList<>(); // validate the json string with UUID try { - UUID.validateJsonElement(jsonElement); return; } catch (Exception e) { errorMessages.add(String.format("Deserialization for UUID failed with `%s`.", e.getMessage())); From d2062535749dddbeb46ab41b1e7d70f3401c46a7 Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:33:55 -0700 Subject: [PATCH 5/7] chore: update Makefile sed to also strip UUID.validateJsonElement --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a06e0818..e110688b 100644 --- a/Makefile +++ b/Makefile @@ -9,4 +9,4 @@ build: --skip-validate-spec \ --library okhttp-gson - find ./src/main/java ./src/test/java -type f -name '*.java' -exec sed -i '' '/Object\.validateJsonElement/d' {} + \ No newline at end of file + find ./src/main/java ./src/test/java -type f -name '*.java' -exec sed -i '' '/Object\.validateJsonElement/d;/UUID\.validateJsonElement/d' {} + \ No newline at end of file From d5f7fe7c8d7152f3f200d8f332c114dafe0b9fcd Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:37:06 -0700 Subject: [PATCH 6/7] fix: regenerate test stubs to match current API signatures Old test stubs had stale method signatures (String vs GetAlertFieldIdParameter, missing params, etc). Deleted and regenerated all test files. Re-applied SHA-pinned actions, jackson-databind-nullable 0.2.10, and validateJsonElement stripping. --- .openapi-generator/FILES | 1159 +++++++++++++++++ README.md | 2 +- .../java/com/rootly/client/ApiException.java | 2 +- .../java/com/rootly/client/Configuration.java | 2 +- 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 +- .../com/rootly/client/auth/ApiKeyAuth.java | 2 +- .../rootly/client/auth/Authentication.java | 2 +- .../rootly/client/auth/HttpBearerAuth.java | 2 +- .../client/model/AbstractOpenApiSchema.java | 2 +- .../client/model/ActionItemTriggerParams.java | 2 +- .../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 +- .../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 +- .../java/com/rootly/client/model/Alert.java | 2 +- .../com/rootly/client/model/AlertEvent.java | 2 +- .../rootly/client/model/AlertEventList.java | 2 +- .../client/model/AlertEventResponse.java | 2 +- .../client/model/AlertEventResponseData.java | 2 +- .../com/rootly/client/model/AlertField.java | 2 +- .../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 | 2 +- .../model/AlertGroupConditionsInner.java | 2 +- .../AlertGroupConditionsInnerValuesInner.java | 2 +- .../rootly/client/model/AlertGroupList.java | 2 +- .../client/model/AlertGroupResponse.java | 2 +- .../client/model/AlertGroupResponseData.java | 2 +- .../com/rootly/client/model/AlertList.java | 2 +- .../rootly/client/model/AlertResponse.java | 2 +- .../client/model/AlertResponseData.java | 2 +- .../com/rootly/client/model/AlertRoute.java | 2 +- .../rootly/client/model/AlertRouteList.java | 2 +- .../client/model/AlertRouteResponse.java | 2 +- .../client/model/AlertRouteResponseData.java | 2 +- .../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 +- .../client/model/AlertTriggerParams.java | 2 +- ...riggerParamsAlertFieldConditionsInner.java | 2 +- ...rtTriggerParamsAlertPayloadConditions.java | 2 +- ...AlertPayloadConditionsConditionsInner.java | 2 +- .../com/rootly/client/model/AlertUrgency.java | 2 +- .../rootly/client/model/AlertUrgencyList.java | 2 +- .../client/model/AlertUrgencyResponse.java | 2 +- .../model/AlertUrgencyResponseData.java | 2 +- .../com/rootly/client/model/AlertsSource.java | 2 +- .../rootly/client/model/AlertsSourceList.java | 2 +- .../client/model/AlertsSourceResponse.java | 2 +- .../model/AlertsSourceResponseData.java | 2 +- .../java/com/rootly/client/model/ApiKey.java | 2 +- .../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 | 2 +- ...chiveMicrosoftTeamsChannelsTaskParams.java | 2 +- .../model/ArchiveSlackChannelsTaskParams.java | 2 +- .../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 +- .../java/com/rootly/client/model/Audit.java | 2 +- .../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 +- .../model/AutoAssignRoleRootlyTaskParams.java | 2 +- .../AutoAssignRoleVictorOpsTaskParams.java | 2 +- .../com/rootly/client/model/BuiltinField.java | 2 +- .../client/model/CallPeopleTaskParams.java | 2 +- .../rootly/client/model/CancelIncident.java | 2 +- .../client/model/CancelIncidentData.java | 2 +- .../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 +- .../ChangeSlackChannelPrivacyTaskParams.java | 2 +- .../client/model/CommunicationsGroup.java | 2 +- ...ommunicationExternalGroupMembersInner.java | 2 +- .../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 | 2 +- .../model/CreateGithubIssueTaskParams.java | 2 +- .../CreateGithubIssueTaskParamsIssueType.java | 2 +- .../model/CreateGitlabIssueTaskParams.java | 2 +- .../model/CreateGoToMeetingTaskParams.java | 2 +- .../CreateGoogleCalendarEventTaskParams.java | 2 +- .../model/CreateGoogleDocsPageTaskParams.java | 2 +- ...CreateGoogleDocsPermissionsTaskParams.java | 2 +- ...eGoogleGeminiChatCompletionTaskParams.java | 2 +- ...leGeminiChatCompletionTaskParamsModel.java | 2 +- .../model/CreateGoogleMeetingTaskParams.java | 2 +- .../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 +- .../model/CreateShortcutTaskTaskParams.java | 2 +- .../model/CreateSlackChannelTaskParams.java | 2 +- .../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 | 2 +- .../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 +- .../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 | 2 +- .../com/rootly/client/model/Environment.java | 2 +- .../rootly/client/model/EnvironmentList.java | 2 +- .../client/model/EnvironmentResponse.java | 2 +- .../client/model/EnvironmentResponseData.java | 2 +- .../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 | 2 +- .../rootly/client/model/EscalationPolicy.java | 2 +- .../client/model/EscalationPolicyLevel.java | 2 +- .../model/EscalationPolicyLevelList.java | 2 +- .../EscalationPolicyLevelListDataInner.java | 2 +- .../model/EscalationPolicyLevelResponse.java | 2 +- .../EscalationPolicyLevelResponseData.java | 2 +- .../client/model/EscalationPolicyList.java | 2 +- .../client/model/EscalationPolicyPath.java | 2 +- .../model/EscalationPolicyPathList.java | 2 +- .../EscalationPolicyPathListDataInner.java | 2 +- .../model/EscalationPolicyPathResponse.java | 2 +- .../EscalationPolicyPathResponseData.java | 2 +- .../model/EscalationPolicyResponse.java | 2 +- .../model/EscalationPolicyResponseData.java | 2 +- .../com/rootly/client/model/FormField.java | 2 +- .../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 | 2 +- .../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 +- .../model/GetGitlabCommitsTaskParams.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 | 2 +- .../rootly/client/model/InTriageIncident.java | 2 +- .../client/model/InTriageIncidentData.java | 2 +- .../com/rootly/client/model/Incident.java | 2 +- .../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 +- .../client/model/IncidentSubStatus.java | 2 +- .../client/model/IncidentSubStatusList.java | 2 +- .../model/IncidentSubStatusResponse.java | 2 +- .../model/IncidentSubStatusResponseData.java | 2 +- .../client/model/IncidentTriggerParams.java | 2 +- .../com/rootly/client/model/IncidentType.java | 2 +- .../rootly/client/model/IncidentTypeList.java | 2 +- .../client/model/IncidentTypeResponse.java | 2 +- .../model/IncidentTypeResponseData.java | 2 +- ...ntZoomMeetingGlobalDialInNumbersInner.java | 2 +- ...viteToMicrosoftTeamsChannelTaskParams.java | 2 +- ...nviteToSlackChannelOpsgenieTaskParams.java | 2 +- ...viteToSlackChannelPagerdutyTaskParams.java | 2 +- .../InviteToSlackChannelRootlyTaskParams.java | 2 +- .../model/InviteToSlackChannelTaskParams.java | 2 +- ...viteToSlackChannelVictorOpsTaskParams.java | 2 +- .../com/rootly/client/model/IpRanges.java | 2 +- .../rootly/client/model/IpRangesResponse.java | 2 +- .../client/model/IpRangesResponseData.java | 2 +- .../java/com/rootly/client/model/Links.java | 2 +- .../rootly/client/model/LiveCallRouter.java | 2 +- .../client/model/LiveCallRouterList.java | 2 +- .../client/model/LiveCallRouterResponse.java | 2 +- .../model/LiveCallRouterResponseData.java | 2 +- .../rootly/client/model/MeetingRecording.java | 2 +- .../client/model/MeetingRecordingList.java | 2 +- .../model/MeetingRecordingListDataInner.java | 2 +- .../java/com/rootly/client/model/Meta.java | 2 +- .../rootly/client/model/MitigateIncident.java | 2 +- .../client/model/MitigateIncidentData.java | 2 +- .../model/MitigateIncidentDataAttributes.java | 2 +- .../com/rootly/client/model/NewAlert.java | 2 +- .../com/rootly/client/model/NewAlertData.java | 2 +- .../client/model/NewAlertDataAttributes.java | 2 +- ...ibutesAlertFieldValuesAttributesInner.java | 2 +- .../NewAlertDataAttributesLabelsInner.java | 2 +- ...ewAlertDataAttributesLabelsInnerValue.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 | 2 +- .../rootly/client/model/NewAlertGroup.java | 2 +- .../client/model/NewAlertGroupData.java | 2 +- .../model/NewAlertGroupDataAttributes.java | 2 +- ...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 | 2 +- .../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 | 2 +- ...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 | 2 +- .../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 | 2 +- .../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 | 2 +- ...ionPolicyPathDataAttributesRulesInner.java | 2 +- ...licyPathDataAttributesRulesInnerOneOf.java | 2 +- ...icyPathDataAttributesRulesInnerOneOf1.java | 2 +- ...icyPathDataAttributesRulesInnerOneOf2.java | 2 +- ...icyPathDataAttributesRulesInnerOneOf3.java | 2 +- ...icyPathDataAttributesRulesInnerOneOf4.java | 2 +- ...icyPathDataAttributesRulesInnerOneOf5.java | 2 +- ...ibutesRulesInnerOneOf5TimeBlocksInner.java | 2 +- ...thDataAttributesTimeRestrictionsInner.java | 2 +- .../com/rootly/client/model/NewFormField.java | 2 +- .../rootly/client/model/NewFormFieldData.java | 2 +- .../model/NewFormFieldDataAttributes.java | 2 +- .../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 +- .../NewIncidentCustomFieldSelection.java | 2 +- .../NewIncidentCustomFieldSelectionData.java | 2 +- ...entCustomFieldSelectionDataAttributes.java | 2 +- .../rootly/client/model/NewIncidentData.java | 2 +- .../model/NewIncidentDataAttributes.java | 2 +- .../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 | 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 | 2 +- .../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 | 2 +- .../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/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 | 2 +- .../com/rootly/client/model/NewSchedule.java | 2 +- .../rootly/client/model/NewScheduleData.java | 2 +- .../model/NewScheduleDataAttributes.java | 2 +- ...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 | 2 +- ...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 | 2 +- .../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 +- .../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 +- .../client/model/NewStatusPageData.java | 2 +- .../model/NewStatusPageDataAttributes.java | 2 +- .../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 | 2 +- .../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/NewWebhooksEndpoint.java | 2 +- .../client/model/NewWebhooksEndpointData.java | 2 +- .../NewWebhooksEndpointDataAttributes.java | 2 +- .../com/rootly/client/model/NewWorkflow.java | 2 +- .../NewWorkflowCustomFieldSelection.java | 2 +- .../NewWorkflowCustomFieldSelectionData.java | 2 +- ...lowCustomFieldSelectionDataAttributes.java | 2 +- .../rootly/client/model/NewWorkflowData.java | 2 +- .../model/NewWorkflowDataAttributes.java | 2 +- ...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 | 2 +- .../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 | 2 +- .../rootly/client/model/OnCallPayReport.java | 2 +- .../client/model/OnCallPayReportList.java | 2 +- .../client/model/OnCallPayReportResponse.java | 2 +- .../model/OnCallPayReportResponseData.java | 2 +- .../com/rootly/client/model/OnCallRole.java | 2 +- .../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 +- .../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 +- .../rootly/client/model/PatchAlertRoute.java | 2 +- .../client/model/PatchAlertRouteData.java | 2 +- .../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 | 2 +- .../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 | 2 +- .../rootly/client/model/PrintTaskParams.java | 2 +- .../model/PublishIncidentTaskParams.java | 2 +- .../java/com/rootly/client/model/Pulse.java | 2 +- .../com/rootly/client/model/PulseList.java | 2 +- .../rootly/client/model/PulseResponse.java | 2 +- .../client/model/PulseResponseData.java | 2 +- .../client/model/PulseTriggerParams.java | 2 +- .../client/model/RedisClientTaskParams.java | 2 +- ...RemoveGoogleDocsPermissionsTaskParams.java | 2 +- .../client/model/RemoveSubscribers.java | 2 +- .../client/model/RemoveSubscribersData.java | 2 +- .../RemoveSubscribersDataAttributes.java | 2 +- ...RenameMicrosoftTeamsChannelTaskParams.java | 2 +- .../model/RenameSlackChannelTaskParams.java | 2 +- .../com/rootly/client/model/ResolveAlert.java | 2 +- .../rootly/client/model/ResolveAlertData.java | 2 +- .../model/ResolveAlertDataAttributes.java | 2 +- .../rootly/client/model/ResolveIncident.java | 2 +- .../client/model/ResolveIncidentData.java | 2 +- .../model/ResolveIncidentDataAttributes.java | 2 +- .../rootly/client/model/RestartIncident.java | 2 +- .../client/model/RestartIncidentData.java | 2 +- .../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 | 2 +- .../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 | 2 +- .../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 | 2 +- .../model/ScheduleRotationActiveDay.java | 2 +- .../model/ScheduleRotationActiveDayList.java | 2 +- ...cheduleRotationActiveDayListDataInner.java | 2 +- .../ScheduleRotationActiveDayResponse.java | 2 +- ...ScheduleRotationActiveDayResponseData.java | 2 +- .../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 | 2 +- .../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 +- .../SendMicrosoftTeamsBlocksTaskParams.java | 2 +- ...ndMicrosoftTeamsChatMessageTaskParams.java | 2 +- .../SendMicrosoftTeamsMessageTaskParams.java | 2 +- .../model/SendSlackBlocksTaskParams.java | 2 +- .../model/SendSlackMessageTaskParams.java | 2 +- .../client/model/SendSmsTaskParams.java | 2 +- .../model/SendWhatsappMessageTaskParams.java | 2 +- .../java/com/rootly/client/model/Service.java | 2 +- .../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 | 2 +- .../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 | 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/ShiftRelationshipsUser.java | 2 +- .../model/ShiftRelationshipsUserData.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 +- .../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 | 2 +- .../java/com/rootly/client/model/Status.java | 2 +- .../com/rootly/client/model/StatusList.java | 2 +- .../com/rootly/client/model/StatusPage.java | 2 +- .../rootly/client/model/StatusPageList.java | 2 +- .../client/model/StatusPageResponse.java | 2 +- .../client/model/StatusPageResponseData.java | 2 +- .../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 | 2 +- .../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 | 2 +- .../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 +- .../rootly/client/model/UpdateAlertData.java | 2 +- .../model/UpdateAlertDataAttributes.java | 2 +- .../rootly/client/model/UpdateAlertEvent.java | 2 +- .../client/model/UpdateAlertEventData.java | 2 +- .../model/UpdateAlertEventDataAttributes.java | 2 +- .../rootly/client/model/UpdateAlertField.java | 2 +- .../client/model/UpdateAlertFieldData.java | 2 +- .../model/UpdateAlertFieldDataAttributes.java | 2 +- .../rootly/client/model/UpdateAlertGroup.java | 2 +- .../client/model/UpdateAlertGroupData.java | 2 +- .../model/UpdateAlertGroupDataAttributes.java | 2 +- .../rootly/client/model/UpdateAlertRoute.java | 2 +- .../client/model/UpdateAlertRouteData.java | 2 +- .../model/UpdateAlertRouteDataAttributes.java | 2 +- .../client/model/UpdateAlertRoutingRule.java | 2 +- .../model/UpdateAlertRoutingRuleData.java | 2 +- .../UpdateAlertRoutingRuleDataAttributes.java | 2 +- ...tingRuleDataAttributesConditionsInner.java | 2 +- ...tRoutingRuleDataAttributesDestination.java | 2 +- .../client/model/UpdateAlertUrgency.java | 2 +- .../client/model/UpdateAlertUrgencyData.java | 2 +- .../UpdateAlertUrgencyDataAttributes.java | 2 +- .../client/model/UpdateAlertsSource.java | 2 +- .../client/model/UpdateAlertsSourceData.java | 2 +- .../UpdateAlertsSourceDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateApiKey.java | 2 +- .../rootly/client/model/UpdateApiKeyData.java | 2 +- .../model/UpdateApiKeyDataAttributes.java | 2 +- .../model/UpdateAsanaTaskTaskParams.java | 2 +- .../model/UpdateAttachedAlertsTaskParams.java | 2 +- .../client/model/UpdateAuthorization.java | 2 +- .../client/model/UpdateAuthorizationData.java | 2 +- .../UpdateAuthorizationDataAttributes.java | 2 +- .../rootly/client/model/UpdateCatalog.java | 2 +- .../model/UpdateCatalogChecklistTemplate.java | 2 +- .../UpdateCatalogChecklistTemplateData.java | 2 +- ...atalogChecklistTemplateDataAttributes.java | 2 +- .../client/model/UpdateCatalogData.java | 2 +- .../model/UpdateCatalogDataAttributes.java | 2 +- .../client/model/UpdateCatalogEntity.java | 2 +- .../client/model/UpdateCatalogEntityData.java | 2 +- .../UpdateCatalogEntityDataAttributes.java | 2 +- .../model/UpdateCatalogEntityProperty.java | 2 +- .../UpdateCatalogEntityPropertyData.java | 2 +- ...teCatalogEntityPropertyDataAttributes.java | 2 +- .../client/model/UpdateCatalogField.java | 2 +- .../client/model/UpdateCatalogFieldData.java | 2 +- .../UpdateCatalogFieldDataAttributes.java | 2 +- .../client/model/UpdateCatalogProperty.java | 2 +- .../model/UpdateCatalogPropertyData.java | 2 +- .../UpdateCatalogPropertyDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateCause.java | 2 +- .../rootly/client/model/UpdateCauseData.java | 2 +- .../model/UpdateCauseDataAttributes.java | 2 +- .../model/UpdateClickupTaskTaskParams.java | 2 +- .../model/UpdateCodaPageTaskParams.java | 2 +- .../model/UpdateCommunicationsGroup.java | 2 +- .../model/UpdateCommunicationsGroupData.java | 2 +- ...dateCommunicationsGroupDataAttributes.java | 2 +- ...ommunicationExternalGroupMembersInner.java | 2 +- ...utesCommunicationGroupConditionsInner.java | 2 +- .../model/UpdateCommunicationsStage.java | 2 +- .../model/UpdateCommunicationsStageData.java | 2 +- ...dateCommunicationsStageDataAttributes.java | 2 +- .../model/UpdateCommunicationsTemplate.java | 2 +- .../UpdateCommunicationsTemplateData.java | 2 +- ...eCommunicationsTemplateDataAttributes.java | 2 +- ...nicationTemplateStagesAttributesInner.java | 2 +- .../model/UpdateCommunicationsType.java | 2 +- .../model/UpdateCommunicationsTypeData.java | 2 +- ...pdateCommunicationsTypeDataAttributes.java | 2 +- .../model/UpdateConfluencePageTaskParams.java | 2 +- ...pdateConfluencePageTaskParamsTemplate.java | 2 +- .../client/model/UpdateCustomField.java | 2 +- .../client/model/UpdateCustomFieldData.java | 2 +- .../UpdateCustomFieldDataAttributes.java | 2 +- .../client/model/UpdateCustomFieldOption.java | 2 +- .../model/UpdateCustomFieldOptionData.java | 2 +- ...UpdateCustomFieldOptionDataAttributes.java | 2 +- .../rootly/client/model/UpdateCustomForm.java | 2 +- .../client/model/UpdateCustomFormData.java | 2 +- .../model/UpdateCustomFormDataAttributes.java | 2 +- .../rootly/client/model/UpdateDashboard.java | 2 +- .../client/model/UpdateDashboardData.java | 2 +- .../model/UpdateDashboardDataAttributes.java | 2 +- .../client/model/UpdateDashboardPanel.java | 2 +- .../model/UpdateDashboardPanelData.java | 2 +- .../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 +- .../model/UpdateEdgeConnectorRequest.java | 2 +- .../model/UpdateEdgeConnectorRequestData.java | 2 +- ...ateEdgeConnectorRequestDataAttributes.java | 2 +- .../client/model/UpdateEnvironment.java | 2 +- .../client/model/UpdateEnvironmentData.java | 2 +- .../UpdateEnvironmentDataAttributes.java | 2 +- .../client/model/UpdateEscalationPolicy.java | 2 +- .../model/UpdateEscalationPolicyData.java | 2 +- .../UpdateEscalationPolicyDataAttributes.java | 2 +- .../model/UpdateEscalationPolicyLevel.java | 2 +- .../UpdateEscalationPolicyLevelData.java | 2 +- ...teEscalationPolicyLevelDataAttributes.java | 2 +- ...tributesNotificationTargetParamsInner.java | 2 +- .../model/UpdateEscalationPolicyPath.java | 2 +- .../model/UpdateEscalationPolicyPathData.java | 2 +- ...ateEscalationPolicyPathDataAttributes.java | 2 +- ...ionPolicyPathDataAttributesRulesInner.java | 2 +- ...thDataAttributesTimeRestrictionsInner.java | 2 +- .../rootly/client/model/UpdateFormField.java | 2 +- .../client/model/UpdateFormFieldData.java | 2 +- .../model/UpdateFormFieldDataAttributes.java | 2 +- .../client/model/UpdateFormFieldOption.java | 2 +- .../model/UpdateFormFieldOptionData.java | 2 +- .../UpdateFormFieldOptionDataAttributes.java | 2 +- .../model/UpdateFormFieldPlacement.java | 2 +- .../UpdateFormFieldPlacementCondition.java | 2 +- ...UpdateFormFieldPlacementConditionData.java | 2 +- ...FieldPlacementConditionDataAttributes.java | 2 +- .../model/UpdateFormFieldPlacementData.java | 2 +- ...pdateFormFieldPlacementDataAttributes.java | 2 +- .../client/model/UpdateFormFieldPosition.java | 2 +- .../model/UpdateFormFieldPositionData.java | 2 +- ...UpdateFormFieldPositionDataAttributes.java | 2 +- .../rootly/client/model/UpdateFormSet.java | 2 +- .../client/model/UpdateFormSetCondition.java | 2 +- .../model/UpdateFormSetConditionData.java | 2 +- .../UpdateFormSetConditionDataAttributes.java | 2 +- .../client/model/UpdateFormSetData.java | 2 +- .../model/UpdateFormSetDataAttributes.java | 2 +- .../client/model/UpdateFunctionality.java | 2 +- .../client/model/UpdateFunctionalityData.java | 2 +- .../UpdateFunctionalityDataAttributes.java | 2 +- .../model/UpdateGithubIssueTaskParams.java | 2 +- ...UpdateGithubIssueTaskParamsRepository.java | 2 +- .../model/UpdateGitlabIssueTaskParams.java | 2 +- .../UpdateGoogleCalendarEventTaskParams.java | 2 +- .../model/UpdateGoogleDocsPageTaskParams.java | 2 +- .../rootly/client/model/UpdateHeartbeat.java | 2 +- .../client/model/UpdateHeartbeatData.java | 2 +- .../model/UpdateHeartbeatDataAttributes.java | 2 +- .../rootly/client/model/UpdateIncident.java | 2 +- .../model/UpdateIncidentActionItem.java | 2 +- .../model/UpdateIncidentActionItemData.java | 2 +- ...pdateIncidentActionItemDataAttributes.java | 2 +- .../UpdateIncidentCustomFieldSelection.java | 2 +- ...pdateIncidentCustomFieldSelectionData.java | 2 +- ...entCustomFieldSelectionDataAttributes.java | 2 +- .../client/model/UpdateIncidentData.java | 2 +- .../model/UpdateIncidentDataAttributes.java | 2 +- .../client/model/UpdateIncidentEvent.java | 2 +- .../client/model/UpdateIncidentEventData.java | 2 +- .../UpdateIncidentEventDataAttributes.java | 2 +- .../UpdateIncidentEventFunctionality.java | 2 +- .../UpdateIncidentEventFunctionalityData.java | 2 +- ...identEventFunctionalityDataAttributes.java | 2 +- .../model/UpdateIncidentEventService.java | 2 +- .../model/UpdateIncidentEventServiceData.java | 2 +- ...ateIncidentEventServiceDataAttributes.java | 2 +- .../client/model/UpdateIncidentFeedback.java | 2 +- .../model/UpdateIncidentFeedbackData.java | 2 +- .../UpdateIncidentFeedbackDataAttributes.java | 2 +- .../UpdateIncidentFormFieldSelection.java | 2 +- .../UpdateIncidentFormFieldSelectionData.java | 2 +- ...identFormFieldSelectionDataAttributes.java | 2 +- .../model/UpdateIncidentPermissionSet.java | 2 +- .../UpdateIncidentPermissionSetBoolean.java | 2 +- ...pdateIncidentPermissionSetBooleanData.java | 2 +- ...entPermissionSetBooleanDataAttributes.java | 2 +- ...etBooleanDataAttributesSeverityParams.java | 2 +- .../UpdateIncidentPermissionSetData.java | 2 +- ...teIncidentPermissionSetDataAttributes.java | 2 +- .../UpdateIncidentPermissionSetResource.java | 2 +- ...dateIncidentPermissionSetResourceData.java | 2 +- ...ntPermissionSetResourceDataAttributes.java | 2 +- .../model/UpdateIncidentPostMortem.java | 2 +- .../model/UpdateIncidentPostMortemData.java | 2 +- ...pdateIncidentPostMortemDataAttributes.java | 2 +- .../UpdateIncidentPostmortemTaskParams.java | 2 +- .../UpdateIncidentRetrospectiveStep.java | 2 +- .../UpdateIncidentRetrospectiveStepData.java | 2 +- ...cidentRetrospectiveStepDataAttributes.java | 2 +- .../client/model/UpdateIncidentRole.java | 2 +- .../client/model/UpdateIncidentRoleData.java | 2 +- .../UpdateIncidentRoleDataAttributes.java | 2 +- .../client/model/UpdateIncidentRoleTask.java | 2 +- .../model/UpdateIncidentRoleTaskData.java | 2 +- .../UpdateIncidentRoleTaskDataAttributes.java | 2 +- .../model/UpdateIncidentStatusPageEvent.java | 2 +- .../UpdateIncidentStatusPageEventData.java | 2 +- ...IncidentStatusPageEventDataAttributes.java | 2 +- ...dateIncidentStatusTimestampTaskParams.java | 2 +- .../client/model/UpdateIncidentSubStatus.java | 2 +- .../model/UpdateIncidentSubStatusData.java | 2 +- ...UpdateIncidentSubStatusDataAttributes.java | 2 +- .../model/UpdateIncidentTaskParams.java | 2 +- .../client/model/UpdateIncidentType.java | 2 +- .../client/model/UpdateIncidentTypeData.java | 2 +- .../UpdateIncidentTypeDataAttributes.java | 2 +- .../model/UpdateJiraIssueTaskParams.java | 2 +- .../model/UpdateLinearIssueTaskParams.java | 2 +- .../UpdateLinearIssueTaskParamsState.java | 2 +- .../client/model/UpdateLiveCallRouter.java | 2 +- .../model/UpdateLiveCallRouterData.java | 2 +- .../UpdateLiveCallRouterDataAttributes.java | 2 +- ...tributesEscalationPolicyTriggerParams.java | 2 +- .../model/UpdateMotionTaskTaskParams.java | 2 +- .../model/UpdateNotionPageTaskParams.java | 2 +- .../client/model/UpdateOnCallPayReport.java | 2 +- .../model/UpdateOnCallPayReportData.java | 2 +- .../UpdateOnCallPayReportDataAttributes.java | 2 +- .../rootly/client/model/UpdateOnCallRole.java | 2 +- .../client/model/UpdateOnCallRoleData.java | 2 +- .../model/UpdateOnCallRoleDataAttributes.java | 2 +- .../client/model/UpdateOnCallShadow.java | 2 +- .../client/model/UpdateOnCallShadowData.java | 2 +- .../UpdateOnCallShadowDataAttributes.java | 2 +- .../model/UpdateOpsgenieAlertTaskParams.java | 2 +- .../UpdateOpsgenieIncidentTaskParams.java | 2 +- .../client/model/UpdateOverrideShift.java | 2 +- .../client/model/UpdateOverrideShiftData.java | 2 +- .../UpdateOverrideShiftDataAttributes.java | 2 +- .../UpdatePagerdutyIncidentTaskParams.java | 2 +- .../model/UpdatePagertreeAlertTaskParams.java | 2 +- .../rootly/client/model/UpdatePlaybook.java | 2 +- .../client/model/UpdatePlaybookData.java | 2 +- .../model/UpdatePlaybookDataAttributes.java | 2 +- .../client/model/UpdatePlaybookTask.java | 2 +- .../client/model/UpdatePlaybookTaskData.java | 2 +- .../UpdatePlaybookTaskDataAttributes.java | 2 +- .../model/UpdatePostMortemTemplate.java | 2 +- .../model/UpdatePostMortemTemplateData.java | 2 +- ...pdatePostMortemTemplateDataAttributes.java | 2 +- .../com/rootly/client/model/UpdatePulse.java | 2 +- .../rootly/client/model/UpdatePulseData.java | 2 +- .../model/UpdatePulseDataAttributes.java | 2 +- .../model/UpdateQuipPageTaskParams.java | 2 +- .../UpdateRetrospectiveConfiguration.java | 2 +- .../UpdateRetrospectiveConfigurationData.java | 2 +- ...rospectiveConfigurationDataAttributes.java | 2 +- .../model/UpdateRetrospectiveProcess.java | 2 +- .../model/UpdateRetrospectiveProcessData.java | 2 +- ...ateRetrospectiveProcessDataAttributes.java | 2 +- .../UpdateRetrospectiveProcessGroup.java | 2 +- .../UpdateRetrospectiveProcessGroupData.java | 2 +- ...trospectiveProcessGroupDataAttributes.java | 2 +- .../UpdateRetrospectiveProcessGroupStep.java | 2 +- ...dateRetrospectiveProcessGroupStepData.java | 2 +- ...pectiveProcessGroupStepDataAttributes.java | 2 +- .../client/model/UpdateRetrospectiveStep.java | 2 +- .../model/UpdateRetrospectiveStepData.java | 2 +- ...UpdateRetrospectiveStepDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateRole.java | 2 +- .../rootly/client/model/UpdateRoleData.java | 2 +- .../model/UpdateRoleDataAttributes.java | 2 +- .../rootly/client/model/UpdateSchedule.java | 2 +- .../client/model/UpdateScheduleData.java | 2 +- .../model/UpdateScheduleDataAttributes.java | 2 +- .../client/model/UpdateScheduleRotation.java | 2 +- .../UpdateScheduleRotationActiveDay.java | 2 +- .../UpdateScheduleRotationActiveDayData.java | 2 +- ...heduleRotationActiveDayDataAttributes.java | 2 +- .../model/UpdateScheduleRotationData.java | 2 +- .../UpdateScheduleRotationDataAttributes.java | 2 +- .../model/UpdateScheduleRotationUser.java | 2 +- .../model/UpdateScheduleRotationUserData.java | 2 +- ...ateScheduleRotationUserDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateSecret.java | 2 +- .../rootly/client/model/UpdateSecretData.java | 2 +- .../model/UpdateSecretDataAttributes.java | 2 +- .../rootly/client/model/UpdateService.java | 2 +- .../client/model/UpdateServiceData.java | 2 +- .../model/UpdateServiceDataAttributes.java | 2 +- .../UpdateServiceNowIncidentTaskParams.java | 2 +- .../rootly/client/model/UpdateSeverity.java | 2 +- .../client/model/UpdateSeverityData.java | 2 +- .../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 | 2 +- .../client/model/UpdateSlaDataAttributes.java | 2 +- .../UpdateSlackChannelTopicTaskParams.java | 2 +- .../rootly/client/model/UpdateStatusPage.java | 2 +- .../client/model/UpdateStatusPageData.java | 2 +- .../model/UpdateStatusPageDataAttributes.java | 2 +- .../model/UpdateStatusPageTemplate.java | 2 +- .../model/UpdateStatusPageTemplateData.java | 2 +- ...pdateStatusPageTemplateDataAttributes.java | 2 +- .../client/model/UpdateStatusTaskParams.java | 2 +- .../rootly/client/model/UpdateSubStatus.java | 2 +- .../client/model/UpdateSubStatusData.java | 2 +- .../model/UpdateSubStatusDataAttributes.java | 2 +- .../com/rootly/client/model/UpdateTeam.java | 2 +- .../rootly/client/model/UpdateTeamData.java | 2 +- .../model/UpdateTeamDataAttributes.java | 2 +- .../model/UpdateTrelloCardTaskParams.java | 2 +- .../com/rootly/client/model/UpdateUser.java | 2 +- .../rootly/client/model/UpdateUserData.java | 2 +- .../model/UpdateUserDataAttributes.java | 2 +- .../client/model/UpdateUserEmailAddress.java | 2 +- .../model/UpdateUserEmailAddressData.java | 2 +- .../UpdateUserEmailAddressDataAttributes.java | 2 +- .../model/UpdateUserNotificationRule.java | 2 +- .../model/UpdateUserNotificationRuleData.java | 2 +- ...ateUserNotificationRuleDataAttributes.java | 2 +- .../client/model/UpdateUserPhoneNumber.java | 2 +- .../model/UpdateUserPhoneNumberData.java | 2 +- .../UpdateUserPhoneNumberDataAttributes.java | 2 +- .../UpdateVictorOpsIncidentTaskParams.java | 2 +- .../client/model/UpdateWebhooksEndpoint.java | 2 +- .../model/UpdateWebhooksEndpointData.java | 2 +- .../UpdateWebhooksEndpointDataAttributes.java | 2 +- .../rootly/client/model/UpdateWorkflow.java | 2 +- .../UpdateWorkflowCustomFieldSelection.java | 2 +- ...pdateWorkflowCustomFieldSelectionData.java | 2 +- ...lowCustomFieldSelectionDataAttributes.java | 2 +- .../client/model/UpdateWorkflowData.java | 2 +- .../model/UpdateWorkflowDataAttributes.java | 2 +- .../UpdateWorkflowFormFieldCondition.java | 2 +- .../UpdateWorkflowFormFieldConditionData.java | 2 +- ...kflowFormFieldConditionDataAttributes.java | 2 +- .../client/model/UpdateWorkflowGroup.java | 2 +- .../client/model/UpdateWorkflowGroupData.java | 2 +- .../UpdateWorkflowGroupDataAttributes.java | 2 +- .../client/model/UpdateWorkflowTask.java | 2 +- .../client/model/UpdateWorkflowTaskData.java | 2 +- .../UpdateWorkflowTaskDataAttributes.java | 2 +- ...eWorkflowTaskDataAttributesTaskParams.java | 2 +- .../model/UpdateZendeskTicketTaskParams.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 +- .../model/VerifyPhoneNumberRequest.java | 2 +- .../rootly/client/model/WebhooksDelivery.java | 2 +- .../client/model/WebhooksDeliveryList.java | 2 +- .../model/WebhooksDeliveryResponse.java | 2 +- .../model/WebhooksDeliveryResponseData.java | 2 +- .../rootly/client/model/WebhooksEndpoint.java | 2 +- .../client/model/WebhooksEndpointList.java | 2 +- .../model/WebhooksEndpointResponse.java | 2 +- .../model/WebhooksEndpointResponseData.java | 2 +- .../com/rootly/client/model/Workflow.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 | 2 +- .../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 +- .../rootly/client/api/AlertEventsApiTest.java | 6 +- .../rootly/client/api/AlertGroupsApiTest.java | 13 +- .../client/api/AlertRoutingRulesApiTest.java | 19 +- .../client/api/AlertSourcesApiTest.java | 23 +- .../client/api/AlertUrgenciesApiTest.java | 2 +- .../com/rootly/client/api/AlertsApiTest.java | 70 +- .../com/rootly/client/api/AuditsApiTest.java | 2 +- .../client/api/AuthorizationsApiTest.java | 2 +- .../client/api/CatalogEntitiesApiTest.java | 13 +- .../api/CatalogEntityPropertiesApiTest.java | 12 +- .../client/api/CatalogFieldsApiTest.java | 122 -- .../rootly/client/api/CatalogsApiTest.java | 12 +- .../com/rootly/client/api/CausesApiTest.java | 50 +- .../rootly/client/api/CustomFormsApiTest.java | 9 +- .../client/api/DashboardPanelsApiTest.java | 2 +- .../rootly/client/api/DashboardsApiTest.java | 13 +- .../DeprecatedCustomFieldOptionsApiTest.java | 2 +- .../api/DeprecatedCustomFieldsApiTest.java | 2 +- ...dIncidentCustomFieldSelectionsApiTest.java | 2 +- ...dWorkflowCustomFieldSelectionsApiTest.java | 2 +- .../client/api/EnvironmentsApiTest.java | 50 +- .../client/api/EscalationLevelsApiTest.java | 2 +- .../api/EscalationLevelsPathApiTest.java | 2 +- .../api/EscalationLevelsPoliciesApiTest.java | 2 +- .../client/api/EscalationPathsApiTest.java | 2 +- .../client/api/EscalationPoliciesApiTest.java | 5 +- .../client/api/FormFieldOptionsApiTest.java | 2 +- .../FormFieldPlacementConditionsApiTest.java | 2 +- .../api/FormFieldPlacementsApiTest.java | 2 +- .../client/api/FormFieldPositionsApiTest.java | 2 +- .../rootly/client/api/FormFieldsApiTest.java | 9 +- .../client/api/FormSetConditionsApiTest.java | 2 +- .../rootly/client/api/FormSetsApiTest.java | 9 +- .../client/api/FunctionalitiesApiTest.java | 54 +- .../rootly/client/api/HeartbeatsApiTest.java | 9 +- .../api/IncidentActionItemsApiTest.java | 2 +- .../IncidentEventFunctionalitiesApiTest.java | 2 +- .../api/IncidentEventServicesApiTest.java | 2 +- .../client/api/IncidentEventsApiTest.java | 2 +- .../client/api/IncidentFeedbacksApiTest.java | 2 +- .../IncidentFormFieldSelectionsApiTest.java | 2 +- .../IncidentPermissionSetBooleansApiTest.java | 2 +- ...IncidentPermissionSetResourcesApiTest.java | 2 +- .../api/IncidentPermissionSetsApiTest.java | 9 +- .../IncidentRetrospectiveStepsApiTest.java | 2 +- .../api/IncidentRetrospectivesApiTest.java | 17 +- .../client/api/IncidentRoleTasksApiTest.java | 2 +- .../client/api/IncidentRolesApiTest.java | 12 +- .../api/IncidentStatusPageEventsApiTest.java | 2 +- .../api/IncidentSubStatusesApiTest.java | 2 +- .../client/api/IncidentTypesApiTest.java | 50 +- .../rootly/client/api/IncidentsApiTest.java | 63 +- .../rootly/client/api/IpRangesApiTest.java | 2 +- .../client/api/LiveCallRoutersApiTest.java | 2 +- .../rootly/client/api/OnCallRolesApiTest.java | 2 +- .../client/api/OnCallShadowsApiTest.java | 2 +- .../client/api/OverrideShiftsApiTest.java | 6 +- .../client/api/PlaybookTasksApiTest.java | 2 +- .../rootly/client/api/PlaybooksApiTest.java | 2 +- .../com/rootly/client/api/PulsesApiTest.java | 2 +- .../RetrospectiveConfigurationsApiTest.java | 2 +- ...RetrospectiveProcessGroupStepsApiTest.java | 2 +- .../RetrospectiveProcessGroupsApiTest.java | 2 +- .../api/RetrospectiveProcessesApiTest.java | 2 +- .../client/api/RetrospectiveStepsApiTest.java | 2 +- .../api/RetrospectiveTemplatesApiTest.java | 9 +- .../com/rootly/client/api/RolesApiTest.java | 9 +- .../ScheduleRotationActiveDaysApiTest.java | 2 +- .../api/ScheduleRotationUsersApiTest.java | 2 +- .../client/api/ScheduleRotationsApiTest.java | 2 +- .../rootly/client/api/SchedulesApiTest.java | 2 +- .../com/rootly/client/api/SecretsApiTest.java | 2 +- .../rootly/client/api/ServicesApiTest.java | 58 +- .../rootly/client/api/SeveritiesApiTest.java | 9 +- .../com/rootly/client/api/ShiftsApiTest.java | 8 +- .../api/StatusPageTemplatesApiTest.java | 2 +- .../rootly/client/api/StatusPagesApiTest.java | 9 +- .../rootly/client/api/SubStatusesApiTest.java | 9 +- .../com/rootly/client/api/TeamsApiTest.java | 57 +- .../api/UserNotificationRulesApiTest.java | 2 +- .../com/rootly/client/api/UsersApiTest.java | 2 +- .../client/api/WebhooksDeliveriesApiTest.java | 2 +- .../client/api/WebhooksEndpointsApiTest.java | 2 +- .../WorkflowFormFieldConditionsApiTest.java | 2 +- .../client/api/WorkflowGroupsApiTest.java | 2 +- .../client/api/WorkflowRunsApiTest.java | 2 +- .../client/api/WorkflowTasksApiTest.java | 2 +- .../rootly/client/api/WorkflowsApiTest.java | 9 +- .../model/ActionItemTriggerParamsTest.java | 2 +- ...ctionItemTaskParamsAssignedToUserTest.java | 2 +- ...askParamsPostToSlackChannelsInnerTest.java | 2 +- .../model/AddActionItemTaskParamsTest.java | 2 +- .../AddMicrosoftTeamsTabTaskParamsTest.java | 2 +- .../AddRoleTaskParamsAssignedToUserTest.java | 2 +- .../client/model/AddRoleTaskParamsTest.java | 2 +- .../model/AddSlackBookmarkTaskParamsTest.java | 2 +- .../AddSubscribersDataAttributesTest.java | 2 +- .../client/model/AddSubscribersDataTest.java | 2 +- .../client/model/AddSubscribersTest.java | 2 +- .../client/model/AddTeamTaskParamsTest.java | 2 +- .../model/AddToTimelineTaskParamsTest.java | 2 +- .../client/model/AlertEventListTest.java | 11 +- .../model/AlertEventResponseDataTest.java | 2 +- .../client/model/AlertEventResponseTest.java | 2 +- .../rootly/client/model/AlertEventTest.java | 2 +- .../client/model/AlertGroupListTest.java | 2 +- .../model/AlertGroupResponseDataTest.java | 2 +- .../client/model/AlertGroupResponseTest.java | 2 +- .../rootly/client/model/AlertGroupTest.java | 11 +- .../rootly/client/model/AlertListTest.java | 11 +- .../client/model/AlertResponseDataTest.java | 2 +- .../client/model/AlertResponseTest.java | 2 +- .../AlertRoutingRuleConditionsInnerTest.java | 2 +- .../AlertRoutingRuleDestinationTest.java | 2 +- .../model/AlertRoutingRuleListTest.java | 11 +- .../AlertRoutingRuleResponseDataTest.java | 2 +- .../model/AlertRoutingRuleResponseTest.java | 2 +- .../client/model/AlertRoutingRuleTest.java | 20 +- .../com/rootly/client/model/AlertTest.java | 60 +- .../client/model/AlertTriggerParamsTest.java | 37 +- .../client/model/AlertUrgencyListTest.java | 11 +- .../model/AlertUrgencyResponseDataTest.java | 2 +- .../model/AlertUrgencyResponseTest.java | 2 +- .../rootly/client/model/AlertUrgencyTest.java | 2 +- .../client/model/AlertsSourceListTest.java | 11 +- .../model/AlertsSourceResponseDataTest.java | 2 +- .../model/AlertsSourceResponseTest.java | 2 +- .../rootly/client/model/AlertsSourceTest.java | 115 +- ...eMicrosoftTeamsChannelsTaskParamsTest.java | 2 +- .../ArchiveSlackChannelsTaskParamsTest.java | 2 +- .../AssignRoleToUserDataAttributesTest.java | 2 +- .../model/AssignRoleToUserDataTest.java | 2 +- .../client/model/AssignRoleToUserTest.java | 2 +- .../model/AttachAlertDataAttributesTest.java | 2 +- .../client/model/AttachAlertDataTest.java | 2 +- .../rootly/client/model/AttachAlertTest.java | 2 +- ...AttachDatadogDashboardsTaskParamsTest.java | 2 +- .../com/rootly/client/model/AuditTest.java | 10 +- .../client/model/AuditsListDataInnerTest.java | 2 +- .../rootly/client/model/AuditsListTest.java | 11 +- .../client/model/AuthorizationListTest.java | 11 +- .../model/AuthorizationResponseDataTest.java | 2 +- .../model/AuthorizationResponseTest.java | 2 +- .../client/model/AuthorizationTest.java | 2 +- .../AutoAssignRoleOpsgenieTaskParamsTest.java | 2 +- ...AutoAssignRolePagerdutyTaskParamsTest.java | 2 +- .../AutoAssignRoleRootlyTaskParamsTest.java | 2 +- ...AutoAssignRoleVictorOpsTaskParamsTest.java | 2 +- .../model/CallPeopleTaskParamsTest.java | 2 +- .../CancelIncidentDataAttributesTest.java | 2 +- .../client/model/CancelIncidentDataTest.java | 2 +- .../client/model/CancelIncidentTest.java | 2 +- .../client/model/CatalogEntityListTest.java | 11 +- .../model/CatalogEntityPropertyListTest.java | 11 +- ...CatalogEntityPropertyResponseDataTest.java | 2 +- .../CatalogEntityPropertyResponseTest.java | 2 +- .../model/CatalogEntityPropertyTest.java | 2 +- .../model/CatalogEntityResponseDataTest.java | 2 +- .../model/CatalogEntityResponseTest.java | 2 +- .../client/model/CatalogEntityTest.java | 21 +- .../client/model/CatalogFieldListTest.java | 11 +- .../model/CatalogFieldResponseDataTest.java | 2 +- .../model/CatalogFieldResponseTest.java | 2 +- .../rootly/client/model/CatalogFieldTest.java | 18 +- .../rootly/client/model/CatalogListTest.java | 11 +- .../client/model/CatalogResponseDataTest.java | 2 +- .../client/model/CatalogResponseTest.java | 2 +- .../com/rootly/client/model/CatalogTest.java | 2 +- .../rootly/client/model/CauseListTest.java | 11 +- .../client/model/CauseResponseDataTest.java | 2 +- .../client/model/CauseResponseTest.java | 2 +- .../com/rootly/client/model/CauseTest.java | 13 +- ...angeSlackChannelPrivacyTaskParamsTest.java | 2 +- ...eateAirtableTableRecordTaskParamsTest.java | 2 +- .../CreateAsanaSubtaskTaskParamsTest.java | 2 +- .../model/CreateAsanaTaskTaskParamsTest.java | 2 +- .../CreateClickupTaskTaskParamsTest.java | 2 +- .../CreateCodaPageTaskParamsTemplateTest.java | 2 +- .../model/CreateCodaPageTaskParamsTest.java | 11 +- ...nfluencePageTaskParamsIntegrationTest.java | 2 +- .../CreateConfluencePageTaskParamsTest.java | 2 +- .../CreateDatadogNotebookTaskParamsTest.java | 2 +- .../CreateDropboxPaperPageTaskParamsTest.java | 2 +- .../CreateGithubIssueTaskParamsTest.java | 30 +- .../CreateGitlabIssueTaskParamsTest.java | 2 +- .../CreateGoToMeetingTaskParamsTest.java | 2 +- ...eateGoogleCalendarEventTaskParamsTest.java | 2 +- .../CreateGoogleDocsPageTaskParamsTest.java | 2 +- ...teGoogleDocsPermissionsTaskParamsTest.java | 2 +- .../CreateGoogleMeetingTaskParamsTest.java | 10 +- ...identPostmortemTaskParamsTemplateTest.java | 2 +- ...reateIncidentPostmortemTaskParamsTest.java | 2 +- .../model/CreateIncidentTaskParamsTest.java | 2 +- ...ateJiraIssueTaskParamsIntegrationTest.java | 2 +- ...reateJiraIssueTaskParamsIssueTypeTest.java | 2 +- ...CreateJiraIssueTaskParamsPriorityTest.java | 2 +- .../CreateJiraIssueTaskParamsStatusTest.java | 2 +- .../model/CreateJiraIssueTaskParamsTest.java | 2 +- .../CreateJiraSubtaskTaskParamsTest.java | 2 +- ...reateLinearIssueCommentTaskParamsTest.java | 2 +- ...reateLinearIssueTaskParamsProjectTest.java | 2 +- .../CreateLinearIssueTaskParamsStateTest.java | 2 +- .../CreateLinearIssueTaskParamsTeamTest.java | 2 +- .../CreateLinearIssueTaskParamsTest.java | 2 +- ...reateLinearSubtaskIssueTaskParamsTest.java | 2 +- ...teMicrosoftTeamsChannelTaskParamsTest.java | 2 +- ...teMicrosoftTeamsMeetingTaskParamsTest.java | 11 +- .../model/CreateMotionTaskTaskParamsTest.java | 2 +- ...ateNotionPageTaskParamsParentPageTest.java | 2 +- .../model/CreateNotionPageTaskParamsTest.java | 10 +- .../CreateOpsgenieAlertTaskParamsTest.java | 2 +- .../CreateOutlookEventTaskParamsTest.java | 10 +- ...tePagerdutyStatusUpdateTaskParamsTest.java | 2 +- .../CreatePagertreeAlertTaskParamsTest.java | 2 +- .../model/CreateQuipPageTaskParamsTest.java | 2 +- ...ceNowIncidentTaskParamsCompletionTest.java | 2 +- ...reateServiceNowIncidentTaskParamsTest.java | 2 +- .../CreateSharepointPageTaskParamsTest.java | 2 +- .../CreateShortcutStoryTaskParamsTest.java | 2 +- .../CreateShortcutTaskTaskParamsTest.java | 2 +- .../CreateSlackChannelTaskParamsTest.java | 2 +- ...teTrelloCardTaskParamsArchivationTest.java | 2 +- .../CreateTrelloCardTaskParamsBoardTest.java | 2 +- .../CreateTrelloCardTaskParamsListTest.java | 2 +- .../model/CreateTrelloCardTaskParamsTest.java | 2 +- .../CreateWebexMeetingTaskParamsTest.java | 11 +- .../CreateZendeskJiraLinkTaskParamsTest.java | 2 +- .../CreateZendeskTicketTaskParamsTest.java | 2 +- .../CreateZoomMeetingTaskParamsTest.java | 11 +- .../client/model/CustomFieldListTest.java | 11 +- .../model/CustomFieldOptionListTest.java | 11 +- .../CustomFieldOptionResponseDataTest.java | 2 +- .../model/CustomFieldOptionResponseTest.java | 2 +- .../client/model/CustomFieldOptionTest.java | 2 +- .../model/CustomFieldResponseDataTest.java | 2 +- .../client/model/CustomFieldResponseTest.java | 2 +- .../rootly/client/model/CustomFieldTest.java | 87 +- .../client/model/CustomFormListTest.java | 11 +- .../model/CustomFormResponseDataTest.java | 2 +- .../client/model/CustomFormResponseTest.java | 2 +- .../rootly/client/model/CustomFormTest.java | 2 +- .../client/model/DashboardListTest.java | 11 +- .../client/model/DashboardPanelListTest.java | 11 +- .../model/DashboardPanelResponseDataTest.java | 2 +- .../model/DashboardPanelResponseTest.java | 2 +- .../client/model/DashboardPanelTest.java | 2 +- .../model/DashboardResponseDataTest.java | 2 +- .../client/model/DashboardResponseTest.java | 2 +- .../rootly/client/model/DashboardTest.java | 2 +- .../DuplicateIncidentDataAttributesTest.java | 2 +- .../model/DuplicateIncidentDataTest.java | 2 +- .../client/model/DuplicateIncidentTest.java | 2 +- .../client/model/EnvironmentListTest.java | 11 +- .../model/EnvironmentResponseDataTest.java | 2 +- .../client/model/EnvironmentResponseTest.java | 2 +- .../rootly/client/model/EnvironmentTest.java | 11 +- .../model/ErrorsListErrorsInnerTest.java | 2 +- .../rootly/client/model/ErrorsListTest.java | 2 +- ...scalationPolicyLevelListDataInnerTest.java | 2 +- .../model/EscalationPolicyLevelListTest.java | 11 +- ...EscalationPolicyLevelResponseDataTest.java | 2 +- .../EscalationPolicyLevelResponseTest.java | 2 +- .../model/EscalationPolicyLevelTest.java | 2 +- .../model/EscalationPolicyListTest.java | 11 +- ...EscalationPolicyPathListDataInnerTest.java | 2 +- .../model/EscalationPolicyPathListTest.java | 11 +- .../EscalationPolicyPathResponseDataTest.java | 2 +- .../EscalationPolicyPathResponseTest.java | 2 +- ...calationPolicyPathRulesInnerAnyOfTest.java | 58 - .../EscalationPolicyPathRulesInnerTest.java | 93 -- .../model/EscalationPolicyPathTest.java | 46 +- .../EscalationPolicyResponseDataTest.java | 2 +- .../model/EscalationPolicyResponseTest.java | 2 +- .../client/model/EscalationPolicyTest.java | 2 +- .../client/model/FormFieldListTest.java | 11 +- .../client/model/FormFieldOptionListTest.java | 11 +- .../FormFieldOptionResponseDataTest.java | 2 +- .../model/FormFieldOptionResponseTest.java | 2 +- .../client/model/FormFieldOptionTest.java | 10 +- .../FormFieldPlacementConditionListTest.java | 11 +- ...eldPlacementConditionResponseDataTest.java | 2 +- ...rmFieldPlacementConditionResponseTest.java | 2 +- .../FormFieldPlacementConditionTest.java | 2 +- .../model/FormFieldPlacementListTest.java | 11 +- .../FormFieldPlacementResponseDataTest.java | 2 +- .../model/FormFieldPlacementResponseTest.java | 2 +- .../client/model/FormFieldPlacementTest.java | 10 +- .../model/FormFieldPositionListTest.java | 11 +- .../FormFieldPositionResponseDataTest.java | 2 +- .../model/FormFieldPositionResponseTest.java | 2 +- .../client/model/FormFieldPositionTest.java | 2 +- .../model/FormFieldResponseDataTest.java | 2 +- .../client/model/FormFieldResponseTest.java | 2 +- .../rootly/client/model/FormFieldTest.java | 10 +- .../model/FormSetConditionListTest.java | 11 +- .../FormSetConditionResponseDataTest.java | 2 +- .../model/FormSetConditionResponseTest.java | 2 +- .../client/model/FormSetConditionTest.java | 2 +- .../rootly/client/model/FormSetListTest.java | 11 +- .../client/model/FormSetResponseDataTest.java | 2 +- .../client/model/FormSetResponseTest.java | 2 +- .../com/rootly/client/model/FormSetTest.java | 2 +- .../client/model/FunctionalityListTest.java | 11 +- .../model/FunctionalityResponseDataTest.java | 2 +- .../model/FunctionalityResponseTest.java | 2 +- .../client/model/FunctionalityTest.java | 31 +- ...enaiChatCompletionTaskParamsModelTest.java | 56 - ...ateOpenaiChatCompletionTaskParamsTest.java | 65 - ...sonxChatCompletionTaskParamsModelTest.java | 56 - ...teWatsonxChatCompletionTaskParamsTest.java | 73 -- .../client/model/GetAlertsTaskParamsTest.java | 2 +- .../model/GetGithubCommitsTaskParamsTest.java | 2 +- .../model/GetGitlabCommitsTaskParamsTest.java | 2 +- ...TaskParamsParentMessageThreadTaskTest.java | 2 +- .../client/model/GetPulsesTaskParamsTest.java | 2 +- .../client/model/HeartbeatListTest.java | 11 +- .../model/HeartbeatResponseDataTest.java | 2 +- .../client/model/HeartbeatResponseTest.java | 2 +- .../rootly/client/model/HeartbeatTest.java | 18 +- .../model/HttpClientTaskParamsTest.java | 2 +- .../model/InTriageIncidentDataTest.java | 2 +- .../client/model/InTriageIncidentTest.java | 2 +- .../model/IncidentActionItemListTest.java | 11 +- .../IncidentActionItemResponseDataTest.java | 2 +- .../model/IncidentActionItemResponseTest.java | 2 +- .../client/model/IncidentActionItemTest.java | 17 +- .../IncidentCustomFieldSelectionListTest.java | 11 +- ...tCustomFieldSelectionResponseDataTest.java | 2 +- ...identCustomFieldSelectionResponseTest.java | 2 +- .../IncidentCustomFieldSelectionTest.java | 2 +- .../IncidentEventFunctionalityListTest.java | 11 +- ...entEventFunctionalityResponseDataTest.java | 2 +- ...ncidentEventFunctionalityResponseTest.java | 2 +- .../model/IncidentEventFunctionalityTest.java | 2 +- .../client/model/IncidentEventListTest.java | 11 +- .../model/IncidentEventResponseDataTest.java | 2 +- .../model/IncidentEventResponseTest.java | 2 +- .../model/IncidentEventServiceListTest.java | 11 +- .../IncidentEventServiceResponseDataTest.java | 2 +- .../IncidentEventServiceResponseTest.java | 2 +- .../model/IncidentEventServiceTest.java | 2 +- .../client/model/IncidentEventTest.java | 2 +- .../model/IncidentFeedbackListTest.java | 11 +- .../IncidentFeedbackResponseDataTest.java | 2 +- .../model/IncidentFeedbackResponseTest.java | 2 +- .../client/model/IncidentFeedbackTest.java | 2 +- .../IncidentFormFieldSelectionListTest.java | 11 +- ...entFormFieldSelectionResponseDataTest.java | 2 +- ...ncidentFormFieldSelectionResponseTest.java | 2 +- .../model/IncidentFormFieldSelectionTest.java | 26 +- .../rootly/client/model/IncidentListTest.java | 11 +- .../IncidentPermissionSetBooleanListTest.java | 11 +- ...tPermissionSetBooleanResponseDataTest.java | 2 +- ...identPermissionSetBooleanResponseTest.java | 2 +- .../IncidentPermissionSetBooleanTest.java | 2 +- .../model/IncidentPermissionSetListTest.java | 11 +- ...IncidentPermissionSetResourceListTest.java | 11 +- ...PermissionSetResourceResponseDataTest.java | 2 +- ...dentPermissionSetResourceResponseTest.java | 2 +- .../IncidentPermissionSetResourceTest.java | 2 +- ...IncidentPermissionSetResponseDataTest.java | 2 +- .../IncidentPermissionSetResponseTest.java | 2 +- .../model/IncidentPermissionSetTest.java | 2 +- .../model/IncidentPostMortemListTest.java | 11 +- .../IncidentPostMortemResponseDataTest.java | 2 +- .../model/IncidentPostMortemResponseTest.java | 2 +- .../client/model/IncidentPostMortemTest.java | 2 +- .../model/IncidentResponseDataTest.java | 2 +- .../client/model/IncidentResponseTest.java | 2 +- ...dentRetrospectiveStepResponseDataTest.java | 2 +- ...IncidentRetrospectiveStepResponseTest.java | 2 +- .../model/IncidentRetrospectiveStepTest.java | 2 +- .../client/model/IncidentRoleListTest.java | 11 +- .../model/IncidentRoleResponseDataTest.java | 2 +- .../model/IncidentRoleResponseTest.java | 2 +- .../model/IncidentRoleTaskListTest.java | 11 +- .../IncidentRoleTaskResponseDataTest.java | 2 +- .../model/IncidentRoleTaskResponseTest.java | 2 +- .../client/model/IncidentRoleTaskTest.java | 2 +- .../rootly/client/model/IncidentRoleTest.java | 2 +- .../IncidentStatusPageEventListTest.java | 11 +- ...cidentStatusPageEventResponseDataTest.java | 2 +- .../IncidentStatusPageEventResponseTest.java | 2 +- .../model/IncidentStatusPageEventTest.java | 2 +- .../model/IncidentSubStatusListTest.java | 11 +- .../IncidentSubStatusResponseDataTest.java | 2 +- .../model/IncidentSubStatusResponseTest.java | 2 +- .../client/model/IncidentSubStatusTest.java | 2 +- .../com/rootly/client/model/IncidentTest.java | 691 +++++++++- .../model/IncidentTriggerParamsTest.java | 2 +- .../client/model/IncidentTypeListTest.java | 11 +- .../model/IncidentTypeResponseDataTest.java | 2 +- .../model/IncidentTypeResponseTest.java | 2 +- .../rootly/client/model/IncidentTypeTest.java | 11 +- ...ToMicrosoftTeamsChannelTaskParamsTest.java | 2 +- ...eToSlackChannelOpsgenieTaskParamsTest.java | 2 +- ...ToSlackChannelPagerdutyTaskParamsTest.java | 2 +- ...iteToSlackChannelRootlyTaskParamsTest.java | 2 +- .../InviteToSlackChannelTaskParamsTest.java | 2 +- ...ToSlackChannelVictorOpsTaskParamsTest.java | 2 +- .../model/IpRangesResponseDataTest.java | 2 +- .../client/model/IpRangesResponseTest.java | 2 +- .../com/rootly/client/model/IpRangesTest.java | 2 +- .../com/rootly/client/model/LinksTest.java | 2 +- .../client/model/LiveCallRouterListTest.java | 11 +- .../model/LiveCallRouterResponseDataTest.java | 2 +- .../model/LiveCallRouterResponseTest.java | 2 +- .../client/model/LiveCallRouterTest.java | 22 +- .../MitigateIncidentDataAttributesTest.java | 2 +- .../model/MitigateIncidentDataTest.java | 2 +- .../client/model/MitigateIncidentTest.java | 2 +- ...NewAlertDataAttributesLabelsInnerTest.java | 3 +- .../model/NewAlertDataAttributesTest.java | 19 +- .../rootly/client/model/NewAlertDataTest.java | 2 +- .../NewAlertEventDataAttributesTest.java | 2 +- .../client/model/NewAlertEventDataTest.java | 2 +- .../client/model/NewAlertEventTest.java | 2 +- ...roupDataAttributesAttributesInnerTest.java | 2 +- ...rtGroupDataAttributesTargetsInnerTest.java | 2 +- .../NewAlertGroupDataAttributesTest.java | 11 +- .../client/model/NewAlertGroupDataTest.java | 2 +- .../client/model/NewAlertGroupTest.java | 2 +- ...RuleDataAttributesConditionsInnerTest.java | 2 +- ...tingRuleDataAttributesDestinationTest.java | 57 - ...NewAlertRoutingRuleDataAttributesTest.java | 12 +- .../model/NewAlertRoutingRuleDataTest.java | 2 +- .../client/model/NewAlertRoutingRuleTest.java | 2 +- .../com/rootly/client/model/NewAlertTest.java | 2 +- .../NewAlertUrgencyDataAttributesTest.java | 2 +- .../client/model/NewAlertUrgencyDataTest.java | 2 +- .../client/model/NewAlertUrgencyTest.java | 2 +- ...SourceUrgencyRulesAttributesInnerTest.java | 35 +- ...AttributesAlertTemplateAttributesTest.java | 2 +- ...tributesConditionsAttributesInnerTest.java | 27 +- ...ttributesResolutionRuleAttributesTest.java | 27 +- ...butesFieldMappingsAttributesInnerTest.java | 2 +- ...ataAttributesSourceableAttributesTest.java | 3 +- .../NewAlertsSourceDataAttributesTest.java | 44 +- .../client/model/NewAlertsSourceDataTest.java | 2 +- .../client/model/NewAlertsSourceTest.java | 2 +- .../NewAuthorizationDataAttributesTest.java | 2 +- .../model/NewAuthorizationDataTest.java | 2 +- .../client/model/NewAuthorizationTest.java | 2 +- .../model/NewCatalogDataAttributesTest.java | 2 +- .../client/model/NewCatalogDataTest.java | 2 +- .../NewCatalogEntityDataAttributesTest.java | 21 +- .../model/NewCatalogEntityDataTest.java | 2 +- ...talogEntityPropertyDataAttributesTest.java | 2 +- .../NewCatalogEntityPropertyDataTest.java | 2 +- .../model/NewCatalogEntityPropertyTest.java | 2 +- .../client/model/NewCatalogEntityTest.java | 2 +- .../NewCatalogFieldDataAttributesTest.java | 18 +- .../client/model/NewCatalogFieldDataTest.java | 2 +- .../client/model/NewCatalogFieldTest.java | 2 +- .../rootly/client/model/NewCatalogTest.java | 2 +- .../model/NewCauseDataAttributesTest.java | 13 +- .../rootly/client/model/NewCauseDataTest.java | 2 +- .../com/rootly/client/model/NewCauseTest.java | 2 +- .../NewCustomFieldDataAttributesTest.java | 2 +- .../client/model/NewCustomFieldDataTest.java | 2 +- ...ewCustomFieldOptionDataAttributesTest.java | 2 +- .../model/NewCustomFieldOptionDataTest.java | 2 +- .../model/NewCustomFieldOptionTest.java | 2 +- .../client/model/NewCustomFieldTest.java | 2 +- .../NewCustomFormDataAttributesTest.java | 10 +- .../client/model/NewCustomFormDataTest.java | 2 +- .../client/model/NewCustomFormTest.java | 2 +- .../model/NewDashboardDataAttributesTest.java | 2 +- .../client/model/NewDashboardDataTest.java | 2 +- ...nelDataAttributesParamsDatalabelsTest.java | 2 +- ...butesParamsDatasetsInnerAggregateTest.java | 2 +- ...atasetsInnerFilterInnerRulesInnerTest.java | 2 +- ...tesParamsDatasetsInnerFilterInnerTest.java | 2 +- ...DataAttributesParamsDatasetsInnerTest.java | 3 +- ...rdPanelDataAttributesParamsLegendTest.java | 2 +- ...ashboardPanelDataAttributesParamsTest.java | 2 +- ...hboardPanelDataAttributesPositionTest.java | 2 +- .../NewDashboardPanelDataAttributesTest.java | 2 +- .../model/NewDashboardPanelDataTest.java | 2 +- .../client/model/NewDashboardPanelTest.java | 2 +- .../rootly/client/model/NewDashboardTest.java | 2 +- ...ntDataAttributesSlackAliasesInnerTest.java | 2 +- ...tDataAttributesSlackChannelsInnerTest.java | 2 +- .../NewEnvironmentDataAttributesTest.java | 11 +- .../client/model/NewEnvironmentDataTest.java | 2 +- .../client/model/NewEnvironmentTest.java | 2 +- ...PolicyDataAttributesBusinessHoursTest.java | 2 +- ...NewEscalationPolicyDataAttributesTest.java | 2 +- .../model/NewEscalationPolicyDataTest.java | 2 +- ...utesNotificationTargetParamsInnerTest.java | 2 +- ...calationPolicyLevelDataAttributesTest.java | 2 +- .../NewEscalationPolicyLevelDataTest.java | 2 +- .../model/NewEscalationPolicyLevelTest.java | 2 +- ...athDataAttributesRulesInnerAnyOf1Test.java | 56 - ...athDataAttributesRulesInnerAnyOf2Test.java | 72 - ...PathDataAttributesRulesInnerAnyOfTest.java | 58 - ...olicyPathDataAttributesRulesInnerTest.java | 61 +- ...scalationPolicyPathDataAttributesTest.java | 43 +- .../NewEscalationPolicyPathDataTest.java | 2 +- .../model/NewEscalationPolicyPathTest.java | 2 +- .../client/model/NewEscalationPolicyTest.java | 2 +- .../model/NewFormFieldDataAttributesTest.java | 10 +- .../client/model/NewFormFieldDataTest.java | 2 +- .../NewFormFieldOptionDataAttributesTest.java | 2 +- .../model/NewFormFieldOptionDataTest.java | 2 +- .../client/model/NewFormFieldOptionTest.java | 2 +- ...dPlacementConditionDataAttributesTest.java | 2 +- ...ewFormFieldPlacementConditionDataTest.java | 2 +- .../NewFormFieldPlacementConditionTest.java | 2 +- ...wFormFieldPlacementDataAttributesTest.java | 10 +- .../model/NewFormFieldPlacementDataTest.java | 2 +- .../model/NewFormFieldPlacementTest.java | 2 +- ...ewFormFieldPositionDataAttributesTest.java | 2 +- .../model/NewFormFieldPositionDataTest.java | 2 +- .../model/NewFormFieldPositionTest.java | 2 +- .../rootly/client/model/NewFormFieldTest.java | 2 +- ...NewFormSetConditionDataAttributesTest.java | 2 +- .../model/NewFormSetConditionDataTest.java | 2 +- .../client/model/NewFormSetConditionTest.java | 2 +- .../model/NewFormSetDataAttributesTest.java | 2 +- .../client/model/NewFormSetDataTest.java | 2 +- .../rootly/client/model/NewFormSetTest.java | 2 +- .../NewFunctionalityDataAttributesTest.java | 31 +- .../model/NewFunctionalityDataTest.java | 2 +- .../client/model/NewFunctionalityTest.java | 2 +- .../model/NewHeartbeatDataAttributesTest.java | 10 +- .../client/model/NewHeartbeatDataTest.java | 2 +- .../rootly/client/model/NewHeartbeatTest.java | 2 +- ...wIncidentActionItemDataAttributesTest.java | 10 +- .../model/NewIncidentActionItemDataTest.java | 2 +- .../model/NewIncidentActionItemTest.java | 2 +- ...ustomFieldSelectionDataAttributesTest.java | 2 +- ...wIncidentCustomFieldSelectionDataTest.java | 2 +- .../NewIncidentCustomFieldSelectionTest.java | 2 +- .../model/NewIncidentDataAttributesTest.java | 98 +- .../client/model/NewIncidentDataTest.java | 2 +- .../NewIncidentEventDataAttributesTest.java | 2 +- .../model/NewIncidentEventDataTest.java | 2 +- ...tEventFunctionalityDataAttributesTest.java | 2 +- ...NewIncidentEventFunctionalityDataTest.java | 2 +- .../NewIncidentEventFunctionalityTest.java | 2 +- ...ncidentEventServiceDataAttributesTest.java | 2 +- .../NewIncidentEventServiceDataTest.java | 2 +- .../model/NewIncidentEventServiceTest.java | 2 +- .../client/model/NewIncidentEventTest.java | 2 +- ...NewIncidentFeedbackDataAttributesTest.java | 2 +- .../model/NewIncidentFeedbackDataTest.java | 2 +- .../client/model/NewIncidentFeedbackTest.java | 2 +- ...tFormFieldSelectionDataAttributesTest.java | 26 +- ...NewIncidentFormFieldSelectionDataTest.java | 2 +- .../NewIncidentFormFieldSelectionTest.java | 2 +- ...oleanDataAttributesSeverityParamsTest.java | 2 +- ...ermissionSetBooleanDataAttributesTest.java | 2 +- ...wIncidentPermissionSetBooleanDataTest.java | 2 +- .../NewIncidentPermissionSetBooleanTest.java | 2 +- ...cidentPermissionSetDataAttributesTest.java | 10 +- .../NewIncidentPermissionSetDataTest.java | 2 +- ...rmissionSetResourceDataAttributesTest.java | 2 +- ...IncidentPermissionSetResourceDataTest.java | 2 +- .../NewIncidentPermissionSetResourceTest.java | 2 +- .../model/NewIncidentPermissionSetTest.java | 2 +- .../NewIncidentRoleDataAttributesTest.java | 2 +- .../client/model/NewIncidentRoleDataTest.java | 2 +- ...NewIncidentRoleTaskDataAttributesTest.java | 2 +- .../model/NewIncidentRoleTaskDataTest.java | 2 +- .../client/model/NewIncidentRoleTaskTest.java | 2 +- .../client/model/NewIncidentRoleTest.java | 2 +- ...dentStatusPageEventDataAttributesTest.java | 2 +- .../NewIncidentStatusPageEventDataTest.java | 2 +- .../model/NewIncidentStatusPageEventTest.java | 2 +- ...ewIncidentSubStatusDataAttributesTest.java | 2 +- .../model/NewIncidentSubStatusDataTest.java | 2 +- .../model/NewIncidentSubStatusTest.java | 2 +- .../rootly/client/model/NewIncidentTest.java | 2 +- .../NewIncidentTypeDataAttributesTest.java | 11 +- .../client/model/NewIncidentTypeDataTest.java | 2 +- .../client/model/NewIncidentTypeTest.java | 2 +- ...utesEscalationPolicyTriggerParamsTest.java | 2 +- .../NewLiveCallRouterDataAttributesTest.java | 29 +- .../model/NewLiveCallRouterDataTest.java | 2 +- .../client/model/NewLiveCallRouterTest.java | 2 +- .../NewOnCallRoleDataAttributesTest.java | 46 +- .../client/model/NewOnCallRoleDataTest.java | 2 +- .../client/model/NewOnCallRoleTest.java | 2 +- .../NewOnCallShadowDataAttributesTest.java | 2 +- .../client/model/NewOnCallShadowDataTest.java | 2 +- .../client/model/NewOnCallShadowTest.java | 2 +- .../NewOverrideShiftDataAttributesTest.java | 2 +- .../model/NewOverrideShiftDataTest.java | 2 +- .../client/model/NewOverrideShiftTest.java | 2 +- .../model/NewPlaybookDataAttributesTest.java | 2 +- .../client/model/NewPlaybookDataTest.java | 2 +- .../NewPlaybookTaskDataAttributesTest.java | 2 +- .../client/model/NewPlaybookTaskDataTest.java | 2 +- .../client/model/NewPlaybookTaskTest.java | 2 +- .../rootly/client/model/NewPlaybookTest.java | 2 +- ...wPostMortemTemplateDataAttributesTest.java | 2 +- .../model/NewPostMortemTemplateDataTest.java | 2 +- .../model/NewPostMortemTemplateTest.java | 2 +- .../NewPulseDataAttributesRefsInnerTest.java | 2 +- .../model/NewPulseDataAttributesTest.java | 4 +- .../rootly/client/model/NewPulseDataTest.java | 2 +- .../com/rootly/client/model/NewPulseTest.java | 2 +- ...tiveProcessMatchingCriteriaOneOf1Test.java | 2 +- ...tiveProcessMatchingCriteriaOneOf2Test.java | 2 +- ...ctiveProcessMatchingCriteriaOneOfTest.java | 2 +- ...rospectiveProcessMatchingCriteriaTest.java | 2 +- ...etrospectiveProcessDataAttributesTest.java | 2 +- .../NewRetrospectiveProcessDataTest.java | 2 +- ...pectiveProcessGroupDataAttributesTest.java | 2 +- .../NewRetrospectiveProcessGroupDataTest.java | 2 +- ...iveProcessGroupStepDataAttributesTest.java | 2 +- ...RetrospectiveProcessGroupStepDataTest.java | 2 +- .../NewRetrospectiveProcessGroupStepTest.java | 2 +- .../NewRetrospectiveProcessGroupTest.java | 2 +- .../model/NewRetrospectiveProcessTest.java | 2 +- ...ewRetrospectiveStepDataAttributesTest.java | 2 +- .../model/NewRetrospectiveStepDataTest.java | 2 +- .../model/NewRetrospectiveStepTest.java | 2 +- .../model/NewRoleDataAttributesTest.java | 66 +- .../rootly/client/model/NewRoleDataTest.java | 2 +- .../com/rootly/client/model/NewRoleTest.java | 2 +- ...eduleDataAttributesSlackUserGroupTest.java | 2 +- .../model/NewScheduleDataAttributesTest.java | 27 +- .../client/model/NewScheduleDataTest.java | 2 +- ...tributesActiveTimeAttributesInnerTest.java | 2 +- ...leRotationActiveDayDataAttributesTest.java | 2 +- .../NewScheduleRotationActiveDayDataTest.java | 2 +- .../NewScheduleRotationActiveDayTest.java | 2 +- ...tributesActiveTimeAttributesInnerTest.java | 2 +- ...eduleRotationableAttributesOneOf1Test.java | 2 +- ...eduleRotationableAttributesOneOf2Test.java | 2 +- ...eduleRotationableAttributesOneOf3Test.java | 2 +- ...heduleRotationableAttributesOneOfTest.java | 2 +- ...tesScheduleRotationableAttributesTest.java | 2 +- ...NewScheduleRotationDataAttributesTest.java | 29 +- .../model/NewScheduleRotationDataTest.java | 2 +- .../client/model/NewScheduleRotationTest.java | 2 +- ...cheduleRotationUserDataAttributesTest.java | 2 +- .../NewScheduleRotationUserDataTest.java | 2 +- .../model/NewScheduleRotationUserTest.java | 2 +- .../rootly/client/model/NewScheduleTest.java | 2 +- .../model/NewSecretDataAttributesTest.java | 2 +- .../client/model/NewSecretDataTest.java | 2 +- .../rootly/client/model/NewSecretTest.java | 2 +- .../model/NewServiceDataAttributesTest.java | 73 +- .../client/model/NewServiceDataTest.java | 2 +- .../rootly/client/model/NewServiceTest.java | 2 +- .../model/NewSeverityDataAttributesTest.java | 2 +- .../client/model/NewSeverityDataTest.java | 2 +- .../rootly/client/model/NewSeverityTest.java | 2 +- .../NewStatusPageDataAttributesTest.java | 58 +- .../client/model/NewStatusPageDataTest.java | 2 +- ...wStatusPageTemplateDataAttributesTest.java | 10 +- .../model/NewStatusPageTemplateDataTest.java | 2 +- .../model/NewStatusPageTemplateTest.java | 2 +- .../client/model/NewStatusPageTest.java | 2 +- .../model/NewSubStatusDataAttributesTest.java | 10 +- .../client/model/NewSubStatusDataTest.java | 2 +- .../rootly/client/model/NewSubStatusTest.java | 2 +- .../model/NewTeamDataAttributesTest.java | 53 +- .../rootly/client/model/NewTeamDataTest.java | 2 +- .../com/rootly/client/model/NewTeamTest.java | 2 +- ...serNotificationRuleDataAttributesTest.java | 2 +- .../NewUserNotificationRuleDataTest.java | 2 +- .../model/NewUserNotificationRuleTest.java | 2 +- ...NewWebhooksEndpointDataAttributesTest.java | 2 +- .../model/NewWebhooksEndpointDataTest.java | 2 +- .../client/model/NewWebhooksEndpointTest.java | 2 +- ...ustomFieldSelectionDataAttributesTest.java | 2 +- ...wWorkflowCustomFieldSelectionDataTest.java | 2 +- .../NewWorkflowCustomFieldSelectionTest.java | 2 +- .../model/NewWorkflowDataAttributesTest.java | 10 +- ...rkflowDataAttributesTriggerParamsTest.java | 37 +- .../client/model/NewWorkflowDataTest.java | 2 +- ...wFormFieldConditionDataAttributesTest.java | 26 +- ...NewWorkflowFormFieldConditionDataTest.java | 2 +- .../NewWorkflowFormFieldConditionTest.java | 2 +- .../NewWorkflowGroupDataAttributesTest.java | 2 +- .../model/NewWorkflowGroupDataTest.java | 2 +- .../client/model/NewWorkflowGroupTest.java | 2 +- ...ewWorkflowRunDataAttributesAnyOf1Test.java | 2 +- ...ewWorkflowRunDataAttributesAnyOf2Test.java | 2 +- ...ewWorkflowRunDataAttributesAnyOf3Test.java | 2 +- ...ewWorkflowRunDataAttributesAnyOf4Test.java | 2 +- ...ewWorkflowRunDataAttributesAnyOf5Test.java | 2 +- ...NewWorkflowRunDataAttributesAnyOfTest.java | 2 +- .../NewWorkflowRunDataAttributesTest.java | 2 +- .../client/model/NewWorkflowRunDataTest.java | 2 +- .../client/model/NewWorkflowRunTest.java | 2 +- ...kflowTaskDataAttributesTaskParamsTest.java | 180 ++- .../NewWorkflowTaskDataAttributesTest.java | 2 +- .../client/model/NewWorkflowTaskDataTest.java | 2 +- .../client/model/NewWorkflowTaskTest.java | 2 +- .../rootly/client/model/NewWorkflowTest.java | 2 +- .../client/model/OnCallRoleListTest.java | 11 +- .../model/OnCallRoleRelationshipDataTest.java | 2 +- .../model/OnCallRoleRelationshipTest.java | 2 +- .../model/OnCallRoleResponseDataTest.java | 2 +- .../client/model/OnCallRoleResponseTest.java | 2 +- .../rootly/client/model/OnCallRoleTest.java | 42 +- .../model/OnCallShadowResponseDataTest.java | 2 +- .../model/OnCallShadowResponseTest.java | 2 +- .../rootly/client/model/OnCallShadowTest.java | 2 +- .../model/OnCallShadowsListDataInnerTest.java | 2 +- .../client/model/OnCallShadowsListTest.java | 11 +- .../client/model/OverrideShiftListTest.java | 11 +- .../model/OverrideShiftResponseDataTest.java | 2 +- .../model/OverrideShiftResponseTest.java | 2 +- .../client/model/OverrideShiftTest.java | 10 +- ...psgenieOnCallRespondersTaskParamsTest.java | 2 +- ...gerdutyOnCallRespondersTaskParamsTest.java | 2 +- ...eRootlyOnCallRespondersTaskParamsTest.java | 10 +- ...ctorOpsOnCallRespondersTaskParamsTest.java | 2 +- .../rootly/client/model/PlaybookListTest.java | 11 +- .../model/PlaybookResponseDataTest.java | 2 +- .../client/model/PlaybookResponseTest.java | 2 +- .../client/model/PlaybookTaskListTest.java | 11 +- .../model/PlaybookTaskResponseDataTest.java | 2 +- .../model/PlaybookTaskResponseTest.java | 2 +- .../rootly/client/model/PlaybookTaskTest.java | 2 +- .../com/rootly/client/model/PlaybookTest.java | 2 +- .../model/PostMortemTemplateListTest.java | 11 +- .../PostMortemTemplateResponseDataTest.java | 2 +- .../model/PostMortemTemplateResponseTest.java | 2 +- .../client/model/PostMortemTemplateTest.java | 18 +- .../model/PostMortemTriggerParamsTest.java | 2 +- .../client/model/PrintTaskParamsTest.java | 2 +- .../model/PublishIncidentTaskParamsTest.java | 2 +- .../rootly/client/model/PulseListTest.java | 11 +- .../client/model/PulseResponseDataTest.java | 2 +- .../client/model/PulseResponseTest.java | 2 +- .../com/rootly/client/model/PulseTest.java | 4 +- .../client/model/PulseTriggerParamsTest.java | 2 +- .../model/RedisClientTaskParamsTest.java | 2 +- ...veGoogleDocsPermissionsTaskParamsTest.java | 2 +- .../RemoveSubscribersDataAttributesTest.java | 2 +- .../model/RemoveSubscribersDataTest.java | 2 +- .../client/model/RemoveSubscribersTest.java | 2 +- ...meMicrosoftTeamsChannelTaskParamsTest.java | 2 +- .../RenameSlackChannelTaskParamsTest.java | 2 +- .../model/ResolveAlertDataAttributesTest.java | 2 +- .../client/model/ResolveAlertDataTest.java | 2 +- .../rootly/client/model/ResolveAlertTest.java | 2 +- .../ResolveIncidentDataAttributesTest.java | 2 +- .../client/model/ResolveIncidentDataTest.java | 2 +- .../client/model/ResolveIncidentTest.java | 2 +- .../client/model/RestartIncidentDataTest.java | 2 +- .../client/model/RestartIncidentTest.java | 2 +- ...pectiveConfigurationListDataInnerTest.java | 2 +- .../RetrospectiveConfigurationListTest.java | 2 +- ...spectiveConfigurationResponseDataTest.java | 2 +- ...etrospectiveConfigurationResponseTest.java | 2 +- .../model/RetrospectiveConfigurationTest.java | 2 +- .../RetrospectiveProcessGroupListTest.java | 11 +- ...ospectiveProcessGroupResponseDataTest.java | 2 +- ...RetrospectiveProcessGroupResponseTest.java | 2 +- ...RetrospectiveProcessGroupStepListTest.java | 11 +- ...ctiveProcessGroupStepResponseDataTest.java | 2 +- ...ospectiveProcessGroupStepResponseTest.java | 2 +- .../RetrospectiveProcessGroupStepTest.java | 2 +- .../model/RetrospectiveProcessGroupTest.java | 2 +- ...RetrospectiveProcessListDataInnerTest.java | 2 +- .../model/RetrospectiveProcessListTest.java | 11 +- .../RetrospectiveProcessResponseDataTest.java | 2 +- .../RetrospectiveProcessResponseTest.java | 2 +- .../model/RetrospectiveProcessTest.java | 2 +- .../model/RetrospectiveStepListTest.java | 11 +- .../RetrospectiveStepResponseDataTest.java | 2 +- .../model/RetrospectiveStepResponseTest.java | 2 +- .../client/model/RetrospectiveStepTest.java | 2 +- .../com/rootly/client/model/RoleListTest.java | 11 +- .../model/RoleRelationshipDataTest.java | 2 +- .../client/model/RoleRelationshipTest.java | 2 +- .../client/model/RoleResponseDataTest.java | 2 +- .../rootly/client/model/RoleResponseTest.java | 2 +- .../com/rootly/client/model/RoleTest.java | 58 +- .../model/RunCommandHerokuTaskParamsTest.java | 2 +- .../model/ScheduleListDataInnerTest.java | 2 +- .../rootly/client/model/ScheduleListTest.java | 11 +- .../model/ScheduleResponseDataTest.java | 2 +- .../client/model/ScheduleResponseTest.java | 2 +- ...uleRotationActiveDayListDataInnerTest.java | 2 +- .../ScheduleRotationActiveDayListTest.java | 11 +- ...duleRotationActiveDayResponseDataTest.java | 2 +- ...ScheduleRotationActiveDayResponseTest.java | 2 +- .../model/ScheduleRotationActiveDayTest.java | 2 +- .../model/ScheduleRotationListTest.java | 11 +- .../ScheduleRotationResponseDataTest.java | 2 +- .../model/ScheduleRotationResponseTest.java | 2 +- .../client/model/ScheduleRotationTest.java | 20 +- ...ScheduleRotationUserListDataInnerTest.java | 2 +- .../model/ScheduleRotationUserListTest.java | 11 +- .../ScheduleRotationUserResponseTest.java | 2 +- .../model/ScheduleRotationUserTest.java | 2 +- .../model/ScheduleSlackUserGroupTest.java | 2 +- .../com/rootly/client/model/ScheduleTest.java | 27 +- .../rootly/client/model/SecretListTest.java | 11 +- .../client/model/SecretResponseDataTest.java | 2 +- .../client/model/SecretResponseTest.java | 2 +- .../com/rootly/client/model/SecretTest.java | 2 +- .../SendDashboardReportTaskParamsTest.java | 2 +- .../client/model/SendEmailTaskParamsTest.java | 2 +- ...endMicrosoftTeamsBlocksTaskParamsTest.java | 2 +- ...ndMicrosoftTeamsMessageTaskParamsTest.java | 2 +- .../model/SendSlackBlocksTaskParamsTest.java | 2 +- .../model/SendSlackMessageTaskParamsTest.java | 2 +- .../client/model/SendSmsTaskParamsTest.java | 2 +- .../SendWhatsappMessageTaskParamsTest.java | 2 +- .../rootly/client/model/ServiceListTest.java | 11 +- .../client/model/ServiceResponseDataTest.java | 2 +- .../client/model/ServiceResponseTest.java | 2 +- .../com/rootly/client/model/ServiceTest.java | 73 +- .../rootly/client/model/SeverityListTest.java | 11 +- .../model/SeverityResponseDataTest.java | 2 +- .../client/model/SeverityResponseTest.java | 2 +- .../com/rootly/client/model/SeverityTest.java | 2 +- .../client/model/ShiftListDataInnerTest.java | 11 +- .../rootly/client/model/ShiftListTest.java | 11 +- .../model/ShiftOverrideResponseDataTest.java | 2 +- .../model/ShiftOverrideResponseTest.java | 2 +- .../client/model/ShiftOverrideTest.java | 2 +- .../com/rootly/client/model/ShiftTest.java | 16 +- .../client/model/SimpleTriggerParamsTest.java | 2 +- .../SnapshotDatadogGraphTaskParamsTest.java | 2 +- ...napshotGrafanaDashboardTaskParamsTest.java | 2 +- .../SnapshotLookerLookTaskParamsTest.java | 2 +- .../SnapshotNewRelicGraphTaskParamsTest.java | 2 +- .../client/model/StatusPageListTest.java | 11 +- .../model/StatusPageResponseDataTest.java | 2 +- .../client/model/StatusPageResponseTest.java | 2 +- .../StatusPageTemplateListDataInnerTest.java | 2 +- .../model/StatusPageTemplateListTest.java | 11 +- .../StatusPageTemplateResponseDataTest.java | 2 +- .../model/StatusPageTemplateResponseTest.java | 2 +- .../client/model/StatusPageTemplateTest.java | 10 +- .../rootly/client/model/StatusPageTest.java | 76 +- .../client/model/SubStatusListTest.java | 11 +- .../model/SubStatusResponseDataTest.java | 2 +- .../client/model/SubStatusResponseTest.java | 2 +- .../rootly/client/model/SubStatusTest.java | 2 +- .../com/rootly/client/model/TeamListTest.java | 11 +- .../client/model/TeamResponseDataTest.java | 2 +- .../rootly/client/model/TeamResponseTest.java | 2 +- .../com/rootly/client/model/TeamTest.java | 53 +- .../model/TriggerWorkflowTaskParamsTest.java | 2 +- .../TweetTwitterMessageTaskParamsTest.java | 2 +- ...nassignRoleFromUserDataAttributesTest.java | 2 +- .../model/UnassignRoleFromUserDataTest.java | 2 +- .../model/UnassignRoleFromUserTest.java | 2 +- .../model/UpdateActionItemTaskParamsTest.java | 2 +- ...dateAirtableTableRecordTaskParamsTest.java | 2 +- .../model/UpdateAlertDataAttributesTest.java | 19 +- .../client/model/UpdateAlertDataTest.java | 2 +- .../UpdateAlertEventDataAttributesTest.java | 2 +- .../model/UpdateAlertEventDataTest.java | 2 +- .../client/model/UpdateAlertEventTest.java | 2 +- .../UpdateAlertGroupDataAttributesTest.java | 11 +- .../model/UpdateAlertGroupDataTest.java | 2 +- .../client/model/UpdateAlertGroupTest.java | 2 +- ...RuleDataAttributesConditionsInnerTest.java | 2 +- ...tingRuleDataAttributesDestinationTest.java | 2 +- ...ateAlertRoutingRuleDataAttributesTest.java | 10 +- .../model/UpdateAlertRoutingRuleDataTest.java | 2 +- .../model/UpdateAlertRoutingRuleTest.java | 2 +- .../rootly/client/model/UpdateAlertTest.java | 2 +- .../UpdateAlertUrgencyDataAttributesTest.java | 2 +- .../model/UpdateAlertUrgencyDataTest.java | 2 +- .../client/model/UpdateAlertUrgencyTest.java | 2 +- .../UpdateAlertsSourceDataAttributesTest.java | 44 +- .../model/UpdateAlertsSourceDataTest.java | 2 +- .../client/model/UpdateAlertsSourceTest.java | 2 +- .../model/UpdateAsanaTaskTaskParamsTest.java | 2 +- .../UpdateAttachedAlertsTaskParamsTest.java | 2 +- ...UpdateAuthorizationDataAttributesTest.java | 2 +- .../model/UpdateAuthorizationDataTest.java | 2 +- .../client/model/UpdateAuthorizationTest.java | 2 +- .../UpdateCatalogDataAttributesTest.java | 2 +- .../client/model/UpdateCatalogDataTest.java | 2 +- ...UpdateCatalogEntityDataAttributesTest.java | 21 +- .../model/UpdateCatalogEntityDataTest.java | 2 +- ...talogEntityPropertyDataAttributesTest.java | 2 +- .../UpdateCatalogEntityPropertyDataTest.java | 2 +- .../UpdateCatalogEntityPropertyTest.java | 2 +- .../client/model/UpdateCatalogEntityTest.java | 2 +- .../UpdateCatalogFieldDataAttributesTest.java | 26 +- .../model/UpdateCatalogFieldDataTest.java | 2 +- .../client/model/UpdateCatalogFieldTest.java | 2 +- .../client/model/UpdateCatalogTest.java | 2 +- .../model/UpdateCauseDataAttributesTest.java | 13 +- .../client/model/UpdateCauseDataTest.java | 2 +- .../rootly/client/model/UpdateCauseTest.java | 2 +- .../UpdateClickupTaskTaskParamsTest.java | 2 +- .../model/UpdateCodaPageTaskParamsTest.java | 2 +- .../UpdateCustomFieldDataAttributesTest.java | 10 +- .../model/UpdateCustomFieldDataTest.java | 2 +- ...teCustomFieldOptionDataAttributesTest.java | 2 +- .../UpdateCustomFieldOptionDataTest.java | 2 +- .../model/UpdateCustomFieldOptionTest.java | 2 +- .../client/model/UpdateCustomFieldTest.java | 2 +- .../UpdateCustomFormDataAttributesTest.java | 10 +- .../model/UpdateCustomFormDataTest.java | 2 +- .../client/model/UpdateCustomFormTest.java | 2 +- .../UpdateDashboardDataAttributesTest.java | 2 +- .../client/model/UpdateDashboardDataTest.java | 2 +- ...pdateDashboardPanelDataAttributesTest.java | 2 +- .../model/UpdateDashboardPanelDataTest.java | 2 +- .../model/UpdateDashboardPanelTest.java | 2 +- .../client/model/UpdateDashboardTest.java | 2 +- .../UpdateEnvironmentDataAttributesTest.java | 11 +- .../model/UpdateEnvironmentDataTest.java | 2 +- .../client/model/UpdateEnvironmentTest.java | 2 +- ...ateEscalationPolicyDataAttributesTest.java | 2 +- .../model/UpdateEscalationPolicyDataTest.java | 2 +- ...utesNotificationTargetParamsInnerTest.java | 2 +- ...calationPolicyLevelDataAttributesTest.java | 2 +- .../UpdateEscalationPolicyLevelDataTest.java | 2 +- .../UpdateEscalationPolicyLevelTest.java | 2 +- ...olicyPathDataAttributesRulesInnerTest.java | 61 +- ...scalationPolicyPathDataAttributesTest.java | 43 +- .../UpdateEscalationPolicyPathDataTest.java | 2 +- .../model/UpdateEscalationPolicyPathTest.java | 2 +- .../model/UpdateEscalationPolicyTest.java | 2 +- .../UpdateFormFieldDataAttributesTest.java | 10 +- .../client/model/UpdateFormFieldDataTest.java | 2 +- ...dateFormFieldOptionDataAttributesTest.java | 2 +- .../model/UpdateFormFieldOptionDataTest.java | 2 +- .../model/UpdateFormFieldOptionTest.java | 2 +- ...dPlacementConditionDataAttributesTest.java | 2 +- ...teFormFieldPlacementConditionDataTest.java | 2 +- ...UpdateFormFieldPlacementConditionTest.java | 2 +- ...eFormFieldPlacementDataAttributesTest.java | 10 +- .../UpdateFormFieldPlacementDataTest.java | 2 +- .../model/UpdateFormFieldPlacementTest.java | 2 +- ...teFormFieldPositionDataAttributesTest.java | 2 +- .../UpdateFormFieldPositionDataTest.java | 2 +- .../model/UpdateFormFieldPositionTest.java | 2 +- .../client/model/UpdateFormFieldTest.java | 2 +- ...ateFormSetConditionDataAttributesTest.java | 2 +- .../model/UpdateFormSetConditionDataTest.java | 2 +- .../model/UpdateFormSetConditionTest.java | 2 +- .../UpdateFormSetDataAttributesTest.java | 2 +- .../client/model/UpdateFormSetDataTest.java | 2 +- .../client/model/UpdateFormSetTest.java | 2 +- ...UpdateFunctionalityDataAttributesTest.java | 31 +- .../model/UpdateFunctionalityDataTest.java | 2 +- .../client/model/UpdateFunctionalityTest.java | 2 +- .../UpdateGithubIssueTaskParamsTest.java | 38 +- .../UpdateGitlabIssueTaskParamsTest.java | 2 +- ...dateGoogleCalendarEventTaskParamsTest.java | 2 +- .../UpdateGoogleDocsPageTaskParamsTest.java | 2 +- .../UpdateHeartbeatDataAttributesTest.java | 10 +- .../client/model/UpdateHeartbeatDataTest.java | 2 +- .../client/model/UpdateHeartbeatTest.java | 2 +- ...eIncidentActionItemDataAttributesTest.java | 10 +- .../UpdateIncidentActionItemDataTest.java | 2 +- .../model/UpdateIncidentActionItemTest.java | 2 +- ...ustomFieldSelectionDataAttributesTest.java | 2 +- ...eIncidentCustomFieldSelectionDataTest.java | 2 +- ...pdateIncidentCustomFieldSelectionTest.java | 2 +- .../UpdateIncidentDataAttributesTest.java | 106 +- .../client/model/UpdateIncidentDataTest.java | 2 +- ...UpdateIncidentEventDataAttributesTest.java | 2 +- .../model/UpdateIncidentEventDataTest.java | 2 +- ...tEventFunctionalityDataAttributesTest.java | 2 +- ...ateIncidentEventFunctionalityDataTest.java | 2 +- .../UpdateIncidentEventFunctionalityTest.java | 2 +- ...ncidentEventServiceDataAttributesTest.java | 2 +- .../UpdateIncidentEventServiceDataTest.java | 2 +- .../model/UpdateIncidentEventServiceTest.java | 2 +- .../client/model/UpdateIncidentEventTest.java | 2 +- ...ateIncidentFeedbackDataAttributesTest.java | 2 +- .../model/UpdateIncidentFeedbackDataTest.java | 2 +- .../model/UpdateIncidentFeedbackTest.java | 2 +- ...tFormFieldSelectionDataAttributesTest.java | 26 +- ...ateIncidentFormFieldSelectionDataTest.java | 2 +- .../UpdateIncidentFormFieldSelectionTest.java | 2 +- ...oleanDataAttributesSeverityParamsTest.java | 2 +- ...ermissionSetBooleanDataAttributesTest.java | 2 +- ...eIncidentPermissionSetBooleanDataTest.java | 2 +- ...pdateIncidentPermissionSetBooleanTest.java | 2 +- ...cidentPermissionSetDataAttributesTest.java | 10 +- .../UpdateIncidentPermissionSetDataTest.java | 2 +- ...rmissionSetResourceDataAttributesTest.java | 2 +- ...IncidentPermissionSetResourceDataTest.java | 2 +- ...dateIncidentPermissionSetResourceTest.java | 2 +- .../UpdateIncidentPermissionSetTest.java | 2 +- ...eIncidentPostMortemDataAttributesTest.java | 2 +- .../UpdateIncidentPostMortemDataTest.java | 2 +- .../model/UpdateIncidentPostMortemTest.java | 2 +- ...pdateIncidentPostmortemTaskParamsTest.java | 2 +- ...ntRetrospectiveStepDataAttributesTest.java | 2 +- ...dateIncidentRetrospectiveStepDataTest.java | 2 +- .../UpdateIncidentRetrospectiveStepTest.java | 2 +- .../UpdateIncidentRoleDataAttributesTest.java | 2 +- .../model/UpdateIncidentRoleDataTest.java | 2 +- ...ateIncidentRoleTaskDataAttributesTest.java | 2 +- .../model/UpdateIncidentRoleTaskDataTest.java | 2 +- .../model/UpdateIncidentRoleTaskTest.java | 2 +- .../client/model/UpdateIncidentRoleTest.java | 2 +- ...dentStatusPageEventDataAttributesTest.java | 2 +- ...UpdateIncidentStatusPageEventDataTest.java | 2 +- .../UpdateIncidentStatusPageEventTest.java | 2 +- ...IncidentStatusTimestampTaskParamsTest.java | 2 +- ...teIncidentSubStatusDataAttributesTest.java | 2 +- .../UpdateIncidentSubStatusDataTest.java | 2 +- .../model/UpdateIncidentSubStatusTest.java | 2 +- .../model/UpdateIncidentTaskParamsTest.java | 2 +- .../client/model/UpdateIncidentTest.java | 2 +- .../UpdateIncidentTypeDataAttributesTest.java | 11 +- .../model/UpdateIncidentTypeDataTest.java | 2 +- .../client/model/UpdateIncidentTypeTest.java | 2 +- .../model/UpdateJiraIssueTaskParamsTest.java | 11 +- .../UpdateLinearIssueTaskParamsTest.java | 5 +- ...utesEscalationPolicyTriggerParamsTest.java | 2 +- ...pdateLiveCallRouterDataAttributesTest.java | 30 +- .../model/UpdateLiveCallRouterDataTest.java | 2 +- .../model/UpdateLiveCallRouterTest.java | 2 +- .../model/UpdateMotionTaskTaskParamsTest.java | 2 +- .../model/UpdateNotionPageTaskParamsTest.java | 10 +- .../UpdateOnCallRoleDataAttributesTest.java | 50 +- .../model/UpdateOnCallRoleDataTest.java | 2 +- .../client/model/UpdateOnCallRoleTest.java | 2 +- .../UpdateOnCallShadowDataAttributesTest.java | 2 +- .../model/UpdateOnCallShadowDataTest.java | 2 +- .../client/model/UpdateOnCallShadowTest.java | 2 +- .../UpdateOpsgenieAlertTaskParamsTest.java | 2 +- .../UpdateOpsgenieIncidentTaskParamsTest.java | 3 +- ...UpdateOverrideShiftDataAttributesTest.java | 2 +- .../model/UpdateOverrideShiftDataTest.java | 2 +- .../client/model/UpdateOverrideShiftTest.java | 2 +- ...UpdatePagerdutyIncidentTaskParamsTest.java | 2 +- .../UpdatePagertreeAlertTaskParamsTest.java | 2 +- .../UpdatePlaybookDataAttributesTest.java | 2 +- .../client/model/UpdatePlaybookDataTest.java | 2 +- .../UpdatePlaybookTaskDataAttributesTest.java | 2 +- .../model/UpdatePlaybookTaskDataTest.java | 2 +- .../client/model/UpdatePlaybookTaskTest.java | 2 +- .../client/model/UpdatePlaybookTest.java | 2 +- ...ePostMortemTemplateDataAttributesTest.java | 2 +- .../UpdatePostMortemTemplateDataTest.java | 2 +- .../model/UpdatePostMortemTemplateTest.java | 2 +- .../model/UpdatePulseDataAttributesTest.java | 4 +- .../client/model/UpdatePulseDataTest.java | 2 +- .../rootly/client/model/UpdatePulseTest.java | 2 +- ...ectiveConfigurationDataAttributesTest.java | 2 +- ...ateRetrospectiveConfigurationDataTest.java | 2 +- .../UpdateRetrospectiveConfigurationTest.java | 2 +- ...etrospectiveProcessDataAttributesTest.java | 2 +- .../UpdateRetrospectiveProcessDataTest.java | 2 +- ...pectiveProcessGroupDataAttributesTest.java | 2 +- ...dateRetrospectiveProcessGroupDataTest.java | 2 +- ...iveProcessGroupStepDataAttributesTest.java | 2 +- ...RetrospectiveProcessGroupStepDataTest.java | 2 +- ...dateRetrospectiveProcessGroupStepTest.java | 2 +- .../UpdateRetrospectiveProcessGroupTest.java | 2 +- .../model/UpdateRetrospectiveProcessTest.java | 2 +- ...teRetrospectiveStepDataAttributesTest.java | 2 +- .../UpdateRetrospectiveStepDataTest.java | 2 +- .../model/UpdateRetrospectiveStepTest.java | 2 +- .../model/UpdateRoleDataAttributesTest.java | 78 +- .../client/model/UpdateRoleDataTest.java | 2 +- .../rootly/client/model/UpdateRoleTest.java | 2 +- .../UpdateScheduleDataAttributesTest.java | 27 +- .../client/model/UpdateScheduleDataTest.java | 2 +- ...leRotationActiveDayDataAttributesTest.java | 2 +- ...dateScheduleRotationActiveDayDataTest.java | 2 +- .../UpdateScheduleRotationActiveDayTest.java | 2 +- ...ateScheduleRotationDataAttributesTest.java | 29 +- .../model/UpdateScheduleRotationDataTest.java | 2 +- .../model/UpdateScheduleRotationTest.java | 2 +- ...cheduleRotationUserDataAttributesTest.java | 2 +- .../UpdateScheduleRotationUserDataTest.java | 2 +- .../model/UpdateScheduleRotationUserTest.java | 2 +- .../client/model/UpdateScheduleTest.java | 2 +- .../model/UpdateSecretDataAttributesTest.java | 2 +- .../client/model/UpdateSecretDataTest.java | 2 +- .../rootly/client/model/UpdateSecretTest.java | 2 +- .../UpdateServiceDataAttributesTest.java | 73 +- .../client/model/UpdateServiceDataTest.java | 2 +- ...pdateServiceNowIncidentTaskParamsTest.java | 2 +- .../client/model/UpdateServiceTest.java | 2 +- .../UpdateSeverityDataAttributesTest.java | 2 +- .../client/model/UpdateSeverityDataTest.java | 2 +- .../client/model/UpdateSeverityTest.java | 2 +- .../UpdateShortcutStoryTaskParamsTest.java | 2 +- .../UpdateShortcutTaskTaskParamsTest.java | 2 +- ...UpdateSlackChannelTopicTaskParamsTest.java | 2 +- .../UpdateStatusPageDataAttributesTest.java | 58 +- .../model/UpdateStatusPageDataTest.java | 2 +- ...eStatusPageTemplateDataAttributesTest.java | 10 +- .../UpdateStatusPageTemplateDataTest.java | 2 +- .../model/UpdateStatusPageTemplateTest.java | 2 +- .../client/model/UpdateStatusPageTest.java | 2 +- .../model/UpdateStatusTaskParamsTest.java | 2 +- .../UpdateSubStatusDataAttributesTest.java | 10 +- .../client/model/UpdateSubStatusDataTest.java | 2 +- .../client/model/UpdateSubStatusTest.java | 2 +- .../model/UpdateTeamDataAttributesTest.java | 53 +- .../client/model/UpdateTeamDataTest.java | 2 +- .../rootly/client/model/UpdateTeamTest.java | 2 +- .../model/UpdateTrelloCardTaskParamsTest.java | 2 +- .../model/UpdateUserDataAttributesTest.java | 2 +- .../client/model/UpdateUserDataTest.java | 2 +- ...serNotificationRuleDataAttributesTest.java | 2 +- .../UpdateUserNotificationRuleDataTest.java | 2 +- .../model/UpdateUserNotificationRuleTest.java | 2 +- .../rootly/client/model/UpdateUserTest.java | 2 +- ...UpdateVictorOpsIncidentTaskParamsTest.java | 2 +- ...ateWebhooksEndpointDataAttributesTest.java | 2 +- .../model/UpdateWebhooksEndpointDataTest.java | 2 +- .../model/UpdateWebhooksEndpointTest.java | 2 +- ...ustomFieldSelectionDataAttributesTest.java | 2 +- ...eWorkflowCustomFieldSelectionDataTest.java | 2 +- ...pdateWorkflowCustomFieldSelectionTest.java | 2 +- .../UpdateWorkflowDataAttributesTest.java | 10 +- .../client/model/UpdateWorkflowDataTest.java | 2 +- ...wFormFieldConditionDataAttributesTest.java | 26 +- ...ateWorkflowFormFieldConditionDataTest.java | 2 +- .../UpdateWorkflowFormFieldConditionTest.java | 2 +- ...UpdateWorkflowGroupDataAttributesTest.java | 2 +- .../model/UpdateWorkflowGroupDataTest.java | 2 +- .../client/model/UpdateWorkflowGroupTest.java | 2 +- ...kflowTaskDataAttributesTaskParamsTest.java | 180 ++- .../UpdateWorkflowTaskDataAttributesTest.java | 2 +- .../model/UpdateWorkflowTaskDataTest.java | 2 +- .../client/model/UpdateWorkflowTaskTest.java | 2 +- .../client/model/UpdateWorkflowTest.java | 2 +- .../UpdateZendeskTicketTaskParamsTest.java | 2 +- .../com/rootly/client/model/UserListTest.java | 11 +- .../model/UserNotificationRuleListTest.java | 11 +- .../UserNotificationRuleResponseDataTest.java | 2 +- .../UserNotificationRuleResponseTest.java | 2 +- .../model/UserNotificationRuleTest.java | 10 +- .../client/model/UserRelationshipsTest.java | 2 +- .../client/model/UserResponseDataTest.java | 2 +- .../rootly/client/model/UserResponseTest.java | 2 +- .../com/rootly/client/model/UserTest.java | 2 +- .../model/WebhooksDeliveryListTest.java | 11 +- .../WebhooksDeliveryResponseDataTest.java | 2 +- .../model/WebhooksDeliveryResponseTest.java | 2 +- .../client/model/WebhooksDeliveryTest.java | 2 +- .../model/WebhooksEndpointListTest.java | 11 +- .../WebhooksEndpointResponseDataTest.java | 2 +- .../model/WebhooksEndpointResponseTest.java | 2 +- .../client/model/WebhooksEndpointTest.java | 2 +- .../WorkflowCustomFieldSelectionListTest.java | 11 +- ...wCustomFieldSelectionResponseDataTest.java | 2 +- ...kflowCustomFieldSelectionResponseTest.java | 2 +- .../WorkflowCustomFieldSelectionTest.java | 2 +- .../WorkflowFormFieldConditionListTest.java | 11 +- ...lowFormFieldConditionResponseDataTest.java | 2 +- ...orkflowFormFieldConditionResponseTest.java | 2 +- .../model/WorkflowFormFieldConditionTest.java | 26 +- .../client/model/WorkflowGroupListTest.java | 11 +- .../model/WorkflowGroupResponseDataTest.java | 2 +- .../model/WorkflowGroupResponseTest.java | 2 +- .../client/model/WorkflowGroupTest.java | 2 +- .../rootly/client/model/WorkflowListTest.java | 11 +- .../model/WorkflowResponseDataTest.java | 2 +- .../client/model/WorkflowResponseTest.java | 2 +- .../model/WorkflowRunResponseDataTest.java | 2 +- .../client/model/WorkflowRunResponseTest.java | 2 +- .../rootly/client/model/WorkflowRunTest.java | 2 +- .../client/model/WorkflowRunsListTest.java | 11 +- .../client/model/WorkflowTaskListTest.java | 11 +- .../model/WorkflowTaskResponseDataTest.java | 2 +- .../model/WorkflowTaskResponseTest.java | 2 +- .../rootly/client/model/WorkflowTaskTest.java | 2 +- .../com/rootly/client/model/WorkflowTest.java | 2 +- 2557 files changed, 8693 insertions(+), 3758 deletions(-) delete mode 100644 src/test/java/com/rootly/client/api/CatalogFieldsApiTest.java delete mode 100644 src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerAnyOfTest.java delete mode 100644 src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerTest.java delete mode 100644 src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsModelTest.java delete mode 100644 src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsTest.java delete mode 100644 src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsModelTest.java delete mode 100644 src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsTest.java delete mode 100644 src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesDestinationTest.java delete mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1Test.java delete mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2Test.java delete mode 100644 src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOfTest.java diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index abd40cd6..5cf466d4 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -2993,26 +2993,130 @@ 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/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/AlertRoutesApiTest.java +src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java +src/test/java/com/rootly/client/api/AlertSourcesApiTest.java +src/test/java/com/rootly/client/api/AlertUrgenciesApiTest.java +src/test/java/com/rootly/client/api/AlertsApiTest.java src/test/java/com/rootly/client/api/ApiKeysApiTest.java +src/test/java/com/rootly/client/api/AuditsApiTest.java +src/test/java/com/rootly/client/api/AuthorizationsApiTest.java src/test/java/com/rootly/client/api/CatalogChecklistTemplatesApiTest.java +src/test/java/com/rootly/client/api/CatalogEntitiesApiTest.java src/test/java/com/rootly/client/api/CatalogEntityChecklistsApiTest.java +src/test/java/com/rootly/client/api/CatalogEntityPropertiesApiTest.java src/test/java/com/rootly/client/api/CatalogPropertiesApiTest.java +src/test/java/com/rootly/client/api/CatalogsApiTest.java +src/test/java/com/rootly/client/api/CausesApiTest.java src/test/java/com/rootly/client/api/CommunicationsGroupsApiTest.java src/test/java/com/rootly/client/api/CommunicationsStagesApiTest.java src/test/java/com/rootly/client/api/CommunicationsTemplatesApiTest.java src/test/java/com/rootly/client/api/CommunicationsTypesApiTest.java +src/test/java/com/rootly/client/api/CustomFormsApiTest.java +src/test/java/com/rootly/client/api/DashboardPanelsApiTest.java +src/test/java/com/rootly/client/api/DashboardsApiTest.java +src/test/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApiTest.java +src/test/java/com/rootly/client/api/DeprecatedCustomFieldsApiTest.java +src/test/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApiTest.java +src/test/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApiTest.java src/test/java/com/rootly/client/api/EdgeConnectorActionsApiTest.java src/test/java/com/rootly/client/api/EdgeConnectorsApiTest.java +src/test/java/com/rootly/client/api/EnvironmentsApiTest.java +src/test/java/com/rootly/client/api/EscalationLevelsApiTest.java +src/test/java/com/rootly/client/api/EscalationLevelsPathApiTest.java +src/test/java/com/rootly/client/api/EscalationLevelsPoliciesApiTest.java +src/test/java/com/rootly/client/api/EscalationPathsApiTest.java +src/test/java/com/rootly/client/api/EscalationPoliciesApiTest.java +src/test/java/com/rootly/client/api/FormFieldOptionsApiTest.java +src/test/java/com/rootly/client/api/FormFieldPlacementConditionsApiTest.java +src/test/java/com/rootly/client/api/FormFieldPlacementsApiTest.java +src/test/java/com/rootly/client/api/FormFieldPositionsApiTest.java +src/test/java/com/rootly/client/api/FormFieldsApiTest.java +src/test/java/com/rootly/client/api/FormSetConditionsApiTest.java +src/test/java/com/rootly/client/api/FormSetsApiTest.java +src/test/java/com/rootly/client/api/FunctionalitiesApiTest.java +src/test/java/com/rootly/client/api/HeartbeatsApiTest.java +src/test/java/com/rootly/client/api/IncidentActionItemsApiTest.java +src/test/java/com/rootly/client/api/IncidentEventFunctionalitiesApiTest.java +src/test/java/com/rootly/client/api/IncidentEventServicesApiTest.java +src/test/java/com/rootly/client/api/IncidentEventsApiTest.java +src/test/java/com/rootly/client/api/IncidentFeedbacksApiTest.java +src/test/java/com/rootly/client/api/IncidentFormFieldSelectionsApiTest.java +src/test/java/com/rootly/client/api/IncidentPermissionSetBooleansApiTest.java +src/test/java/com/rootly/client/api/IncidentPermissionSetResourcesApiTest.java +src/test/java/com/rootly/client/api/IncidentPermissionSetsApiTest.java +src/test/java/com/rootly/client/api/IncidentRetrospectiveStepsApiTest.java +src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java +src/test/java/com/rootly/client/api/IncidentRoleTasksApiTest.java +src/test/java/com/rootly/client/api/IncidentRolesApiTest.java +src/test/java/com/rootly/client/api/IncidentStatusPageEventsApiTest.java +src/test/java/com/rootly/client/api/IncidentSubStatusesApiTest.java +src/test/java/com/rootly/client/api/IncidentTypesApiTest.java +src/test/java/com/rootly/client/api/IncidentsApiTest.java +src/test/java/com/rootly/client/api/IpRangesApiTest.java +src/test/java/com/rootly/client/api/LiveCallRoutersApiTest.java src/test/java/com/rootly/client/api/MeetingRecordingsApiTest.java src/test/java/com/rootly/client/api/OnCallPayReportsApiTest.java +src/test/java/com/rootly/client/api/OnCallRolesApiTest.java +src/test/java/com/rootly/client/api/OnCallShadowsApiTest.java 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/PulsesApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveProcessGroupsApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveProcessesApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveStepsApiTest.java +src/test/java/com/rootly/client/api/RetrospectiveTemplatesApiTest.java +src/test/java/com/rootly/client/api/RolesApiTest.java +src/test/java/com/rootly/client/api/ScheduleRotationActiveDaysApiTest.java +src/test/java/com/rootly/client/api/ScheduleRotationUsersApiTest.java +src/test/java/com/rootly/client/api/ScheduleRotationsApiTest.java +src/test/java/com/rootly/client/api/SchedulesApiTest.java +src/test/java/com/rootly/client/api/SecretsApiTest.java +src/test/java/com/rootly/client/api/ServicesApiTest.java +src/test/java/com/rootly/client/api/SeveritiesApiTest.java +src/test/java/com/rootly/client/api/ShiftsApiTest.java src/test/java/com/rootly/client/api/SlasApiTest.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 +src/test/java/com/rootly/client/api/SubStatusesApiTest.java +src/test/java/com/rootly/client/api/TeamsApiTest.java src/test/java/com/rootly/client/api/UserEmailAddressesApiTest.java +src/test/java/com/rootly/client/api/UserNotificationRulesApiTest.java src/test/java/com/rootly/client/api/UserPhoneNumbersApiTest.java +src/test/java/com/rootly/client/api/UsersApiTest.java +src/test/java/com/rootly/client/api/WebhooksDeliveriesApiTest.java +src/test/java/com/rootly/client/api/WebhooksEndpointsApiTest.java +src/test/java/com/rootly/client/api/WorkflowFormFieldConditionsApiTest.java +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/ActionItemTriggerParamsTest.java +src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java +src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java +src/test/java/com/rootly/client/model/AddActionItemTaskParamsTest.java src/test/java/com/rootly/client/model/AddMicrosoftTeamsChatTabTaskParamsTest.java +src/test/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParamsTest.java +src/test/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUserTest.java +src/test/java/com/rootly/client/model/AddRoleTaskParamsTest.java +src/test/java/com/rootly/client/model/AddSlackBookmarkTaskParamsTest.java +src/test/java/com/rootly/client/model/AddSubscribersDataAttributesTest.java +src/test/java/com/rootly/client/model/AddSubscribersDataTest.java +src/test/java/com/rootly/client/model/AddSubscribersTest.java +src/test/java/com/rootly/client/model/AddTeamTaskParamsTest.java +src/test/java/com/rootly/client/model/AddToTimelineTaskParamsTest.java +src/test/java/com/rootly/client/model/AlertEventListTest.java +src/test/java/com/rootly/client/model/AlertEventResponseDataTest.java +src/test/java/com/rootly/client/model/AlertEventResponseTest.java +src/test/java/com/rootly/client/model/AlertEventTest.java src/test/java/com/rootly/client/model/AlertFieldListDataInnerTest.java src/test/java/com/rootly/client/model/AlertFieldListTest.java src/test/java/com/rootly/client/model/AlertFieldResponseDataTest.java @@ -3020,6 +3124,13 @@ 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/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/AlertGroupTest.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/AlertRouteListTest.java src/test/java/com/rootly/client/model/AlertRouteResponseDataTest.java src/test/java/com/rootly/client/model/AlertRouteResponseTest.java @@ -3028,10 +3139,26 @@ src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerConditionsInnerTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleConditionGroupsInnerTest.java src/test/java/com/rootly/client/model/AlertRoutingRuleConditionTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleConditionsInnerTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleDestinationTest.java +src/test/java/com/rootly/client/model/AlertRoutingRuleListTest.java +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/AlertTest.java src/test/java/com/rootly/client/model/AlertTriggerParamsAlertFieldConditionsInnerTest.java src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsConditionsInnerTest.java src/test/java/com/rootly/client/model/AlertTriggerParamsAlertPayloadConditionsTest.java +src/test/java/com/rootly/client/model/AlertTriggerParamsTest.java +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/AlertsSourceListTest.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/AlertsSourceTest.java src/test/java/com/rootly/client/model/ApiKeyListTest.java src/test/java/com/rootly/client/model/ApiKeyResponseDataTest.java src/test/java/com/rootly/client/model/ApiKeyResponseTest.java @@ -3039,7 +3166,31 @@ src/test/java/com/rootly/client/model/ApiKeyTest.java src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataAttributesTest.java src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseDataTest.java src/test/java/com/rootly/client/model/ApiKeyWithTokenResponseTest.java +src/test/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParamsTest.java +src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java +src/test/java/com/rootly/client/model/AssignRoleToUserDataAttributesTest.java +src/test/java/com/rootly/client/model/AssignRoleToUserDataTest.java +src/test/java/com/rootly/client/model/AssignRoleToUserTest.java +src/test/java/com/rootly/client/model/AttachAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/AttachAlertDataTest.java +src/test/java/com/rootly/client/model/AttachAlertTest.java +src/test/java/com/rootly/client/model/AttachDatadogDashboardsTaskParamsTest.java +src/test/java/com/rootly/client/model/AuditTest.java +src/test/java/com/rootly/client/model/AuditsListDataInnerTest.java +src/test/java/com/rootly/client/model/AuditsListTest.java +src/test/java/com/rootly/client/model/AuthorizationListTest.java +src/test/java/com/rootly/client/model/AuthorizationResponseDataTest.java +src/test/java/com/rootly/client/model/AuthorizationResponseTest.java +src/test/java/com/rootly/client/model/AuthorizationTest.java +src/test/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParamsTest.java +src/test/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsTest.java +src/test/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsTest.java +src/test/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParamsTest.java src/test/java/com/rootly/client/model/BuiltinFieldTest.java +src/test/java/com/rootly/client/model/CallPeopleTaskParamsTest.java +src/test/java/com/rootly/client/model/CancelIncidentDataAttributesTest.java +src/test/java/com/rootly/client/model/CancelIncidentDataTest.java +src/test/java/com/rootly/client/model/CancelIncidentTest.java src/test/java/com/rootly/client/model/CatalogChecklistTemplateFieldsInnerTest.java src/test/java/com/rootly/client/model/CatalogChecklistTemplateListTest.java src/test/java/com/rootly/client/model/CatalogChecklistTemplateOwnersInnerTest.java @@ -3056,10 +3207,31 @@ src/test/java/com/rootly/client/model/CatalogEntityChecklistListTest.java src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseDataTest.java src/test/java/com/rootly/client/model/CatalogEntityChecklistResponseTest.java src/test/java/com/rootly/client/model/CatalogEntityChecklistTest.java +src/test/java/com/rootly/client/model/CatalogEntityListTest.java +src/test/java/com/rootly/client/model/CatalogEntityPropertyListTest.java +src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseTest.java +src/test/java/com/rootly/client/model/CatalogEntityPropertyTest.java +src/test/java/com/rootly/client/model/CatalogEntityResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogEntityResponseTest.java +src/test/java/com/rootly/client/model/CatalogEntityTest.java +src/test/java/com/rootly/client/model/CatalogFieldListTest.java +src/test/java/com/rootly/client/model/CatalogFieldResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogFieldResponseTest.java +src/test/java/com/rootly/client/model/CatalogFieldTest.java +src/test/java/com/rootly/client/model/CatalogListTest.java src/test/java/com/rootly/client/model/CatalogPropertyListTest.java src/test/java/com/rootly/client/model/CatalogPropertyResponseDataTest.java src/test/java/com/rootly/client/model/CatalogPropertyResponseTest.java src/test/java/com/rootly/client/model/CatalogPropertyTest.java +src/test/java/com/rootly/client/model/CatalogResponseDataTest.java +src/test/java/com/rootly/client/model/CatalogResponseTest.java +src/test/java/com/rootly/client/model/CatalogTest.java +src/test/java/com/rootly/client/model/CauseListTest.java +src/test/java/com/rootly/client/model/CauseResponseDataTest.java +src/test/java/com/rootly/client/model/CauseResponseTest.java +src/test/java/com/rootly/client/model/CauseTest.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/CommunicationsGroupResponseDataTest.java src/test/java/com/rootly/client/model/CommunicationsGroupResponseTest.java @@ -3083,9 +3255,19 @@ src/test/java/com/rootly/client/model/CommunicationsTypeResponseDataTest.java src/test/java/com/rootly/client/model/CommunicationsTypeResponseTest.java src/test/java/com/rootly/client/model/CommunicationsTypeTest.java src/test/java/com/rootly/client/model/CommunicationsTypesResponseTest.java +src/test/java/com/rootly/client/model/CreateAirtableTableRecordTaskParamsTest.java src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsModelTest.java src/test/java/com/rootly/client/model/CreateAnthropicChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateAsanaSubtaskTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateAsanaTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateClickupTaskTaskParamsTest.java src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsDocTest.java +src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplateTest.java +src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegrationTest.java +src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateDatadogNotebookTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateDropboxPaperPageTaskParamsTest.java src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataParametersInnerTest.java src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionMetadataTest.java src/test/java/com/rootly/client/model/CreateEdgeConnectorActionRequestActionTest.java @@ -3094,21 +3276,90 @@ src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributesTe src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestDataTest.java src/test/java/com/rootly/client/model/CreateEdgeConnectorRequestTest.java src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsIssueTypeTest.java +src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGitlabIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGoToMeetingTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGoogleDocsPageTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParamsTest.java src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsModelTest.java src/test/java/com/rootly/client/model/CreateGoogleGeminiChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplateTest.java +src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegrationTest.java +src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueTypeTest.java +src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriorityTest.java +src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatusTest.java +src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateJiraSubtaskTaskParamsTest.java src/test/java/com/rootly/client/model/CreateJsmopsAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateLinearIssueCommentTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsProjectTest.java +src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsStateTest.java +src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeamTest.java +src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParamsTest.java src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsMembersInnerTest.java src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChatTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParamsTest.java src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsModelTest.java src/test/java/com/rootly/client/model/CreateMistralChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateMotionTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPageTest.java +src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsTest.java src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsModelTest.java src/test/java/com/rootly/client/model/CreateOpenaiChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateOpsgenieAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateOutlookEventTaskParamsTest.java +src/test/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParamsTest.java +src/test/java/com/rootly/client/model/CreatePagertreeAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateQuipPageTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletionTest.java +src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateSharepointPageTaskParamsTest.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/CreateSlackChannelTaskParamsTest.java src/test/java/com/rootly/client/model/CreateSubIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java +src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoardTest.java +src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsListTest.java +src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsTest.java src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsModelTest.java src/test/java/com/rootly/client/model/CreateWatsonxChatCompletionTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateWebexMeetingTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateZendeskTicketTaskParamsTest.java +src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java +src/test/java/com/rootly/client/model/CustomFieldListTest.java +src/test/java/com/rootly/client/model/CustomFieldOptionListTest.java +src/test/java/com/rootly/client/model/CustomFieldOptionResponseDataTest.java +src/test/java/com/rootly/client/model/CustomFieldOptionResponseTest.java +src/test/java/com/rootly/client/model/CustomFieldOptionTest.java +src/test/java/com/rootly/client/model/CustomFieldResponseDataTest.java +src/test/java/com/rootly/client/model/CustomFieldResponseTest.java +src/test/java/com/rootly/client/model/CustomFieldTest.java +src/test/java/com/rootly/client/model/CustomFormListTest.java +src/test/java/com/rootly/client/model/CustomFormResponseDataTest.java +src/test/java/com/rootly/client/model/CustomFormResponseTest.java +src/test/java/com/rootly/client/model/CustomFormTest.java +src/test/java/com/rootly/client/model/DashboardListTest.java +src/test/java/com/rootly/client/model/DashboardPanelListTest.java +src/test/java/com/rootly/client/model/DashboardPanelResponseDataTest.java +src/test/java/com/rootly/client/model/DashboardPanelResponseTest.java +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/DeleteAlertRoute200ResponseDataAttributesTest.java src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseDataTest.java src/test/java/com/rootly/client/model/DeleteAlertRoute200ResponseTest.java +src/test/java/com/rootly/client/model/DuplicateIncidentDataAttributesTest.java +src/test/java/com/rootly/client/model/DuplicateIncidentDataTest.java +src/test/java/com/rootly/client/model/DuplicateIncidentTest.java src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesParametersInnerTest.java src/test/java/com/rootly/client/model/EdgeConnectorActionDataAttributesTest.java src/test/java/com/rootly/client/model/EdgeConnectorActionDataTest.java @@ -3116,22 +3367,186 @@ src/test/java/com/rootly/client/model/EdgeConnectorActionTest.java src/test/java/com/rootly/client/model/EdgeConnectorDataAttributesTest.java src/test/java/com/rootly/client/model/EdgeConnectorDataTest.java 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/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/EscalationPolicyLevelListDataInnerTest.java +src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.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 +src/test/java/com/rootly/client/model/EscalationPolicyListTest.java +src/test/java/com/rootly/client/model/EscalationPolicyPathListDataInnerTest.java +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/EscalationPolicyResponseDataTest.java +src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java +src/test/java/com/rootly/client/model/EscalationPolicyTest.java +src/test/java/com/rootly/client/model/FormFieldListTest.java +src/test/java/com/rootly/client/model/FormFieldOptionListTest.java +src/test/java/com/rootly/client/model/FormFieldOptionResponseDataTest.java +src/test/java/com/rootly/client/model/FormFieldOptionResponseTest.java +src/test/java/com/rootly/client/model/FormFieldOptionTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementConditionListTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseDataTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementConditionTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementListTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementResponseDataTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementResponseTest.java +src/test/java/com/rootly/client/model/FormFieldPlacementTest.java +src/test/java/com/rootly/client/model/FormFieldPositionListTest.java +src/test/java/com/rootly/client/model/FormFieldPositionResponseDataTest.java +src/test/java/com/rootly/client/model/FormFieldPositionResponseTest.java +src/test/java/com/rootly/client/model/FormFieldPositionTest.java +src/test/java/com/rootly/client/model/FormFieldResponseDataTest.java +src/test/java/com/rootly/client/model/FormFieldResponseTest.java +src/test/java/com/rootly/client/model/FormFieldTest.java +src/test/java/com/rootly/client/model/FormSetConditionListTest.java +src/test/java/com/rootly/client/model/FormSetConditionResponseDataTest.java +src/test/java/com/rootly/client/model/FormSetConditionResponseTest.java +src/test/java/com/rootly/client/model/FormSetConditionTest.java +src/test/java/com/rootly/client/model/FormSetListTest.java +src/test/java/com/rootly/client/model/FormSetResponseDataTest.java +src/test/java/com/rootly/client/model/FormSetResponseTest.java +src/test/java/com/rootly/client/model/FormSetTest.java +src/test/java/com/rootly/client/model/FunctionalityListTest.java +src/test/java/com/rootly/client/model/FunctionalityResponseDataTest.java +src/test/java/com/rootly/client/model/FunctionalityResponseTest.java +src/test/java/com/rootly/client/model/FunctionalityTest.java src/test/java/com/rootly/client/model/GetAlertFieldIdParameterTest.java +src/test/java/com/rootly/client/model/GetAlertsTaskParamsTest.java +src/test/java/com/rootly/client/model/GetGithubCommitsTaskParamsTest.java +src/test/java/com/rootly/client/model/GetGitlabCommitsTaskParamsTest.java +src/test/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTaskTest.java +src/test/java/com/rootly/client/model/GetPulsesTaskParamsTest.java src/test/java/com/rootly/client/model/GetTeamIdParameterTest.java +src/test/java/com/rootly/client/model/HeartbeatListTest.java +src/test/java/com/rootly/client/model/HeartbeatResponseDataTest.java +src/test/java/com/rootly/client/model/HeartbeatResponseTest.java +src/test/java/com/rootly/client/model/HeartbeatTest.java +src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java +src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java +src/test/java/com/rootly/client/model/InTriageIncidentTest.java +src/test/java/com/rootly/client/model/IncidentActionItemListTest.java +src/test/java/com/rootly/client/model/IncidentActionItemResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentActionItemResponseTest.java +src/test/java/com/rootly/client/model/IncidentActionItemTest.java +src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionListTest.java +src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseTest.java +src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/IncidentEventFunctionalityListTest.java +src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseTest.java +src/test/java/com/rootly/client/model/IncidentEventFunctionalityTest.java +src/test/java/com/rootly/client/model/IncidentEventListTest.java +src/test/java/com/rootly/client/model/IncidentEventResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentEventResponseTest.java +src/test/java/com/rootly/client/model/IncidentEventServiceListTest.java +src/test/java/com/rootly/client/model/IncidentEventServiceResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentEventServiceResponseTest.java +src/test/java/com/rootly/client/model/IncidentEventServiceTest.java +src/test/java/com/rootly/client/model/IncidentEventTest.java +src/test/java/com/rootly/client/model/IncidentFeedbackListTest.java +src/test/java/com/rootly/client/model/IncidentFeedbackResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentFeedbackResponseTest.java +src/test/java/com/rootly/client/model/IncidentFeedbackTest.java +src/test/java/com/rootly/client/model/IncidentFormFieldSelectionListTest.java +src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseTest.java +src/test/java/com/rootly/client/model/IncidentFormFieldSelectionTest.java +src/test/java/com/rootly/client/model/IncidentListTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanListTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetListTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResourceListTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResourceTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetResponseTest.java +src/test/java/com/rootly/client/model/IncidentPermissionSetTest.java +src/test/java/com/rootly/client/model/IncidentPostMortemListTest.java +src/test/java/com/rootly/client/model/IncidentPostMortemResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentPostMortemResponseTest.java +src/test/java/com/rootly/client/model/IncidentPostMortemTest.java +src/test/java/com/rootly/client/model/IncidentResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentResponseTest.java +src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseTest.java +src/test/java/com/rootly/client/model/IncidentRetrospectiveStepTest.java +src/test/java/com/rootly/client/model/IncidentRoleListTest.java +src/test/java/com/rootly/client/model/IncidentRoleResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentRoleResponseTest.java +src/test/java/com/rootly/client/model/IncidentRoleTaskListTest.java +src/test/java/com/rootly/client/model/IncidentRoleTaskResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentRoleTaskResponseTest.java +src/test/java/com/rootly/client/model/IncidentRoleTaskTest.java +src/test/java/com/rootly/client/model/IncidentRoleTest.java +src/test/java/com/rootly/client/model/IncidentStatusPageEventListTest.java +src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseTest.java +src/test/java/com/rootly/client/model/IncidentStatusPageEventTest.java +src/test/java/com/rootly/client/model/IncidentSubStatusListTest.java +src/test/java/com/rootly/client/model/IncidentSubStatusResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentSubStatusResponseTest.java +src/test/java/com/rootly/client/model/IncidentSubStatusTest.java +src/test/java/com/rootly/client/model/IncidentTest.java +src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java +src/test/java/com/rootly/client/model/IncidentTypeListTest.java +src/test/java/com/rootly/client/model/IncidentTypeResponseDataTest.java +src/test/java/com/rootly/client/model/IncidentTypeResponseTest.java +src/test/java/com/rootly/client/model/IncidentTypeTest.java src/test/java/com/rootly/client/model/IncidentZoomMeetingGlobalDialInNumbersInnerTest.java +src/test/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParamsTest.java +src/test/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParamsTest.java +src/test/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParamsTest.java +src/test/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParamsTest.java +src/test/java/com/rootly/client/model/InviteToSlackChannelTaskParamsTest.java +src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTest.java +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/LinksTest.java +src/test/java/com/rootly/client/model/LiveCallRouterListTest.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 src/test/java/com/rootly/client/model/MeetingRecordingListDataInnerTest.java src/test/java/com/rootly/client/model/MeetingRecordingListTest.java src/test/java/com/rootly/client/model/MeetingRecordingTest.java 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/NewAlertDataAttributesAlertFieldValuesAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerValueTest.java +src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertDataTest.java +src/test/java/com/rootly/client/model/NewAlertEventDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertEventDataTest.java +src/test/java/com/rootly/client/model/NewAlertEventTest.java src/test/java/com/rootly/client/model/NewAlertFieldDataAttributesTest.java src/test/java/com/rootly/client/model/NewAlertFieldDataTest.java src/test/java/com/rootly/client/model/NewAlertFieldTest.java +src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInnerTest.java src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesConditionsInnerTest.java +src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTest.java +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/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java @@ -3139,20 +3554,55 @@ src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesRulesInnerTest. src/test/java/com/rootly/client/model/NewAlertRouteDataAttributesTest.java src/test/java/com/rootly/client/model/NewAlertRouteDataTest.java src/test/java/com/rootly/client/model/NewAlertRouteTest.java +src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInnerTest.java +src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataTest.java +src/test/java/com/rootly/client/model/NewAlertRoutingRuleTest.java +src/test/java/com/rootly/client/model/NewAlertTest.java +src/test/java/com/rootly/client/model/NewAlertUrgencyDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertUrgencyDataTest.java +src/test/java/com/rootly/client/model/NewAlertUrgencyTest.java src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceDataTest.java +src/test/java/com/rootly/client/model/NewAlertsSourceTest.java src/test/java/com/rootly/client/model/NewApiKeyDataAttributesTest.java src/test/java/com/rootly/client/model/NewApiKeyDataTest.java src/test/java/com/rootly/client/model/NewApiKeyTest.java +src/test/java/com/rootly/client/model/NewAuthorizationDataAttributesTest.java +src/test/java/com/rootly/client/model/NewAuthorizationDataTest.java +src/test/java/com/rootly/client/model/NewAuthorizationTest.java src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInnerTest.java src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesOwnersInnerTest.java src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateDataTest.java src/test/java/com/rootly/client/model/NewCatalogChecklistTemplateTest.java +src/test/java/com/rootly/client/model/NewCatalogDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogDataTest.java src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInnerTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityDataTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityPropertyTest.java +src/test/java/com/rootly/client/model/NewCatalogEntityTest.java +src/test/java/com/rootly/client/model/NewCatalogFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCatalogFieldDataTest.java +src/test/java/com/rootly/client/model/NewCatalogFieldTest.java src/test/java/com/rootly/client/model/NewCatalogPropertyDataAttributesTest.java src/test/java/com/rootly/client/model/NewCatalogPropertyDataTest.java src/test/java/com/rootly/client/model/NewCatalogPropertyTest.java +src/test/java/com/rootly/client/model/NewCatalogTest.java src/test/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInnerTest.java +src/test/java/com/rootly/client/model/NewCauseDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCauseDataTest.java +src/test/java/com/rootly/client/model/NewCauseTest.java src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java src/test/java/com/rootly/client/model/NewCommunicationsGroupDataAttributesTest.java @@ -3168,13 +3618,48 @@ src/test/java/com/rootly/client/model/NewCommunicationsTemplateTest.java src/test/java/com/rootly/client/model/NewCommunicationsTypeDataAttributesTest.java src/test/java/com/rootly/client/model/NewCommunicationsTypeDataTest.java src/test/java/com/rootly/client/model/NewCommunicationsTypeTest.java +src/test/java/com/rootly/client/model/NewCustomFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCustomFieldDataTest.java +src/test/java/com/rootly/client/model/NewCustomFieldOptionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCustomFieldOptionDataTest.java +src/test/java/com/rootly/client/model/NewCustomFieldOptionTest.java +src/test/java/com/rootly/client/model/NewCustomFieldTest.java +src/test/java/com/rootly/client/model/NewCustomFormDataAttributesTest.java +src/test/java/com/rootly/client/model/NewCustomFormDataTest.java +src/test/java/com/rootly/client/model/NewCustomFormTest.java +src/test/java/com/rootly/client/model/NewDashboardDataAttributesTest.java +src/test/java/com/rootly/client/model/NewDashboardDataTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabelsTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregateTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInnerTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerTest.java src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByOneOfTest.java src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerGroupByTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegendTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesPositionTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelDataTest.java +src/test/java/com/rootly/client/model/NewDashboardPanelTest.java +src/test/java/com/rootly/client/model/NewDashboardTest.java src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionMetadataTest.java src/test/java/com/rootly/client/model/NewEdgeConnectorActionActionTest.java src/test/java/com/rootly/client/model/NewEdgeConnectorActionTest.java src/test/java/com/rootly/client/model/NewEdgeConnectorEdgeConnectorTest.java src/test/java/com/rootly/client/model/NewEdgeConnectorTest.java +src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInnerTest.java +src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInnerTest.java +src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesTest.java +src/test/java/com/rootly/client/model/NewEnvironmentDataTest.java +src/test/java/com/rootly/client/model/NewEnvironmentTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHoursTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyDataTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java +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 @@ -3182,32 +3667,250 @@ src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRules 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/NewEscalationPolicyPathDataAttributesRulesInnerOneOfTest.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 +src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyPathTest.java +src/test/java/com/rootly/client/model/NewEscalationPolicyTest.java +src/test/java/com/rootly/client/model/NewFormFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormFieldDataTest.java +src/test/java/com/rootly/client/model/NewFormFieldOptionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormFieldOptionDataTest.java +src/test/java/com/rootly/client/model/NewFormFieldOptionTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementDataTest.java +src/test/java/com/rootly/client/model/NewFormFieldPlacementTest.java +src/test/java/com/rootly/client/model/NewFormFieldPositionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormFieldPositionDataTest.java +src/test/java/com/rootly/client/model/NewFormFieldPositionTest.java +src/test/java/com/rootly/client/model/NewFormFieldTest.java +src/test/java/com/rootly/client/model/NewFormSetConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormSetConditionDataTest.java +src/test/java/com/rootly/client/model/NewFormSetConditionTest.java +src/test/java/com/rootly/client/model/NewFormSetDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFormSetDataTest.java +src/test/java/com/rootly/client/model/NewFormSetTest.java +src/test/java/com/rootly/client/model/NewFunctionalityDataAttributesTest.java +src/test/java/com/rootly/client/model/NewFunctionalityDataTest.java +src/test/java/com/rootly/client/model/NewFunctionalityTest.java +src/test/java/com/rootly/client/model/NewHeartbeatDataAttributesTest.java +src/test/java/com/rootly/client/model/NewHeartbeatDataTest.java +src/test/java/com/rootly/client/model/NewHeartbeatTest.java +src/test/java/com/rootly/client/model/NewIncidentActionItemDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentActionItemDataTest.java +src/test/java/com/rootly/client/model/NewIncidentActionItemTest.java +src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataTest.java +src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentDataTest.java +src/test/java/com/rootly/client/model/NewIncidentEventDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentEventDataTest.java +src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataTest.java +src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityTest.java +src/test/java/com/rootly/client/model/NewIncidentEventServiceDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentEventServiceDataTest.java +src/test/java/com/rootly/client/model/NewIncidentEventServiceTest.java +src/test/java/com/rootly/client/model/NewIncidentEventTest.java +src/test/java/com/rootly/client/model/NewIncidentFeedbackDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentFeedbackDataTest.java +src/test/java/com/rootly/client/model/NewIncidentFeedbackTest.java +src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataTest.java +src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceTest.java +src/test/java/com/rootly/client/model/NewIncidentPermissionSetTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleDataTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleTaskTest.java +src/test/java/com/rootly/client/model/NewIncidentRoleTest.java +src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataTest.java +src/test/java/com/rootly/client/model/NewIncidentStatusPageEventTest.java +src/test/java/com/rootly/client/model/NewIncidentSubStatusDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentSubStatusDataTest.java +src/test/java/com/rootly/client/model/NewIncidentSubStatusTest.java +src/test/java/com/rootly/client/model/NewIncidentTest.java +src/test/java/com/rootly/client/model/NewIncidentTypeDataAttributesTest.java +src/test/java/com/rootly/client/model/NewIncidentTypeDataTest.java +src/test/java/com/rootly/client/model/NewIncidentTypeTest.java +src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesPagingTargetsInnerTest.java +src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesTest.java +src/test/java/com/rootly/client/model/NewLiveCallRouterDataTest.java +src/test/java/com/rootly/client/model/NewLiveCallRouterTest.java src/test/java/com/rootly/client/model/NewOnCallPayReportDataAttributesTest.java src/test/java/com/rootly/client/model/NewOnCallPayReportDataTest.java src/test/java/com/rootly/client/model/NewOnCallPayReportTest.java +src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java +src/test/java/com/rootly/client/model/NewOnCallRoleDataTest.java +src/test/java/com/rootly/client/model/NewOnCallRoleTest.java +src/test/java/com/rootly/client/model/NewOnCallShadowDataAttributesTest.java +src/test/java/com/rootly/client/model/NewOnCallShadowDataTest.java +src/test/java/com/rootly/client/model/NewOnCallShadowTest.java +src/test/java/com/rootly/client/model/NewOverrideShiftDataAttributesTest.java +src/test/java/com/rootly/client/model/NewOverrideShiftDataTest.java +src/test/java/com/rootly/client/model/NewOverrideShiftTest.java +src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java +src/test/java/com/rootly/client/model/NewPlaybookDataTest.java +src/test/java/com/rootly/client/model/NewPlaybookTaskDataAttributesTest.java +src/test/java/com/rootly/client/model/NewPlaybookTaskDataTest.java +src/test/java/com/rootly/client/model/NewPlaybookTaskTest.java +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/NewPulseDataAttributesLabelsInnerTest.java +src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java +src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java +src/test/java/com/rootly/client/model/NewPulseDataTest.java +src/test/java/com/rootly/client/model/NewPulseTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1Test.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2Test.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOfTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributesTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveProcessTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveStepDataAttributesTest.java +src/test/java/com/rootly/client/model/NewRetrospectiveStepDataTest.java +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/NewScheduleDataAttributesSlackChannelTest.java +src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java +src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java +src/test/java/com/rootly/client/model/NewScheduleDataTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInnerTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInnerTest.java src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationMembersInnerTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1Test.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2Test.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3Test.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOfTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationDataTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationUserDataAttributesTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationUserDataTest.java +src/test/java/com/rootly/client/model/NewScheduleRotationUserTest.java +src/test/java/com/rootly/client/model/NewScheduleTest.java +src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java +src/test/java/com/rootly/client/model/NewSecretDataTest.java +src/test/java/com/rootly/client/model/NewSecretTest.java src/test/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannelTest.java src/test/java/com/rootly/client/model/NewServiceDataAttributesIncidentBroadcastChannelTest.java +src/test/java/com/rootly/client/model/NewServiceDataAttributesTest.java +src/test/java/com/rootly/client/model/NewServiceDataTest.java +src/test/java/com/rootly/client/model/NewServiceTest.java +src/test/java/com/rootly/client/model/NewSeverityDataAttributesTest.java +src/test/java/com/rootly/client/model/NewSeverityDataTest.java +src/test/java/com/rootly/client/model/NewSeverityTest.java src/test/java/com/rootly/client/model/NewSlaDataAttributesConditionsInnerTest.java src/test/java/com/rootly/client/model/NewSlaDataAttributesNotificationConfigurationsInnerTest.java src/test/java/com/rootly/client/model/NewSlaDataAttributesTest.java src/test/java/com/rootly/client/model/NewSlaDataTest.java src/test/java/com/rootly/client/model/NewSlaTest.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/NewStatusPageTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java +src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java +src/test/java/com/rootly/client/model/NewStatusPageTest.java +src/test/java/com/rootly/client/model/NewSubStatusDataAttributesTest.java +src/test/java/com/rootly/client/model/NewSubStatusDataTest.java +src/test/java/com/rootly/client/model/NewSubStatusTest.java +src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java +src/test/java/com/rootly/client/model/NewTeamDataTest.java +src/test/java/com/rootly/client/model/NewTeamTest.java src/test/java/com/rootly/client/model/NewUserEmailAddressDataAttributesTest.java src/test/java/com/rootly/client/model/NewUserEmailAddressDataTest.java src/test/java/com/rootly/client/model/NewUserEmailAddressTest.java +src/test/java/com/rootly/client/model/NewUserNotificationRuleDataAttributesTest.java +src/test/java/com/rootly/client/model/NewUserNotificationRuleDataTest.java +src/test/java/com/rootly/client/model/NewUserNotificationRuleTest.java src/test/java/com/rootly/client/model/NewUserPhoneNumberDataAttributesTest.java src/test/java/com/rootly/client/model/NewUserPhoneNumberDataTest.java src/test/java/com/rootly/client/model/NewUserPhoneNumberTest.java +src/test/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesTest.java +src/test/java/com/rootly/client/model/NewWebhooksEndpointDataTest.java +src/test/java/com/rootly/client/model/NewWebhooksEndpointTest.java +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/NewWorkflowDataAttributesTest.java +src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java +src/test/java/com/rootly/client/model/NewWorkflowDataTest.java +src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataTest.java +src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionTest.java +src/test/java/com/rootly/client/model/NewWorkflowGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/NewWorkflowGroupDataTest.java +src/test/java/com/rootly/client/model/NewWorkflowGroupTest.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1Test.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2Test.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3Test.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4Test.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5Test.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOfTest.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesTest.java +src/test/java/com/rootly/client/model/NewWorkflowRunDataTest.java +src/test/java/com/rootly/client/model/NewWorkflowRunTest.java +src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java +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/OnCallPayReportListTest.java src/test/java/com/rootly/client/model/OnCallPayReportResponseDataTest.java src/test/java/com/rootly/client/model/OnCallPayReportResponseTest.java src/test/java/com/rootly/client/model/OnCallPayReportTest.java +src/test/java/com/rootly/client/model/OnCallRoleListTest.java +src/test/java/com/rootly/client/model/OnCallRoleRelationshipDataTest.java +src/test/java/com/rootly/client/model/OnCallRoleRelationshipTest.java +src/test/java/com/rootly/client/model/OnCallRoleResponseDataTest.java +src/test/java/com/rootly/client/model/OnCallRoleResponseTest.java +src/test/java/com/rootly/client/model/OnCallRoleTest.java +src/test/java/com/rootly/client/model/OnCallShadowResponseDataTest.java +src/test/java/com/rootly/client/model/OnCallShadowResponseTest.java +src/test/java/com/rootly/client/model/OnCallShadowTest.java +src/test/java/com/rootly/client/model/OnCallShadowsListDataInnerTest.java +src/test/java/com/rootly/client/model/OnCallShadowsListTest.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 +src/test/java/com/rootly/client/model/OverrideShiftTest.java src/test/java/com/rootly/client/model/PageJsmopsOnCallRespondersTaskParamsTest.java +src/test/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParamsTest.java +src/test/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParamsTest.java +src/test/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParamsTest.java +src/test/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsTest.java src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerConditionsInnerTest.java src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerConditionGroupsInnerTest.java src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesRulesInnerDestinationsInnerTest.java @@ -3216,13 +3919,121 @@ src/test/java/com/rootly/client/model/PatchAlertRouteDataAttributesTest.java src/test/java/com/rootly/client/model/PatchAlertRouteDataTest.java src/test/java/com/rootly/client/model/PatchAlertRouteTest.java src/test/java/com/rootly/client/model/PhoneVerificationResponseTest.java +src/test/java/com/rootly/client/model/PlaybookListTest.java +src/test/java/com/rootly/client/model/PlaybookResponseDataTest.java +src/test/java/com/rootly/client/model/PlaybookResponseTest.java +src/test/java/com/rootly/client/model/PlaybookTaskListTest.java +src/test/java/com/rootly/client/model/PlaybookTaskResponseDataTest.java +src/test/java/com/rootly/client/model/PlaybookTaskResponseTest.java +src/test/java/com/rootly/client/model/PlaybookTaskTest.java +src/test/java/com/rootly/client/model/PlaybookTest.java +src/test/java/com/rootly/client/model/PostMortemTemplateListTest.java +src/test/java/com/rootly/client/model/PostMortemTemplateResponseDataTest.java +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/PublishIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/PulseListTest.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/RedisClientTaskParamsTest.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 +src/test/java/com/rootly/client/model/RemoveSubscribersTest.java +src/test/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParamsTest.java +src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java +src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/ResolveAlertDataTest.java +src/test/java/com/rootly/client/model/ResolveAlertTest.java +src/test/java/com/rootly/client/model/ResolveIncidentDataAttributesTest.java +src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java +src/test/java/com/rootly/client/model/ResolveIncidentTest.java +src/test/java/com/rootly/client/model/RestartIncidentDataTest.java +src/test/java/com/rootly/client/model/RestartIncidentTest.java +src/test/java/com/rootly/client/model/RetrospectiveConfigurationListDataInnerTest.java +src/test/java/com/rootly/client/model/RetrospectiveConfigurationListTest.java +src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseDataTest.java +src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseTest.java +src/test/java/com/rootly/client/model/RetrospectiveConfigurationTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupListTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseDataTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepListTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseDataTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessGroupTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessListDataInnerTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessListTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessResponseDataTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessResponseTest.java +src/test/java/com/rootly/client/model/RetrospectiveProcessTest.java +src/test/java/com/rootly/client/model/RetrospectiveStepListTest.java +src/test/java/com/rootly/client/model/RetrospectiveStepResponseDataTest.java +src/test/java/com/rootly/client/model/RetrospectiveStepResponseTest.java +src/test/java/com/rootly/client/model/RetrospectiveStepTest.java +src/test/java/com/rootly/client/model/RoleListTest.java +src/test/java/com/rootly/client/model/RoleRelationshipDataTest.java +src/test/java/com/rootly/client/model/RoleRelationshipTest.java +src/test/java/com/rootly/client/model/RoleResponseDataTest.java +src/test/java/com/rootly/client/model/RoleResponseTest.java +src/test/java/com/rootly/client/model/RoleTest.java 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/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/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/ScheduleRotationListTest.java +src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java +src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java +src/test/java/com/rootly/client/model/ScheduleRotationTest.java +src/test/java/com/rootly/client/model/ScheduleRotationUserListDataInnerTest.java +src/test/java/com/rootly/client/model/ScheduleRotationUserListTest.java +src/test/java/com/rootly/client/model/ScheduleRotationUserResponseTest.java +src/test/java/com/rootly/client/model/ScheduleRotationUserTest.java src/test/java/com/rootly/client/model/ScheduleSlackChannelTest.java +src/test/java/com/rootly/client/model/ScheduleSlackUserGroupTest.java +src/test/java/com/rootly/client/model/ScheduleTest.java +src/test/java/com/rootly/client/model/SecretListTest.java +src/test/java/com/rootly/client/model/SecretResponseDataTest.java +src/test/java/com/rootly/client/model/SecretResponseTest.java +src/test/java/com/rootly/client/model/SecretTest.java +src/test/java/com/rootly/client/model/SendDashboardReportTaskParamsTest.java +src/test/java/com/rootly/client/model/SendEmailTaskParamsTest.java +src/test/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParamsTest.java src/test/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParamsTest.java +src/test/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParamsTest.java +src/test/java/com/rootly/client/model/SendSlackBlocksTaskParamsTest.java +src/test/java/com/rootly/client/model/SendSlackMessageTaskParamsTest.java +src/test/java/com/rootly/client/model/SendSmsTaskParamsTest.java +src/test/java/com/rootly/client/model/SendWhatsappMessageTaskParamsTest.java src/test/java/com/rootly/client/model/ServiceAlertBroadcastChannelTest.java src/test/java/com/rootly/client/model/ServiceIncidentBroadcastChannelTest.java +src/test/java/com/rootly/client/model/ServiceListTest.java +src/test/java/com/rootly/client/model/ServiceResponseDataTest.java +src/test/java/com/rootly/client/model/ServiceResponseTest.java +src/test/java/com/rootly/client/model/ServiceTest.java +src/test/java/com/rootly/client/model/SeverityListTest.java +src/test/java/com/rootly/client/model/SeverityResponseDataTest.java +src/test/java/com/rootly/client/model/SeverityResponseTest.java +src/test/java/com/rootly/client/model/SeverityTest.java +src/test/java/com/rootly/client/model/ShiftListDataInnerTest.java +src/test/java/com/rootly/client/model/ShiftListTest.java +src/test/java/com/rootly/client/model/ShiftOverrideResponseDataTest.java +src/test/java/com/rootly/client/model/ShiftOverrideResponseTest.java +src/test/java/com/rootly/client/model/ShiftOverrideTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeDataTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsAssigneeTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideDataTest.java @@ -3230,37 +4041,109 @@ src/test/java/com/rootly/client/model/ShiftRelationshipsShiftOverrideTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsUserDataTest.java src/test/java/com/rootly/client/model/ShiftRelationshipsUserTest.java +src/test/java/com/rootly/client/model/ShiftTest.java +src/test/java/com/rootly/client/model/SimpleTriggerParamsTest.java src/test/java/com/rootly/client/model/SlaConditionsInnerTest.java src/test/java/com/rootly/client/model/SlaListTest.java src/test/java/com/rootly/client/model/SlaNotificationConfigurationsInnerTest.java src/test/java/com/rootly/client/model/SlaResponseDataTest.java src/test/java/com/rootly/client/model/SlaResponseTest.java src/test/java/com/rootly/client/model/SlaTest.java +src/test/java/com/rootly/client/model/SnapshotDatadogGraphTaskParamsTest.java +src/test/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParamsTest.java +src/test/java/com/rootly/client/model/SnapshotLookerLookTaskParamsTest.java +src/test/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParamsTest.java src/test/java/com/rootly/client/model/SnoozeAlertDataAttributesTest.java src/test/java/com/rootly/client/model/SnoozeAlertDataTest.java src/test/java/com/rootly/client/model/SnoozeAlertTest.java src/test/java/com/rootly/client/model/StatusListTest.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/StatusPageTemplateListDataInnerTest.java +src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java +src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java +src/test/java/com/rootly/client/model/StatusPageTemplateResponseTest.java +src/test/java/com/rootly/client/model/StatusPageTemplateTest.java +src/test/java/com/rootly/client/model/StatusPageTest.java src/test/java/com/rootly/client/model/StatusResponseDataTest.java src/test/java/com/rootly/client/model/StatusResponseTest.java src/test/java/com/rootly/client/model/StatusTest.java +src/test/java/com/rootly/client/model/SubStatusListTest.java +src/test/java/com/rootly/client/model/SubStatusResponseDataTest.java +src/test/java/com/rootly/client/model/SubStatusResponseTest.java +src/test/java/com/rootly/client/model/SubStatusTest.java +src/test/java/com/rootly/client/model/TeamListTest.java +src/test/java/com/rootly/client/model/TeamResponseDataTest.java +src/test/java/com/rootly/client/model/TeamResponseTest.java +src/test/java/com/rootly/client/model/TeamTest.java src/test/java/com/rootly/client/model/TiptapBlockSchemaFollowupComponentTest.java src/test/java/com/rootly/client/model/TiptapBlockSchemaTest.java src/test/java/com/rootly/client/model/TiptapBlockSchemaTimelineComponentTest.java +src/test/java/com/rootly/client/model/TriggerWorkflowTaskParamsTest.java +src/test/java/com/rootly/client/model/TweetTwitterMessageTaskParamsTest.java +src/test/java/com/rootly/client/model/UnassignRoleFromUserDataAttributesTest.java +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/UpdateAlertDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertEventTest.java src/test/java/com/rootly/client/model/UpdateAlertFieldDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertFieldDataTest.java 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/UpdateAlertRouteDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateAlertRouteDataTest.java src/test/java/com/rootly/client/model/UpdateAlertRouteTest.java +src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInnerTest.java +src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestinationTest.java +src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleTest.java +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/UpdateAlertsSourceDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java +src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java src/test/java/com/rootly/client/model/UpdateApiKeyDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateApiKeyDataTest.java src/test/java/com/rootly/client/model/UpdateApiKeyTest.java +src/test/java/com/rootly/client/model/UpdateAsanaTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateAttachedAlertsTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateAuthorizationDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java +src/test/java/com/rootly/client/model/UpdateAuthorizationTest.java src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataTest.java src/test/java/com/rootly/client/model/UpdateCatalogChecklistTemplateTest.java +src/test/java/com/rootly/client/model/UpdateCatalogDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyTest.java +src/test/java/com/rootly/client/model/UpdateCatalogEntityTest.java +src/test/java/com/rootly/client/model/UpdateCatalogFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java +src/test/java/com/rootly/client/model/UpdateCatalogFieldTest.java src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateCatalogPropertyDataTest.java src/test/java/com/rootly/client/model/UpdateCatalogPropertyTest.java +src/test/java/com/rootly/client/model/UpdateCatalogTest.java +src/test/java/com/rootly/client/model/UpdateCauseDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCauseDataTest.java +src/test/java/com/rootly/client/model/UpdateCauseTest.java +src/test/java/com/rootly/client/model/UpdateClickupTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateCodaPageTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationExternalGroupMembersInnerTest.java src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesCommunicationGroupConditionsInnerTest.java src/test/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributesTest.java @@ -3278,6 +4161,21 @@ src/test/java/com/rootly/client/model/UpdateCommunicationsTypeDataTest.java src/test/java/com/rootly/client/model/UpdateCommunicationsTypeTest.java src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTemplateTest.java src/test/java/com/rootly/client/model/UpdateConfluencePageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldOptionTest.java +src/test/java/com/rootly/client/model/UpdateCustomFieldTest.java +src/test/java/com/rootly/client/model/UpdateCustomFormDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java +src/test/java/com/rootly/client/model/UpdateCustomFormTest.java +src/test/java/com/rootly/client/model/UpdateDashboardDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java +src/test/java/com/rootly/client/model/UpdateDashboardPanelDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java +src/test/java/com/rootly/client/model/UpdateDashboardPanelTest.java +src/test/java/com/rootly/client/model/UpdateDashboardTest.java src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTemplateTest.java src/test/java/com/rootly/client/model/UpdateDatadogNotebookTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateDropboxPaperPageTaskParamsTest.java @@ -3288,30 +4186,291 @@ src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributesTe src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataTest.java src/test/java/com/rootly/client/model/UpdateEdgeConnectorRequestTest.java src/test/java/com/rootly/client/model/UpdateEdgeConnectorTest.java +src/test/java/com/rootly/client/model/UpdateEnvironmentDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java +src/test/java/com/rootly/client/model/UpdateEnvironmentTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInnerTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathTest.java +src/test/java/com/rootly/client/model/UpdateEscalationPolicyTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldOptionTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPlacementTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldPositionTest.java +src/test/java/com/rootly/client/model/UpdateFormFieldTest.java +src/test/java/com/rootly/client/model/UpdateFormSetConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java +src/test/java/com/rootly/client/model/UpdateFormSetConditionTest.java +src/test/java/com/rootly/client/model/UpdateFormSetDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java +src/test/java/com/rootly/client/model/UpdateFormSetTest.java +src/test/java/com/rootly/client/model/UpdateFunctionalityDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java +src/test/java/com/rootly/client/model/UpdateFunctionalityTest.java src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsRepositoryTest.java +src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateGitlabIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateHeartbeatDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java +src/test/java/com/rootly/client/model/UpdateHeartbeatTest.java +src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentActionItemTest.java +src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventServiceTest.java +src/test/java/com/rootly/client/model/UpdateIncidentEventTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFeedbackTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPostMortemTest.java +src/test/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskTest.java +src/test/java/com/rootly/client/model/UpdateIncidentRoleTest.java +src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventTest.java +src/test/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentSubStatusTest.java +src/test/java/com/rootly/client/model/UpdateIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateIncidentTest.java +src/test/java/com/rootly/client/model/UpdateIncidentTypeDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java +src/test/java/com/rootly/client/model/UpdateIncidentTypeTest.java +src/test/java/com/rootly/client/model/UpdateJiraIssueTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsStateTest.java +src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java +src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java +src/test/java/com/rootly/client/model/UpdateLiveCallRouterTest.java +src/test/java/com/rootly/client/model/UpdateMotionTaskTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateNotionPageTaskParamsTest.java src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateOnCallPayReportDataTest.java src/test/java/com/rootly/client/model/UpdateOnCallPayReportTest.java +src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java +src/test/java/com/rootly/client/model/UpdateOnCallRoleTest.java +src/test/java/com/rootly/client/model/UpdateOnCallShadowDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java +src/test/java/com/rootly/client/model/UpdateOnCallShadowTest.java +src/test/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateOverrideShiftDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java +src/test/java/com/rootly/client/model/UpdateOverrideShiftTest.java +src/test/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdatePagertreeAlertTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java +src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java +src/test/java/com/rootly/client/model/UpdatePlaybookTaskTest.java +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/UpdatePulseDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdatePulseDataTest.java +src/test/java/com/rootly/client/model/UpdatePulseTest.java src/test/java/com/rootly/client/model/UpdateQuipPageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java +src/test/java/com/rootly/client/model/UpdateRetrospectiveStepTest.java +src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateRoleDataTest.java +src/test/java/com/rootly/client/model/UpdateRoleTest.java +src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java +src/test/java/com/rootly/client/model/UpdateScheduleRotationUserTest.java +src/test/java/com/rootly/client/model/UpdateScheduleTest.java +src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateSecretDataTest.java +src/test/java/com/rootly/client/model/UpdateSecretTest.java +src/test/java/com/rootly/client/model/UpdateServiceDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateServiceDataTest.java +src/test/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateServiceTest.java +src/test/java/com/rootly/client/model/UpdateSeverityDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java +src/test/java/com/rootly/client/model/UpdateSeverityTest.java src/test/java/com/rootly/client/model/UpdateSharepointPageTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateShortcutStoryTaskParamsTest.java +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/UpdateSlackChannelTopicTaskParamsTest.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/UpdateStatusPageTemplateDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java +src/test/java/com/rootly/client/model/UpdateStatusPageTest.java +src/test/java/com/rootly/client/model/UpdateStatusTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateSubStatusDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java +src/test/java/com/rootly/client/model/UpdateSubStatusTest.java +src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateTeamDataTest.java +src/test/java/com/rootly/client/model/UpdateTeamTest.java +src/test/java/com/rootly/client/model/UpdateTrelloCardTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateUserDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateUserDataTest.java src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateUserEmailAddressDataTest.java src/test/java/com/rootly/client/model/UpdateUserEmailAddressTest.java +src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java +src/test/java/com/rootly/client/model/UpdateUserNotificationRuleTest.java src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributesTest.java src/test/java/com/rootly/client/model/UpdateUserPhoneNumberDataTest.java src/test/java/com/rootly/client/model/UpdateUserPhoneNumberTest.java +src/test/java/com/rootly/client/model/UpdateUserTest.java +src/test/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java +src/test/java/com/rootly/client/model/UpdateWebhooksEndpointTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowDataTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowGroupTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowTaskTest.java +src/test/java/com/rootly/client/model/UpdateWorkflowTest.java +src/test/java/com/rootly/client/model/UpdateZendeskTicketTaskParamsTest.java src/test/java/com/rootly/client/model/UserEmailAddressListTest.java src/test/java/com/rootly/client/model/UserEmailAddressResponseDataTest.java src/test/java/com/rootly/client/model/UserEmailAddressResponseTest.java src/test/java/com/rootly/client/model/UserEmailAddressTest.java src/test/java/com/rootly/client/model/UserFlatResponseTest.java +src/test/java/com/rootly/client/model/UserListTest.java +src/test/java/com/rootly/client/model/UserNotificationRuleListTest.java +src/test/java/com/rootly/client/model/UserNotificationRuleResponseDataTest.java +src/test/java/com/rootly/client/model/UserNotificationRuleResponseTest.java +src/test/java/com/rootly/client/model/UserNotificationRuleTest.java src/test/java/com/rootly/client/model/UserPhoneNumberListTest.java src/test/java/com/rootly/client/model/UserPhoneNumberResponseDataTest.java src/test/java/com/rootly/client/model/UserPhoneNumberResponseTest.java src/test/java/com/rootly/client/model/UserPhoneNumberTest.java +src/test/java/com/rootly/client/model/UserRelationshipsTest.java +src/test/java/com/rootly/client/model/UserResponseDataTest.java +src/test/java/com/rootly/client/model/UserResponseTest.java +src/test/java/com/rootly/client/model/UserTest.java src/test/java/com/rootly/client/model/VerifyPhoneNumberRequestTest.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 +src/test/java/com/rootly/client/model/WebhooksDeliveryTest.java +src/test/java/com/rootly/client/model/WebhooksEndpointListTest.java +src/test/java/com/rootly/client/model/WebhooksEndpointResponseDataTest.java +src/test/java/com/rootly/client/model/WebhooksEndpointResponseTest.java +src/test/java/com/rootly/client/model/WebhooksEndpointTest.java +src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionListTest.java +src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseDataTest.java +src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseTest.java +src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionTest.java +src/test/java/com/rootly/client/model/WorkflowFormFieldConditionListTest.java +src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseDataTest.java +src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseTest.java +src/test/java/com/rootly/client/model/WorkflowFormFieldConditionTest.java +src/test/java/com/rootly/client/model/WorkflowGroupListTest.java +src/test/java/com/rootly/client/model/WorkflowGroupResponseDataTest.java +src/test/java/com/rootly/client/model/WorkflowGroupResponseTest.java +src/test/java/com/rootly/client/model/WorkflowGroupTest.java +src/test/java/com/rootly/client/model/WorkflowListTest.java +src/test/java/com/rootly/client/model/WorkflowResponseDataTest.java +src/test/java/com/rootly/client/model/WorkflowResponseTest.java +src/test/java/com/rootly/client/model/WorkflowRunResponseDataTest.java +src/test/java/com/rootly/client/model/WorkflowRunResponseTest.java +src/test/java/com/rootly/client/model/WorkflowRunTest.java +src/test/java/com/rootly/client/model/WorkflowRunsListTest.java +src/test/java/com/rootly/client/model/WorkflowTaskListTest.java +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 diff --git a/README.md b/README.md index 1ec85439..f5f56ad9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Rootly API v1 - API version: v1 - - Build date: 2026-05-07T08:27:13.146665190Z[Etc/UTC] + - Build date: 2026-05-07T08:36:28.586343560Z[Etc/UTC] - Generator version: 7.13.0 # How to generate an API Key? diff --git a/src/main/java/com/rootly/client/ApiException.java b/src/main/java/com/rootly/client/ApiException.java index ff0cce3b..db868eb6 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") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29b6ec6c..bc93e821 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/Pair.java b/src/main/java/com/rootly/client/Pair.java index b91019af..3f76e217 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6ecf0e50..fc4846e7 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d5a21669..3d584b6b 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 70e99281..b4ae7edf 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/auth/ApiKeyAuth.java b/src/main/java/com/rootly/client/auth/ApiKeyAuth.java index b23d82bc..274582f8 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 45db25db..4a134166 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a32c257b..56831078 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 67257cc7..887ca113 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ActionItemTriggerParams.java b/src/main/java/com/rootly/client/model/ActionItemTriggerParams.java index 54475b6f..c5db3f1d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ActionItemTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java b/src/main/java/com/rootly/client/model/AddActionItemTaskParams.java index ddc804c4..2d051918 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6809f582..17069ce1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f5d79f60..6a0a1828 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fccdaa1f..9487b4c9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7ba3ed18..a1c4ebe4 100644 --- a/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParams.java @@ -49,7 +49,7 @@ /** * AddMicrosoftTeamsTabTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddMicrosoftTeamsTabTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddRoleTaskParams.java b/src/main/java/com/rootly/client/model/AddRoleTaskParams.java index a4755d75..ccbd397a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 10dbaae6..a58c5dc9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c689298..b21e8e08 100644 --- a/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java +++ b/src/main/java/com/rootly/client/model/AddSlackBookmarkTaskParams.java @@ -49,7 +49,7 @@ /** * AddSlackBookmarkTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AddSlackBookmarkTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AddSubscribers.java b/src/main/java/com/rootly/client/model/AddSubscribers.java index f2dd46d9..172e99d6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9a02e286..f9bd15e9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4ddd7756..f7696e92 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f15e0280..450085fa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8fa1b893..60c5514f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/Alert.java b/src/main/java/com/rootly/client/model/Alert.java index c039fee2..b53da465 100644 --- a/src/main/java/com/rootly/client/model/Alert.java +++ b/src/main/java/com/rootly/client/model/Alert.java @@ -57,7 +57,7 @@ /** * Alert */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/AlertEvent.java b/src/main/java/com/rootly/client/model/AlertEvent.java index 6c7e1cd9..5c75dab5 100644 --- a/src/main/java/com/rootly/client/model/AlertEvent.java +++ b/src/main/java/com/rootly/client/model/AlertEvent.java @@ -49,7 +49,7 @@ /** * AlertEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertEvent { /** * Gets or Sets kind diff --git a/src/main/java/com/rootly/client/model/AlertEventList.java b/src/main/java/com/rootly/client/model/AlertEventList.java index b0177675..e18a54da 100644 --- a/src/main/java/com/rootly/client/model/AlertEventList.java +++ b/src/main/java/com/rootly/client/model/AlertEventList.java @@ -53,7 +53,7 @@ /** * AlertEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2dc1fd20..dd6daa95 100644 --- a/src/main/java/com/rootly/client/model/AlertEventResponse.java +++ b/src/main/java/com/rootly/client/model/AlertEventResponse.java @@ -49,7 +49,7 @@ /** * AlertEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5cfcd89f..1a8b225c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/AlertField.java b/src/main/java/com/rootly/client/model/AlertField.java index 2e12214f..5ef626ad 100644 --- a/src/main/java/com/rootly/client/model/AlertField.java +++ b/src/main/java/com/rootly/client/model/AlertField.java @@ -48,7 +48,7 @@ /** * AlertField */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertField { public static final String SERIALIZED_NAME_SLUG = "slug"; @SerializedName(SERIALIZED_NAME_SLUG) diff --git a/src/main/java/com/rootly/client/model/AlertFieldList.java b/src/main/java/com/rootly/client/model/AlertFieldList.java index 1afedae6..9d84b39f 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldList.java +++ b/src/main/java/com/rootly/client/model/AlertFieldList.java @@ -53,7 +53,7 @@ /** * AlertFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed20825e..60a826f7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0eba7dbf..89a9b48c 100644 --- a/src/main/java/com/rootly/client/model/AlertFieldResponse.java +++ b/src/main/java/com/rootly/client/model/AlertFieldResponse.java @@ -49,7 +49,7 @@ /** * AlertFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 85d93bcf..b80c6597 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f441cdc3..8825a7f4 100644 --- a/src/main/java/com/rootly/client/model/AlertGroup.java +++ b/src/main/java/com/rootly/client/model/AlertGroup.java @@ -53,7 +53,7 @@ /** * AlertGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertGroup { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java b/src/main/java/com/rootly/client/model/AlertGroupConditionsInner.java index 24f1057d..4e9baa43 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b5be6388..0d545c1a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 79f2547f..57db4513 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupList.java +++ b/src/main/java/com/rootly/client/model/AlertGroupList.java @@ -51,7 +51,7 @@ /** * AlertGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ec02870c..99b6a05d 100644 --- a/src/main/java/com/rootly/client/model/AlertGroupResponse.java +++ b/src/main/java/com/rootly/client/model/AlertGroupResponse.java @@ -49,7 +49,7 @@ /** * AlertGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 024d590f..c301e3f3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/AlertList.java b/src/main/java/com/rootly/client/model/AlertList.java index 86bd1eb3..d28411ec 100644 --- a/src/main/java/com/rootly/client/model/AlertList.java +++ b/src/main/java/com/rootly/client/model/AlertList.java @@ -53,7 +53,7 @@ /** * AlertList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dc949d94..96036d0e 100644 --- a/src/main/java/com/rootly/client/model/AlertResponse.java +++ b/src/main/java/com/rootly/client/model/AlertResponse.java @@ -49,7 +49,7 @@ /** * AlertResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ac73d90f..ba8cc3c2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e481c452..3465a8fc 100644 --- a/src/main/java/com/rootly/client/model/AlertRoute.java +++ b/src/main/java/com/rootly/client/model/AlertRoute.java @@ -52,7 +52,7 @@ /** * AlertRoute */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertRoute { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertRouteList.java b/src/main/java/com/rootly/client/model/AlertRouteList.java index 415ba51e..5559e544 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 27508985..c28313e8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5f086411..eae2aca1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/AlertRoutingRule.java b/src/main/java/com/rootly/client/model/AlertRoutingRule.java index 1713ad0c..d8f70886 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a0c9643f..499c95b0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3e0d4eb1..a99b2018 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 80f24186..1de0bf35 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5cebd53d..99879275 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 91293e5a..360f24d8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b379b4e5..2dabb027 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 09282ab0..8554f554 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleList.java @@ -53,7 +53,7 @@ /** * AlertRoutingRuleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fd714a08..8c0eef56 100644 --- a/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java +++ b/src/main/java/com/rootly/client/model/AlertRoutingRuleResponse.java @@ -49,7 +49,7 @@ /** * AlertRoutingRuleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3f45ad29..28b71ee8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8f7a403e..45cf0f91 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/AlertTriggerParams.java b/src/main/java/com/rootly/client/model/AlertTriggerParams.java index c8379d3f..78bbcab9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 506dacc1..e7deffb4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5dc4a429..ccde4839 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 66ace197..eb0e6cf7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c111602b..482227ae 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgency.java +++ b/src/main/java/com/rootly/client/model/AlertUrgency.java @@ -48,7 +48,7 @@ /** * AlertUrgency */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertUrgency { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertUrgencyList.java b/src/main/java/com/rootly/client/model/AlertUrgencyList.java index 96c098e9..b6efa76f 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyList.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyList.java @@ -53,7 +53,7 @@ /** * AlertUrgencyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d64e9c21..b626f7b7 100644 --- a/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java +++ b/src/main/java/com/rootly/client/model/AlertUrgencyResponse.java @@ -49,7 +49,7 @@ /** * AlertUrgencyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cfeaaa7f..7a52f6c4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f757640d..d28414ab 100644 --- a/src/main/java/com/rootly/client/model/AlertsSource.java +++ b/src/main/java/com/rootly/client/model/AlertsSource.java @@ -56,7 +56,7 @@ /** * AlertsSource */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AlertsSource { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/AlertsSourceList.java b/src/main/java/com/rootly/client/model/AlertsSourceList.java index 805d74be..14fc95c1 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceList.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceList.java @@ -53,7 +53,7 @@ /** * AlertsSourceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/AlertsSourceResponse.java b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java index f56cf644..a0393353 100644 --- a/src/main/java/com/rootly/client/model/AlertsSourceResponse.java +++ b/src/main/java/com/rootly/client/model/AlertsSourceResponse.java @@ -49,7 +49,7 @@ /** * AlertsSourceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 751d4148..7b006272 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ApiKey.java b/src/main/java/com/rootly/client/model/ApiKey.java index 9e184e7b..5fc96548 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKey { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/ApiKeyList.java b/src/main/java/com/rootly/client/model/ApiKeyList.java index ebb39e15..1d3b2c9f 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyList.java +++ b/src/main/java/com/rootly/client/model/ApiKeyList.java @@ -53,7 +53,7 @@ /** * ApiKeyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7f0c67ee..8cb378b0 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyResponse.java +++ b/src/main/java/com/rootly/client/model/ApiKeyResponse.java @@ -49,7 +49,7 @@ /** * ApiKeyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8e1d968e..a779ff6c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 76415da5..85998149 100644 --- a/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java +++ b/src/main/java/com/rootly/client/model/ApiKeyWithTokenResponse.java @@ -49,7 +49,7 @@ /** * ApiKeyWithTokenResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9c8e8c29..df446935 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3c37d0b9..6c4065c4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ApiKeyWithTokenResponseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java b/src/main/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParams.java index f1fa9cc2..33d8f644 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 418b6588..f52be1fd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ArchiveSlackChannelsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AssignRoleToUser.java b/src/main/java/com/rootly/client/model/AssignRoleToUser.java index 3a5df8e7..5432ca38 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b2f204c7..fee58be4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b35de66..5610260c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 955db0b2..dd2a3920 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 730588fc..06afda68 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1449c69..7da7f984 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0ade91fc..22e8d533 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/Audit.java b/src/main/java/com/rootly/client/model/Audit.java index 6b4fe897..c72c4f70 100644 --- a/src/main/java/com/rootly/client/model/Audit.java +++ b/src/main/java/com/rootly/client/model/Audit.java @@ -49,7 +49,7 @@ /** * Audit */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Audit { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/AuditsList.java b/src/main/java/com/rootly/client/model/AuditsList.java index a1f9fc82..5f11f8b4 100644 --- a/src/main/java/com/rootly/client/model/AuditsList.java +++ b/src/main/java/com/rootly/client/model/AuditsList.java @@ -53,7 +53,7 @@ /** * AuditsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 289ec49c..d5dcc16f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 be3c8020..e21bc675 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5efe986b..7fe50f5c 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationList.java +++ b/src/main/java/com/rootly/client/model/AuthorizationList.java @@ -53,7 +53,7 @@ /** * AuthorizationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a038f3e1..676e0bb4 100644 --- a/src/main/java/com/rootly/client/model/AuthorizationResponse.java +++ b/src/main/java/com/rootly/client/model/AuthorizationResponse.java @@ -49,7 +49,7 @@ /** * AuthorizationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d1e2e0c7..3ba7439c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6ff51457..0afcf2b9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 30fa47b5..7d24915b 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParams.java @@ -48,7 +48,7 @@ /** * AutoAssignRolePagerdutyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRolePagerdutyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java index 5d32e9fd..ced94bf2 100644 --- a/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java +++ b/src/main/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParams.java @@ -49,7 +49,7 @@ /** * AutoAssignRoleRootlyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class AutoAssignRoleRootlyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParams.java index 0914aae3..8f5d7a13 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8fd72db1..c1fbe92e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/CallPeopleTaskParams.java b/src/main/java/com/rootly/client/model/CallPeopleTaskParams.java index 0c69f52b..487f10e7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 12617b64..c9761b18 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2486547b..2f8a5906 100644 --- a/src/main/java/com/rootly/client/model/CancelIncidentData.java +++ b/src/main/java/com/rootly/client/model/CancelIncidentData.java @@ -49,7 +49,7 @@ /** * CancelIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CancelIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/CancelIncidentDataAttributes.java index 89a0c01e..39dd0307 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9161c0e2..f812e988 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fe540db9..76aefbd9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d5449c0a..1edf1406 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b6fd0f8..39252784 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateList.java @@ -53,7 +53,7 @@ /** * CatalogChecklistTemplateList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6667105f..42bb09f0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 15dd410c..d731cde1 100644 --- a/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogChecklistTemplateResponse.java @@ -49,7 +49,7 @@ /** * CatalogChecklistTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6e31ca82..80ae8ced 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1178c952..5b1ce5c6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 01bc8a96..e8d256cf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7aa5ee75..6259d0cb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4a72382a..62018797 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ac02106a..7110122e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5eb9081c..aa632608 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b436e0b1..285f5f01 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d90c0773..58ad55f8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c634cfb2..9b5c572a 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistList.java @@ -53,7 +53,7 @@ /** * CatalogEntityChecklistList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a2e97b03..37e2edaf 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityChecklistResponse.java @@ -49,7 +49,7 @@ /** * CatalogEntityChecklistResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 45b383fa..2ab816ae 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d723d989..bccb0e94 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityList.java @@ -53,7 +53,7 @@ /** * CatalogEntityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b3df15bf..09357d98 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 -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a38047ff..8e8aa691 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyList.java @@ -55,7 +55,7 @@ * @deprecated */ @Deprecated -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a65c2881..54da587b 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityPropertyResponse.java @@ -51,7 +51,7 @@ * @deprecated */ @Deprecated -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 37203767..545b1797 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 428cfc7d..dcda1fa5 100644 --- a/src/main/java/com/rootly/client/model/CatalogEntityResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogEntityResponse.java @@ -49,7 +49,7 @@ /** * CatalogEntityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d61077af..2118c6bf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1005a16..cf9036fe 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 90fd4915..6fe646f1 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldList.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldList.java @@ -53,7 +53,7 @@ /** * CatalogFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b7aa7a3d..5e5a3f7a 100644 --- a/src/main/java/com/rootly/client/model/CatalogFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogFieldResponse.java @@ -49,7 +49,7 @@ /** * CatalogFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9f5dc20e..efcb755d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1479664e..894cc995 100644 --- a/src/main/java/com/rootly/client/model/CatalogList.java +++ b/src/main/java/com/rootly/client/model/CatalogList.java @@ -53,7 +53,7 @@ /** * CatalogList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bf1155ed..26a4f099 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aee90e53..a8278fed 100644 --- a/src/main/java/com/rootly/client/model/CatalogPropertyList.java +++ b/src/main/java/com/rootly/client/model/CatalogPropertyList.java @@ -53,7 +53,7 @@ /** * CatalogPropertyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 96d16817..e5ad72fa 100644 --- a/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogPropertyResponse.java @@ -49,7 +49,7 @@ /** * CatalogPropertyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5e64a422..7b8d23f6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fc088b25..24dcc046 100644 --- a/src/main/java/com/rootly/client/model/CatalogResponse.java +++ b/src/main/java/com/rootly/client/model/CatalogResponse.java @@ -49,7 +49,7 @@ /** * CatalogResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 df087d40..9b7d6249 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cd3b877f..085224e2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 63bc6168..4c61fb55 100644 --- a/src/main/java/com/rootly/client/model/CauseList.java +++ b/src/main/java/com/rootly/client/model/CauseList.java @@ -53,7 +53,7 @@ /** * CauseList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ee65b280..77fedd56 100644 --- a/src/main/java/com/rootly/client/model/CauseResponse.java +++ b/src/main/java/com/rootly/client/model/CauseResponse.java @@ -49,7 +49,7 @@ /** * CauseResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a1dc601e..2784ba5a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ChangeSlackChannelPrivacyTaskParams.java b/src/main/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParams.java index 69239770..154c77ba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ChangeSlackChannelPrivacyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroup.java b/src/main/java/com/rootly/client/model/CommunicationsGroup.java index 4a94ee64..4bada95e 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroup.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroup.java @@ -53,7 +53,7 @@ /** * CommunicationsGroup */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CommunicationsGroup { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java b/src/main/java/com/rootly/client/model/CommunicationsGroupCommunicationExternalGroupMembersInner.java index cd2816a4..dfed30b0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/CommunicationsGroupResponse.java b/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java index 23acd886..918b2c0e 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupResponse.java @@ -49,7 +49,7 @@ /** * CommunicationsGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f47d3df6..e77d92bd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 30a24113..b4eb295c 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsGroupsResponse.java @@ -53,7 +53,7 @@ /** * CommunicationsGroupsResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af461bee..d9cb1888 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 15f0d560..db4dbef8 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStageResponse.java @@ -49,7 +49,7 @@ /** * CommunicationsStageResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d9d3dca6..9fd00f1d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed14f13d..937ef453 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsStagesResponse.java @@ -53,7 +53,7 @@ /** * CommunicationsStagesResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b56d49cf..28176ad0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 63378db9..ad3a10c1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 306d3636..11dedcd9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2054400c..d7b29e24 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 abb5833b..377b02f9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d70023f..602e2580 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8199218b..4d8d594d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f547bda6..3137eae9 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplateResponse.java @@ -49,7 +49,7 @@ /** * CommunicationsTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ab28087b..56e30da2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d4e77ddf..66b1771c 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTemplatesResponse.java @@ -53,7 +53,7 @@ /** * CommunicationsTemplatesResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3ecd44de..7d975074 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2c367408..4b24a594 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTypeResponse.java @@ -49,7 +49,7 @@ /** * CommunicationsTypeResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4bb6346c..fff5a9d1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aa562f41..d495a0ea 100644 --- a/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java +++ b/src/main/java/com/rootly/client/model/CommunicationsTypesResponse.java @@ -53,7 +53,7 @@ /** * CommunicationsTypesResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 42f9a026..ab5767c9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cec48f5c..b9a173a7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0be83128..7bffe78f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5a9ea78b..678141ac 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2cf14507..0bbd487e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 061579c2..1d89c498 100644 --- a/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateClickupTaskTaskParams.java @@ -50,7 +50,7 @@ /** * CreateClickupTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4b35e6bc..2a138422 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9d9fa9e2..30f6166d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2d5cf8ef..c4a86b1e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0abe45ae..13834c90 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 738c2842..ba6a5e36 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f134e3e8..aa8b16d6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 32cca1ba..9e483e4f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 700d96b3..cdcf634a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 25f869bd..2c665e60 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6a65550e..cbc2bba8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4ae420cc..76d6ee67 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ff20af4c..f592729e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a7cbb4ba..d156f547 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 94d860f9..93eff8b4 100644 --- a/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java +++ b/src/main/java/com/rootly/client/model/CreateEdgeConnectorRequestDataAttributes.java @@ -50,7 +50,7 @@ /** * CreateEdgeConnectorRequestDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateEdgeConnectorRequestDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/CreateGithubIssueTaskParams.java index bee35c84..dd5fcf34 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 73e0b0b7..c741da2e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 39bb4965..3f86ffbb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 93e206ce..26bc9970 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 587d16cd..20d8bd4f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/CreateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/CreateGoogleDocsPageTaskParams.java index 26c2ed55..6001a5e8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7d153f00..5e1b32f1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3973d9a7..3b8cb892 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5d14a8ef..8803b5d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 565d3950..dc98b319 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateGoogleMeetingTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/CreateIncidentPostmortemTaskParams.java index a84bbb1e..1e95ef81 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 79e89e73..90137497 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1b99746..e6977156 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 30cdba93..08d8d7c0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e6e217e4..39510b78 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c0b38edb..9f117d1d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e04ed889..26a7399c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e2f5fad4..64a8cea6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aa4f79c4..43a15fe9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 915345f7..7348ef47 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 669ff4f7..6f135487 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a18ca866..89a384c6 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearIssueTaskParams.java @@ -55,7 +55,7 @@ /** * CreateLinearIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d5c14b28..d0f73967 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1ed5b5b7..f602acb7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b0037914..a4ab9b1f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4a02107f..02fe6f6d 100644 --- a/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParams.java @@ -53,7 +53,7 @@ /** * CreateLinearSubtaskIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b2995fa..b8465d1f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 304e9c8c..77102ffc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d0500ca9..cac58cee 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3c24ec62..8f3fc59a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d0d533c4..c46afe2f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bdf464f1..a5a23127 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5fd465b4..28aa532c 100644 --- a/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateMotionTaskTaskParams.java @@ -52,7 +52,7 @@ /** * CreateMotionTaskTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 174a11ef..6b630797 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 78e317db..59d9cc9a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4b18e3e0..c0b1fbdf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0760127f..1d1100b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dfa8638d..fe7433de 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9a76f354..045ad6d0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a0ba01f5..39fb2c51 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0b451f4d..c3d9bd76 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d02827d6..0d426552 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a3cedfaf..8958720b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b6530ca8..fe7545f5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f74a99e7..1cd9138f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f2a08816..35b73723 100644 --- a/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java +++ b/src/main/java/com/rootly/client/model/CreateShortcutStoryTaskParams.java @@ -48,7 +48,7 @@ /** * CreateShortcutStoryTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateShortcutStoryTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java b/src/main/java/com/rootly/client/model/CreateShortcutTaskTaskParams.java index 7d58e012..976a5fe0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/CreateSlackChannelTaskParams.java b/src/main/java/com/rootly/client/model/CreateSlackChannelTaskParams.java index b0da5ade..cfde9307 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java b/src/main/java/com/rootly/client/model/CreateSubIncidentTaskParams.java index ceb39d2b..d3859cdd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d2c7910e..e828154f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d3820cc7..417e2908 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3f9f2eb3..e86db6b4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1bda5c2e..1b6eea82 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 20b7bd3e..d40775c2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 35ff8a4d..2065e9c2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1ee2f2a..87c2dec9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 298a21de..5f58dfdc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 09dac7c6..638472b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c9cfaa4..d89d91b8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class CreateZoomMeetingTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/CustomField.java b/src/main/java/com/rootly/client/model/CustomField.java index ed8adff7..ae0a27b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a60e8734..ac553ce2 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldList.java @@ -53,7 +53,7 @@ /** * CustomFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e505eeff..7534c274 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 78ad162f..d3a16e65 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionList.java @@ -53,7 +53,7 @@ /** * CustomFieldOptionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8578fb41..ec1945cd 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldOptionResponse.java @@ -49,7 +49,7 @@ /** * CustomFieldOptionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 210db992..1bafca02 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e542e97d..9c4750a0 100644 --- a/src/main/java/com/rootly/client/model/CustomFieldResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFieldResponse.java @@ -49,7 +49,7 @@ /** * CustomFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1831bcde..5098b3db 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 63f14110..18032348 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2e11daed..775f6202 100644 --- a/src/main/java/com/rootly/client/model/CustomFormList.java +++ b/src/main/java/com/rootly/client/model/CustomFormList.java @@ -53,7 +53,7 @@ /** * CustomFormList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0ebc4fd5..fa1cfe64 100644 --- a/src/main/java/com/rootly/client/model/CustomFormResponse.java +++ b/src/main/java/com/rootly/client/model/CustomFormResponse.java @@ -49,7 +49,7 @@ /** * CustomFormResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d913a222..58ec3b00 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f378d3cd..2e73b250 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 75c57589..239d8ef4 100644 --- a/src/main/java/com/rootly/client/model/DashboardList.java +++ b/src/main/java/com/rootly/client/model/DashboardList.java @@ -53,7 +53,7 @@ /** * DashboardList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 48ff32e6..67f8d919 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cb4c206e..3cdef2c9 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelList.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelList.java @@ -53,7 +53,7 @@ /** * DashboardPanelList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7cf997e1..c6e7930e 100644 --- a/src/main/java/com/rootly/client/model/DashboardPanelResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardPanelResponse.java @@ -49,7 +49,7 @@ /** * DashboardPanelResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e6cdbd66..a21c230d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0b4cdeee..fcd2edcf 100644 --- a/src/main/java/com/rootly/client/model/DashboardResponse.java +++ b/src/main/java/com/rootly/client/model/DashboardResponse.java @@ -49,7 +49,7 @@ /** * DashboardResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b53687a5..ee20fbca 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/DeleteAlertRoute200Response.java b/src/main/java/com/rootly/client/model/DeleteAlertRoute200Response.java index 4202da4d..61448505 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 52b9ec54..bcecc32c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a2229f14..8d74759b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f67c2a81..b90ca11f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f711a47d..9e147cc4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 03abdee5..9c2cffdf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f7b13201..6203d726 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 57a22728..0fff3d28 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 233f140c..9028a806 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af036a9e..e8bf2aeb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af86c53b..8d17d798 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a2b7d778..a9c88fe8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a50ad434..9b85c0a8 100644 --- a/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java +++ b/src/main/java/com/rootly/client/model/EdgeConnectorDataAttributes.java @@ -52,7 +52,7 @@ /** * EdgeConnectorDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EdgeConnectorDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/Environment.java b/src/main/java/com/rootly/client/model/Environment.java index 9488ac27..bf31adb6 100644 --- a/src/main/java/com/rootly/client/model/Environment.java +++ b/src/main/java/com/rootly/client/model/Environment.java @@ -54,7 +54,7 @@ /** * Environment */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Environment { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EnvironmentList.java b/src/main/java/com/rootly/client/model/EnvironmentList.java index 0331ffaf..fbcd3720 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentList.java +++ b/src/main/java/com/rootly/client/model/EnvironmentList.java @@ -53,7 +53,7 @@ /** * EnvironmentList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 80e626a1..aec2707d 100644 --- a/src/main/java/com/rootly/client/model/EnvironmentResponse.java +++ b/src/main/java/com/rootly/client/model/EnvironmentResponse.java @@ -49,7 +49,7 @@ /** * EnvironmentResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 44b6826a..2dded6be 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ErrorsList.java b/src/main/java/com/rootly/client/model/ErrorsList.java index bda6529e..3b3e6bb4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2289c290..559f46b0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a4f63748..659b89ec 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 133a7dd6..10ad1e99 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6a7b7930..ff44526f 100644 --- a/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/EscalateAlertDataAttributes.java @@ -48,7 +48,7 @@ /** * EscalateAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicy.java b/src/main/java/com/rootly/client/model/EscalationPolicy.java index 61274444..550bc3e6 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicy.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicy.java @@ -52,7 +52,7 @@ /** * EscalationPolicy */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicy { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java index 287f41a5..edf61168 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevel.java @@ -52,7 +52,7 @@ /** * EscalationPolicyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java index a65beec7..a4abd7ad 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelList.java @@ -53,7 +53,7 @@ /** * EscalationPolicyLevelList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cd9fed7d..9bfc40ac 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/EscalationPolicyLevelResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java index 49225db3..e9614fa8 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyLevelResponse.java @@ -49,7 +49,7 @@ /** * EscalationPolicyLevelResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5e4711c5..ccfc01cd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 888de9d6..e51a5398 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyList.java @@ -53,7 +53,7 @@ /** * EscalationPolicyList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 25703003..634aa78a 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPath.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPath.java @@ -53,7 +53,7 @@ /** * EscalationPolicyPath */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class EscalationPolicyPath { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java b/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java index 5358f08a..a9819e00 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathList.java @@ -53,7 +53,7 @@ /** * EscalationPolicyPathList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 90a6efbc..b7750aa3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3942e58f..03c4e6f5 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyPathResponse.java @@ -49,7 +49,7 @@ /** * EscalationPolicyPathResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 587efd06..724e8467 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/EscalationPolicyResponse.java b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java index 0887c4cc..57144745 100644 --- a/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java +++ b/src/main/java/com/rootly/client/model/EscalationPolicyResponse.java @@ -49,7 +49,7 @@ /** * EscalationPolicyResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1f1603d7..cd8bd10b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 58826e43..eb35e177 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class FormField { /** * The kind of the form field diff --git a/src/main/java/com/rootly/client/model/FormFieldList.java b/src/main/java/com/rootly/client/model/FormFieldList.java index 9bc05fec..acb17ab9 100644 --- a/src/main/java/com/rootly/client/model/FormFieldList.java +++ b/src/main/java/com/rootly/client/model/FormFieldList.java @@ -53,7 +53,7 @@ /** * FormFieldList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 285e64ad..7f638a18 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 501acf03..c8277820 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionList.java @@ -53,7 +53,7 @@ /** * FormFieldOptionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e0d551e5..187eb75c 100644 --- a/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldOptionResponse.java @@ -49,7 +49,7 @@ /** * FormFieldOptionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e64e5e64..1b49d467 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 55b1e90a..eb936113 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c5d5cc03..21074633 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bf0f0177..231b80c8 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionList.java @@ -53,7 +53,7 @@ /** * FormFieldPlacementConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ecec4b56..23854826 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementConditionResponse.java @@ -49,7 +49,7 @@ /** * FormFieldPlacementConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6b90a827..cca2f8f1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d357e1f..4a3ddfd1 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementList.java @@ -53,7 +53,7 @@ /** * FormFieldPlacementList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a2daa61c..d5b6d5a3 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPlacementResponse.java @@ -49,7 +49,7 @@ /** * FormFieldPlacementResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 42b8ce3c..f06d2db4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2b8d1572..d4a9186c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 43125e2c..abe3db66 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionList.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionList.java @@ -53,7 +53,7 @@ /** * FormFieldPositionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f60afeb2..6205c62e 100644 --- a/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldPositionResponse.java @@ -49,7 +49,7 @@ /** * FormFieldPositionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c6691037..f9212abc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b6040957..a8b9adb5 100644 --- a/src/main/java/com/rootly/client/model/FormFieldResponse.java +++ b/src/main/java/com/rootly/client/model/FormFieldResponse.java @@ -49,7 +49,7 @@ /** * FormFieldResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2738dcf4..ba1add57 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c4dff708..a394918c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2226faf0..67e19313 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c31f3ba3..8c56b290 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionList.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionList.java @@ -53,7 +53,7 @@ /** * FormSetConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9544a93e..1ac4f0af 100644 --- a/src/main/java/com/rootly/client/model/FormSetConditionResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetConditionResponse.java @@ -49,7 +49,7 @@ /** * FormSetConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1a865a7d..1a025353 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f0b55765..3a250a18 100644 --- a/src/main/java/com/rootly/client/model/FormSetList.java +++ b/src/main/java/com/rootly/client/model/FormSetList.java @@ -53,7 +53,7 @@ /** * FormSetList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b236db40..a9474729 100644 --- a/src/main/java/com/rootly/client/model/FormSetResponse.java +++ b/src/main/java/com/rootly/client/model/FormSetResponse.java @@ -49,7 +49,7 @@ /** * FormSetResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f453a369..96076d67 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 df86cc4f..05a93362 100644 --- a/src/main/java/com/rootly/client/model/Functionality.java +++ b/src/main/java/com/rootly/client/model/Functionality.java @@ -54,7 +54,7 @@ /** * Functionality */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Functionality { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/FunctionalityList.java b/src/main/java/com/rootly/client/model/FunctionalityList.java index a1a21c2c..f0e1b060 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityList.java +++ b/src/main/java/com/rootly/client/model/FunctionalityList.java @@ -53,7 +53,7 @@ /** * FunctionalityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a7830074..0005212e 100644 --- a/src/main/java/com/rootly/client/model/FunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/FunctionalityResponse.java @@ -49,7 +49,7 @@ /** * FunctionalityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 47fde73b..80396ade 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2ee209d8..ba73d095 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9bae4ea5..e7bb828b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7e865df2..b7f81e6c 100644 --- a/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGithubCommitsTaskParams.java @@ -50,7 +50,7 @@ /** * GetGithubCommitsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGithubCommitsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java index 051c82b1..42c30648 100644 --- a/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java +++ b/src/main/java/com/rootly/client/model/GetGitlabCommitsTaskParams.java @@ -50,7 +50,7 @@ /** * GetGitlabCommitsTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class GetGitlabCommitsTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java b/src/main/java/com/rootly/client/model/GetPulsesTaskParams.java index 37d4cf77..21091732 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 848939b6..293c26e7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 27aa5406..d582b3d9 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 22b4b84c..d79cede2 100644 --- a/src/main/java/com/rootly/client/model/Heartbeat.java +++ b/src/main/java/com/rootly/client/model/Heartbeat.java @@ -49,7 +49,7 @@ /** * Heartbeat */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 396224fb..c31e07a3 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatList.java +++ b/src/main/java/com/rootly/client/model/HeartbeatList.java @@ -53,7 +53,7 @@ /** * HeartbeatList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 36dd2520..e99f4f45 100644 --- a/src/main/java/com/rootly/client/model/HeartbeatResponse.java +++ b/src/main/java/com/rootly/client/model/HeartbeatResponse.java @@ -49,7 +49,7 @@ /** * HeartbeatResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4fc91ff3..9c6905b0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6e6096c0..03e06059 100644 --- a/src/main/java/com/rootly/client/model/HttpClientTaskParams.java +++ b/src/main/java/com/rootly/client/model/HttpClientTaskParams.java @@ -51,7 +51,7 @@ /** * HttpClientTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class HttpClientTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InTriageIncident.java b/src/main/java/com/rootly/client/model/InTriageIncident.java index b24dd5d2..48a44bbd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 01c64392..cd89a20b 100644 --- a/src/main/java/com/rootly/client/model/InTriageIncidentData.java +++ b/src/main/java/com/rootly/client/model/InTriageIncidentData.java @@ -48,7 +48,7 @@ /** * InTriageIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InTriageIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/Incident.java b/src/main/java/com/rootly/client/model/Incident.java index a4f76058..8ff72f8e 100644 --- a/src/main/java/com/rootly/client/model/Incident.java +++ b/src/main/java/com/rootly/client/model/Incident.java @@ -58,7 +58,7 @@ /** * Incident */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Incident { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/IncidentActionItem.java b/src/main/java/com/rootly/client/model/IncidentActionItem.java index 6bec23a5..4ccc73af 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7f8bd425..63148785 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemList.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemList.java @@ -53,7 +53,7 @@ /** * IncidentActionItemList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8e685852..d260db51 100644 --- a/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentActionItemResponse.java @@ -49,7 +49,7 @@ /** * IncidentActionItemResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bdb199b3..bebf2441 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 409107c9..19526141 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8eb969e4..717a5786 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionList.java @@ -53,7 +53,7 @@ /** * IncidentCustomFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1c984783..8d4157dc 100644 --- a/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentCustomFieldSelectionResponse.java @@ -49,7 +49,7 @@ /** * IncidentCustomFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6abbaab8..236a17e3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1408c607..1153561b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 02088b55..ab20c6a2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ab388b68..36598091 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityList.java @@ -53,7 +53,7 @@ /** * IncidentEventFunctionalityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ce8875c0..d6fe2c1d 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventFunctionalityResponse.java @@ -49,7 +49,7 @@ /** * IncidentEventFunctionalityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7d1d7a4d..bb726a51 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b0b25cc6..2cb160db 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventList.java @@ -53,7 +53,7 @@ /** * IncidentEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2c92f77d..2edf50f8 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventResponse.java @@ -49,7 +49,7 @@ /** * IncidentEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 70254f46..98a22428 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 176928b8..cca78a59 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 16e8464d..0d31d244 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceList.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceList.java @@ -53,7 +53,7 @@ /** * IncidentEventServiceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 db53790d..63dcb744 100644 --- a/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentEventServiceResponse.java @@ -49,7 +49,7 @@ /** * IncidentEventServiceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 157bf397..a52124d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 02ce585d..c0ab8f90 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 def11108..3e39cf18 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackList.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackList.java @@ -53,7 +53,7 @@ /** * IncidentFeedbackList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 169a4a82..a403bfb0 100644 --- a/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFeedbackResponse.java @@ -49,7 +49,7 @@ /** * IncidentFeedbackResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6e0cde32..4b0a4521 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8f1f1906..b58cbd75 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5349e2eb..b10820d0 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionList.java @@ -53,7 +53,7 @@ /** * IncidentFormFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6dc0939d..5e911238 100644 --- a/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentFormFieldSelectionResponse.java @@ -49,7 +49,7 @@ /** * IncidentFormFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 00cee2a5..4e432170 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a714c3d7..7de13f84 100644 --- a/src/main/java/com/rootly/client/model/IncidentList.java +++ b/src/main/java/com/rootly/client/model/IncidentList.java @@ -53,7 +53,7 @@ /** * IncidentList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29c68787..73bab209 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 82aabe97..208ae91a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 37cfb0e9..86079288 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanList.java @@ -53,7 +53,7 @@ /** * IncidentPermissionSetBooleanList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 04c0d6f3..3a672c80 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetBooleanResponse.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetBooleanResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5160a1c2..a2705559 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 113ff8f9..c32d2f2c 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetList.java @@ -53,7 +53,7 @@ /** * IncidentPermissionSetList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 246effcb..8c965cda 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af73337e..b6775644 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceList.java @@ -53,7 +53,7 @@ /** * IncidentPermissionSetResourceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cf9878a3..5536bfef 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResourceResponse.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResourceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b52ce543..20ae0424 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a080e6cd..379f2d8c 100644 --- a/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPermissionSetResponse.java @@ -49,7 +49,7 @@ /** * IncidentPermissionSetResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d3ba2fe1..454b4a1a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1583221..98a79ac1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9f984135..b41d6233 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemList.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemList.java @@ -53,7 +53,7 @@ /** * IncidentPostMortemList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fa38b6e3..d7a32407 100644 --- a/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentPostMortemResponse.java @@ -49,7 +49,7 @@ /** * IncidentPostMortemResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b25837ff..18d97b57 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3f969eff..f91af60e 100644 --- a/src/main/java/com/rootly/client/model/IncidentResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentResponse.java @@ -49,7 +49,7 @@ /** * IncidentResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aefac396..ee45d1ba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 35df88e5..d98cdf77 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 069adf23..70ef13f4 100644 --- a/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRetrospectiveStepResponse.java @@ -49,7 +49,7 @@ /** * IncidentRetrospectiveStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b79c6079..bd918d17 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8c319fac..2849f202 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2a7354c2..7f5e9ab7 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleList.java @@ -53,7 +53,7 @@ /** * IncidentRoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 22e18939..784e727b 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleResponse.java @@ -49,7 +49,7 @@ /** * IncidentRoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e57fb9cc..21ed7ed0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 66a00b9e..73266776 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9d3effaf..6ed7a3be 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskList.java @@ -53,7 +53,7 @@ /** * IncidentRoleTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cdb99642..949c45a7 100644 --- a/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentRoleTaskResponse.java @@ -49,7 +49,7 @@ /** * IncidentRoleTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4fd6367f..babb75f8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 36f248f8..dd63daa1 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEvent.java @@ -48,7 +48,7 @@ /** * IncidentStatusPageEvent */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ede41e65..299c2183 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventList.java @@ -53,7 +53,7 @@ /** * IncidentStatusPageEventList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a97946d0..c15a8c12 100644 --- a/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentStatusPageEventResponse.java @@ -49,7 +49,7 @@ /** * IncidentStatusPageEventResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29a1c269..c01fd29a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/IncidentSubStatus.java b/src/main/java/com/rootly/client/model/IncidentSubStatus.java index 02a8fbc7..5fc84032 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 21d331e9..becbf435 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusList.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusList.java @@ -53,7 +53,7 @@ /** * IncidentSubStatusList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1b6b54e..3507cfc3 100644 --- a/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentSubStatusResponse.java @@ -49,7 +49,7 @@ /** * IncidentSubStatusResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 00a3b40e..620351e0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f87daaf1..ef3cf0dc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/IncidentType.java b/src/main/java/com/rootly/client/model/IncidentType.java index 29227e10..eab8ea57 100644 --- a/src/main/java/com/rootly/client/model/IncidentType.java +++ b/src/main/java/com/rootly/client/model/IncidentType.java @@ -54,7 +54,7 @@ /** * IncidentType */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class IncidentType { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/IncidentTypeList.java b/src/main/java/com/rootly/client/model/IncidentTypeList.java index 4e707306..328416e8 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeList.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeList.java @@ -53,7 +53,7 @@ /** * IncidentTypeList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d22f917b..22400656 100644 --- a/src/main/java/com/rootly/client/model/IncidentTypeResponse.java +++ b/src/main/java/com/rootly/client/model/IncidentTypeResponse.java @@ -49,7 +49,7 @@ /** * IncidentTypeResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1a90e3b2..54b0d5cc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d46ad79..11797cea 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/InviteToMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParams.java index eede6c80..a3fc6cb5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b7f2f928..302d6abd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 040a3000..4670b33a 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParams.java @@ -50,7 +50,7 @@ /** * InviteToSlackChannelPagerdutyTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelPagerdutyTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParams.java index dd14289e..a67cb40f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e74034e0..3a93af65 100644 --- a/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java +++ b/src/main/java/com/rootly/client/model/InviteToSlackChannelTaskParams.java @@ -50,7 +50,7 @@ /** * InviteToSlackChannelTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class InviteToSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java b/src/main/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParams.java index 059208dd..b401f52d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 61dc2506..c3843114 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 874766ad..72c09ada 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7222a64c..cb4d71bd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/Links.java b/src/main/java/com/rootly/client/model/Links.java index cfc54268..4e942b48 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b48e2869..85dc6b95 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouter.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouter.java @@ -52,7 +52,7 @@ /** * LiveCallRouter */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class LiveCallRouter { /** * The kind of the live_call_router diff --git a/src/main/java/com/rootly/client/model/LiveCallRouterList.java b/src/main/java/com/rootly/client/model/LiveCallRouterList.java index 3f10c9ac..a53087b6 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterList.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterList.java @@ -53,7 +53,7 @@ /** * LiveCallRouterList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/LiveCallRouterResponse.java b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java index d517dbe8..ddaf3608 100644 --- a/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java +++ b/src/main/java/com/rootly/client/model/LiveCallRouterResponse.java @@ -49,7 +49,7 @@ /** * LiveCallRouterResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 91cf0f83..7ba4c6ec 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b53f9833..a8860a02 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecording { /** * Meeting platform diff --git a/src/main/java/com/rootly/client/model/MeetingRecordingList.java b/src/main/java/com/rootly/client/model/MeetingRecordingList.java index b690d18f..96ffdb15 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/MeetingRecordingListDataInner.java b/src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java index adf86ade..55196cb9 100644 --- a/src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java +++ b/src/main/java/com/rootly/client/model/MeetingRecordingListDataInner.java @@ -49,7 +49,7 @@ /** * MeetingRecordingListDataInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MeetingRecordingListDataInner { public static final String SERIALIZED_NAME_ID = "id"; @SerializedName(SERIALIZED_NAME_ID) diff --git a/src/main/java/com/rootly/client/model/Meta.java b/src/main/java/com/rootly/client/model/Meta.java index 4ad3998e..ec4fbbd6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a217af85..0c5fd07d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b8c6296f..d9f956f1 100644 --- a/src/main/java/com/rootly/client/model/MitigateIncidentData.java +++ b/src/main/java/com/rootly/client/model/MitigateIncidentData.java @@ -49,7 +49,7 @@ /** * MitigateIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class MitigateIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/MitigateIncidentDataAttributes.java index 33f8fdb6..39c5b2eb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ecc5419e..7c2c13e0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0a30a840..7c164259 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6bf7c04c..4e09374d 100644 --- a/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertDataAttributes.java @@ -54,7 +54,7 @@ /** * NewAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertDataAttributes { /** * Whether the alert is marked as noise diff --git a/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertDataAttributesAlertFieldValuesAttributesInner.java index 57c9b9d6..b02783a9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f6a5517..1ce2d57a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b38a660e..50d645f8 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/NewAlertEvent.java b/src/main/java/com/rootly/client/model/NewAlertEvent.java index 83defdc2..b55b6875 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4d1cc29c..bb4af3fb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1fc6dabe..b285eecc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ebc7effa..5f08fa8a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d47cbf95..db2e3abc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eaba3bb4..00b8cace 100644 --- a/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertFieldDataAttributes.java @@ -48,7 +48,7 @@ /** * NewAlertFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertGroup.java b/src/main/java/com/rootly/client/model/NewAlertGroup.java index 840a643f..e416e081 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 11031bb8..2f85817d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 564c972e..b368db38 100644 --- a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributes.java @@ -54,7 +54,7 @@ /** * NewAlertGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInner.java index fd6554af..03615277 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 04c8f5de..b253de6d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f460f179..43d90356 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 896f2f7c..4457bff6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6fb2aa87..9b6ab5bc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 900f3a83..1c7433fc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1127c6e9..2869bd8a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1aa536cc..686ee290 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 33afa549..639e8f85 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c8ee7f35..dc013c93 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d07983c1..a60c5b01 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d9e33f40..0d107021 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6a400cc2..1c50e586 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7abfcf7c..8f523d07 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f5da6b2b..5abc3326 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e285ac11..b9bc3f8e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 79951981..d643d409 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSource.java b/src/main/java/com/rootly/client/model/NewAlertsSource.java index 06fadf5a..ba414812 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 210afa92..1cbba153 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 231bf33b..45b4b7a9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2832f6c0..538debb9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ec0d8f65..7c37099b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dbd4a23f..31c36612 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 99ede706..80528933 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7265af08..ee2ed5dd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 35c45d33..f4ce2a96 100644 --- a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java +++ b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributes.java @@ -52,7 +52,7 @@ /** * Provide additional attributes for generic_webhook alerts source */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java b/src/main/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInner.java index 398c12e3..6bcc5558 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b4b30394..0d5e3020 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d373e5a5..80519473 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2c43c8f1..4fc81d0a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6298ea41..995e75f8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2a650ff7..01494d4a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e150b74a..a45cbfec 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 046eeafe..b4606f0c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 88d353ec..1d20ac0c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f6dfb9b..e226f17e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f3e04d32..248bdec9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogChecklistTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java b/src/main/java/com/rootly/client/model/NewCatalogChecklistTemplateDataAttributesFieldsInner.java index c55d49e8..2d558f33 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c24f9e78..9fc0e46f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f9e2e6ac..59cee681 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 386973d4..01eb4ca3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntity.java b/src/main/java/com/rootly/client/model/NewCatalogEntity.java index 7f8be734..d6ae057e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7a51cfa5..68073ce3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8526804c..d7209751 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCatalogEntityDataAttributesPropertiesInner.java index 3b6f9ad6..f0d2cc7d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 75b41b63..c80cf34d 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 -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b483f53..bf4b8c6a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7295cc81..07267fa5 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ea23f7a6..a2142ce1 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7de11027..1f9bc536 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4ae27906..33637ef9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCatalogProperty.java b/src/main/java/com/rootly/client/model/NewCatalogProperty.java index 5d1d6a50..12e696f3 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4187c445..40b2e517 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 16966a24..121529a8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCatalogPropertyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCause.java b/src/main/java/com/rootly/client/model/NewCause.java index abceed82..0f50505e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 830492d8..45044faf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ae9b369e..ed65f866 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCauseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java b/src/main/java/com/rootly/client/model/NewCauseDataAttributesPropertiesInner.java index a8e7b684..049efb08 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0a11b73e..8a27c6b4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7cc27a06..ce525a04 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed23b3fb..49a8cf86 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d23fd43b..794e3b22 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2d39c7cf..5d83ddaa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 275373bc..eab8511e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2c5cd699..aa6eb10a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f870c57d..6e21ba25 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsStageDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/NewCommunicationsTemplate.java index 827b6d58..3fd7ea31 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 12555b88..fe1c8c43 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d580666b..f6f838c4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 09d99c73..ea420306 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 03ca8412..df346d55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 48a78702..8d3891f8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ba3376a8..2e60a0c0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCommunicationsTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewCustomField.java b/src/main/java/com/rootly/client/model/NewCustomField.java index cca26f6f..60de04bd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e58bf1c0..bd9dfcb8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3cbb3017..e153ecce 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b6a48f64..f9346b77 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b49b9420..4898d18d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b3e6132..5ac78e56 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 74aea859..b5861b65 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 806451a3..02948297 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 90960e47..ef95ebd7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewCustomFormDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewDashboard.java b/src/main/java/com/rootly/client/model/NewDashboard.java index 42f3c492..ef2c4b4d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1550d2c0..05a85b9c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a6519fbb..8bba2ad0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 642de42c..a671e71e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b5a9458e..874fc871 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0a5ed446..ede1b893 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5fd769e8..64c0e308 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 305942c3..475c63b9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 835cd85b..deab5e1f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f63c94f3..4dfd5f2c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 90e65a21..399b64e9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dcff77a7..44858822 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e43e348c..595defae 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7590dea0..e32fcfb7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b84ecf04..952dc84e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 112a66bd..3ce876d9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fbb40546..af82ac8d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 56c5ecf4..3d856cdf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4c09007b..32bea060 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eedcb70b..35844ed7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3bcec489..7c051ab6 100644 --- a/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java +++ b/src/main/java/com/rootly/client/model/NewEdgeConnectorEdgeConnector.java @@ -51,7 +51,7 @@ /** * NewEdgeConnectorEdgeConnector */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEdgeConnectorEdgeConnector { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewEnvironment.java b/src/main/java/com/rootly/client/model/NewEnvironment.java index 268b69e4..d9399ca0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 05501f63..2014fe06 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6c27b1e4..d91c1a7e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEnvironmentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java b/src/main/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInner.java index 98eff7c6..5c13e38c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c51dd695..dd95026a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d37d2599..24080bed 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e87294ca..90ce059a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b5d23ffc..bdeb1dfb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b0ba8ec..50848ebe 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHours.java @@ -51,7 +51,7 @@ /** * NewEscalationPolicyDataAttributesBusinessHours */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyDataAttributesBusinessHours { /** * Time zone for business hours diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyLevel.java index 3f348eb1..06c982a7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f50322a6..8d433d70 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0ca44c66..4d60e626 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed871014..e32098e9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 edb79be6..23331670 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3a07c31b..bd755ea5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5c421f34..7598b685 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributes.java @@ -53,7 +53,7 @@ /** * NewEscalationPolicyPathDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java index 25c3009b..e566cf7b 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInner.java @@ -67,7 +67,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewEscalationPolicyPathDataAttributesRulesInner.class.getName()); diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java index 9c191c30..5d3faaf5 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf.java @@ -50,7 +50,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java index fd47eb94..df3810ba 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf1.java @@ -48,7 +48,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf1 { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java index c8882f8b..c522895b 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf2.java @@ -51,7 +51,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf2 { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java index 1953b089..39b85abe 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf3.java @@ -50,7 +50,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf3 { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java index 80149ca2..fdd79573 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf4.java @@ -50,7 +50,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf4 { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java index 32ceee1a..9e666b9e 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5.java @@ -51,7 +51,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5 { /** * The type of the escalation path rule diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java index 14253b07..5b8863bf 100644 --- a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java +++ b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner.java @@ -49,7 +49,7 @@ /** * NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewEscalationPolicyPathDataAttributesRulesInnerOneOf5TimeBlocksInner { public static final String SERIALIZED_NAME_MONDAY = "monday"; @SerializedName(SERIALIZED_NAME_MONDAY) diff --git a/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTimeRestrictionsInner.java index f57bd5cc..ee1bad3b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 153b43c8..5427192f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b761e849..d6871db4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a2731d28..aa9e9771 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormFieldDataAttributes { /** * The kind of the form field diff --git a/src/main/java/com/rootly/client/model/NewFormFieldOption.java b/src/main/java/com/rootly/client/model/NewFormFieldOption.java index 047950bf..baacfb65 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4cab28e8..356b4ea4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 36f33e46..cb0866c9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 15cce837..2c2b5475 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 06cf0898..e237134b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 459310e6..ae12b228 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 feec0f1f..c4b5e98c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8e9fde83..71905e5f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 23657e7b..53c717d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 288fe813..3aeb507f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 df474013..3f8cdf97 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c44f38fb..c324b260 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed65f009..caa9032f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a6a89184..260b005a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 43a58bb8..7fca5aa1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 56f8c93f..788e8245 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4da85a3a..62e8e10a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a832e59d..d5353e06 100644 --- a/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewFormSetDataAttributes.java @@ -50,7 +50,7 @@ /** * NewFormSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFormSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewFunctionality.java b/src/main/java/com/rootly/client/model/NewFunctionality.java index 042d9bb5..bc52a657 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c9a47a8e..67d7bdd1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 904f0494..c517b9ca 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewFunctionalityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewHeartbeat.java b/src/main/java/com/rootly/client/model/NewHeartbeat.java index 8f414862..97e938bc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aa93bb50..e20cad55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c1d2ce2..4a51bddd 100644 --- a/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewHeartbeatDataAttributes.java @@ -49,7 +49,7 @@ /** * NewHeartbeatDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 41219d58..f99cf23f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eb90e286..243e1f0d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a54eb0bf..7e0c4fb4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 591ce109..48a6ba17 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentActionItemDataAttributes.java @@ -51,7 +51,7 @@ /** * NewIncidentActionItemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/NewIncidentCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewIncidentCustomFieldSelection.java index ffe75f41..8974d1e7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 50b548a4..ae6b22d8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29dc39b0..3c8a8549 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5952409f..e9eb0343 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ce66655f..09a9bda3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewIncidentEvent.java b/src/main/java/com/rootly/client/model/NewIncidentEvent.java index 2113c0e1..2fa463ba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed40af8b..18f0ba86 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e157e561..f273b1c0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5d55f49c..ee9ba03f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3974bdc0..44962963 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 69f07450..5bd3ce1a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0b1dd5b6..713ef472 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6c5de32c..aeba381b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c878309a..e9a3a9d0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b2d868e1..71362280 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2c1fc287..c85fb608 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 68c6ab06..2b634cd6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d2adce31..606ffe69 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d0ce67e2..a1fecd72 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 55ff7f74..cfaeba74 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c9a6a9cb..48f0b861 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 10730d51..faeb7e87 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8c467cc1..e0ece75e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e6654320..4a6926ba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 62910ca2..04f8d988 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 32596bab..69f5ec9c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4c3c02be..10900d70 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/NewIncidentPermissionSetResource.java index 006a4faf..eacf8795 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3ce42336..d76adca0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 47c76d1b..f4c515e5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af05596b..50dcdef4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8bcb1758..a3aba97f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 68492598..d3d7f758 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java b/src/main/java/com/rootly/client/model/NewIncidentRoleTask.java index e301aef9..5c007eaa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e44354ca..adc90dac 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 231a2adf..286778c5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e6e7061c..db1e5acf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eb0b3199..4b7b5317 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a85543fd..386c925f 100644 --- a/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributes.java @@ -49,7 +49,7 @@ /** * NewIncidentStatusPageEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentStatusPageEventDataAttributes { public static final String SERIALIZED_NAME_EVENT = "event"; @SerializedName(SERIALIZED_NAME_EVENT) diff --git a/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java b/src/main/java/com/rootly/client/model/NewIncidentSubStatus.java index 3a6bc667..6cbcf5c3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 46d5075f..5b9c9659 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5b510dbe..7cd9a9c1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 89d83ff1..46f3be93 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d814db87..39b78c51 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 34c74509..8cf79182 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewLiveCallRouter.java b/src/main/java/com/rootly/client/model/NewLiveCallRouter.java index 96184d2e..59e3b194 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d974a2bf..9fa61aca 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 89642a40..e1aec1f6 100644 --- a/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewLiveCallRouterDataAttributes.java @@ -52,7 +52,7 @@ /** * NewLiveCallRouterDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 13bc8bdc..058b2f24 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c562fa15..3b905f62 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6715353a..1c7287b8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a9754362..7a19d68c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 52591516..609a35a0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 135735ca..65bde321 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 32a34b81..2801c542 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 016e3f8e..0929dc54 100644 --- a/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewOnCallRoleDataAttributes.java @@ -50,7 +50,7 @@ /** * NewOnCallRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewOnCallShadow.java b/src/main/java/com/rootly/client/model/NewOnCallShadow.java index e24895ef..612584ab 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 783c9412..4749ab2b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 74ea54f5..6ad82f40 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5b3642b2..6e11b23c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b0d6562e..e0d4e0b2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7533e2a2..a9ad0a12 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed536d2f..b062a4dc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 05427208..d89a9ce0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 34522e40..197b70f7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewPlaybookTask.java b/src/main/java/com/rootly/client/model/NewPlaybookTask.java index 38028fbf..709389c8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f18bf47..40801289 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 311d31f2..9be24421 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b580e204..63b8cd84 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dc984ff0..6e4eab48 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e69b0873..08b761d1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewPostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewPulse.java b/src/main/java/com/rootly/client/model/NewPulse.java index 5ee357f0..c489a94e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1df64731..79715c7c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a0d3bb0b..1cc38fb1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f6c818e4..b601b5f0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fa1bb0ef..3900d82b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b191c2bc..1765ad6f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 86ec9937..5f41acf0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e2692a03..c07aeef6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bf200ec8..8dddc009 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0b5448eb..6b47f0d8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 676fe3dc..1f3cb6b3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2698057a..29374b6a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0ef64b1f..aaf1f3dd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 499b1cb6..d7a02b55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f9e508ba..c3e7ba21 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3842d9e1..c095c504 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ef19ee9f..a0074def 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b1504ee..3e4b63ed 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f3a0679a..74958856 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 605b073a..9050c9dd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 68db49eb..7884a7cc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewRole.java b/src/main/java/com/rootly/client/model/NewRole.java index ce491df6..b6c29c87 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2cb89ff4..b702cc2f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 403fd02a..6f494cf0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewSchedule.java b/src/main/java/com/rootly/client/model/NewSchedule.java index de49366e..db2633a4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bd7f504e..2cbad8ac 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b335250..ee79426b 100644 --- a/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewScheduleDataAttributes.java @@ -53,7 +53,7 @@ /** * NewScheduleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java b/src/main/java/com/rootly/client/model/NewScheduleDataAttributesSlackChannel.java index bd0c0e3a..ac9dd2a9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 84976421..b78e742a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7b9e8eb0..55a2c21e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 95bbefe7..c9e1d754 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 94582edf..b2e4adeb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a57ffb88..f51d53b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 46415425..2232cf68 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9fd649c3..15c0801c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 272f26f6..d5f67747 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java b/src/main/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInner.java index 6454ed1d..03b0db4e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6533b344..607a750f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 47fd3b4a..5262489d 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 28a68aaf..dd376310 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 10a86e78..9003b40e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 abd50a36..957f51b6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 93feff46..f56961f3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d4895f29..19184e0a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3849f161..62cf64b7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 14dfea66..62bd3de8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8c3db7af..5db22774 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ef8918c7..ec2c6c2c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3a53a875..b0ce5d82 100644 --- a/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewSecretDataAttributes.java @@ -49,7 +49,7 @@ /** * NewSecretDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSecretDataAttributes { /** * The kind of the secret diff --git a/src/main/java/com/rootly/client/model/NewService.java b/src/main/java/com/rootly/client/model/NewService.java index 07fdf09e..66ddc9fa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5961e2fc..f7279d3b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9504a489..14d2e744 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewServiceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/NewServiceDataAttributesAlertBroadcastChannel.java index fce5582e..8550f6d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e90da949..8d53ab66 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b59067ac..0e4ed3b4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 394b0099..9ce7a6d3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aa8df380..157521da 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSeverityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewSla.java b/src/main/java/com/rootly/client/model/NewSla.java index 156bb1ad..8fbf22ea 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9fb0f3b1..c870979e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 835a7ddc..7c415934 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSlaDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java b/src/main/java/com/rootly/client/model/NewSlaDataAttributesConditionsInner.java index e8906280..b45e5702 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b23446f1..f64ee6c5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c0070e90..5ea40a8d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/NewStatusPageData.java b/src/main/java/com/rootly/client/model/NewStatusPageData.java index 89ee5372..f49e3941 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7ddae019..09f75af9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewStatusPageDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java b/src/main/java/com/rootly/client/model/NewStatusPageTemplate.java index 493a854e..f482406e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1c71b35e..f0e5f45c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e5707adb..00d24109 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f79e102d..b4fdf811 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b19b94b2..d2dd39d5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7d6bf164..dfb464d2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewSubStatusDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewTeam.java b/src/main/java/com/rootly/client/model/NewTeam.java index c57295fa..ef962bb1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bbef6ffe..cb1a0def 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4889f466..cb6628a2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewTeamDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewUserEmailAddress.java b/src/main/java/com/rootly/client/model/NewUserEmailAddress.java index c2f2c35a..d380834a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7de0082c..312116d2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8bbf3d37..a480b79d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bde11e06..9d802203 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 71b4f8c0..0e97aef5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b0bde5bb..22603a0a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 23782497..d98e4a87 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cc519445..0224aec4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 449c0dac..e3c41d4a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/NewWebhooksEndpoint.java b/src/main/java/com/rootly/client/model/NewWebhooksEndpoint.java index 1dd060ac..b12483d6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bfc1de4d..241fe003 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c89687b7..59a359f8 100644 --- a/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWebhooksEndpointDataAttributes.java @@ -50,7 +50,7 @@ /** * NewWebhooksEndpointDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWebhooksEndpointDataAttributes { 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 fc3b27d5..39cafdcf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/NewWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/NewWorkflowCustomFieldSelection.java index c3d79b7f..5a180a12 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 83a39bac..4b97a968 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0628a9b5..3ccead01 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4cf120f2..49940aba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 486cc6a7..d2111be0 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributes.java @@ -52,7 +52,7 @@ /** * NewWorkflowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java b/src/main/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParams.java index 65931d48..99ad3435 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7867cac8..97662b37 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 972d5ffe..c25f286c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e4120a1b..629d48f0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 71c7bfe5..8882688b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ca50f74f..fd6ccce6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4dabd3ff..d11b744c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowGroupDataAttributes { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/NewWorkflowRun.java b/src/main/java/com/rootly/client/model/NewWorkflowRun.java index 63eab320..16431b8d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ca579bcb..f2a6bad7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a3d2a313..e3ad5a2b 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; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2351530d..c9cf5f51 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6b9743a5..aad1a25c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a4fa4619..5edd75a1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 92710da0..6930e5ac 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d1ac8347..88e591c8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1d54f376..b350cab7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1cee254..e1875399 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 abf2d27f..7b6f6c10 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d996e2bd..b617f15a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 51a1917b..57655aab 100644 --- a/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParams.java @@ -215,7 +215,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class NewWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(NewWorkflowTaskDataAttributesTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/OnCallPayReport.java b/src/main/java/com/rootly/client/model/OnCallPayReport.java index 650a10ed..fd48fe77 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallPayReport { /** * The current status of the report. diff --git a/src/main/java/com/rootly/client/model/OnCallPayReportList.java b/src/main/java/com/rootly/client/model/OnCallPayReportList.java index e5a1a67f..9543b901 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReportList.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReportList.java @@ -53,7 +53,7 @@ /** * OnCallPayReportList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bc70e8a1..37cc4de4 100644 --- a/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallPayReportResponse.java @@ -49,7 +49,7 @@ /** * OnCallPayReportResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b7f927de..ce17e63d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8e605a56..a9480818 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class OnCallRole { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/OnCallRoleList.java b/src/main/java/com/rootly/client/model/OnCallRoleList.java index 71c16ef4..bdf17af9 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleList.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleList.java @@ -53,7 +53,7 @@ /** * OnCallRoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a91c5dc8..be6f5fb1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c7954d91..108950d4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1250ccbd..307cbefb 100644 --- a/src/main/java/com/rootly/client/model/OnCallRoleResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallRoleResponse.java @@ -49,7 +49,7 @@ /** * OnCallRoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 448d6548..54a36eed 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4fc81ccf..a9365447 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3d2bf618..f5845a02 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowResponse.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowResponse.java @@ -49,7 +49,7 @@ /** * OnCallShadowResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ce50ac81..167158b7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 016bc89a..cb7107bb 100644 --- a/src/main/java/com/rootly/client/model/OnCallShadowsList.java +++ b/src/main/java/com/rootly/client/model/OnCallShadowsList.java @@ -53,7 +53,7 @@ /** * OnCallShadowsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 426fa878..3590e2a7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/OverrideShift.java b/src/main/java/com/rootly/client/model/OverrideShift.java index bafabc90..58a97ca6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1a63a9b1..9e90d0e1 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftList.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftList.java @@ -53,7 +53,7 @@ /** * OverrideShiftList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 911cd9df..62ea0392 100644 --- a/src/main/java/com/rootly/client/model/OverrideShiftResponse.java +++ b/src/main/java/com/rootly/client/model/OverrideShiftResponse.java @@ -49,7 +49,7 @@ /** * OverrideShiftResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e3ad0039..2f5a0ba0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0635e02b..9a4088d5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 35841763..42b5c906 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ca0f163f..e29b8b32 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1a3c6454..e2a9c991 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0bf369c8..5ed5661e 100644 --- a/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java +++ b/src/main/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParams.java @@ -51,7 +51,7 @@ /** * PageVictorOpsOnCallRespondersTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PageVictorOpsOnCallRespondersTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/PatchAlertRoute.java b/src/main/java/com/rootly/client/model/PatchAlertRoute.java index 519df22e..508f52b5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 598e2e05..4111418a 100644 --- a/src/main/java/com/rootly/client/model/PatchAlertRouteData.java +++ b/src/main/java/com/rootly/client/model/PatchAlertRouteData.java @@ -49,7 +49,7 @@ /** * PatchAlertRouteData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PatchAlertRouteData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/PatchAlertRouteDataAttributes.java index b797cee7..918b0ddd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1d5d80e..68bc1bdd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d6df268..4ce156b7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ddd2e738..a7929c6c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7079ffba..fba82402 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 88f0635c..68756f33 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d8a3a8a7..03a043d6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Playbook { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/PlaybookList.java b/src/main/java/com/rootly/client/model/PlaybookList.java index c7f6b865..2043e838 100644 --- a/src/main/java/com/rootly/client/model/PlaybookList.java +++ b/src/main/java/com/rootly/client/model/PlaybookList.java @@ -53,7 +53,7 @@ /** * PlaybookList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 89f36680..2c4ba266 100644 --- a/src/main/java/com/rootly/client/model/PlaybookResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookResponse.java @@ -49,7 +49,7 @@ /** * PlaybookResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ccd03101..981670fa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bacbe9d7..098fa907 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0d0c5311..1436c716 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskList.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskList.java @@ -53,7 +53,7 @@ /** * PlaybookTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 07e982a6..a54284e3 100644 --- a/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java +++ b/src/main/java/com/rootly/client/model/PlaybookTaskResponse.java @@ -49,7 +49,7 @@ /** * PlaybookTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 500860df..3402fa2f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3c3cf2a2..76839a2d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f51bc969..a28e48f4 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateList.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateList.java @@ -53,7 +53,7 @@ /** * PostMortemTemplateList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 da2bce46..d2776381 100644 --- a/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/PostMortemTemplateResponse.java @@ -49,7 +49,7 @@ /** * PostMortemTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 294b3c36..968b9d73 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 82a12dad..49fc20e8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PostMortemTriggerParams { /** * Gets or Sets triggerType diff --git a/src/main/java/com/rootly/client/model/PrintTaskParams.java b/src/main/java/com/rootly/client/model/PrintTaskParams.java index 593789c4..0165c47d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/PublishIncidentTaskParams.java b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java index 662d7c79..8d4ddf94 100644 --- a/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java +++ b/src/main/java/com/rootly/client/model/PublishIncidentTaskParams.java @@ -50,7 +50,7 @@ /** * PublishIncidentTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class PublishIncidentTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/Pulse.java b/src/main/java/com/rootly/client/model/Pulse.java index e6f0acee..36e31d3d 100644 --- a/src/main/java/com/rootly/client/model/Pulse.java +++ b/src/main/java/com/rootly/client/model/Pulse.java @@ -55,7 +55,7 @@ /** * Pulse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Pulse { public static final String SERIALIZED_NAME_SOURCE = "source"; @SerializedName(SERIALIZED_NAME_SOURCE) diff --git a/src/main/java/com/rootly/client/model/PulseList.java b/src/main/java/com/rootly/client/model/PulseList.java index fea23383..04e496cb 100644 --- a/src/main/java/com/rootly/client/model/PulseList.java +++ b/src/main/java/com/rootly/client/model/PulseList.java @@ -53,7 +53,7 @@ /** * PulseList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/PulseResponse.java b/src/main/java/com/rootly/client/model/PulseResponse.java index 60f985c2..d092a7aa 100644 --- a/src/main/java/com/rootly/client/model/PulseResponse.java +++ b/src/main/java/com/rootly/client/model/PulseResponse.java @@ -49,7 +49,7 @@ /** * PulseResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cb798032..708f44cd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9fb606bd..f9128d9b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/RedisClientTaskParams.java b/src/main/java/com/rootly/client/model/RedisClientTaskParams.java index 7d42279b..3b088f3d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/RemoveGoogleDocsPermissionsTaskParams.java b/src/main/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParams.java index b35c6a90..b18718a9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c9950780..4bb31beb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b2fab8cb..d6966f19 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9f2cc570..5512254f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/RenameMicrosoftTeamsChannelTaskParams.java b/src/main/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParams.java index 31c9bcf0..053553cf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1b3cb08..943c6447 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RenameSlackChannelTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/ResolveAlert.java b/src/main/java/com/rootly/client/model/ResolveAlert.java index 63792a80..83eb423b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29aa6dd0..33386d55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 88e63634..3551e160 100644 --- a/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/ResolveAlertDataAttributes.java @@ -49,7 +49,7 @@ /** * ResolveAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/ResolveIncident.java b/src/main/java/com/rootly/client/model/ResolveIncident.java index fb479efd..7fcca9e8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c3a7c5e7..eb32533f 100644 --- a/src/main/java/com/rootly/client/model/ResolveIncidentData.java +++ b/src/main/java/com/rootly/client/model/ResolveIncidentData.java @@ -49,7 +49,7 @@ /** * ResolveIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ResolveIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/ResolveIncidentDataAttributes.java index e5ece123..031f4785 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 690200e1..81906cbf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 27c66b6b..b370b77f 100644 --- a/src/main/java/com/rootly/client/model/RestartIncidentData.java +++ b/src/main/java/com/rootly/client/model/RestartIncidentData.java @@ -48,7 +48,7 @@ /** * RestartIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class RestartIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java b/src/main/java/com/rootly/client/model/RetrospectiveConfiguration.java index 84acd298..22d27c59 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bf878bd3..44de338d 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationList.java @@ -51,7 +51,7 @@ /** * RetrospectiveConfigurationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1afae896..65274a96 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a79b5f0c..34428bb7 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveConfigurationResponse.java @@ -49,7 +49,7 @@ /** * RetrospectiveConfigurationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ea5c530e..01ae7afc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a082b0ad..d6261260 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ee71dabe..0e6dda58 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8f132af2..7f1233b3 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupList.java @@ -53,7 +53,7 @@ /** * RetrospectiveProcessGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ca3a0035..1cc66cfa 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupResponse.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 18afe557..4a1c3729 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 77de47b1..12ca5b8a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4d8f80ee..76b83c58 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepList.java @@ -53,7 +53,7 @@ /** * RetrospectiveProcessGroupStepList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 481c19af..1f23d046 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponse.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessGroupStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 60af9844..e4a3a9a1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cf7d28d7..791792e5 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessList.java @@ -53,7 +53,7 @@ /** * RetrospectiveProcessList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5bdd5a7b..d06559a3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1f7d5d1d..086c8f1c 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveProcessResponse.java @@ -49,7 +49,7 @@ /** * RetrospectiveProcessResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d74347a..5d5aca6e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4b66e150..b69be077 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cb327a75..02041e3c 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepList.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepList.java @@ -53,7 +53,7 @@ /** * RetrospectiveStepList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 38a1815c..60e223bf 100644 --- a/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java +++ b/src/main/java/com/rootly/client/model/RetrospectiveStepResponse.java @@ -49,7 +49,7 @@ /** * RetrospectiveStepResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cc886f2b..ce1360bd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b7745ca6..f2dfb53c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Role { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/RoleList.java b/src/main/java/com/rootly/client/model/RoleList.java index af91b6cc..ba327a6f 100644 --- a/src/main/java/com/rootly/client/model/RoleList.java +++ b/src/main/java/com/rootly/client/model/RoleList.java @@ -53,7 +53,7 @@ /** * RoleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d68217c1..125b8e5f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bbd1c4f4..60873d77 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3e6d5a14..40054d66 100644 --- a/src/main/java/com/rootly/client/model/RoleResponse.java +++ b/src/main/java/com/rootly/client/model/RoleResponse.java @@ -49,7 +49,7 @@ /** * RoleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0b0d18ae..e85e8ddb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4abb1ea7..f09a2da0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f952ce4a..375695d1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 010ed23b..0ed69bca 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e4061cee..59e800dc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a94d2aa4..027af3bf 100644 --- a/src/main/java/com/rootly/client/model/Schedule.java +++ b/src/main/java/com/rootly/client/model/Schedule.java @@ -53,7 +53,7 @@ /** * Schedule */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Schedule { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/ScheduleList.java b/src/main/java/com/rootly/client/model/ScheduleList.java index 24df97bb..f06cf3d4 100644 --- a/src/main/java/com/rootly/client/model/ScheduleList.java +++ b/src/main/java/com/rootly/client/model/ScheduleList.java @@ -53,7 +53,7 @@ /** * ScheduleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5ccde4d8..c294b04a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9a60803a..906adfb8 100644 --- a/src/main/java/com/rootly/client/model/ScheduleResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleResponse.java @@ -49,7 +49,7 @@ /** * ScheduleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c92ddb5e..2dde576d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c20b9386..c71a166e 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotation.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotation.java @@ -54,7 +54,7 @@ /** * ScheduleRotation */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java index 93b4ea2d..189daf4d 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDay.java @@ -51,7 +51,7 @@ /** * ScheduleRotationActiveDay */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java index a375ca9f..47c5240d 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayList.java @@ -53,7 +53,7 @@ /** * ScheduleRotationActiveDayList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7488dccb..90dc7e63 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c429a2c3..bfcdf667 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationActiveDayResponse.java @@ -49,7 +49,7 @@ /** * ScheduleRotationActiveDayResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a9233449..9f561203 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ScheduleRotationList.java b/src/main/java/com/rootly/client/model/ScheduleRotationList.java index b9bc2c2b..be42f750 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationList.java @@ -53,7 +53,7 @@ /** * ScheduleRotationList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c3331bcd..042a760b 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationResponse.java @@ -49,7 +49,7 @@ /** * ScheduleRotationResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fc0fb0c5..7973c992 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d931f5f8..d6d7aaf4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dae18e32..2adc2d64 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserList.java @@ -53,7 +53,7 @@ /** * ScheduleRotationUserList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cf276057..dda8267d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 30bd118f..21d0c104 100644 --- a/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java +++ b/src/main/java/com/rootly/client/model/ScheduleRotationUserResponse.java @@ -49,7 +49,7 @@ /** * ScheduleRotationUserResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 df22267f..c27ff3f7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1525f5e1..7e19227a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9c970eb5..7a0bf961 100644 --- a/src/main/java/com/rootly/client/model/Secret.java +++ b/src/main/java/com/rootly/client/model/Secret.java @@ -49,7 +49,7 @@ /** * Secret */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Secret { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/SecretList.java b/src/main/java/com/rootly/client/model/SecretList.java index c56ec9fe..a2d1a308 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d535cace..ffd375e3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a7892016..075368e9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1b7737fb..88e5fe20 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 67db4a25..568170cc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/SendMicrosoftTeamsBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java index 80cc5e0e..2cfeac57 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParams.java @@ -48,7 +48,7 @@ /** * SendMicrosoftTeamsBlocksTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsBlocksTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsChatMessageTaskParams.java index 2e09c707..ccd24ea5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bce0a237..31457eb5 100644 --- a/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParams.java @@ -50,7 +50,7 @@ /** * SendMicrosoftTeamsMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendMicrosoftTeamsMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java index 276f8246..7a4152f4 100644 --- a/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackBlocksTaskParams.java @@ -50,7 +50,7 @@ /** * SendSlackBlocksTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackBlocksTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java index 30b3738d..fb5ae89b 100644 --- a/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java +++ b/src/main/java/com/rootly/client/model/SendSlackMessageTaskParams.java @@ -50,7 +50,7 @@ /** * SendSlackMessageTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class SendSlackMessageTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/SendSmsTaskParams.java b/src/main/java/com/rootly/client/model/SendSmsTaskParams.java index 8bcd83ce..31ab7178 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3eec582e..826953b6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 94589dd4..7f2ac42c 100644 --- a/src/main/java/com/rootly/client/model/Service.java +++ b/src/main/java/com/rootly/client/model/Service.java @@ -56,7 +56,7 @@ /** * Service */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Service { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java b/src/main/java/com/rootly/client/model/ServiceAlertBroadcastChannel.java index 693f24ad..8267cf53 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3abb97b1..3c88a5f2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29b8370d..023faa79 100644 --- a/src/main/java/com/rootly/client/model/ServiceList.java +++ b/src/main/java/com/rootly/client/model/ServiceList.java @@ -53,7 +53,7 @@ /** * ServiceList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 60d1c373..f25204e7 100644 --- a/src/main/java/com/rootly/client/model/ServiceResponse.java +++ b/src/main/java/com/rootly/client/model/ServiceResponse.java @@ -49,7 +49,7 @@ /** * ServiceResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d74be7b8..ec8d7224 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a59f8dba..247bd10f 100644 --- a/src/main/java/com/rootly/client/model/Severity.java +++ b/src/main/java/com/rootly/client/model/Severity.java @@ -53,7 +53,7 @@ /** * Severity */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Severity { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/SeverityList.java b/src/main/java/com/rootly/client/model/SeverityList.java index de6f5c09..8f59720e 100644 --- a/src/main/java/com/rootly/client/model/SeverityList.java +++ b/src/main/java/com/rootly/client/model/SeverityList.java @@ -53,7 +53,7 @@ /** * SeverityList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3f077a5e..d21075cf 100644 --- a/src/main/java/com/rootly/client/model/SeverityResponse.java +++ b/src/main/java/com/rootly/client/model/SeverityResponse.java @@ -49,7 +49,7 @@ /** * SeverityResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 260c47bb..8e25ae4f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 89fc7812..c0879818 100644 --- a/src/main/java/com/rootly/client/model/Shift.java +++ b/src/main/java/com/rootly/client/model/Shift.java @@ -49,7 +49,7 @@ /** * Shift */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/ShiftList.java b/src/main/java/com/rootly/client/model/ShiftList.java index 7f3c3ad7..6957d591 100644 --- a/src/main/java/com/rootly/client/model/ShiftList.java +++ b/src/main/java/com/rootly/client/model/ShiftList.java @@ -52,7 +52,7 @@ /** * ShiftList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bfced59e..cca7cb3a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ab901c5a..7a0b6f1d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 52e513e5..8b5e6e9b 100644 --- a/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java +++ b/src/main/java/com/rootly/client/model/ShiftOverrideResponse.java @@ -49,7 +49,7 @@ /** * ShiftOverrideResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 64320ec1..8f329731 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8d2d1007..521ba61e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29d26b34..574114cc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 269f6247..80d9323d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f8c475b7..8f6ce7ed 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3f46fb30..32c58eec 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/ShiftRelationshipsUser.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java index c779e505..7d5d9b74 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsUser.java @@ -50,7 +50,7 @@ /** * ShiftRelationshipsUser */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsUser { public static final String SERIALIZED_NAME_DATA = "data"; @SerializedName(SERIALIZED_NAME_DATA) diff --git a/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java b/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java index 0bf291a3..52070924 100644 --- a/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java +++ b/src/main/java/com/rootly/client/model/ShiftRelationshipsUserData.java @@ -48,7 +48,7 @@ /** * ShiftRelationshipsUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class ShiftRelationshipsUserData { 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 67a5476b..ac745861 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d32cc042..4879ff67 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 05e3b71c..d1efcdff 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9bbe62b7..16338a2b 100644 --- a/src/main/java/com/rootly/client/model/SlaList.java +++ b/src/main/java/com/rootly/client/model/SlaList.java @@ -53,7 +53,7 @@ /** * SlaList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0674f22b..e6951b99 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cbd92c5e..52ed6180 100644 --- a/src/main/java/com/rootly/client/model/SlaResponse.java +++ b/src/main/java/com/rootly/client/model/SlaResponse.java @@ -49,7 +49,7 @@ /** * SlaResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c8c53d6..14ce7a9c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/SnapshotDatadogGraphTaskParams.java b/src/main/java/com/rootly/client/model/SnapshotDatadogGraphTaskParams.java index 58257d00..af6c40c3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b6c3aaa..d153175e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b9defe83..7addc66f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b44f3d7b..ed01cbe5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fe747012..adacc3e1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5c1e2a32..4c4da12f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c9708622..7388d99f 100644 --- a/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/SnoozeAlertDataAttributes.java @@ -48,7 +48,7 @@ /** * SnoozeAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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) diff --git a/src/main/java/com/rootly/client/model/Status.java b/src/main/java/com/rootly/client/model/Status.java index cef7cdc1..97805665 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6bf06f85..81f17726 100644 --- a/src/main/java/com/rootly/client/model/StatusList.java +++ b/src/main/java/com/rootly/client/model/StatusList.java @@ -53,7 +53,7 @@ /** * StatusList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9cce8f57..6f91082c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/StatusPageList.java b/src/main/java/com/rootly/client/model/StatusPageList.java index 7e522edd..eb0af5f8 100644 --- a/src/main/java/com/rootly/client/model/StatusPageList.java +++ b/src/main/java/com/rootly/client/model/StatusPageList.java @@ -53,7 +53,7 @@ /** * StatusPageList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5d1c6ac8..94c67847 100644 --- a/src/main/java/com/rootly/client/model/StatusPageResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageResponse.java @@ -49,7 +49,7 @@ /** * StatusPageResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b024d2a..bda91672 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/StatusPageTemplate.java b/src/main/java/com/rootly/client/model/StatusPageTemplate.java index db392f0e..d863b9d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0126cbc9..484aa885 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateList.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateList.java @@ -53,7 +53,7 @@ /** * StatusPageTemplateList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1ede956d..b6081440 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0d8953fb..1a06abe9 100644 --- a/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java +++ b/src/main/java/com/rootly/client/model/StatusPageTemplateResponse.java @@ -49,7 +49,7 @@ /** * StatusPageTemplateResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 adfd8018..62312ab6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d9da932d..028417bd 100644 --- a/src/main/java/com/rootly/client/model/StatusResponse.java +++ b/src/main/java/com/rootly/client/model/StatusResponse.java @@ -49,7 +49,7 @@ /** * StatusResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 78d86915..2ba65340 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eebf3e67..7776155c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29bbb7b8..24f1155d 100644 --- a/src/main/java/com/rootly/client/model/SubStatusList.java +++ b/src/main/java/com/rootly/client/model/SubStatusList.java @@ -53,7 +53,7 @@ /** * SubStatusList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ed046014..d4336026 100644 --- a/src/main/java/com/rootly/client/model/SubStatusResponse.java +++ b/src/main/java/com/rootly/client/model/SubStatusResponse.java @@ -49,7 +49,7 @@ /** * SubStatusResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eefe0c84..ae4d2cc3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cc30c95d..661aa1c5 100644 --- a/src/main/java/com/rootly/client/model/Team.java +++ b/src/main/java/com/rootly/client/model/Team.java @@ -56,7 +56,7 @@ /** * Team */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Team { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/TeamList.java b/src/main/java/com/rootly/client/model/TeamList.java index 692b5a05..0fce3404 100644 --- a/src/main/java/com/rootly/client/model/TeamList.java +++ b/src/main/java/com/rootly/client/model/TeamList.java @@ -53,7 +53,7 @@ /** * TeamList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 308a2080..d07ba738 100644 --- a/src/main/java/com/rootly/client/model/TeamResponse.java +++ b/src/main/java/com/rootly/client/model/TeamResponse.java @@ -49,7 +49,7 @@ /** * TeamResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bb772c3d..52366e7e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ad4bba46..9c1962ff 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7f437a58..bc72ce6f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 211ddbea..8618c9c6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 58d296b5..957037a8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class TriggerWorkflowTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java b/src/main/java/com/rootly/client/model/TweetTwitterMessageTaskParams.java index 8a01fb66..8a407639 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bbff39eb..ca1a3490 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 08b7b1af..c20cb266 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 27b31c1e..aba467be 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 53927a7a..687005ff 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0a97aafc..156350cf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 55c494ae..82008a0b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/UpdateAlertData.java b/src/main/java/com/rootly/client/model/UpdateAlertData.java index 5581d8bf..bf71c392 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertData.java @@ -49,7 +49,7 @@ /** * UpdateAlertData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java index e055f043..58eb1d40 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateAlertDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertDataAttributes { /** * Whether the alert is marked as noise diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEvent.java b/src/main/java/com/rootly/client/model/UpdateAlertEvent.java index c11185b0..456a6515 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. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ccf04d5f..c796b517 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertEventData.java @@ -49,7 +49,7 @@ /** * UpdateAlertEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertEventDataAttributes.java index dd326eb0..b99fe457 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1662e5e..53aa7722 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 96667dc8..8cde624b 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldData.java @@ -49,7 +49,7 @@ /** * UpdateAlertFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java index a1357298..7b99ef83 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertFieldDataAttributes.java @@ -48,7 +48,7 @@ /** * UpdateAlertFieldDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroup.java b/src/main/java/com/rootly/client/model/UpdateAlertGroup.java index a7c5bdcd..4a08bb2f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 17cbdb7d..581cba8e 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupData.java @@ -49,7 +49,7 @@ /** * UpdateAlertGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java index 7c6cd6c5..d1717a9a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertGroupDataAttributes.java @@ -54,7 +54,7 @@ /** * UpdateAlertGroupDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertGroupDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoute.java b/src/main/java/com/rootly/client/model/UpdateAlertRoute.java index c63708fa..e7c2fb11 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 00b720f3..09bcddc2 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRouteData.java @@ -49,7 +49,7 @@ /** * UpdateAlertRouteData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRouteData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRouteDataAttributes.java index dba1cb3b..98f98345 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e6fce78f..94263c92 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2bf4d4ce..81127615 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleData.java @@ -49,7 +49,7 @@ /** * UpdateAlertRoutingRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertRoutingRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributes.java index a2066d4d..bfd13405 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a39c93db..fa918710 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c3549455..e85f0bfb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 df466749..38696ba3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 05b920aa..d0f42690 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyData.java @@ -49,7 +49,7 @@ /** * UpdateAlertUrgencyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributes.java index 69245c2c..5f5949b4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertUrgencyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSource.java b/src/main/java/com/rootly/client/model/UpdateAlertsSource.java index 97a6afee..1fcde2f8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 51c7498e..7d4c3aea 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceData.java @@ -49,7 +49,7 @@ /** * UpdateAlertsSourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java index 4aa25600..55e7069a 100644 --- a/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateAlertsSourceDataAttributes.java @@ -56,7 +56,7 @@ /** * UpdateAlertsSourceDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAlertsSourceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateApiKey.java b/src/main/java/com/rootly/client/model/UpdateApiKey.java index 0c032e5a..47c7e7b5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5a9756da..1877f2dc 100644 --- a/src/main/java/com/rootly/client/model/UpdateApiKeyData.java +++ b/src/main/java/com/rootly/client/model/UpdateApiKeyData.java @@ -49,7 +49,7 @@ /** * UpdateApiKeyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateApiKeyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateApiKeyDataAttributes.java index d6135563..e85a6a63 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 13106e48..ab7eb299 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 191233eb..a0898cf5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 19b3e4ac..f0fbc7a2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6df37c6f..474c156d 100644 --- a/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java +++ b/src/main/java/com/rootly/client/model/UpdateAuthorizationData.java @@ -49,7 +49,7 @@ /** * UpdateAuthorizationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateAuthorizationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateAuthorizationDataAttributes.java index f5c1005a..c946b363 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 740e0582..632573b3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eea27b4a..4d059398 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2b1a5be3..522238e1 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogChecklistTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogChecklistTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogChecklistTemplateDataAttributes.java index b1ab585a..9b32fadd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogChecklistTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogData.java b/src/main/java/com/rootly/client/model/UpdateCatalogData.java index 4d522ca6..eb9b6d80 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogDataAttributes.java index 6321e22c..f76476a3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntity.java index f25bdd4b..18b937d8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2ef4f6e4..aa3c10ec 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogEntityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityDataAttributes.java index 52693fdb..7d0f75c5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityProperty.java index 0137c024..c5088428 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 -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 50f4790f..21e8259c 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogEntityPropertyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogEntityPropertyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributes.java index 790cd016..02f460e5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9435e0ae..1da49530 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5bf6204a..b0cdb7a8 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogFieldData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogFieldDataAttributes.java index 826714d9..7fce46ab 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogFieldDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java b/src/main/java/com/rootly/client/model/UpdateCatalogProperty.java index 3b0e9fcc..ab1fab10 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 07bff696..2ee42156 100644 --- a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java +++ b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyData.java @@ -49,7 +49,7 @@ /** * UpdateCatalogPropertyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogPropertyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCatalogPropertyDataAttributes.java index b98bcd6f..413995a3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCatalogPropertyDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCause.java b/src/main/java/com/rootly/client/model/UpdateCause.java index 979ca079..d88bbc9b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7fe58d67..053d4d26 100644 --- a/src/main/java/com/rootly/client/model/UpdateCauseData.java +++ b/src/main/java/com/rootly/client/model/UpdateCauseData.java @@ -49,7 +49,7 @@ /** * UpdateCauseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCauseDataAttributes.java index 342a1f71..16ed2b9f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCauseDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java b/src/main/java/com/rootly/client/model/UpdateClickupTaskTaskParams.java index ed483ea2..ef5830fb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 55232ab8..9648634f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f7e9f11..a5936c1e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f7661be..b6637eb6 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupData.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsGroupDataAttributes.java index 9105b310..bfab09c2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c517227e..74532c45 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 34b676f3..297b9856 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 980b7107..abd6212a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fbf646f7..8c369662 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageData.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsStageData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsStageData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsStageDataAttributes.java index bd581eca..c0de3dd6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsStageDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplate.java index 01f8f0cd..1bfa7dbe 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f16d560f..dbadca2e 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateData.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTemplateDataAttributes.java index 64e33a7c..c2d4393c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a673dd76..a3a6cc55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d39c9c01..3476863b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1dd36433..f9f28c1d 100644 --- a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java +++ b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeData.java @@ -49,7 +49,7 @@ /** * UpdateCommunicationsTypeData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTypeData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCommunicationsTypeDataAttributes.java index e7708cb1..04aff400 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCommunicationsTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateConfluencePageTaskParams.java index 12b46be3..acf6fa9c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a03ce98d..3a5661b3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cb3ba0a5..b8e72e77 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 260e4179..c179068a 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldData.java @@ -49,7 +49,7 @@ /** * UpdateCustomFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldDataAttributes.java index aa7d9439..d15dc56e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 20abb29a..c604d336 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b07ad69d..415e8cfe 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionData.java @@ -49,7 +49,7 @@ /** * UpdateCustomFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributes.java index ce1594e1..c8a7751c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d7417f34..571ee065 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3e0574f9..d2f7bfa8 100644 --- a/src/main/java/com/rootly/client/model/UpdateCustomFormData.java +++ b/src/main/java/com/rootly/client/model/UpdateCustomFormData.java @@ -49,7 +49,7 @@ /** * UpdateCustomFormData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateCustomFormDataAttributes.java index cffdfd91..d614dbb6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateCustomFormDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateDashboard.java b/src/main/java/com/rootly/client/model/UpdateDashboard.java index 6939bc66..776afeb8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 203f181b..a5cebe7d 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardData.java @@ -49,7 +49,7 @@ /** * UpdateDashboardData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardDataAttributes.java index 6b533541..8e1b4801 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0712fb70..9eced9ce 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8f2a507a..74218cbe 100644 --- a/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java +++ b/src/main/java/com/rootly/client/model/UpdateDashboardPanelData.java @@ -49,7 +49,7 @@ /** * UpdateDashboardPanelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateDashboardPanelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateDashboardPanelDataAttributes.java index c469690e..f926bbda 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7809d017..b3bef50f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 236777d9..852469a7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c99baa23..ec06febd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f47e815b..5c514119 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6df6fe33..07bef421 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c604af3b..6873ce2c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6f5496d4..45f65b64 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/UpdateEdgeConnectorRequest.java b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequest.java index d537dcc3..b3971608 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c97b5c19..98f82037 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0cefcc21..dbe5aa01 100644 --- a/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEdgeConnectorRequestDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateEdgeConnectorRequestDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEdgeConnectorRequestDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironment.java b/src/main/java/com/rootly/client/model/UpdateEnvironment.java index c0671c1a..b7598d30 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5a77ce7f..8432766c 100644 --- a/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java +++ b/src/main/java/com/rootly/client/model/UpdateEnvironmentData.java @@ -49,7 +49,7 @@ /** * UpdateEnvironmentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEnvironmentDataAttributes.java index dd31b866..280066b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEnvironmentDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicy.java index fef20f72..8e4030ed 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 cd4f0a62..af1a6dfd 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyData.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributes.java index a6165b02..6d25a2b6 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b560a12f..16924f26 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a5455cc7..8f9a08b9 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelData.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyLevelData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyLevelData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributes.java index 6c522fcf..22a36a40 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b200ba99..a86146b4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 393e09d9..997f17f2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 55d84687..1db7f324 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathData.java @@ -49,7 +49,7 @@ /** * UpdateEscalationPolicyPathData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java index 0f8e7133..507abcdf 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateEscalationPolicyPathDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java index 5561f273..6b1c7da1 100644 --- a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java +++ b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInner.java @@ -67,7 +67,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateEscalationPolicyPathDataAttributesRulesInner extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateEscalationPolicyPathDataAttributesRulesInner.class.getName()); diff --git a/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java b/src/main/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner.java index cad15f7f..719ab8c1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dbd20746..3a9f5811 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 033141fd..d327c1d2 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldData.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldDataAttributes.java index d91cbac1..c7d95908 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldDataAttributes { /** * The kind of the form field diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOption.java index 059cb077..40a4f9ef 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 036f0f60..7dd30181 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionData.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldOptionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldOptionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributes.java index 528bcb26..f4f87836 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b3661f5..b2ce0eaf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7fe0bccc..48ddfc52 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6216e93d..b615401c 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionData.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributes.java index db139c5f..afe9b997 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6f06fb23..8f815c2a 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementData.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPlacementData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPlacementData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributes.java index e458c932..c6ec3b36 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 942a0b2b..d6746308 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e615c440..fc3433c5 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionData.java @@ -49,7 +49,7 @@ /** * UpdateFormFieldPositionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormFieldPositionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributes.java index 7735e5c1..5ed2416f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 21679ca3..1ebee438 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1cd1c3f3..95b1505b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c6b3a883..6d861fec 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetConditionData.java @@ -49,7 +49,7 @@ /** * UpdateFormSetConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetConditionDataAttributes.java index 6df10743..e5b2be7b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c5b95c8a..a615d1d2 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetData.java @@ -49,7 +49,7 @@ /** * UpdateFormSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java index 2bf3e3c9..81fbc1aa 100644 --- a/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateFormSetDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateFormSetDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFormSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionality.java b/src/main/java/com/rootly/client/model/UpdateFunctionality.java index 3e0354d9..54de7184 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bcc1ac6f..b291ad58 100644 --- a/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateFunctionalityData.java @@ -49,7 +49,7 @@ /** * UpdateFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateFunctionalityDataAttributes.java index 0bcf7547..355e3c6f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateFunctionalityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java index 3c0d4db6..45b9f551 100644 --- a/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateGithubIssueTaskParams.java @@ -53,7 +53,7 @@ /** * UpdateGithubIssueTaskParams */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8189a289..7f4b8f24 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) */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a3fcf6bf..8dadcec5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 36d08a1f..6b4d76cf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/UpdateGoogleDocsPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParams.java index 2dd4c9b3..6df38004 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 41bcef0c..c35bb25d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f1706774..911e7943 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatData.java @@ -49,7 +49,7 @@ /** * UpdateHeartbeatData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateHeartbeatData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java index f8528a3c..c0da7071 100644 --- a/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateHeartbeatDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateHeartbeatDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 99ae151f..e15795be 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d1a582d4..54eadfc9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5e79a1d0..08d9f1e6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentActionItemData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentActionItemData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java index 2efc95c0..2ac75957 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentActionItemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b27b15ac..42fd0b0d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3eb4cf90..d272b47b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributes.java index 8cd5279f..a5184bca 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 234502fb..2d3c3df8 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentDataAttributes.java index ed53363f..bce0f404 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java b/src/main/java/com/rootly/client/model/UpdateIncidentEvent.java index 4b517993..873d69dc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f27acce4..327500a6 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventDataAttributes.java index be4c9bc9..30fe469d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0345dea6..02e54d72 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 173addb3..a978e671 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEventFunctionalityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventFunctionalityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributes.java index 02306d06..e5de1dd8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 dfa47e9b..5f810288 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c1f0fef..ada72ece 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentEventServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentEventServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributes.java index 289c4197..a5096341 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b261c66..bddee9d9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 805033df..70e7605c 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentFeedbackData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFeedbackData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributes.java index c03b3d1e..8415b457 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 152d0b3e..fbb63bbf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a4b583ad..4b0d8284 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentFormFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentFormFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributes.java index f36d7b3a..8d43110c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 65b63493..50da2bf2 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f14c9c2b..fbc55265 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a05c7760..ffd8bdba 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetBooleanData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetBooleanData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributes.java index 1ee8d956..142fe854 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a029320c..ab24ae18 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 99a9fd86..74d1d165 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributes.java index 30d4561b..a62dbabd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResource.java index 0e502ae3..d0e97f14 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c1874dda..e18595eb 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPermissionSetResourceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPermissionSetResourceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributes.java index 5b9685c6..1d5b8f2d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 500a0e3c..93da7e05 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7f0adf6b..88bb4646 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentPostMortemData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java index fb42349d..9e2ca4d0 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributes.java @@ -51,7 +51,7 @@ /** * UpdateIncidentPostMortemDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentPostMortemDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java b/src/main/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParams.java index d933a512..a654546e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 293c5512..230d9547 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9b07f419..f87ef0ab 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRetrospectiveStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRetrospectiveStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributes.java index 7cb581eb..a029727d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 400d1600..c5dfb3de 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a29c7f85..0bfcc33c 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleDataAttributes.java index 1b378430..ef413421 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTask.java index ced80125..48cdbc02 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ad420d0d..e1d0673a 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentRoleTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentRoleTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributes.java index e073b641..fdd2eb45 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c050d262..a0e24579 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d025fff6..c27cbab2 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEventData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentStatusPageEventData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java index aa10baf8..96b1900e 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateIncidentStatusPageEventDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 98033e6a..5d4e7a70 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ca14ad03..94671c37 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ac7c3814..eac23842 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributes.java index 53538a00..058f7d55 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 878d3dac..bc449bb8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7a0ea163..147d263f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 be672e03..7ee1631b 100644 --- a/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java +++ b/src/main/java/com/rootly/client/model/UpdateIncidentTypeData.java @@ -49,7 +49,7 @@ /** * UpdateIncidentTypeData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateIncidentTypeDataAttributes.java index 35457756..59adf9ad 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateIncidentTypeDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java b/src/main/java/com/rootly/client/model/UpdateJiraIssueTaskParams.java index 74c6b26b..82d6e50d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 88ca580b..a72a0b3b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 35d2e5e6..9d62b0a8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9d27ffe9..87bc6b02 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 922dbbd8..5b087b8e 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterData.java @@ -49,7 +49,7 @@ /** * UpdateLiveCallRouterData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateLiveCallRouterData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java index 094073a1..533740fc 100644 --- a/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateLiveCallRouterDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 47020136..d8f4d612 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9939494c..fc164d22 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a6a4682a..10bc5ea5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5999104a..38d47784 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 259b8a64..697d879f 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportData.java @@ -49,7 +49,7 @@ /** * UpdateOnCallPayReportData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallPayReportData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallPayReportDataAttributes.java index dbfa1d41..408f5a3c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5f4fb79c..fc41a0d1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 92d2ccbf..6a3c0fbe 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleData.java @@ -49,7 +49,7 @@ /** * UpdateOnCallRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java index 25f482f5..354d8999 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallRoleDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateOnCallRoleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadow.java index f1af3d21..67f4fddf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f4387764..02d835aa 100644 --- a/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java +++ b/src/main/java/com/rootly/client/model/UpdateOnCallShadowData.java @@ -49,7 +49,7 @@ /** * UpdateOnCallShadowData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOnCallShadowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOnCallShadowDataAttributes.java index 1ef24c28..f782688f 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0049356f..33e19731 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2bd85338..8647cd7d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1cd6f5d1..b0f51e4e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0a883b63..b9f42f9c 100644 --- a/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java +++ b/src/main/java/com/rootly/client/model/UpdateOverrideShiftData.java @@ -49,7 +49,7 @@ /** * UpdateOverrideShiftData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateOverrideShiftData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateOverrideShiftDataAttributes.java index 25fc0c57..3e6d2616 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f89d8feb..c8e0fba9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 32ab3bc4..f848c738 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5f205088..b42ddec4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ccaa3502..327ee02b 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookData.java @@ -49,7 +49,7 @@ /** * UpdatePlaybookData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookDataAttributes.java index 8f3862e6..d062c5cd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTask.java index 8913f691..724f89df 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3714714a..61998618 100644 --- a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskData.java @@ -49,7 +49,7 @@ /** * UpdatePlaybookTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePlaybookTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributes.java index c09de2b5..259e902e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4987604e..83d68ada 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 488f42ec..0335ffd8 100644 --- a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateData.java @@ -49,7 +49,7 @@ /** * UpdatePostMortemTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributes.java index 60cf4b60..ddfee3c0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePostMortemTemplateDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdatePulse.java b/src/main/java/com/rootly/client/model/UpdatePulse.java index 55187fe8..3d127d53 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e1866289..41e02d73 100644 --- a/src/main/java/com/rootly/client/model/UpdatePulseData.java +++ b/src/main/java/com/rootly/client/model/UpdatePulseData.java @@ -49,7 +49,7 @@ /** * UpdatePulseData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdatePulseData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java b/src/main/java/com/rootly/client/model/UpdatePulseDataAttributes.java index 80848129..2729bda5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fb8f6e62..c4e9ae54 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 71894885..fc47afaf 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 15c02fb1..6d2ba8e2 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationData.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveConfigurationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveConfigurationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributes.java index 5fbe30cb..7db410af 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 bfebef3d..d704c428 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 93497f67..9731cedd 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessData.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributes.java index e666e454..daa90a56 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 84533bf7..ca2aa656 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a04bb302..af80c5cd 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupData.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributes.java index 8e46b769..cac297fc 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 15066f2c..a50fb299 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d33d8164..736cc147 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepData.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveProcessGroupStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveProcessGroupStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributes.java index 972ae952..370c85e4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c0bd38fd..b22d77b1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 8011b0b0..c21ab9a7 100644 --- a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java +++ b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepData.java @@ -49,7 +49,7 @@ /** * UpdateRetrospectiveStepData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributes.java index 043b9e87..5000783e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRetrospectiveStepDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateRole.java b/src/main/java/com/rootly/client/model/UpdateRole.java index 2e9aae1e..bab8cb04 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2d66db82..e17b5d15 100644 --- a/src/main/java/com/rootly/client/model/UpdateRoleData.java +++ b/src/main/java/com/rootly/client/model/UpdateRoleData.java @@ -49,7 +49,7 @@ /** * UpdateRoleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateRoleDataAttributes.java index abee3f38..0c6aba4e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateRoleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateSchedule.java b/src/main/java/com/rootly/client/model/UpdateSchedule.java index b0cecc7a..d1292926 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ae3fca81..c4c34ca0 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleData.java @@ -49,7 +49,7 @@ /** * UpdateScheduleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java index 8c3b0407..6b93a65d 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleDataAttributes.java @@ -53,7 +53,7 @@ /** * UpdateScheduleDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotation.java index ea59592f..ac9c8065 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 43649c80..aeff4980 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 acbe1449..97816edc 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayData.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationActiveDayData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationActiveDayData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributes.java index 1aa51f66..6f0dc043 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eac1e54c..9919643c 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationData.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationDataAttributes.java index 897b6d15..e720ff9d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUser.java index 20b3cb23..c57fbc03 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5c45ed59..5617f418 100644 --- a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserData.java @@ -49,7 +49,7 @@ /** * UpdateScheduleRotationUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateScheduleRotationUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributes.java index 09e7661b..396741e5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1be00105..6d0404ef 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0f994513..8498ae90 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretData.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretData.java @@ -49,7 +49,7 @@ /** * UpdateSecretData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java index a92080e6..9d62f475 100644 --- a/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateSecretDataAttributes.java @@ -49,7 +49,7 @@ /** * UpdateSecretDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSecretDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateService.java b/src/main/java/com/rootly/client/model/UpdateService.java index 9dfe35c1..2faf41d7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5f7fcadc..2dcc1734 100644 --- a/src/main/java/com/rootly/client/model/UpdateServiceData.java +++ b/src/main/java/com/rootly/client/model/UpdateServiceData.java @@ -49,7 +49,7 @@ /** * UpdateServiceData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateServiceDataAttributes.java index 758bce99..739bb989 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateServiceDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java b/src/main/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParams.java index 08bd378d..dcccd400 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a80e6456..09714a25 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7ae6c933..a4e6cad6 100644 --- a/src/main/java/com/rootly/client/model/UpdateSeverityData.java +++ b/src/main/java/com/rootly/client/model/UpdateSeverityData.java @@ -49,7 +49,7 @@ /** * UpdateSeverityData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSeverityDataAttributes.java index afa38ef6..5eb02850 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSeverityDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSharepointPageTaskParams.java index f141fff2..195aeb12 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 49bea6ac..c1171294 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9a9528f7..80ddaf88 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9a29c43c..4eef4eb7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 668816d7..f46b7a8a 100644 --- a/src/main/java/com/rootly/client/model/UpdateSlaData.java +++ b/src/main/java/com/rootly/client/model/UpdateSlaData.java @@ -49,7 +49,7 @@ /** * UpdateSlaData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlaData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSlaDataAttributes.java index 4720bb90..c4623ace 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlaDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java b/src/main/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParams.java index 78a4bdfb..f5dccca7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSlackChannelTopicTaskParams { /** * Gets or Sets taskType diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPage.java b/src/main/java/com/rootly/client/model/UpdateStatusPage.java index 4f61012d..752c47b9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/UpdateStatusPageData.java b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java index b8bfd60d..75953c7b 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageData.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageDataAttributes.java index 68607bf0..e2bc3efd 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageDataAttributes { public static final String SERIALIZED_NAME_TITLE = "title"; @SerializedName(SERIALIZED_NAME_TITLE) diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplate.java index aca8c3a7..39aba44a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f305c272..93444cd7 100644 --- a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java +++ b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateData.java @@ -49,7 +49,7 @@ /** * UpdateStatusPageTemplateData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateStatusPageTemplateData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributes.java index 05ff1670..6ffcf992 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b8841ce..6347d126 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c8aa35d2..6c6cec78 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7a7fa997..ccadada9 100644 --- a/src/main/java/com/rootly/client/model/UpdateSubStatusData.java +++ b/src/main/java/com/rootly/client/model/UpdateSubStatusData.java @@ -49,7 +49,7 @@ /** * UpdateSubStatusData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateSubStatusDataAttributes.java index e3c1f458..a86c1164 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateSubStatusDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateTeam.java b/src/main/java/com/rootly/client/model/UpdateTeam.java index e1102eea..3e5f1fc1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ab51f9b9..be2d16bc 100644 --- a/src/main/java/com/rootly/client/model/UpdateTeamData.java +++ b/src/main/java/com/rootly/client/model/UpdateTeamData.java @@ -49,7 +49,7 @@ /** * UpdateTeamData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateTeamDataAttributes.java index 502f5ad9..595880ff 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateTeamDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java b/src/main/java/com/rootly/client/model/UpdateTrelloCardTaskParams.java index 2da79193..eabe3e24 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5daf49b9..f90c649c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3d21dc57..e2a17df0 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserData.java @@ -49,7 +49,7 @@ /** * UpdateUserData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserDataAttributes.java index 78c66ef2..42acfdae 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5e432a9b..9017e620 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 be3470fb..1eeba79d 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressData.java @@ -49,7 +49,7 @@ /** * UpdateUserEmailAddressData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserEmailAddressData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserEmailAddressDataAttributes.java index 45c3edd0..0638689a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5265362d..997081fa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f2b33fce..4f1e4133 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleData.java @@ -49,7 +49,7 @@ /** * UpdateUserNotificationRuleData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserNotificationRuleData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributes.java index e3bec632..4fef75f3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6894e4b2..995a19e5 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e3ba6497..263008f6 100644 --- a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java +++ b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberData.java @@ -49,7 +49,7 @@ /** * UpdateUserPhoneNumberData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateUserPhoneNumberData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateUserPhoneNumberDataAttributes.java index ca14e5fd..3aac1baa 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f95a59fb..70aea921 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 467620fc..3e31819e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 033f4e04..03d587b4 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointData.java @@ -49,7 +49,7 @@ /** * UpdateWebhooksEndpointData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java index 64bf5e5d..dabc3e48 100644 --- a/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributes.java @@ -50,7 +50,7 @@ /** * UpdateWebhooksEndpointDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWebhooksEndpointDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflow.java b/src/main/java/com/rootly/client/model/UpdateWorkflow.java index 9449be37..1c4d5af4 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/UpdateWorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelection.java index 0fce4ba4..962fbd5d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 61f0a969..4c9d5c17 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionData.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowCustomFieldSelectionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowCustomFieldSelectionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributes.java index f0950106..647ce737 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4a340ba4..6f6c386e 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java index 39f85cb8..a27f5d3a 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowDataAttributes.java @@ -52,7 +52,7 @@ /** * UpdateWorkflowDataAttributes */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowDataAttributes { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldCondition.java index 627a7d30..16d82def 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1f0e0cc5..0ba2e77a 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionData.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowFormFieldConditionData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowFormFieldConditionData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributes.java index a8738d87..65f94dbb 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 04c11c91..640a9665 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5301468e..1f06869f 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupData.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowGroupData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributes.java index 11083b1c..952c8a37 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowGroupDataAttributes { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTask.java index 43f8035d..706676b7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 0e9a7096..c131d16a 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskData.java @@ -49,7 +49,7 @@ /** * UpdateWorkflowTaskData */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskData { /** * Gets or Sets type diff --git a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributes.java index fff297c9..dcd87040 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 966e19f4..65920006 100644 --- a/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java +++ b/src/main/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParams.java @@ -215,7 +215,7 @@ import com.rootly.client.JSON; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class UpdateWorkflowTaskDataAttributesTaskParams extends AbstractOpenApiSchema { private static final Logger log = Logger.getLogger(UpdateWorkflowTaskDataAttributesTaskParams.class.getName()); diff --git a/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java b/src/main/java/com/rootly/client/model/UpdateZendeskTicketTaskParams.java index 1682a1f8..0fdce612 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/User.java b/src/main/java/com/rootly/client/model/User.java index 900fc1cf..f8c92497 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3207d221..ca99f3d9 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 9ad1f5f4..5a27f92b 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddressList.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddressList.java @@ -53,7 +53,7 @@ /** * UserEmailAddressList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 c999416c..da81e790 100644 --- a/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java +++ b/src/main/java/com/rootly/client/model/UserEmailAddressResponse.java @@ -49,7 +49,7 @@ /** * UserEmailAddressResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ededb42e..0f4c5754 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3d75cf79..da7199ea 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 object as returned by serializer */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 af19cc3f..a1b1eb68 100644 --- a/src/main/java/com/rootly/client/model/UserList.java +++ b/src/main/java/com/rootly/client/model/UserList.java @@ -53,7 +53,7 @@ /** * UserList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 7c3a60dd..695bde8d 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 58f3a89a..e005f33d 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleList.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleList.java @@ -53,7 +53,7 @@ /** * UserNotificationRuleList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 393cc558..a1b0cd33 100644 --- a/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java +++ b/src/main/java/com/rootly/client/model/UserNotificationRuleResponse.java @@ -49,7 +49,7 @@ /** * UserNotificationRuleResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 56b000e7..57448246 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3c343097..7d08a2b0 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 b8463e00..edae78d6 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumberList.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberList.java @@ -53,7 +53,7 @@ /** * UserPhoneNumberList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fb087c1b..7f694fae 100644 --- a/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java +++ b/src/main/java/com/rootly/client/model/UserPhoneNumberResponse.java @@ -49,7 +49,7 @@ /** * UserPhoneNumberResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 d5e01219..14b8ef85 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f15caf0e..75e1de1a 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 eb529718..53a5f3d0 100644 --- a/src/main/java/com/rootly/client/model/UserResponse.java +++ b/src/main/java/com/rootly/client/model/UserResponse.java @@ -49,7 +49,7 @@ /** * UserResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 5975b7d4..0eabe0ba 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/VerifyPhoneNumberRequest.java b/src/main/java/com/rootly/client/model/VerifyPhoneNumberRequest.java index 1cd6d470..90ef5fab 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/WebhooksDelivery.java b/src/main/java/com/rootly/client/model/WebhooksDelivery.java index 7eef113a..1df3b4a8 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aaa88b58..03e345ee 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryList.java @@ -53,7 +53,7 @@ /** * WebhooksDeliveryList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ad5f6cb2..d74ef51a 100644 --- a/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksDeliveryResponse.java @@ -49,7 +49,7 @@ /** * WebhooksDeliveryResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 436637eb..b66f6aa3 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1c4e4868..53d1bfda 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpoint.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpoint.java @@ -50,7 +50,7 @@ /** * WebhooksEndpoint */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WebhooksEndpoint { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java index e312596a..b300ffdd 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointList.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointList.java @@ -53,7 +53,7 @@ /** * WebhooksEndpointList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 29b92497..9748149d 100644 --- a/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java +++ b/src/main/java/com/rootly/client/model/WebhooksEndpointResponse.java @@ -49,7 +49,7 @@ /** * WebhooksEndpointResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ee20cfd2..de0a43a1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 59135897..3d95d234 100644 --- a/src/main/java/com/rootly/client/model/Workflow.java +++ b/src/main/java/com/rootly/client/model/Workflow.java @@ -52,7 +52,7 @@ /** * Workflow */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class Workflow { public static final String SERIALIZED_NAME_NAME = "name"; @SerializedName(SERIALIZED_NAME_NAME) diff --git a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelection.java index 082a0cb1..88c0f037 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 2a48add2..dff14ab2 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionList.java @@ -53,7 +53,7 @@ /** * WorkflowCustomFieldSelectionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 fc369768..a4d8ad77 100644 --- a/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponse.java @@ -49,7 +49,7 @@ /** * WorkflowCustomFieldSelectionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a3d031d5..05febbb1 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 3b87eaac..2e7ece98 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 07846bb4..6219ca30 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionList.java @@ -53,7 +53,7 @@ /** * WorkflowFormFieldConditionList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 561c28bb..16efa067 100644 --- a/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowFormFieldConditionResponse.java @@ -49,7 +49,7 @@ /** * WorkflowFormFieldConditionResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 759afc2b..17f62252 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 4fcbb940..61a755b7 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[Etc/UTC]", comments = "Generator version: 7.13.0") public class WorkflowGroup { /** * The kind of the workflow group diff --git a/src/main/java/com/rootly/client/model/WorkflowGroupList.java b/src/main/java/com/rootly/client/model/WorkflowGroupList.java index b2727931..da16a5c9 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupList.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupList.java @@ -53,7 +53,7 @@ /** * WorkflowGroupList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 e68854a8..7a3e3273 100644 --- a/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowGroupResponse.java @@ -49,7 +49,7 @@ /** * WorkflowGroupResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 6221d1ee..af504d56 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1ded4684..1bf7cb5c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowList.java +++ b/src/main/java/com/rootly/client/model/WorkflowList.java @@ -53,7 +53,7 @@ /** * WorkflowList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 a42a3699..394d3b7a 100644 --- a/src/main/java/com/rootly/client/model/WorkflowResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowResponse.java @@ -49,7 +49,7 @@ /** * WorkflowResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 f3a63ffd..45e65d0c 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 940769a4..41fb932b 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 45509ac5..3dbf2b64 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunResponse.java @@ -49,7 +49,7 @@ /** * WorkflowRunResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 851b6060..89399738 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 901b0887..88fdccc0 100644 --- a/src/main/java/com/rootly/client/model/WorkflowRunsList.java +++ b/src/main/java/com/rootly/client/model/WorkflowRunsList.java @@ -53,7 +53,7 @@ /** * WorkflowRunsList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 1ebff143..462a6e37 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 aa83bad9..a3d0450a 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskList.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskList.java @@ -53,7 +53,7 @@ /** * WorkflowTaskList */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 77966640..79961c6c 100644 --- a/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java +++ b/src/main/java/com/rootly/client/model/WorkflowTaskResponse.java @@ -49,7 +49,7 @@ /** * WorkflowTaskResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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 ecf386c7..61fbe775 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 */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:27:13.146665190Z[Etc/UTC]", comments = "Generator version: 7.13.0") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-07T08:36:28.586343560Z[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/test/java/com/rootly/client/api/AlertEventsApiTest.java b/src/test/java/com/rootly/client/api/AlertEventsApiTest.java index 56925824..7b9370a7 100644 --- a/src/test/java/com/rootly/client/api/AlertEventsApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertEventsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -53,7 +53,7 @@ public void createAlertEventTest() throws ApiException { /** * Delete alert event * - * Deletes a specific alert event + * Deletes a specific alert event. Only alert events with kind 'note' (user-created notes) can be deleted. System-generated events are immutable to maintain audit trail integrity. * * @throws ApiException if the Api call fails */ @@ -100,7 +100,7 @@ public void listAlertEventsTest() throws ApiException { /** * Update alert event * - * Updates a specific alert event + * Updates a specific alert event. Only alert events with kind 'note' (user-created notes) can be updated. System-generated events are immutable to maintain audit trail integrity. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/AlertGroupsApiTest.java b/src/test/java/com/rootly/client/api/AlertGroupsApiTest.java index 039ab3ba..12622600 100644 --- a/src/test/java/com/rootly/client/api/AlertGroupsApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertGroupsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.AlertGroupList; import com.rootly.client.model.AlertGroupResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewAlertGroup; import com.rootly.client.model.UpdateAlertGroup; import org.junit.jupiter.api.Disabled; @@ -38,7 +39,7 @@ public class AlertGroupsApiTest { /** * Creates an alert group * - * Creates a new alert group + * Creates a new alert group. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * * @throws ApiException if the Api call fails */ @@ -58,7 +59,7 @@ public void createAlertGroupTest() throws ApiException { */ @Test public void deleteAlertGroupTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AlertGroupResponse response = api.deleteAlertGroup(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteAlertGroupTest() throws ApiException { */ @Test public void getAlertGroupTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AlertGroupResponse response = api.getAlertGroup(id); // TODO: test validations } @@ -94,13 +95,13 @@ public void listAlertGroupsTest() throws ApiException { /** * Update an alert group * - * Update a specific alert group by id + * Update a specific alert group by id. **Note**: For enhanced functionality and future compatibility, consider using the advanced alert grouping with `conditions` field instead of the legacy `group_by_alert_title`, `group_by_alert_urgency`, and `attributes` fields. * * @throws ApiException if the Api call fails */ @Test public void updateAlertGroupTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateAlertGroup updateAlertGroup = null; AlertGroupResponse response = api.updateAlertGroup(id, updateAlertGroup); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java b/src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java index a6b47fc8..bcd6a8fa 100644 --- a/src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertRoutingRulesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.AlertRoutingRuleList; import com.rootly.client.model.AlertRoutingRuleResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewAlertRoutingRule; import com.rootly.client.model.UpdateAlertRoutingRule; import org.junit.jupiter.api.Disabled; @@ -38,7 +39,7 @@ public class AlertRoutingRulesApiTest { /** * Creates an alert routing rule * - * Creates a new alert routing rule from provided data + * Creates a new alert routing rule from provided data. **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.** * * @throws ApiException if the Api call fails */ @@ -52,13 +53,13 @@ public void createAlertRoutingRuleTest() throws ApiException { /** * Delete an alert routing rule * - * Delete a specific alert routing rule by id + * Delete a specific alert routing rule by id. **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.** * * @throws ApiException if the Api call fails */ @Test public void deleteAlertRoutingRuleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AlertRoutingRuleResponse response = api.deleteAlertRoutingRule(id); // TODO: test validations } @@ -66,13 +67,13 @@ public void deleteAlertRoutingRuleTest() throws ApiException { /** * Retrieves an alert routing rule * - * Retrieves a specific alert routing rule by id + * Retrieves a specific alert routing rule by id. **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.** * * @throws ApiException if the Api call fails */ @Test public void getAlertRoutingRuleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AlertRoutingRuleResponse response = api.getAlertRoutingRule(id); // TODO: test validations } @@ -80,7 +81,7 @@ public void getAlertRoutingRuleTest() throws ApiException { /** * List alert routing rules * - * List alert routing rules + * 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.** * * @throws ApiException if the Api call fails */ @@ -103,13 +104,13 @@ public void listAlertRoutingRulesTest() throws ApiException { /** * Update an alert routing rule * - * Update a specific alert routing rule by id + * Update a specific alert routing rule by id. **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.** * * @throws ApiException if the Api call fails */ @Test public void updateAlertRoutingRuleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateAlertRoutingRule updateAlertRoutingRule = null; AlertRoutingRuleResponse response = api.updateAlertRoutingRule(id, updateAlertRoutingRule); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/AlertSourcesApiTest.java b/src/test/java/com/rootly/client/api/AlertSourcesApiTest.java index ef7d6612..d78a3c8c 100644 --- a/src/test/java/com/rootly/client/api/AlertSourcesApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertSourcesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -43,9 +43,9 @@ public class AlertSourcesApiTest { * @throws ApiException if the Api call fails */ @Test - public void createAlertSourceTest() throws ApiException { + public void createAlertsSourceTest() throws ApiException { NewAlertsSource newAlertsSource = null; - AlertsSourceResponse response = api.createAlertSource(newAlertsSource); + AlertsSourceResponse response = api.createAlertsSource(newAlertsSource); // TODO: test validations } @@ -57,9 +57,9 @@ public void createAlertSourceTest() throws ApiException { * @throws ApiException if the Api call fails */ @Test - public void deleteAlertSourceTest() throws ApiException { + public void deleteAlertsSourceTest() throws ApiException { String id = null; - AlertsSourceResponse response = api.deleteAlertSource(id); + AlertsSourceResponse response = api.deleteAlertsSource(id); // TODO: test validations } @@ -71,9 +71,9 @@ public void deleteAlertSourceTest() throws ApiException { * @throws ApiException if the Api call fails */ @Test - public void getAlertSourceTest() throws ApiException { + public void getAlertsSourceTest() throws ApiException { String id = null; - AlertsSourceResponse response = api.getAlertSource(id); + AlertsSourceResponse response = api.getAlertsSource(id); // TODO: test validations } @@ -85,15 +85,16 @@ public void getAlertSourceTest() throws ApiException { * @throws ApiException if the Api call fails */ @Test - public void listAlertSourcesTest() throws ApiException { + public void listAlertsSourcesTest() throws ApiException { String include = null; Integer pageNumber = null; Integer pageSize = null; String filterSearch = null; String filterStatuses = null; String filterSourceTypes = null; + String filterName = null; String sort = null; - AlertsSourceList response = api.listAlertSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, sort); + AlertsSourceList response = api.listAlertsSources(include, pageNumber, pageSize, filterSearch, filterStatuses, filterSourceTypes, filterName, sort); // TODO: test validations } @@ -105,10 +106,10 @@ public void listAlertSourcesTest() throws ApiException { * @throws ApiException if the Api call fails */ @Test - public void updateAlertSourceTest() throws ApiException { + public void updateAlertsSourceTest() throws ApiException { String id = null; UpdateAlertsSource updateAlertsSource = null; - AlertsSourceResponse response = api.updateAlertSource(id, updateAlertsSource); + AlertsSourceResponse response = api.updateAlertsSource(id, updateAlertsSource); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/AlertUrgenciesApiTest.java b/src/test/java/com/rootly/client/api/AlertUrgenciesApiTest.java index c4705247..b89e3ce4 100644 --- a/src/test/java/com/rootly/client/api/AlertUrgenciesApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertUrgenciesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/AlertsApiTest.java b/src/test/java/com/rootly/client/api/AlertsApiTest.java index 3b2ed973..0a95bde8 100644 --- a/src/test/java/com/rootly/client/api/AlertsApiTest.java +++ b/src/test/java/com/rootly/client/api/AlertsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,8 +18,10 @@ import com.rootly.client.model.AlertResponse; import com.rootly.client.model.AttachAlert; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.EscalateAlert; import com.rootly.client.model.NewAlert; import com.rootly.client.model.ResolveAlert; +import com.rootly.client.model.SnoozeAlert; import com.rootly.client.model.UpdateAlert; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -81,47 +83,46 @@ public void createAlertTest() throws ApiException { } /** - * Retrieves an alert + * Escalates an alert * - * Retrieves a specific alert by id + * Escalates a specific alert to the next or specified level in its escalation policy * * @throws ApiException if the Api call fails */ @Test - public void getAlertTest() throws ApiException { + public void escalateAlertTest() throws ApiException { String id = null; - AlertResponse response = api.getAlert(id); + EscalateAlert escalateAlert = null; + AlertResponse response = api.escalateAlert(id, escalateAlert); // TODO: test validations } /** - * List alerts + * Retrieves an alert * - * List alerts + * Retrieves a specific alert by id * * @throws ApiException if the Api call fails */ @Test - public void listAlertsTest() throws ApiException { + public void getAlertTest() throws ApiException { + String id = null; String include = null; - String filterStatus = null; - Integer pageNumber = null; - Integer pageSize = null; - AlertList response = api.listAlerts(include, filterStatus, pageNumber, pageSize); + AlertResponse response = api.getAlert(id, include); // TODO: test validations } /** - * List Incident alerts + * List alerts * - * List incident alerts + * List alerts * * @throws ApiException if the Api call fails */ @Test - public void listIncidentAlertsTest() throws ApiException { - String incidentId = null; + public void listAlertsTest() throws ApiException { String include = null; + String filterStatus = null; String filterSource = null; String filterServices = null; String filterEnvironments = null; @@ -139,9 +140,29 @@ public void listIncidentAlertsTest() throws ApiException { String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; + String filterUpdatedAtGt = null; + String filterUpdatedAtGte = null; + String filterUpdatedAtLt = null; + String filterUpdatedAtLte = null; + String pageAfter = null; Integer pageNumber = null; Integer pageSize = null; - AlertList response = api.listIncidentAlerts(incidentId, include, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + AlertList response = api.listAlerts(include, filterStatus, filterSource, filterServices, filterEnvironments, filterGroups, filterLabels, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterEndedAtGt, filterEndedAtGte, filterEndedAtLt, filterEndedAtLte, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, pageAfter, pageNumber, pageSize); + // TODO: test validations + } + + /** + * List Incident alerts + * + * List incident alerts + * + * @throws ApiException if the Api call fails + */ + @Test + public void listIncidentAlertsTest() throws ApiException { + String incidentId = null; + String include = null; + AlertList response = api.listIncidentAlerts(incidentId, include); // TODO: test validations } @@ -160,6 +181,21 @@ public void resolveAlertTest() throws ApiException { // TODO: test validations } + /** + * Snoozes an alert + * + * Snoozes a specific alert by id, extending the acknowledgment timeout + * + * @throws ApiException if the Api call fails + */ + @Test + public void snoozeAlertTest() throws ApiException { + String id = null; + SnoozeAlert snoozeAlert = null; + AlertResponse response = api.snoozeAlert(id, snoozeAlert); + // TODO: test validations + } + /** * Update alert * diff --git a/src/test/java/com/rootly/client/api/AuditsApiTest.java b/src/test/java/com/rootly/client/api/AuditsApiTest.java index 4d592320..1905bd09 100644 --- a/src/test/java/com/rootly/client/api/AuditsApiTest.java +++ b/src/test/java/com/rootly/client/api/AuditsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/AuthorizationsApiTest.java b/src/test/java/com/rootly/client/api/AuthorizationsApiTest.java index 786eee89..1fc28b5e 100644 --- a/src/test/java/com/rootly/client/api/AuthorizationsApiTest.java +++ b/src/test/java/com/rootly/client/api/AuthorizationsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/CatalogEntitiesApiTest.java b/src/test/java/com/rootly/client/api/CatalogEntitiesApiTest.java index 229891e3..615852d5 100644 --- a/src/test/java/com/rootly/client/api/CatalogEntitiesApiTest.java +++ b/src/test/java/com/rootly/client/api/CatalogEntitiesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.CatalogEntityList; import com.rootly.client.model.CatalogEntityResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCatalogEntity; import com.rootly.client.model.UpdateCatalogEntity; import org.junit.jupiter.api.Disabled; @@ -59,7 +60,7 @@ public void createCatalogEntityTest() throws ApiException { */ @Test public void deleteCatalogEntityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CatalogEntityResponse response = api.deleteCatalogEntity(id); // TODO: test validations } @@ -73,7 +74,7 @@ public void deleteCatalogEntityTest() throws ApiException { */ @Test public void getCatalogEntityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String include = null; CatalogEntityResponse response = api.getCatalogEntity(id, include); // TODO: test validations @@ -93,13 +94,15 @@ public void listCatalogEntitiesTest() throws ApiException { String sort = null; Integer pageNumber = null; Integer pageSize = null; + String filterSearch = null; String filterSlug = null; String filterName = null; + String filterBackstageId = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; - CatalogEntityList response = api.listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + CatalogEntityList response = api.listCatalogEntities(catalogId, include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); // TODO: test validations } @@ -112,7 +115,7 @@ public void listCatalogEntitiesTest() throws ApiException { */ @Test public void updateCatalogEntityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateCatalogEntity updateCatalogEntity = null; CatalogEntityResponse response = api.updateCatalogEntity(id, updateCatalogEntity); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/CatalogEntityPropertiesApiTest.java b/src/test/java/com/rootly/client/api/CatalogEntityPropertiesApiTest.java index d302303f..4ed097bf 100644 --- a/src/test/java/com/rootly/client/api/CatalogEntityPropertiesApiTest.java +++ b/src/test/java/com/rootly/client/api/CatalogEntityPropertiesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -38,7 +38,7 @@ public class CatalogEntityPropertiesApiTest { /** * Creates a Catalog Entity Property * - * Creates a new Catalog Entity Property from provided data + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Creates a new Catalog Entity Property from provided data. * * @throws ApiException if the Api call fails */ @@ -53,7 +53,7 @@ public void createCatalogEntityPropertyTest() throws ApiException { /** * Delete a Catalog Entity Property * - * Delete a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Delete a specific Catalog Entity Property by id. * * @throws ApiException if the Api call fails */ @@ -67,7 +67,7 @@ public void deleteCatalogEntityPropertyTest() throws ApiException { /** * Retrieves a Catalog Entity Property * - * Retrieves a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. Retrieves a specific Catalog Entity Property by id. * * @throws ApiException if the Api call fails */ @@ -82,7 +82,7 @@ public void getCatalogEntityPropertyTest() throws ApiException { /** * List catalog properties * - * List Catalog Entity Properties + * **Deprecated:** This endpoint is deprecated, please use `include=fields` on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to retrieve field values instead. List Catalog Entity Properties. * * @throws ApiException if the Api call fails */ @@ -106,7 +106,7 @@ public void listCatalogEntityPropertiesTest() throws ApiException { /** * Update a Catalog Entity Property * - * Update a specific Catalog Entity Property by id + * **Deprecated:** This endpoint is deprecated, please use the `fields` attribute on catalog entities or native catalog endpoints (teams, services, functionalities, incident_types, causes, environments) to set field values instead. Update a specific Catalog Entity Property by id. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/CatalogFieldsApiTest.java b/src/test/java/com/rootly/client/api/CatalogFieldsApiTest.java deleted file mode 100644 index c7bfd71f..00000000 --- a/src/test/java/com/rootly/client/api/CatalogFieldsApiTest.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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.CatalogFieldList; -import com.rootly.client.model.CatalogFieldResponse; -import com.rootly.client.model.ErrorsList; -import com.rootly.client.model.NewCatalogField; -import com.rootly.client.model.UpdateCatalogField; -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 CatalogFieldsApi - */ -@Disabled -public class CatalogFieldsApiTest { - - private final CatalogFieldsApi api = new CatalogFieldsApi(); - - /** - * Creates a Catalog Field - * - * Creates a new Catalog Field from provided data - * - * @throws ApiException if the Api call fails - */ - @Test - public void createCatalogFieldTest() throws ApiException { - String catalogId = null; - NewCatalogField newCatalogField = null; - CatalogFieldResponse response = api.createCatalogField(catalogId, newCatalogField); - // TODO: test validations - } - - /** - * Delete a catalog_field - * - * Delete a specific catalog_field by id - * - * @throws ApiException if the Api call fails - */ - @Test - public void deleteCatalogFieldTest() throws ApiException { - String id = null; - CatalogFieldResponse response = api.deleteCatalogField(id); - // TODO: test validations - } - - /** - * Retrieves a Catalog Field - * - * Retrieves a specific Catalog Field by id - * - * @throws ApiException if the Api call fails - */ - @Test - public void getCatalogFieldTest() throws ApiException { - String id = null; - String include = null; - CatalogFieldResponse response = api.getCatalogField(id, include); - // TODO: test validations - } - - /** - * List Catalog Fields - * - * List Catalog Fields - * - * @throws ApiException if the Api call fails - */ - @Test - public void listCatalogFieldsTest() throws ApiException { - String catalogId = null; - String include = null; - String sort = null; - Integer pageNumber = null; - Integer pageSize = null; - String filterSlug = null; - String filterName = null; - String filterKind = null; - String filterCreatedAtGt = null; - String filterCreatedAtGte = null; - String filterCreatedAtLt = null; - String filterCreatedAtLte = null; - CatalogFieldList response = api.listCatalogFields(catalogId, include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); - // TODO: test validations - } - - /** - * Update a catalog_field - * - * Update a specific catalog_field by id - * - * @throws ApiException if the Api call fails - */ - @Test - public void updateCatalogFieldTest() throws ApiException { - String id = null; - UpdateCatalogField updateCatalogField = null; - CatalogFieldResponse response = api.updateCatalogField(id, updateCatalogField); - // TODO: test validations - } - -} diff --git a/src/test/java/com/rootly/client/api/CatalogsApiTest.java b/src/test/java/com/rootly/client/api/CatalogsApiTest.java index db843eee..e9c4abf4 100644 --- a/src/test/java/com/rootly/client/api/CatalogsApiTest.java +++ b/src/test/java/com/rootly/client/api/CatalogsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.CatalogList; import com.rootly.client.model.CatalogResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCatalog; import com.rootly.client.model.UpdateCatalog; import org.junit.jupiter.api.Disabled; @@ -58,7 +59,7 @@ public void createCatalogTest() throws ApiException { */ @Test public void deleteCatalogTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CatalogResponse response = api.deleteCatalog(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteCatalogTest() throws ApiException { */ @Test public void getCatalogTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CatalogResponse response = api.getCatalog(id); // TODO: test validations } @@ -90,13 +91,14 @@ public void listCatalogsTest() throws ApiException { String sort = null; Integer pageNumber = null; Integer pageSize = null; + String filterSearch = null; String filterSlug = null; String filterName = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; - CatalogList response = api.listCatalogs(include, sort, pageNumber, pageSize, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + CatalogList response = api.listCatalogs(include, sort, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); // TODO: test validations } @@ -109,7 +111,7 @@ public void listCatalogsTest() throws ApiException { */ @Test public void updateCatalogTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateCatalog updateCatalog = null; CatalogResponse response = api.updateCatalog(id, updateCatalog); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/CausesApiTest.java b/src/test/java/com/rootly/client/api/CausesApiTest.java index daad8bce..b33af03d 100644 --- a/src/test/java/com/rootly/client/api/CausesApiTest.java +++ b/src/test/java/com/rootly/client/api/CausesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,9 +14,13 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.CauseList; import com.rootly.client.model.CauseResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewCause; import com.rootly.client.model.UpdateCause; import org.junit.jupiter.api.Disabled; @@ -49,6 +53,20 @@ public void createCauseTest() throws ApiException { // TODO: test validations } + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createCauseCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createCauseCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Delete a cause * @@ -58,7 +76,7 @@ public void createCauseTest() throws ApiException { */ @Test public void deleteCauseTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CauseResponse response = api.deleteCause(id); // TODO: test validations } @@ -72,11 +90,35 @@ public void deleteCauseTest() throws ApiException { */ @Test public void getCauseTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CauseResponse response = api.getCause(id); // TODO: test validations } + /** + * List Catalog Properties + * + * List Cause Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listCauseCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listCauseCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * List causes * @@ -109,7 +151,7 @@ public void listCausesTest() throws ApiException { */ @Test public void updateCauseTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateCause updateCause = null; CauseResponse response = api.updateCause(id, updateCause); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/CustomFormsApiTest.java b/src/test/java/com/rootly/client/api/CustomFormsApiTest.java index f2c1dae5..5d155d61 100644 --- a/src/test/java/com/rootly/client/api/CustomFormsApiTest.java +++ b/src/test/java/com/rootly/client/api/CustomFormsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.CustomFormList; import com.rootly.client.model.CustomFormResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewCustomForm; import com.rootly.client.model.UpdateCustomForm; import org.junit.jupiter.api.Disabled; @@ -58,7 +59,7 @@ public void createCustomFormTest() throws ApiException { */ @Test public void deleteCustomFormTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CustomFormResponse response = api.deleteCustomForm(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteCustomFormTest() throws ApiException { */ @Test public void getCustomFormTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CustomFormResponse response = api.getCustomForm(id); // TODO: test validations } @@ -110,7 +111,7 @@ public void listCustomFormsTest() throws ApiException { */ @Test public void updateCustomFormTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateCustomForm updateCustomForm = null; CustomFormResponse response = api.updateCustomForm(id, updateCustomForm); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/DashboardPanelsApiTest.java b/src/test/java/com/rootly/client/api/DashboardPanelsApiTest.java index 19e1e3dc..710f0c55 100644 --- a/src/test/java/com/rootly/client/api/DashboardPanelsApiTest.java +++ b/src/test/java/com/rootly/client/api/DashboardPanelsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/DashboardsApiTest.java b/src/test/java/com/rootly/client/api/DashboardsApiTest.java index 81ad23be..e191e94e 100644 --- a/src/test/java/com/rootly/client/api/DashboardsApiTest.java +++ b/src/test/java/com/rootly/client/api/DashboardsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.DashboardList; import com.rootly.client.model.DashboardResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewDashboard; import com.rootly.client.model.UpdateDashboard; import org.junit.jupiter.api.Disabled; @@ -58,7 +59,7 @@ public void createDashboardTest() throws ApiException { */ @Test public void deleteDashboardTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; DashboardResponse response = api.deleteDashboard(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteDashboardTest() throws ApiException { */ @Test public void duplicateDashboardTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; DashboardResponse response = api.duplicateDashboard(id); // TODO: test validations } @@ -86,7 +87,7 @@ public void duplicateDashboardTest() throws ApiException { */ @Test public void getDashboardTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String include = null; DashboardResponse response = api.getDashboard(id, include); // TODO: test validations @@ -117,7 +118,7 @@ public void listDashboardsTest() throws ApiException { */ @Test public void setDefaultDashboardTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; DashboardResponse response = api.setDefaultDashboard(id); // TODO: test validations } @@ -131,7 +132,7 @@ public void setDefaultDashboardTest() throws ApiException { */ @Test public void updateDashboardTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateDashboard updateDashboard = null; DashboardResponse response = api.updateDashboard(id, updateDashboard); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApiTest.java b/src/test/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApiTest.java index 6516d351..2ae207f5 100644 --- a/src/test/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApiTest.java +++ b/src/test/java/com/rootly/client/api/DeprecatedCustomFieldOptionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/DeprecatedCustomFieldsApiTest.java b/src/test/java/com/rootly/client/api/DeprecatedCustomFieldsApiTest.java index 3655d0e5..3bbef863 100644 --- a/src/test/java/com/rootly/client/api/DeprecatedCustomFieldsApiTest.java +++ b/src/test/java/com/rootly/client/api/DeprecatedCustomFieldsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApiTest.java b/src/test/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApiTest.java index 984dd931..d5f99ab9 100644 --- a/src/test/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApiTest.java +++ b/src/test/java/com/rootly/client/api/DeprecatedIncidentCustomFieldSelectionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApiTest.java b/src/test/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApiTest.java index 8c7f04b1..9643a5cb 100644 --- a/src/test/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApiTest.java +++ b/src/test/java/com/rootly/client/api/DeprecatedWorkflowCustomFieldSelectionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/EnvironmentsApiTest.java b/src/test/java/com/rootly/client/api/EnvironmentsApiTest.java index 8a709a8f..66bbbca0 100644 --- a/src/test/java/com/rootly/client/api/EnvironmentsApiTest.java +++ b/src/test/java/com/rootly/client/api/EnvironmentsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,9 +14,13 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.EnvironmentList; import com.rootly.client.model.EnvironmentResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewEnvironment; import com.rootly.client.model.UpdateEnvironment; import org.junit.jupiter.api.Disabled; @@ -49,6 +53,20 @@ public void createEnvironmentTest() throws ApiException { // TODO: test validations } + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createEnvironmentCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createEnvironmentCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Delete an environment * @@ -58,7 +76,7 @@ public void createEnvironmentTest() throws ApiException { */ @Test public void deleteEnvironmentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; EnvironmentResponse response = api.deleteEnvironment(id); // TODO: test validations } @@ -72,11 +90,35 @@ public void deleteEnvironmentTest() throws ApiException { */ @Test public void getEnvironmentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; EnvironmentResponse response = api.getEnvironment(id); // TODO: test validations } + /** + * List Catalog Properties + * + * List Environment Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listEnvironmentCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listEnvironmentCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * List environments * @@ -111,7 +153,7 @@ public void listEnvironmentsTest() throws ApiException { */ @Test public void updateEnvironmentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateEnvironment updateEnvironment = null; EnvironmentResponse response = api.updateEnvironment(id, updateEnvironment); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/EscalationLevelsApiTest.java b/src/test/java/com/rootly/client/api/EscalationLevelsApiTest.java index 6b3162ab..6f338130 100644 --- a/src/test/java/com/rootly/client/api/EscalationLevelsApiTest.java +++ b/src/test/java/com/rootly/client/api/EscalationLevelsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/EscalationLevelsPathApiTest.java b/src/test/java/com/rootly/client/api/EscalationLevelsPathApiTest.java index 1681b975..05715e9f 100644 --- a/src/test/java/com/rootly/client/api/EscalationLevelsPathApiTest.java +++ b/src/test/java/com/rootly/client/api/EscalationLevelsPathApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/EscalationLevelsPoliciesApiTest.java b/src/test/java/com/rootly/client/api/EscalationLevelsPoliciesApiTest.java index 26efc2e5..266b1cef 100644 --- a/src/test/java/com/rootly/client/api/EscalationLevelsPoliciesApiTest.java +++ b/src/test/java/com/rootly/client/api/EscalationLevelsPoliciesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/EscalationPathsApiTest.java b/src/test/java/com/rootly/client/api/EscalationPathsApiTest.java index 4e4d2c22..12be0c1b 100644 --- a/src/test/java/com/rootly/client/api/EscalationPathsApiTest.java +++ b/src/test/java/com/rootly/client/api/EscalationPathsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/EscalationPoliciesApiTest.java b/src/test/java/com/rootly/client/api/EscalationPoliciesApiTest.java index 51ceec70..62413bb6 100644 --- a/src/test/java/com/rootly/client/api/EscalationPoliciesApiTest.java +++ b/src/test/java/com/rootly/client/api/EscalationPoliciesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -90,13 +90,14 @@ public void listEscalationPoliciesTest() throws ApiException { String include = null; String filterSearch = null; String filterName = null; + String filterTeamIds = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; Integer pageNumber = null; Integer pageSize = null; - EscalationPolicyList response = api.listEscalationPolicies(include, filterSearch, filterName, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); + EscalationPolicyList response = api.listEscalationPolicies(include, filterSearch, filterName, filterTeamIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, pageNumber, pageSize); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/FormFieldOptionsApiTest.java b/src/test/java/com/rootly/client/api/FormFieldOptionsApiTest.java index ec605523..ef8c7dcd 100644 --- a/src/test/java/com/rootly/client/api/FormFieldOptionsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormFieldOptionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/FormFieldPlacementConditionsApiTest.java b/src/test/java/com/rootly/client/api/FormFieldPlacementConditionsApiTest.java index dfc7803d..ef48d7cc 100644 --- a/src/test/java/com/rootly/client/api/FormFieldPlacementConditionsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormFieldPlacementConditionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/FormFieldPlacementsApiTest.java b/src/test/java/com/rootly/client/api/FormFieldPlacementsApiTest.java index 9a922094..7512e75f 100644 --- a/src/test/java/com/rootly/client/api/FormFieldPlacementsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormFieldPlacementsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/FormFieldPositionsApiTest.java b/src/test/java/com/rootly/client/api/FormFieldPositionsApiTest.java index d180ff1c..7e16f4d1 100644 --- a/src/test/java/com/rootly/client/api/FormFieldPositionsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormFieldPositionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/FormFieldsApiTest.java b/src/test/java/com/rootly/client/api/FormFieldsApiTest.java index 8f5d27cf..6cc247da 100644 --- a/src/test/java/com/rootly/client/api/FormFieldsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormFieldsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FormFieldList; import com.rootly.client.model.FormFieldResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewFormField; import com.rootly.client.model.UpdateFormField; import org.junit.jupiter.api.Disabled; @@ -58,7 +59,7 @@ public void createFormFieldTest() throws ApiException { */ @Test public void deleteFormFieldTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; FormFieldResponse response = api.deleteFormField(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteFormFieldTest() throws ApiException { */ @Test public void getFormFieldTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String include = null; FormFieldResponse response = api.getFormField(id, include); // TODO: test validations @@ -112,7 +113,7 @@ public void listFormFieldsTest() throws ApiException { */ @Test public void updateFormFieldTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateFormField updateFormField = null; FormFieldResponse response = api.updateFormField(id, updateFormField); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/FormSetConditionsApiTest.java b/src/test/java/com/rootly/client/api/FormSetConditionsApiTest.java index 10b8fcb2..79de3ce9 100644 --- a/src/test/java/com/rootly/client/api/FormSetConditionsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormSetConditionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/FormSetsApiTest.java b/src/test/java/com/rootly/client/api/FormSetsApiTest.java index cb8a2e79..69eb1679 100644 --- a/src/test/java/com/rootly/client/api/FormSetsApiTest.java +++ b/src/test/java/com/rootly/client/api/FormSetsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -17,6 +17,7 @@ import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FormSetList; import com.rootly.client.model.FormSetResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewFormSet; import com.rootly.client.model.UpdateFormSet; import org.junit.jupiter.api.Disabled; @@ -58,7 +59,7 @@ public void createFormSetTest() throws ApiException { */ @Test public void deleteFormSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; FormSetResponse response = api.deleteFormSet(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteFormSetTest() throws ApiException { */ @Test public void getFormSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; FormSetResponse response = api.getFormSet(id); // TODO: test validations } @@ -108,7 +109,7 @@ public void listFormSetsTest() throws ApiException { */ @Test public void updateFormSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateFormSet updateFormSet = null; FormSetResponse response = api.updateFormSet(id, updateFormSet); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/FunctionalitiesApiTest.java b/src/test/java/com/rootly/client/api/FunctionalitiesApiTest.java index 72fd9578..fd8dba32 100644 --- a/src/test/java/com/rootly/client/api/FunctionalitiesApiTest.java +++ b/src/test/java/com/rootly/client/api/FunctionalitiesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,9 +14,13 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; import com.rootly.client.model.FunctionalityList; import com.rootly.client.model.FunctionalityResponse; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewFunctionality; import com.rootly.client.model.UpdateFunctionality; import org.junit.jupiter.api.Disabled; @@ -49,6 +53,20 @@ public void createFunctionalityTest() throws ApiException { // TODO: test validations } + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createFunctionalityCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createFunctionalityCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Delete a functionality * @@ -58,7 +76,7 @@ public void createFunctionalityTest() throws ApiException { */ @Test public void deleteFunctionalityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; FunctionalityResponse response = api.deleteFunctionality(id); // TODO: test validations } @@ -72,7 +90,7 @@ public void deleteFunctionalityTest() throws ApiException { */ @Test public void getFunctionalityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; FunctionalityResponse response = api.getFunctionality(id); // TODO: test validations } @@ -86,7 +104,7 @@ public void getFunctionalityTest() throws ApiException { */ @Test public void getFunctionalityIncidentsChartTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String period = null; Object response = api.getFunctionalityIncidentsChart(id, period); // TODO: test validations @@ -101,7 +119,7 @@ public void getFunctionalityIncidentsChartTest() throws ApiException { */ @Test public void getFunctionalityUptimeChartTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String period = null; Object response = api.getFunctionalityUptimeChart(id, period); // TODO: test validations @@ -135,6 +153,30 @@ public void listFunctionalitiesTest() throws ApiException { // TODO: test validations } + /** + * List Catalog Properties + * + * List Functionality Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listFunctionalityCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listFunctionalityCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * Update a functionality * @@ -144,7 +186,7 @@ public void listFunctionalitiesTest() throws ApiException { */ @Test public void updateFunctionalityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateFunctionality updateFunctionality = null; FunctionalityResponse response = api.updateFunctionality(id, updateFunctionality); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/HeartbeatsApiTest.java b/src/test/java/com/rootly/client/api/HeartbeatsApiTest.java index d5d53909..c570fb98 100644 --- a/src/test/java/com/rootly/client/api/HeartbeatsApiTest.java +++ b/src/test/java/com/rootly/client/api/HeartbeatsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.HeartbeatList; import com.rootly.client.model.HeartbeatResponse; import com.rootly.client.model.NewHeartbeat; @@ -58,7 +59,7 @@ public void createHeartbeatTest() throws ApiException { */ @Test public void deleteHeartbeatTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; HeartbeatResponse response = api.deleteHeartbeat(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteHeartbeatTest() throws ApiException { */ @Test public void getHeartbeatTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; HeartbeatResponse response = api.getHeartbeat(id); // TODO: test validations } @@ -123,7 +124,7 @@ public void pingHeartbeatTest() throws ApiException { */ @Test public void updateHeartbeatTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateHeartbeat updateHeartbeat = null; HeartbeatResponse response = api.updateHeartbeat(id, updateHeartbeat); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IncidentActionItemsApiTest.java b/src/test/java/com/rootly/client/api/IncidentActionItemsApiTest.java index 9e918d66..059a7e10 100644 --- a/src/test/java/com/rootly/client/api/IncidentActionItemsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentActionItemsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentEventFunctionalitiesApiTest.java b/src/test/java/com/rootly/client/api/IncidentEventFunctionalitiesApiTest.java index d86d431e..7d8ea49f 100644 --- a/src/test/java/com/rootly/client/api/IncidentEventFunctionalitiesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentEventFunctionalitiesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentEventServicesApiTest.java b/src/test/java/com/rootly/client/api/IncidentEventServicesApiTest.java index 4fde084a..7bf74045 100644 --- a/src/test/java/com/rootly/client/api/IncidentEventServicesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentEventServicesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentEventsApiTest.java b/src/test/java/com/rootly/client/api/IncidentEventsApiTest.java index 440087e9..9a3a2939 100644 --- a/src/test/java/com/rootly/client/api/IncidentEventsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentEventsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentFeedbacksApiTest.java b/src/test/java/com/rootly/client/api/IncidentFeedbacksApiTest.java index b5c1fb4e..ddeeb9cd 100644 --- a/src/test/java/com/rootly/client/api/IncidentFeedbacksApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentFeedbacksApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentFormFieldSelectionsApiTest.java b/src/test/java/com/rootly/client/api/IncidentFormFieldSelectionsApiTest.java index 99356591..cb18807e 100644 --- a/src/test/java/com/rootly/client/api/IncidentFormFieldSelectionsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentFormFieldSelectionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentPermissionSetBooleansApiTest.java b/src/test/java/com/rootly/client/api/IncidentPermissionSetBooleansApiTest.java index 4ccaed6b..1a0394a8 100644 --- a/src/test/java/com/rootly/client/api/IncidentPermissionSetBooleansApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentPermissionSetBooleansApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentPermissionSetResourcesApiTest.java b/src/test/java/com/rootly/client/api/IncidentPermissionSetResourcesApiTest.java index fe71c045..bef38c1f 100644 --- a/src/test/java/com/rootly/client/api/IncidentPermissionSetResourcesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentPermissionSetResourcesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentPermissionSetsApiTest.java b/src/test/java/com/rootly/client/api/IncidentPermissionSetsApiTest.java index 24e9a9fd..77da4d0e 100644 --- a/src/test/java/com/rootly/client/api/IncidentPermissionSetsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentPermissionSetsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentPermissionSetList; import com.rootly.client.model.IncidentPermissionSetResponse; import com.rootly.client.model.NewIncidentPermissionSet; @@ -58,7 +59,7 @@ public void createIncidentPermissionSetTest() throws ApiException { */ @Test public void deleteIncidentPermissionSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentPermissionSetResponse response = api.deleteIncidentPermissionSet(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteIncidentPermissionSetTest() throws ApiException { */ @Test public void getIncidentPermissionSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentPermissionSetResponse response = api.getIncidentPermissionSet(id); // TODO: test validations } @@ -110,7 +111,7 @@ public void listIncidentPermissionSetsTest() throws ApiException { */ @Test public void updateIncidentPermissionSetTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateIncidentPermissionSet updateIncidentPermissionSet = null; IncidentPermissionSetResponse response = api.updateIncidentPermissionSet(id, updateIncidentPermissionSet); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IncidentRetrospectiveStepsApiTest.java b/src/test/java/com/rootly/client/api/IncidentRetrospectiveStepsApiTest.java index 1aaa502a..e9b987cb 100644 --- a/src/test/java/com/rootly/client/api/IncidentRetrospectiveStepsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentRetrospectiveStepsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java b/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java index ee1f592a..7d9652a4 100644 --- a/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentRetrospectivesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentPostMortemList; import com.rootly.client.model.IncidentPostMortemResponse; import com.rootly.client.model.UpdateIncidentPostMortem; @@ -51,10 +52,18 @@ public void listIncidentPostMortemsTest() throws ApiException { String filterSeverity = null; String filterType = null; Integer filterUserId = null; + String filterTypes = null; + String filterTypeIds = null; String filterEnvironments = null; + String filterEnvironmentIds = null; String filterFunctionalities = null; + String filterFunctionalityIds = null; String filterServices = null; + String filterServiceIds = null; String filterTeams = null; + String filterTeamIds = null; + String filterCauses = null; + String filterCauseIds = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; @@ -72,7 +81,7 @@ public void listIncidentPostMortemsTest() throws ApiException { String filterResolvedAtLt = null; String filterResolvedAtLte = null; String sort = null; - IncidentPostMortemList response = api.listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterEnvironments, filterFunctionalities, filterServices, filterTeams, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); + IncidentPostMortemList response = api.listIncidentPostMortems(include, pageNumber, pageSize, filterSearch, filterStatus, filterSeverity, filterType, filterUserId, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCauses, filterCauseIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, sort); // TODO: test validations } @@ -85,7 +94,7 @@ public void listIncidentPostMortemsTest() throws ApiException { */ @Test public void listIncidentPostmortemTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentPostMortemResponse response = api.listIncidentPostmortem(id); // TODO: test validations } @@ -99,7 +108,7 @@ public void listIncidentPostmortemTest() throws ApiException { */ @Test public void updateIncidentPostmortemTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateIncidentPostMortem updateIncidentPostMortem = null; IncidentPostMortemResponse response = api.updateIncidentPostmortem(id, updateIncidentPostMortem); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IncidentRoleTasksApiTest.java b/src/test/java/com/rootly/client/api/IncidentRoleTasksApiTest.java index b33cb3ea..f8436138 100644 --- a/src/test/java/com/rootly/client/api/IncidentRoleTasksApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentRoleTasksApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentRolesApiTest.java b/src/test/java/com/rootly/client/api/IncidentRolesApiTest.java index 11aae484..5c9c50ad 100644 --- a/src/test/java/com/rootly/client/api/IncidentRolesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentRolesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentRoleList; import com.rootly.client.model.IncidentRoleResponse; import com.rootly.client.model.NewIncidentRole; @@ -58,7 +59,7 @@ public void createIncidentRoleTest() throws ApiException { */ @Test public void deleteIncidentRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentRoleResponse response = api.deleteIncidentRole(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteIncidentRoleTest() throws ApiException { */ @Test public void getIncidentRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentRoleResponse response = api.getIncidentRole(id); // TODO: test validations } @@ -86,7 +87,6 @@ public void getIncidentRoleTest() throws ApiException { */ @Test public void listIncidentRolesTest() throws ApiException { - String include = null; Integer pageNumber = null; Integer pageSize = null; String filterSearch = null; @@ -98,7 +98,7 @@ public void listIncidentRolesTest() throws ApiException { String filterCreatedAtLt = null; String filterCreatedAtLte = null; String sort = null; - IncidentRoleList response = api.listIncidentRoles(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + IncidentRoleList response = api.listIncidentRoles(pageNumber, pageSize, filterSearch, filterSlug, filterName, filterEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); // TODO: test validations } @@ -111,7 +111,7 @@ public void listIncidentRolesTest() throws ApiException { */ @Test public void updateIncidentRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateIncidentRole updateIncidentRole = null; IncidentRoleResponse response = api.updateIncidentRole(id, updateIncidentRole); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IncidentStatusPageEventsApiTest.java b/src/test/java/com/rootly/client/api/IncidentStatusPageEventsApiTest.java index 14ffa541..a0435976 100644 --- a/src/test/java/com/rootly/client/api/IncidentStatusPageEventsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentStatusPageEventsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentSubStatusesApiTest.java b/src/test/java/com/rootly/client/api/IncidentSubStatusesApiTest.java index 94c77eed..0687a1f1 100644 --- a/src/test/java/com/rootly/client/api/IncidentSubStatusesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentSubStatusesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/IncidentTypesApiTest.java b/src/test/java/com/rootly/client/api/IncidentTypesApiTest.java index c93c50fb..998aec52 100644 --- a/src/test/java/com/rootly/client/api/IncidentTypesApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentTypesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,9 +14,13 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.IncidentTypeList; import com.rootly.client.model.IncidentTypeResponse; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewIncidentType; import com.rootly.client.model.UpdateIncidentType; import org.junit.jupiter.api.Disabled; @@ -49,6 +53,20 @@ public void createIncidentTypeTest() throws ApiException { // TODO: test validations } + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createIncidentTypeCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createIncidentTypeCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Delete an incident type * @@ -58,7 +76,7 @@ public void createIncidentTypeTest() throws ApiException { */ @Test public void deleteIncidentTypeTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentTypeResponse response = api.deleteIncidentType(id); // TODO: test validations } @@ -72,11 +90,35 @@ public void deleteIncidentTypeTest() throws ApiException { */ @Test public void getIncidentTypeTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentTypeResponse response = api.getIncidentType(id); // TODO: test validations } + /** + * List Catalog Properties + * + * List IncidentType Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listIncidentTypeCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listIncidentTypeCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * List incident types * @@ -110,7 +152,7 @@ public void listIncidentTypesTest() throws ApiException { */ @Test public void updateIncidentTypeTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateIncidentType updateIncidentType = null; IncidentTypeResponse response = api.updateIncidentType(id, updateIncidentType); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IncidentsApiTest.java b/src/test/java/com/rootly/client/api/IncidentsApiTest.java index acabc953..eaef30fb 100644 --- a/src/test/java/com/rootly/client/api/IncidentsApiTest.java +++ b/src/test/java/com/rootly/client/api/IncidentsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,6 +18,7 @@ import com.rootly.client.model.AssignRoleToUser; import com.rootly.client.model.CancelIncident; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.InTriageIncident; import com.rootly.client.model.IncidentList; import com.rootly.client.model.IncidentResponse; @@ -53,7 +54,7 @@ public class IncidentsApiTest { */ @Test public void addSubscribersToIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AddSubscribers addSubscribers = null; IncidentResponse response = api.addSubscribersToIncident(id, addSubscribers); // TODO: test validations @@ -68,7 +69,7 @@ public void addSubscribersToIncidentTest() throws ApiException { */ @Test public void assignUserToIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; AssignRoleToUser assignRoleToUser = null; IncidentResponse response = api.assignUserToIncident(id, assignRoleToUser); // TODO: test validations @@ -83,7 +84,7 @@ public void assignUserToIncidentTest() throws ApiException { */ @Test public void cancelIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; CancelIncident cancelIncident = null; IncidentResponse response = api.cancelIncident(id, cancelIncident); // TODO: test validations @@ -112,11 +113,25 @@ public void createIncidentTest() throws ApiException { */ @Test public void deleteIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; IncidentResponse response = api.deleteIncident(id); // TODO: test validations } + /** + * Detach an incident from its parent + * + * Detach a sub-incident from its parent incident + * + * @throws ApiException if the Api call fails + */ + @Test + public void detachFromParentIncidentTest() throws ApiException { + GetAlertFieldIdParameter id = null; + IncidentResponse response = api.detachFromParentIncident(id); + // TODO: test validations + } + /** * Retrieves an incident * @@ -126,7 +141,7 @@ public void deleteIncidentTest() throws ApiException { */ @Test public void getIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String include = null; IncidentResponse response = api.getIncident(id, include); // TODO: test validations @@ -157,13 +172,17 @@ public void listIncidentsTest() throws ApiException { String filterEnvironmentIds = null; String filterFunctionalities = null; String filterFunctionalityIds = null; + String filterFunctionalityNames = null; String filterServices = null; String filterServiceIds = null; + String filterServiceNames = null; String filterTeams = null; String filterTeamIds = null; + String filterTeamNames = null; String filterCause = null; String filterCauseIds = null; String filterCustomFieldSelectedOptionIds = null; + String filterSlackChannelId = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; @@ -202,7 +221,7 @@ public void listIncidentsTest() throws ApiException { String filterInTriageAtLte = null; String sort = null; String include = null; - IncidentList response = api.listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterServices, filterServiceIds, filterTeams, filterTeamIds, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); + IncidentList response = api.listIncidents(pageNumber, pageSize, filterSearch, filterKind, filterStatus, filterPrivate, filterUserId, filterSeverity, filterSeverityId, filterLabels, filterTypes, filterTypeIds, filterEnvironments, filterEnvironmentIds, filterFunctionalities, filterFunctionalityIds, filterFunctionalityNames, filterServices, filterServiceIds, filterServiceNames, filterTeams, filterTeamIds, filterTeamNames, filterCause, filterCauseIds, filterCustomFieldSelectedOptionIds, filterSlackChannelId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, filterUpdatedAtGt, filterUpdatedAtGte, filterUpdatedAtLt, filterUpdatedAtLte, filterStartedAtGt, filterStartedAtGte, filterStartedAtLt, filterStartedAtLte, filterDetectedAtGt, filterDetectedAtGte, filterDetectedAtLt, filterDetectedAtLte, filterAcknowledgedAtGt, filterAcknowledgedAtGte, filterAcknowledgedAtLt, filterAcknowledgedAtLte, filterMitigatedAtGt, filterMitigatedAtGte, filterMitigatedAtLt, filterMitigatedAtLte, filterResolvedAtGt, filterResolvedAtGte, filterResolvedAtLt, filterResolvedAtLte, filterClosedAtGt, filterClosedAtGte, filterClosedAtLt, filterClosedAtLte, filterInTriageAtGt, filterInTriageAtGte, filterInTriageAtLt, filterInTriageAtLte, sort, include); // TODO: test validations } @@ -215,7 +234,7 @@ public void listIncidentsTest() throws ApiException { */ @Test public void markAsDuplicateIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; ResolveIncident resolveIncident = null; IncidentResponse response = api.markAsDuplicateIncident(id, resolveIncident); // TODO: test validations @@ -230,7 +249,7 @@ public void markAsDuplicateIncidentTest() throws ApiException { */ @Test public void mitigateIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; MitigateIncident mitigateIncident = null; IncidentResponse response = api.mitigateIncident(id, mitigateIncident); // TODO: test validations @@ -245,7 +264,7 @@ public void mitigateIncidentTest() throws ApiException { */ @Test public void removeAssignedUserFromIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UnassignRoleFromUser unassignRoleFromUser = null; IncidentResponse response = api.removeAssignedUserFromIncident(id, unassignRoleFromUser); // TODO: test validations @@ -260,7 +279,7 @@ public void removeAssignedUserFromIncidentTest() throws ApiException { */ @Test public void removeSubscribersToIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; RemoveSubscribers removeSubscribers = null; IncidentResponse response = api.removeSubscribersToIncident(id, removeSubscribers); // TODO: test validations @@ -275,7 +294,7 @@ public void removeSubscribersToIncidentTest() throws ApiException { */ @Test public void resolveIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; ResolveIncident resolveIncident = null; IncidentResponse response = api.resolveIncident(id, resolveIncident); // TODO: test validations @@ -290,7 +309,7 @@ public void resolveIncidentTest() throws ApiException { */ @Test public void restartIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; RestartIncident restartIncident = null; IncidentResponse response = api.restartIncident(id, restartIncident); // TODO: test validations @@ -305,12 +324,26 @@ public void restartIncidentTest() throws ApiException { */ @Test public void triageIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; InTriageIncident inTriageIncident = null; IncidentResponse response = api.triageIncident(id, inTriageIncident); // TODO: test validations } + /** + * Remove duplicate marking from an incident + * + * Remove the duplicate marking from an incident + * + * @throws ApiException if the Api call fails + */ + @Test + public void unmarkAsDuplicateIncidentTest() throws ApiException { + GetAlertFieldIdParameter id = null; + IncidentResponse response = api.unmarkAsDuplicateIncident(id); + // TODO: test validations + } + /** * Update an incident * @@ -320,7 +353,7 @@ public void triageIncidentTest() throws ApiException { */ @Test public void updateIncidentTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateIncident updateIncident = null; IncidentResponse response = api.updateIncident(id, updateIncident); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/IpRangesApiTest.java b/src/test/java/com/rootly/client/api/IpRangesApiTest.java index 61747cbf..5c200574 100644 --- a/src/test/java/com/rootly/client/api/IpRangesApiTest.java +++ b/src/test/java/com/rootly/client/api/IpRangesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/LiveCallRoutersApiTest.java b/src/test/java/com/rootly/client/api/LiveCallRoutersApiTest.java index 6a341b19..0eeb8065 100644 --- a/src/test/java/com/rootly/client/api/LiveCallRoutersApiTest.java +++ b/src/test/java/com/rootly/client/api/LiveCallRoutersApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/OnCallRolesApiTest.java b/src/test/java/com/rootly/client/api/OnCallRolesApiTest.java index 81ff6e58..8134769a 100644 --- a/src/test/java/com/rootly/client/api/OnCallRolesApiTest.java +++ b/src/test/java/com/rootly/client/api/OnCallRolesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/OnCallShadowsApiTest.java b/src/test/java/com/rootly/client/api/OnCallShadowsApiTest.java index abff321d..76e15972 100644 --- a/src/test/java/com/rootly/client/api/OnCallShadowsApiTest.java +++ b/src/test/java/com/rootly/client/api/OnCallShadowsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/OverrideShiftsApiTest.java b/src/test/java/com/rootly/client/api/OverrideShiftsApiTest.java index ecb7087a..8f4ccdcf 100644 --- a/src/test/java/com/rootly/client/api/OverrideShiftsApiTest.java +++ b/src/test/java/com/rootly/client/api/OverrideShiftsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -39,7 +39,7 @@ public class OverrideShiftsApiTest { /** * creates an override shift * - * Creates a new override shift from provided data + * Creates a new override shift from provided data. If any existing override shifts overlap with the specified time range, they will be automatically deleted and replaced by the new override. * * @throws ApiException if the Api call fails */ @@ -54,7 +54,7 @@ public void createOverrideShiftTest() throws ApiException { /** * Delete an on call shadow configuration * - * Delete a specific on call shadow configuration by id + * Delete a specific on call shadow configuration by id. Future shadows are hard-deleted. Active shadows (started in the past) have their end time truncated to preserve historical data. * * @throws ApiException if the Api call fails */ diff --git a/src/test/java/com/rootly/client/api/PlaybookTasksApiTest.java b/src/test/java/com/rootly/client/api/PlaybookTasksApiTest.java index 7c1b9e59..a4a0ea68 100644 --- a/src/test/java/com/rootly/client/api/PlaybookTasksApiTest.java +++ b/src/test/java/com/rootly/client/api/PlaybookTasksApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/PlaybooksApiTest.java b/src/test/java/com/rootly/client/api/PlaybooksApiTest.java index 6a1a6534..83313d4d 100644 --- a/src/test/java/com/rootly/client/api/PlaybooksApiTest.java +++ b/src/test/java/com/rootly/client/api/PlaybooksApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/PulsesApiTest.java b/src/test/java/com/rootly/client/api/PulsesApiTest.java index 0df415d5..908df697 100644 --- a/src/test/java/com/rootly/client/api/PulsesApiTest.java +++ b/src/test/java/com/rootly/client/api/PulsesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java index 4795baa7..ad7e75c9 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveConfigurationsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java index 9a1da5f5..78e021f5 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupStepsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupsApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupsApiTest.java index e316d47b..3cba5657 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupsApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveProcessGroupsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveProcessesApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveProcessesApiTest.java index 83d7538b..6376928b 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveProcessesApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveProcessesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveStepsApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveStepsApiTest.java index 97a7e445..23200a07 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveStepsApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveStepsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/RetrospectiveTemplatesApiTest.java b/src/test/java/com/rootly/client/api/RetrospectiveTemplatesApiTest.java index 4d562691..8b8aeb58 100644 --- a/src/test/java/com/rootly/client/api/RetrospectiveTemplatesApiTest.java +++ b/src/test/java/com/rootly/client/api/RetrospectiveTemplatesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewPostMortemTemplate; import com.rootly.client.model.PostMortemTemplateList; import com.rootly.client.model.PostMortemTemplateResponse; @@ -58,7 +59,7 @@ public void createPostmortemTemplateTest() throws ApiException { */ @Test public void deletePostmortemTemplateTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; PostMortemTemplateResponse response = api.deletePostmortemTemplate(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deletePostmortemTemplateTest() throws ApiException { */ @Test public void getPostmortemTemplateTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; PostMortemTemplateResponse response = api.getPostmortemTemplate(id); // TODO: test validations } @@ -102,7 +103,7 @@ public void listPostmortemTemplatesTest() throws ApiException { */ @Test public void updatePostmortemTemplateTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdatePostMortemTemplate updatePostMortemTemplate = null; PostMortemTemplateResponse response = api.updatePostmortemTemplate(id, updatePostMortemTemplate); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/RolesApiTest.java b/src/test/java/com/rootly/client/api/RolesApiTest.java index 420b9bf4..cd491861 100644 --- a/src/test/java/com/rootly/client/api/RolesApiTest.java +++ b/src/test/java/com/rootly/client/api/RolesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewRole; import com.rootly.client.model.RoleList; import com.rootly.client.model.RoleResponse; @@ -58,7 +59,7 @@ public void createRoleTest() throws ApiException { */ @Test public void deleteRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; RoleResponse response = api.deleteRole(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteRoleTest() throws ApiException { */ @Test public void getRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; RoleResponse response = api.getRole(id); // TODO: test validations } @@ -110,7 +111,7 @@ public void listRolesTest() throws ApiException { */ @Test public void updateRoleTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateRole updateRole = null; RoleResponse response = api.updateRole(id, updateRole); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/ScheduleRotationActiveDaysApiTest.java b/src/test/java/com/rootly/client/api/ScheduleRotationActiveDaysApiTest.java index 0ec3363c..3a83bdb2 100644 --- a/src/test/java/com/rootly/client/api/ScheduleRotationActiveDaysApiTest.java +++ b/src/test/java/com/rootly/client/api/ScheduleRotationActiveDaysApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/ScheduleRotationUsersApiTest.java b/src/test/java/com/rootly/client/api/ScheduleRotationUsersApiTest.java index 02e7c935..da3aefec 100644 --- a/src/test/java/com/rootly/client/api/ScheduleRotationUsersApiTest.java +++ b/src/test/java/com/rootly/client/api/ScheduleRotationUsersApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/ScheduleRotationsApiTest.java b/src/test/java/com/rootly/client/api/ScheduleRotationsApiTest.java index 7b22a182..04160a06 100644 --- a/src/test/java/com/rootly/client/api/ScheduleRotationsApiTest.java +++ b/src/test/java/com/rootly/client/api/ScheduleRotationsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/SchedulesApiTest.java b/src/test/java/com/rootly/client/api/SchedulesApiTest.java index a046ed10..844035af 100644 --- a/src/test/java/com/rootly/client/api/SchedulesApiTest.java +++ b/src/test/java/com/rootly/client/api/SchedulesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/SecretsApiTest.java b/src/test/java/com/rootly/client/api/SecretsApiTest.java index 58517c04..7fd0cbdb 100644 --- a/src/test/java/com/rootly/client/api/SecretsApiTest.java +++ b/src/test/java/com/rootly/client/api/SecretsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/ServicesApiTest.java b/src/test/java/com/rootly/client/api/ServicesApiTest.java index 726c4e44..30c60cc9 100644 --- a/src/test/java/com/rootly/client/api/ServicesApiTest.java +++ b/src/test/java/com/rootly/client/api/ServicesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,7 +14,11 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewService; import com.rootly.client.model.ServiceList; import com.rootly.client.model.ServiceResponse; @@ -49,6 +53,20 @@ public void createServiceTest() throws ApiException { // TODO: test validations } + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createServiceCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createServiceCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Delete a service * @@ -58,7 +76,7 @@ public void createServiceTest() throws ApiException { */ @Test public void deleteServiceTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; ServiceResponse response = api.deleteService(id); // TODO: test validations } @@ -72,7 +90,7 @@ public void deleteServiceTest() throws ApiException { */ @Test public void getServiceTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; ServiceResponse response = api.getService(id); // TODO: test validations } @@ -86,7 +104,7 @@ public void getServiceTest() throws ApiException { */ @Test public void getServiceIncidentsChartTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String period = null; Object response = api.getServiceIncidentsChart(id, period); // TODO: test validations @@ -101,12 +119,36 @@ public void getServiceIncidentsChartTest() throws ApiException { */ @Test public void getServiceUptimeChartTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String period = null; Object response = api.getServiceUptimeChart(id, period); // TODO: test validations } + /** + * List Catalog Properties + * + * List Service Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listServiceCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listServiceCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * List services * @@ -126,12 +168,14 @@ public void listServicesTest() throws ApiException { String filterCortexId = null; String filterOpslevelId = null; String filterExternalId = null; + Boolean filterAlertBroadcastEnabled = null; + Boolean filterIncidentBroadcastEnabled = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; String sort = null; - ServiceList response = api.listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + ServiceList response = api.listServices(include, pageNumber, pageSize, filterSearch, filterName, filterSlug, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); // TODO: test validations } @@ -144,7 +188,7 @@ public void listServicesTest() throws ApiException { */ @Test public void updateServiceTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateService updateService = null; ServiceResponse response = api.updateService(id, updateService); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/SeveritiesApiTest.java b/src/test/java/com/rootly/client/api/SeveritiesApiTest.java index c86ce794..68727e9b 100644 --- a/src/test/java/com/rootly/client/api/SeveritiesApiTest.java +++ b/src/test/java/com/rootly/client/api/SeveritiesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewSeverity; import com.rootly.client.model.SeverityList; import com.rootly.client.model.SeverityResponse; @@ -58,7 +59,7 @@ public void createSeverityTest() throws ApiException { */ @Test public void deleteSeverityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; SeverityResponse response = api.deleteSeverity(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteSeverityTest() throws ApiException { */ @Test public void getSeverityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; SeverityResponse response = api.getSeverity(id); // TODO: test validations } @@ -112,7 +113,7 @@ public void listSeveritiesTest() throws ApiException { */ @Test public void updateSeverityTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateSeverity updateSeverity = null; SeverityResponse response = api.updateSeverity(id, updateSeverity); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/ShiftsApiTest.java b/src/test/java/com/rootly/client/api/ShiftsApiTest.java index 3ab35623..15a25036 100644 --- a/src/test/java/com/rootly/client/api/ShiftsApiTest.java +++ b/src/test/java/com/rootly/client/api/ShiftsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -58,11 +58,13 @@ public void getScheduleShiftsTest() throws ApiException { @Test public void listShiftsTest() throws ApiException { String include = null; - String to = null; String from = null; + String to = null; List userIds = null; List scheduleIds = null; - ShiftList response = api.listShifts(include, to, from, userIds, scheduleIds); + Integer pageNumber = null; + Integer pageSize = null; + ShiftList response = api.listShifts(include, from, to, userIds, scheduleIds, pageNumber, pageSize); // TODO: test validations } diff --git a/src/test/java/com/rootly/client/api/StatusPageTemplatesApiTest.java b/src/test/java/com/rootly/client/api/StatusPageTemplatesApiTest.java index 31832202..e07e8cf2 100644 --- a/src/test/java/com/rootly/client/api/StatusPageTemplatesApiTest.java +++ b/src/test/java/com/rootly/client/api/StatusPageTemplatesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/StatusPagesApiTest.java b/src/test/java/com/rootly/client/api/StatusPagesApiTest.java index 8687893c..fcf49da0 100644 --- a/src/test/java/com/rootly/client/api/StatusPagesApiTest.java +++ b/src/test/java/com/rootly/client/api/StatusPagesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewStatusPage; import com.rootly.client.model.StatusPageList; import com.rootly.client.model.StatusPageResponse; @@ -58,7 +59,7 @@ public void createStatusPageTest() throws ApiException { */ @Test public void deleteStatusPageTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; StatusPageResponse response = api.deleteStatusPage(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteStatusPageTest() throws ApiException { */ @Test public void getStatusPageTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; StatusPageResponse response = api.getStatusPage(id); // TODO: test validations } @@ -110,7 +111,7 @@ public void listStatusPagesTest() throws ApiException { */ @Test public void updateStatusPageTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateStatusPage updateStatusPage = null; StatusPageResponse response = api.updateStatusPage(id, updateStatusPage); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/SubStatusesApiTest.java b/src/test/java/com/rootly/client/api/SubStatusesApiTest.java index 1a08ba3c..751667af 100644 --- a/src/test/java/com/rootly/client/api/SubStatusesApiTest.java +++ b/src/test/java/com/rootly/client/api/SubStatusesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewSubStatus; import com.rootly.client.model.SubStatusList; import com.rootly.client.model.SubStatusResponse; @@ -58,7 +59,7 @@ public void createSubStatusTest() throws ApiException { */ @Test public void deleteSubStatusTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; SubStatusResponse response = api.deleteSubStatus(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteSubStatusTest() throws ApiException { */ @Test public void getSubStatusTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; SubStatusResponse response = api.getSubStatus(id); // TODO: test validations } @@ -109,7 +110,7 @@ public void listSubStatusesTest() throws ApiException { */ @Test public void updateSubStatusTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateSubStatus updateSubStatus = null; SubStatusResponse response = api.updateSubStatus(id, updateSubStatus); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/TeamsApiTest.java b/src/test/java/com/rootly/client/api/TeamsApiTest.java index ecd5ca97..8d1b2fa8 100644 --- a/src/test/java/com/rootly/client/api/TeamsApiTest.java +++ b/src/test/java/com/rootly/client/api/TeamsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -14,7 +14,11 @@ package com.rootly.client.api; import com.rootly.client.ApiException; +import com.rootly.client.model.CatalogPropertyList; +import com.rootly.client.model.CatalogPropertyResponse; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetTeamIdParameter; +import com.rootly.client.model.NewCatalogProperty; import com.rootly.client.model.NewTeam; import com.rootly.client.model.TeamList; import com.rootly.client.model.TeamResponse; @@ -35,6 +39,20 @@ public class TeamsApiTest { private final TeamsApi api = new TeamsApi(); + /** + * Creates a Catalog Property + * + * Creates a new Catalog Property from provided data + * + * @throws ApiException if the Api call fails + */ + @Test + public void createGroupCatalogPropertyTest() throws ApiException { + NewCatalogProperty newCatalogProperty = null; + CatalogPropertyResponse response = api.createGroupCatalogProperty(newCatalogProperty); + // TODO: test validations + } + /** * Creates a team * @@ -58,7 +76,7 @@ public void createTeamTest() throws ApiException { */ @Test public void deleteTeamTest() throws ApiException { - String id = null; + GetTeamIdParameter id = null; TeamResponse response = api.deleteTeam(id); // TODO: test validations } @@ -72,8 +90,9 @@ public void deleteTeamTest() throws ApiException { */ @Test public void getTeamTest() throws ApiException { - String id = null; - TeamResponse response = api.getTeam(id); + GetTeamIdParameter id = null; + String include = null; + TeamResponse response = api.getTeam(id, include); // TODO: test validations } @@ -92,6 +111,30 @@ public void getTeamIncidentsChartTest() throws ApiException { // TODO: test validations } + /** + * List Catalog Properties + * + * List Group Catalog Properties + * + * @throws ApiException if the Api call fails + */ + @Test + public void listGroupCatalogPropertiesTest() throws ApiException { + String include = null; + String sort = null; + Integer pageNumber = null; + Integer pageSize = null; + String filterSlug = null; + String filterName = null; + String filterKind = null; + String filterCreatedAtGt = null; + String filterCreatedAtGte = null; + String filterCreatedAtLt = null; + String filterCreatedAtLte = null; + CatalogPropertyList response = api.listGroupCatalogProperties(include, sort, pageNumber, pageSize, filterSlug, filterName, filterKind, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte); + // TODO: test validations + } + /** * List teams * @@ -112,12 +155,14 @@ public void listTeamsTest() throws ApiException { String filterOpslevelId = null; String filterExternalId = null; String filterColor = null; + Boolean filterAlertBroadcastEnabled = null; + Boolean filterIncidentBroadcastEnabled = null; String filterCreatedAtGt = null; String filterCreatedAtGte = null; String filterCreatedAtLt = null; String filterCreatedAtLte = null; String sort = null; - TeamList response = api.listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); + TeamList response = api.listTeams(include, pageNumber, pageSize, filterSearch, filterSlug, filterName, filterBackstageId, filterCortexId, filterOpslevelId, filterExternalId, filterColor, filterAlertBroadcastEnabled, filterIncidentBroadcastEnabled, filterCreatedAtGt, filterCreatedAtGte, filterCreatedAtLt, filterCreatedAtLte, sort); // TODO: test validations } @@ -130,7 +175,7 @@ public void listTeamsTest() throws ApiException { */ @Test public void updateTeamTest() throws ApiException { - String id = null; + GetTeamIdParameter id = null; UpdateTeam updateTeam = null; TeamResponse response = api.updateTeam(id, updateTeam); // TODO: test validations diff --git a/src/test/java/com/rootly/client/api/UserNotificationRulesApiTest.java b/src/test/java/com/rootly/client/api/UserNotificationRulesApiTest.java index 18b6586b..73a40bbf 100644 --- a/src/test/java/com/rootly/client/api/UserNotificationRulesApiTest.java +++ b/src/test/java/com/rootly/client/api/UserNotificationRulesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/UsersApiTest.java b/src/test/java/com/rootly/client/api/UsersApiTest.java index ec617209..4020fb59 100644 --- a/src/test/java/com/rootly/client/api/UsersApiTest.java +++ b/src/test/java/com/rootly/client/api/UsersApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WebhooksDeliveriesApiTest.java b/src/test/java/com/rootly/client/api/WebhooksDeliveriesApiTest.java index 9e73978a..7aac43fc 100644 --- a/src/test/java/com/rootly/client/api/WebhooksDeliveriesApiTest.java +++ b/src/test/java/com/rootly/client/api/WebhooksDeliveriesApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WebhooksEndpointsApiTest.java b/src/test/java/com/rootly/client/api/WebhooksEndpointsApiTest.java index 4fc531d1..4ab1aa44 100644 --- a/src/test/java/com/rootly/client/api/WebhooksEndpointsApiTest.java +++ b/src/test/java/com/rootly/client/api/WebhooksEndpointsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WorkflowFormFieldConditionsApiTest.java b/src/test/java/com/rootly/client/api/WorkflowFormFieldConditionsApiTest.java index a0e6c4e6..c87080e7 100644 --- a/src/test/java/com/rootly/client/api/WorkflowFormFieldConditionsApiTest.java +++ b/src/test/java/com/rootly/client/api/WorkflowFormFieldConditionsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WorkflowGroupsApiTest.java b/src/test/java/com/rootly/client/api/WorkflowGroupsApiTest.java index 380b9164..966b7e01 100644 --- a/src/test/java/com/rootly/client/api/WorkflowGroupsApiTest.java +++ b/src/test/java/com/rootly/client/api/WorkflowGroupsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WorkflowRunsApiTest.java b/src/test/java/com/rootly/client/api/WorkflowRunsApiTest.java index 95a90dba..86582575 100644 --- a/src/test/java/com/rootly/client/api/WorkflowRunsApiTest.java +++ b/src/test/java/com/rootly/client/api/WorkflowRunsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WorkflowTasksApiTest.java b/src/test/java/com/rootly/client/api/WorkflowTasksApiTest.java index 10335276..0c1af34e 100644 --- a/src/test/java/com/rootly/client/api/WorkflowTasksApiTest.java +++ b/src/test/java/com/rootly/client/api/WorkflowTasksApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/api/WorkflowsApiTest.java b/src/test/java/com/rootly/client/api/WorkflowsApiTest.java index bdf282ea..343bcfcf 100644 --- a/src/test/java/com/rootly/client/api/WorkflowsApiTest.java +++ b/src/test/java/com/rootly/client/api/WorkflowsApiTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -15,6 +15,7 @@ import com.rootly.client.ApiException; import com.rootly.client.model.ErrorsList; +import com.rootly.client.model.GetAlertFieldIdParameter; import com.rootly.client.model.NewWorkflow; import com.rootly.client.model.UpdateWorkflow; import com.rootly.client.model.WorkflowList; @@ -58,7 +59,7 @@ public void createWorkflowTest() throws ApiException { */ @Test public void deleteWorkflowTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; WorkflowResponse response = api.deleteWorkflow(id); // TODO: test validations } @@ -72,7 +73,7 @@ public void deleteWorkflowTest() throws ApiException { */ @Test public void getWorkflowTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; String include = null; WorkflowResponse response = api.getWorkflow(id, include); // TODO: test validations @@ -111,7 +112,7 @@ public void listWorkflowsTest() throws ApiException { */ @Test public void updateWorkflowTest() throws ApiException { - String id = null; + GetAlertFieldIdParameter id = null; UpdateWorkflow updateWorkflow = null; WorkflowResponse response = api.updateWorkflow(id, updateWorkflow); // TODO: test validations diff --git a/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java b/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java index 5bcf96c8..826a89f0 100644 --- a/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/ActionItemTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java index 855d4e34..5245e6c2 100644 --- a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java +++ b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsAssignedToUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java index 3acb554a..b3603dd2 100644 --- a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java +++ b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsPostToSlackChannelsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsTest.java index 82f385a0..054c668b 100644 --- a/src/test/java/com/rootly/client/model/AddActionItemTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddActionItemTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParamsTest.java index 22868f82..1631ca94 100644 --- a/src/test/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddMicrosoftTeamsTabTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUserTest.java b/src/test/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUserTest.java index c4e09d7e..4e5b77f3 100644 --- a/src/test/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUserTest.java +++ b/src/test/java/com/rootly/client/model/AddRoleTaskParamsAssignedToUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddRoleTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddRoleTaskParamsTest.java index 30a0f7e1..5eacb18b 100644 --- a/src/test/java/com/rootly/client/model/AddRoleTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddRoleTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddSlackBookmarkTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddSlackBookmarkTaskParamsTest.java index a0774b64..c644c993 100644 --- a/src/test/java/com/rootly/client/model/AddSlackBookmarkTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddSlackBookmarkTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddSubscribersDataAttributesTest.java b/src/test/java/com/rootly/client/model/AddSubscribersDataAttributesTest.java index 87d08faa..144453cd 100644 --- a/src/test/java/com/rootly/client/model/AddSubscribersDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/AddSubscribersDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddSubscribersDataTest.java b/src/test/java/com/rootly/client/model/AddSubscribersDataTest.java index 47a38fd0..75b8dd24 100644 --- a/src/test/java/com/rootly/client/model/AddSubscribersDataTest.java +++ b/src/test/java/com/rootly/client/model/AddSubscribersDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddSubscribersTest.java b/src/test/java/com/rootly/client/model/AddSubscribersTest.java index 079e091e..8238065d 100644 --- a/src/test/java/com/rootly/client/model/AddSubscribersTest.java +++ b/src/test/java/com/rootly/client/model/AddSubscribersTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddTeamTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddTeamTaskParamsTest.java index b3102ec8..efb4c3ab 100644 --- a/src/test/java/com/rootly/client/model/AddTeamTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddTeamTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AddToTimelineTaskParamsTest.java b/src/test/java/com/rootly/client/model/AddToTimelineTaskParamsTest.java index dd0e5d9c..b23e9821 100644 --- a/src/test/java/com/rootly/client/model/AddToTimelineTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AddToTimelineTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertEventListTest.java b/src/test/java/com/rootly/client/model/AlertEventListTest.java index d74de1b8..a5239d80 100644 --- a/src/test/java/com/rootly/client/model/AlertEventListTest.java +++ b/src/test/java/com/rootly/client/model/AlertEventListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AlertEventResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertEventResponseDataTest.java index 6baebe6c..b612e737 100644 --- a/src/test/java/com/rootly/client/model/AlertEventResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertEventResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertEventResponseTest.java b/src/test/java/com/rootly/client/model/AlertEventResponseTest.java index 4d5ffc03..7f1ee490 100644 --- a/src/test/java/com/rootly/client/model/AlertEventResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertEventResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertEventTest.java b/src/test/java/com/rootly/client/model/AlertEventTest.java index d7110c4b..69068764 100644 --- a/src/test/java/com/rootly/client/model/AlertEventTest.java +++ b/src/test/java/com/rootly/client/model/AlertEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertGroupListTest.java b/src/test/java/com/rootly/client/model/AlertGroupListTest.java index 0c0bd956..75036fb5 100644 --- a/src/test/java/com/rootly/client/model/AlertGroupListTest.java +++ b/src/test/java/com/rootly/client/model/AlertGroupListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertGroupResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertGroupResponseDataTest.java index 4ba24081..6d94af39 100644 --- a/src/test/java/com/rootly/client/model/AlertGroupResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertGroupResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertGroupResponseTest.java b/src/test/java/com/rootly/client/model/AlertGroupResponseTest.java index 545ad59a..1755f95d 100644 --- a/src/test/java/com/rootly/client/model/AlertGroupResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertGroupResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertGroupTest.java b/src/test/java/com/rootly/client/model/AlertGroupTest.java index b40092f2..e9012066 100644 --- a/src/test/java/com/rootly/client/model/AlertGroupTest.java +++ b/src/test/java/com/rootly/client/model/AlertGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.AlertGroupConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; @@ -113,6 +114,14 @@ public void attributesTest() { // TODO: test attributes } + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/AlertListTest.java b/src/test/java/com/rootly/client/model/AlertListTest.java index 4f3a1ad6..691c303a 100644 --- a/src/test/java/com/rootly/client/model/AlertListTest.java +++ b/src/test/java/com/rootly/client/model/AlertListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AlertResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertResponseDataTest.java index dbd87c6e..a25d641b 100644 --- a/src/test/java/com/rootly/client/model/AlertResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertResponseTest.java b/src/test/java/com/rootly/client/model/AlertResponseTest.java index 4a89e338..e4efc87d 100644 --- a/src/test/java/com/rootly/client/model/AlertResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionsInnerTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionsInnerTest.java index acfa673b..ddc33207 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionsInnerTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleConditionsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleDestinationTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleDestinationTest.java index 61dc614a..e48f68c7 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleDestinationTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleDestinationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleListTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleListTest.java index b5c71497..aa88c66f 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleListTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertRoutingRuleResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseDataTest.java index 0c5567d5..7881ce50 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseTest.java index 46e4e82a..e5f90c78 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertRoutingRuleTest.java b/src/test/java/com/rootly/client/model/AlertRoutingRuleTest.java index 76ffa1bb..6c4d99a1 100644 --- a/src/test/java/com/rootly/client/model/AlertRoutingRuleTest.java +++ b/src/test/java/com/rootly/client/model/AlertRoutingRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.AlertRoutingRuleConditionGroupsInner; import com.rootly.client.model.AlertRoutingRuleConditionsInner; import com.rootly.client.model.AlertRoutingRuleDestination; import java.io.IOException; @@ -25,6 +26,7 @@ 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; @@ -66,6 +68,14 @@ public void alertsSourceIdTest() { // TODO: test alertsSourceId } + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + /** * Test the property 'conditionType' */ @@ -90,6 +100,14 @@ public void destinationTest() { // TODO: test destination } + /** + * Test the property 'conditionGroups' + */ + @Test + public void conditionGroupsTest() { + // TODO: test conditionGroups + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/AlertTest.java b/src/test/java/com/rootly/client/model/AlertTest.java index 7ddf650a..4bae23b0 100644 --- a/src/test/java/com/rootly/client/model/AlertTest.java +++ b/src/test/java/com/rootly/client/model/AlertTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,10 +19,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; +import com.rootly.client.model.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import com.rootly.client.model.Service; import com.rootly.client.model.Team; import java.io.IOException; +import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -44,6 +46,14 @@ public void testAlert() { // TODO: test Alert } + /** + * Test the property 'shortId' + */ + @Test + public void shortIdTest() { + // TODO: test shortId + } + /** * Test the property 'noise' */ @@ -156,6 +166,22 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'groupLeaderAlertId' + */ + @Test + public void groupLeaderAlertIdTest() { + // TODO: test groupLeaderAlertId + } + + /** + * Test the property 'isGroupLeaderAlert' + */ + @Test + public void isGroupLeaderAlertTest() { + // TODO: test isGroupLeaderAlert + } + /** * Test the property 'labels' */ @@ -172,6 +198,38 @@ public void dataTest() { // TODO: test data } + /** + * Test the property 'deduplicationKey' + */ + @Test + public void deduplicationKeyTest() { + // TODO: test deduplicationKey + } + + /** + * Test the property 'alertFieldValuesAttributes' + */ + @Test + public void alertFieldValuesAttributesTest() { + // TODO: test alertFieldValuesAttributes + } + + /** + * Test the property 'startedAt' + */ + @Test + public void startedAtTest() { + // TODO: test startedAt + } + + /** + * Test the property 'endedAt' + */ + @Test + public void endedAtTest() { + // TODO: test endedAt + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/AlertTriggerParamsTest.java b/src/test/java/com/rootly/client/model/AlertTriggerParamsTest.java index 414c3b84..eb0e5cb7 100644 --- a/src/test/java/com/rootly/client/model/AlertTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/AlertTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,10 +18,13 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; +import com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner; +import com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions; 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; @@ -136,6 +139,22 @@ public void alertLabelsTest() { // TODO: test alertLabels } + /** + * Test the property 'alertConditionUrgency' + */ + @Test + public void alertConditionUrgencyTest() { + // TODO: test alertConditionUrgency + } + + /** + * Test the property 'alertUrgencyIds' + */ + @Test + public void alertUrgencyIdsTest() { + // TODO: test alertUrgencyIds + } + /** * Test the property 'alertConditionPayload' */ @@ -168,4 +187,20 @@ public void alertQueryPayloadTest() { // TODO: test alertQueryPayload } + /** + * Test the property 'alertFieldConditions' + */ + @Test + public void alertFieldConditionsTest() { + // TODO: test alertFieldConditions + } + + /** + * Test the property 'alertPayloadConditions' + */ + @Test + public void alertPayloadConditionsTest() { + // TODO: test alertPayloadConditions + } + } diff --git a/src/test/java/com/rootly/client/model/AlertUrgencyListTest.java b/src/test/java/com/rootly/client/model/AlertUrgencyListTest.java index 01478441..50ee171a 100644 --- a/src/test/java/com/rootly/client/model/AlertUrgencyListTest.java +++ b/src/test/java/com/rootly/client/model/AlertUrgencyListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertUrgencyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AlertUrgencyResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertUrgencyResponseDataTest.java index d939be7b..1aa4d910 100644 --- a/src/test/java/com/rootly/client/model/AlertUrgencyResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertUrgencyResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertUrgencyResponseTest.java b/src/test/java/com/rootly/client/model/AlertUrgencyResponseTest.java index e19cdddb..9fd77637 100644 --- a/src/test/java/com/rootly/client/model/AlertUrgencyResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertUrgencyResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertUrgencyTest.java b/src/test/java/com/rootly/client/model/AlertUrgencyTest.java index 8f34cd10..810c388b 100644 --- a/src/test/java/com/rootly/client/model/AlertUrgencyTest.java +++ b/src/test/java/com/rootly/client/model/AlertUrgencyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertsSourceListTest.java b/src/test/java/com/rootly/client/model/AlertsSourceListTest.java index 08a35fcc..a17b354b 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceListTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AlertsSourceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AlertsSourceResponseDataTest.java b/src/test/java/com/rootly/client/model/AlertsSourceResponseDataTest.java index 227dfc7c..f23d1619 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertsSourceResponseTest.java b/src/test/java/com/rootly/client/model/AlertsSourceResponseTest.java index ff45de9f..aa5c756d 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceResponseTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AlertsSourceTest.java b/src/test/java/com/rootly/client/model/AlertsSourceTest.java index e0d989da..b6540342 100644 --- a/src/test/java/com/rootly/client/model/AlertsSourceTest.java +++ b/src/test/java/com/rootly/client/model/AlertsSourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,6 +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 java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -40,14 +45,6 @@ public void testAlertsSource() { // TODO: test AlertsSource } - /** - * Test the property 'alertUrgencyId' - */ - @Test - public void alertUrgencyIdTest() { - // TODO: test alertUrgencyId - } - /** * Test the property 'name' */ @@ -65,35 +62,43 @@ public void sourceTypeTest() { } /** - * Test the property 'status' + * Test the property 'alertUrgencyId' */ @Test - public void statusTest() { - // TODO: test status + public void alertUrgencyIdTest() { + // TODO: test alertUrgencyId } /** - * Test the property 'secret' + * Test the property 'deduplicateAlertsByKey' */ @Test - public void secretTest() { - // TODO: test secret + public void deduplicateAlertsByKeyTest() { + // TODO: test deduplicateAlertsByKey } /** - * Test the property 'webhookEndpoint' + * Test the property 'deduplicationKeyKind' */ @Test - public void webhookEndpointTest() { - // TODO: test webhookEndpoint + public void deduplicationKeyKindTest() { + // TODO: test deduplicationKeyKind } /** - * Test the property 'email' + * Test the property 'deduplicationKeyPath' */ @Test - public void emailTest() { - // TODO: test email + public void deduplicationKeyPathTest() { + // TODO: test deduplicationKeyPath + } + + /** + * Test the property 'deduplicationKeyRegexp' + */ + @Test + public void deduplicationKeyRegexpTest() { + // TODO: test deduplicationKeyRegexp } /** @@ -105,19 +110,19 @@ public void ownerGroupIdsTest() { } /** - * Test the property 'createdAt' + * Test the property 'alertTemplateAttributes' */ @Test - public void createdAtTest() { - // TODO: test createdAt + public void alertTemplateAttributesTest() { + // TODO: test alertTemplateAttributes } /** - * Test the property 'updatedAt' + * Test the property 'alertSourceUrgencyRulesAttributes' */ @Test - public void updatedAtTest() { - // TODO: test updatedAt + public void alertSourceUrgencyRulesAttributesTest() { + // TODO: test alertSourceUrgencyRulesAttributes } /** @@ -136,4 +141,60 @@ public void resolutionRuleAttributesTest() { // TODO: test resolutionRuleAttributes } + /** + * Test the property 'alertSourceFieldsAttributes' + */ + @Test + public void alertSourceFieldsAttributesTest() { + // TODO: test alertSourceFieldsAttributes + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'secret' + */ + @Test + public void secretTest() { + // TODO: test secret + } + + /** + * Test the property 'email' + */ + @Test + public void emailTest() { + // TODO: test email + } + + /** + * Test the property 'webhookEndpoint' + */ + @Test + public void webhookEndpointTest() { + // TODO: test webhookEndpoint + } + + /** + * 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/ArchiveMicrosoftTeamsChannelsTaskParamsTest.java b/src/test/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParamsTest.java index dfd96543..b9c2543b 100644 --- a/src/test/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/ArchiveMicrosoftTeamsChannelsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java b/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java index ad6bf964..720980ba 100644 --- a/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/ArchiveSlackChannelsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AssignRoleToUserDataAttributesTest.java b/src/test/java/com/rootly/client/model/AssignRoleToUserDataAttributesTest.java index 009708a4..bb1c771d 100644 --- a/src/test/java/com/rootly/client/model/AssignRoleToUserDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/AssignRoleToUserDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AssignRoleToUserDataTest.java b/src/test/java/com/rootly/client/model/AssignRoleToUserDataTest.java index 09ca0827..2af77bc5 100644 --- a/src/test/java/com/rootly/client/model/AssignRoleToUserDataTest.java +++ b/src/test/java/com/rootly/client/model/AssignRoleToUserDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AssignRoleToUserTest.java b/src/test/java/com/rootly/client/model/AssignRoleToUserTest.java index aeb5d2a6..cc8dad1a 100644 --- a/src/test/java/com/rootly/client/model/AssignRoleToUserTest.java +++ b/src/test/java/com/rootly/client/model/AssignRoleToUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AttachAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/AttachAlertDataAttributesTest.java index 1bcbcca5..254e67da 100644 --- a/src/test/java/com/rootly/client/model/AttachAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/AttachAlertDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AttachAlertDataTest.java b/src/test/java/com/rootly/client/model/AttachAlertDataTest.java index 080dfc8f..9844d840 100644 --- a/src/test/java/com/rootly/client/model/AttachAlertDataTest.java +++ b/src/test/java/com/rootly/client/model/AttachAlertDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AttachAlertTest.java b/src/test/java/com/rootly/client/model/AttachAlertTest.java index bf9812e4..6bf6c858 100644 --- a/src/test/java/com/rootly/client/model/AttachAlertTest.java +++ b/src/test/java/com/rootly/client/model/AttachAlertTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AttachDatadogDashboardsTaskParamsTest.java b/src/test/java/com/rootly/client/model/AttachDatadogDashboardsTaskParamsTest.java index bc7ad2ed..400c467e 100644 --- a/src/test/java/com/rootly/client/model/AttachDatadogDashboardsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AttachDatadogDashboardsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AuditTest.java b/src/test/java/com/rootly/client/model/AuditTest.java index 7a5bac78..aba0a807 100644 --- a/src/test/java/com/rootly/client/model/AuditTest.java +++ b/src/test/java/com/rootly/client/model/AuditTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -54,6 +54,14 @@ public void itemTypeTest() { // TODO: test itemType } + /** + * Test the property 'itemTypeDisplay' + */ + @Test + public void itemTypeDisplayTest() { + // TODO: test itemTypeDisplay + } + /** * Test the property '_object' */ diff --git a/src/test/java/com/rootly/client/model/AuditsListDataInnerTest.java b/src/test/java/com/rootly/client/model/AuditsListDataInnerTest.java index fd80f265..c77f5cb8 100644 --- a/src/test/java/com/rootly/client/model/AuditsListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/AuditsListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AuditsListTest.java b/src/test/java/com/rootly/client/model/AuditsListTest.java index cb055d68..605d4c1d 100644 --- a/src/test/java/com/rootly/client/model/AuditsListTest.java +++ b/src/test/java/com/rootly/client/model/AuditsListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AuditsListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AuthorizationListTest.java b/src/test/java/com/rootly/client/model/AuthorizationListTest.java index d1be66f2..46d67940 100644 --- a/src/test/java/com/rootly/client/model/AuthorizationListTest.java +++ b/src/test/java/com/rootly/client/model/AuthorizationListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AuthorizationResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/AuthorizationResponseDataTest.java b/src/test/java/com/rootly/client/model/AuthorizationResponseDataTest.java index 270283be..3a862210 100644 --- a/src/test/java/com/rootly/client/model/AuthorizationResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/AuthorizationResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AuthorizationResponseTest.java b/src/test/java/com/rootly/client/model/AuthorizationResponseTest.java index 7278ca10..580e1122 100644 --- a/src/test/java/com/rootly/client/model/AuthorizationResponseTest.java +++ b/src/test/java/com/rootly/client/model/AuthorizationResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AuthorizationTest.java b/src/test/java/com/rootly/client/model/AuthorizationTest.java index 88b05e7c..6cd26014 100644 --- a/src/test/java/com/rootly/client/model/AuthorizationTest.java +++ b/src/test/java/com/rootly/client/model/AuthorizationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParamsTest.java b/src/test/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParamsTest.java index eaa7cf27..8f06de4c 100644 --- a/src/test/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AutoAssignRoleOpsgenieTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsTest.java b/src/test/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsTest.java index 22c8e08f..300cd888 100644 --- a/src/test/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AutoAssignRolePagerdutyTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsTest.java b/src/test/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsTest.java index 3e1110c0..74abc23d 100644 --- a/src/test/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AutoAssignRoleRootlyTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParamsTest.java b/src/test/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParamsTest.java index c659c133..0fd316c8 100644 --- a/src/test/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/AutoAssignRoleVictorOpsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CallPeopleTaskParamsTest.java b/src/test/java/com/rootly/client/model/CallPeopleTaskParamsTest.java index 45b9be0b..12e08f03 100644 --- a/src/test/java/com/rootly/client/model/CallPeopleTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CallPeopleTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CancelIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/CancelIncidentDataAttributesTest.java index 761e66dc..92986f91 100644 --- a/src/test/java/com/rootly/client/model/CancelIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/CancelIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java b/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java index 4e898072..8215e0a4 100644 --- a/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/CancelIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CancelIncidentTest.java b/src/test/java/com/rootly/client/model/CancelIncidentTest.java index 8090bd1c..1f019507 100644 --- a/src/test/java/com/rootly/client/model/CancelIncidentTest.java +++ b/src/test/java/com/rootly/client/model/CancelIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityListTest.java b/src/test/java/com/rootly/client/model/CatalogEntityListTest.java index b2fc34fc..3eda4578 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityListTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogEntityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CatalogEntityPropertyListTest.java b/src/test/java/com/rootly/client/model/CatalogEntityPropertyListTest.java index 7f76c470..718e3706 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityPropertyListTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityPropertyListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogEntityPropertyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseDataTest.java index b38cd336..935e71f1 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseTest.java b/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseTest.java index 68e7a469..318fe859 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityPropertyResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityPropertyTest.java b/src/test/java/com/rootly/client/model/CatalogEntityPropertyTest.java index 293f8d28..15bd1e8a 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityPropertyTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityPropertyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogEntityResponseDataTest.java index 38feaa64..1941da9d 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityResponseTest.java b/src/test/java/com/rootly/client/model/CatalogEntityResponseTest.java index ad186282..2429fba1 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityResponseTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogEntityTest.java b/src/test/java/com/rootly/client/model/CatalogEntityTest.java index d1834758..9a4a2663 100644 --- a/src/test/java/com/rootly/client/model/CatalogEntityTest.java +++ b/src/test/java/com/rootly/client/model/CatalogEntityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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; @@ -62,6 +65,14 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'backstageId' + */ + @Test + public void backstageIdTest() { + // TODO: test backstageId + } + /** * Test the property 'createdAt' */ @@ -78,4 +89,12 @@ public void updatedAtTest() { // TODO: test updatedAt } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/CatalogFieldListTest.java b/src/test/java/com/rootly/client/model/CatalogFieldListTest.java index 20553cee..cb836537 100644 --- a/src/test/java/com/rootly/client/model/CatalogFieldListTest.java +++ b/src/test/java/com/rootly/client/model/CatalogFieldListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CatalogFieldResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogFieldResponseDataTest.java index 2f214883..dd36003a 100644 --- a/src/test/java/com/rootly/client/model/CatalogFieldResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CatalogFieldResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogFieldResponseTest.java b/src/test/java/com/rootly/client/model/CatalogFieldResponseTest.java index b1c215a2..8f14ea4d 100644 --- a/src/test/java/com/rootly/client/model/CatalogFieldResponseTest.java +++ b/src/test/java/com/rootly/client/model/CatalogFieldResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogFieldTest.java b/src/test/java/com/rootly/client/model/CatalogFieldTest.java index 39c2a035..fa12520f 100644 --- a/src/test/java/com/rootly/client/model/CatalogFieldTest.java +++ b/src/test/java/com/rootly/client/model/CatalogFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -94,6 +94,22 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/CatalogListTest.java b/src/test/java/com/rootly/client/model/CatalogListTest.java index 41355896..171dfb79 100644 --- a/src/test/java/com/rootly/client/model/CatalogListTest.java +++ b/src/test/java/com/rootly/client/model/CatalogListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CatalogResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CatalogResponseDataTest.java b/src/test/java/com/rootly/client/model/CatalogResponseDataTest.java index 965bd4d0..605577b0 100644 --- a/src/test/java/com/rootly/client/model/CatalogResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CatalogResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogResponseTest.java b/src/test/java/com/rootly/client/model/CatalogResponseTest.java index dbb20445..8c49e00c 100644 --- a/src/test/java/com/rootly/client/model/CatalogResponseTest.java +++ b/src/test/java/com/rootly/client/model/CatalogResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CatalogTest.java b/src/test/java/com/rootly/client/model/CatalogTest.java index 068b8f99..32047958 100644 --- a/src/test/java/com/rootly/client/model/CatalogTest.java +++ b/src/test/java/com/rootly/client/model/CatalogTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CauseListTest.java b/src/test/java/com/rootly/client/model/CauseListTest.java index 090095c0..349d069d 100644 --- a/src/test/java/com/rootly/client/model/CauseListTest.java +++ b/src/test/java/com/rootly/client/model/CauseListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CauseResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CauseResponseDataTest.java b/src/test/java/com/rootly/client/model/CauseResponseDataTest.java index 10e218d5..2c1477ff 100644 --- a/src/test/java/com/rootly/client/model/CauseResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CauseResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CauseResponseTest.java b/src/test/java/com/rootly/client/model/CauseResponseTest.java index 77847d56..3dcbdcee 100644 --- a/src/test/java/com/rootly/client/model/CauseResponseTest.java +++ b/src/test/java/com/rootly/client/model/CauseResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CauseTest.java b/src/test/java/com/rootly/client/model/CauseTest.java index bd0d0a98..0b96c701 100644 --- a/src/test/java/com/rootly/client/model/CauseTest.java +++ b/src/test/java/com/rootly/client/model/CauseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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; @@ -70,6 +73,14 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java b/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java index 8bd0fad9..3bd362bb 100644 --- a/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/ChangeSlackChannelPrivacyTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateAirtableTableRecordTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateAirtableTableRecordTaskParamsTest.java index 2257c777..0fe583e4 100644 --- a/src/test/java/com/rootly/client/model/CreateAirtableTableRecordTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateAirtableTableRecordTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateAsanaSubtaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateAsanaSubtaskTaskParamsTest.java index a9d8ab73..50fed31b 100644 --- a/src/test/java/com/rootly/client/model/CreateAsanaSubtaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateAsanaSubtaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateAsanaTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateAsanaTaskTaskParamsTest.java index b5a548b9..6fcae0a5 100644 --- a/src/test/java/com/rootly/client/model/CreateAsanaTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateAsanaTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateClickupTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateClickupTaskTaskParamsTest.java index 5befb1b3..d12c347e 100644 --- a/src/test/java/com/rootly/client/model/CreateClickupTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateClickupTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplateTest.java b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplateTest.java index 353c3e66..8e8037a6 100644 --- a/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplateTest.java +++ b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTest.java index c7529107..cec71534 100644 --- a/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateCodaPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateCodaPageTaskParamsTemplate; import java.io.IOException; import java.util.Arrays; @@ -102,4 +103,12 @@ public void folderIdTest() { // TODO: test folderId } + /** + * Test the property 'doc' + */ + @Test + public void docTest() { + // TODO: test doc + } + } diff --git a/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegrationTest.java b/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegrationTest.java index 4104e932..5e7f426b 100644 --- a/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegrationTest.java +++ b/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsIntegrationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsTest.java index 132e43f1..d445b5e4 100644 --- a/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateConfluencePageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateDatadogNotebookTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateDatadogNotebookTaskParamsTest.java index 92182d19..79a0e568 100644 --- a/src/test/java/com/rootly/client/model/CreateDatadogNotebookTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateDatadogNotebookTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateDropboxPaperPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateDropboxPaperPageTaskParamsTest.java index 2c227117..01c6c245 100644 --- a/src/test/java/com/rootly/client/model/CreateDropboxPaperPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateDropboxPaperPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsTest.java index 40d53ab2..4cb54054 100644 --- a/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGithubIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,8 +19,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.CreateGithubIssueTaskParamsIssueType; 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; @@ -70,4 +74,28 @@ public void repositoryTest() { // TODO: test repository } + /** + * Test the property 'labels' + */ + @Test + public void labelsTest() { + // TODO: test labels + } + + /** + * Test the property 'issueType' + */ + @Test + public void issueTypeTest() { + // TODO: test issueType + } + + /** + * Test the property 'parentIssueNumber' + */ + @Test + public void parentIssueNumberTest() { + // TODO: test parentIssueNumber + } + } diff --git a/src/test/java/com/rootly/client/model/CreateGitlabIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGitlabIssueTaskParamsTest.java index 1eaa99de..f176411e 100644 --- a/src/test/java/com/rootly/client/model/CreateGitlabIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGitlabIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGoToMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoToMeetingTaskParamsTest.java index 652e143a..2b702720 100644 --- a/src/test/java/com/rootly/client/model/CreateGoToMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoToMeetingTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParamsTest.java index db0d9d1d..c83f06ac 100644 --- a/src/test/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoogleCalendarEventTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGoogleDocsPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleDocsPageTaskParamsTest.java index 5fdd5074..0124bc71 100644 --- a/src/test/java/com/rootly/client/model/CreateGoogleDocsPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoogleDocsPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParamsTest.java index a07f036b..fdab3794 100644 --- a/src/test/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoogleDocsPermissionsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java index b8bdc9e2..97d73f05 100644 --- a/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateGoogleMeetingTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -81,6 +81,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'postToIncidentTimeline' */ diff --git a/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplateTest.java b/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplateTest.java index 2c51d0f3..d50ce0b0 100644 --- a/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplateTest.java +++ b/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTest.java index 249e7b2a..3b5fbc66 100644 --- a/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateIncidentPostmortemTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateIncidentTaskParamsTest.java index 364594a3..f34e33c0 100644 --- a/src/test/java/com/rootly/client/model/CreateIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegrationTest.java b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegrationTest.java index 865c3eda..3713636e 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegrationTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIntegrationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueTypeTest.java b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueTypeTest.java index 28d35952..a9594ac4 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueTypeTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsIssueTypeTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriorityTest.java b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriorityTest.java index 72213019..050717e1 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriorityTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsPriorityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatusTest.java b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatusTest.java index aefafbb0..f91ea385 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatusTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsTest.java index 3cca599c..7ea5edcf 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateJiraSubtaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateJiraSubtaskTaskParamsTest.java index e38b0a4a..d63465f7 100644 --- a/src/test/java/com/rootly/client/model/CreateJiraSubtaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateJiraSubtaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearIssueCommentTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateLinearIssueCommentTaskParamsTest.java index 32f77221..24e145f3 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearIssueCommentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearIssueCommentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsProjectTest.java b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsProjectTest.java index 5d645098..d5ed40c9 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsProjectTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsProjectTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsStateTest.java b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsStateTest.java index 2e116777..199959ee 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsStateTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsStateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeamTest.java b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeamTest.java index c316211b..c8e325df 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeamTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTeamTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTest.java index 0ec6650f..2076f10e 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParamsTest.java index 2f29f6b6..084d5c8c 100644 --- a/src/test/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateLinearSubtaskIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParamsTest.java index 045f031b..82f1869a 100644 --- a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParamsTest.java index bd1a0c1c..d73b07d8 100644 --- a/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateMicrosoftTeamsMeetingTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -23,6 +23,7 @@ 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; @@ -72,6 +73,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'postToIncidentTimeline' */ diff --git a/src/test/java/com/rootly/client/model/CreateMotionTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateMotionTaskTaskParamsTest.java index e618ead8..9891d7a0 100644 --- a/src/test/java/com/rootly/client/model/CreateMotionTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateMotionTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPageTest.java b/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPageTest.java index bcf8aae4..29ed0e04 100644 --- a/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPageTest.java +++ b/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsParentPageTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsTest.java index 25d12784..4650acea 100644 --- a/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateNotionPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -70,6 +70,14 @@ public void postMortemTemplateIdTest() { // TODO: test postMortemTemplateId } + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'markPostMortemAsPublished' */ diff --git a/src/test/java/com/rootly/client/model/CreateOpsgenieAlertTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateOpsgenieAlertTaskParamsTest.java index 8027619e..d468715e 100644 --- a/src/test/java/com/rootly/client/model/CreateOpsgenieAlertTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateOpsgenieAlertTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateOutlookEventTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateOutlookEventTaskParamsTest.java index ebfff1e7..feb639b5 100644 --- a/src/test/java/com/rootly/client/model/CreateOutlookEventTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateOutlookEventTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -121,6 +121,14 @@ public void excludeWeekendsTest() { // TODO: test excludeWeekends } + /** + * Test the property 'enableOnlineMeeting' + */ + @Test + public void enableOnlineMeetingTest() { + // TODO: test enableOnlineMeeting + } + /** * Test the property 'postToIncidentTimeline' */ diff --git a/src/test/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParamsTest.java index 41d8556f..5906496b 100644 --- a/src/test/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreatePagerdutyStatusUpdateTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreatePagertreeAlertTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreatePagertreeAlertTaskParamsTest.java index f5a1da47..421acf3e 100644 --- a/src/test/java/com/rootly/client/model/CreatePagertreeAlertTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreatePagertreeAlertTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateQuipPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateQuipPageTaskParamsTest.java index 510a4d4b..0ba3ff6c 100644 --- a/src/test/java/com/rootly/client/model/CreateQuipPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateQuipPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletionTest.java b/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletionTest.java index 77fcee82..28080190 100644 --- a/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletionTest.java +++ b/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsCompletionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsTest.java index 9da272da..22f764e1 100644 --- a/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateServiceNowIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateSharepointPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateSharepointPageTaskParamsTest.java index 91acfa59..9d20ee12 100644 --- a/src/test/java/com/rootly/client/model/CreateSharepointPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateSharepointPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsTest.java index 55bb64e7..479ed31a 100644 --- a/src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateShortcutStoryTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateShortcutTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateShortcutTaskTaskParamsTest.java index 9f9121e6..9db430fa 100644 --- a/src/test/java/com/rootly/client/model/CreateShortcutTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateShortcutTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java index 47aa1047..a6775e68 100644 --- a/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateSlackChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java index a6842b1f..f7b096cd 100644 --- a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java +++ b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsArchivationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoardTest.java b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoardTest.java index 9d1ff344..6cda0c71 100644 --- a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoardTest.java +++ b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsBoardTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsListTest.java b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsListTest.java index 123fbdc8..f2d795b2 100644 --- a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsListTest.java +++ b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsTest.java index e3437dd1..bc518014 100644 --- a/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateTrelloCardTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateWebexMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateWebexMeetingTaskParamsTest.java index b65f654e..8a2e61d2 100644 --- a/src/test/java/com/rootly/client/model/CreateWebexMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateWebexMeetingTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -23,6 +23,7 @@ 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; @@ -72,6 +73,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'postToIncidentTimeline' */ diff --git a/src/test/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParamsTest.java index d9d5c310..688f63be 100644 --- a/src/test/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateZendeskJiraLinkTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateZendeskTicketTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateZendeskTicketTaskParamsTest.java index f0c1ffb8..6bd8e31f 100644 --- a/src/test/java/com/rootly/client/model/CreateZendeskTicketTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateZendeskTicketTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java b/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java index 4921ae7d..297f479a 100644 --- a/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/CreateZoomMeetingTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -23,6 +23,7 @@ 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; @@ -96,6 +97,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'postToIncidentTimeline' */ diff --git a/src/test/java/com/rootly/client/model/CustomFieldListTest.java b/src/test/java/com/rootly/client/model/CustomFieldListTest.java index ce639cc2..6acfa0c4 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldListTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CustomFieldOptionListTest.java b/src/test/java/com/rootly/client/model/CustomFieldOptionListTest.java index 19b4e70f..40950440 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldOptionListTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldOptionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFieldOptionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CustomFieldOptionResponseDataTest.java b/src/test/java/com/rootly/client/model/CustomFieldOptionResponseDataTest.java index 62b36a58..5012bb0f 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldOptionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldOptionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFieldOptionResponseTest.java b/src/test/java/com/rootly/client/model/CustomFieldOptionResponseTest.java index 59ec36aa..bc767be7 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldOptionResponseTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldOptionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFieldOptionTest.java b/src/test/java/com/rootly/client/model/CustomFieldOptionTest.java index 7825dda8..6603f0d2 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFieldResponseDataTest.java b/src/test/java/com/rootly/client/model/CustomFieldResponseDataTest.java index cfd0da35..2907de83 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFieldResponseTest.java b/src/test/java/com/rootly/client/model/CustomFieldResponseTest.java index 240a6d52..92ab87e1 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldResponseTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFieldTest.java b/src/test/java/com/rootly/client/model/CustomFieldTest.java index 464f6617..83bb31fa 100644 --- a/src/test/java/com/rootly/client/model/CustomFieldTest.java +++ b/src/test/java/com/rootly/client/model/CustomFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,10 +19,7 @@ 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; @@ -41,91 +38,27 @@ public void testCustomField() { } /** - * Test the property 'label' + * Test the property 'fieldSource' */ @Test - public void labelTest() { - // TODO: test label + public void fieldSourceTest() { + // TODO: test fieldSource } /** - * Test the property 'kind' + * Test the property 'catalogPropertyId' */ @Test - public void kindTest() { - // TODO: test kind + public void catalogPropertyIdTest() { + // TODO: test catalogPropertyId } /** - * Test the property 'enabled' + * Test the property 'fieldKey' */ @Test - public void enabledTest() { - // TODO: test enabled - } - - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - - /** - * Test the property 'description' - */ - @Test - public void descriptionTest() { - // TODO: test description - } - - /** - * Test the property 'shown' - */ - @Test - public void shownTest() { - // TODO: test shown - } - - /** - * Test the property 'required' - */ - @Test - public void requiredTest() { - // TODO: test required - } - - /** - * Test the property '_default' - */ - @Test - public void _defaultTest() { - // TODO: test _default - } - - /** - * Test the property 'position' - */ - @Test - public void positionTest() { - // TODO: test position - } - - /** - * Test the property 'createdAt' - */ - @Test - public void createdAtTest() { - // TODO: test createdAt - } - - /** - * Test the property 'updatedAt' - */ - @Test - public void updatedAtTest() { - // TODO: test updatedAt + public void fieldKeyTest() { + // TODO: test fieldKey } } diff --git a/src/test/java/com/rootly/client/model/CustomFormListTest.java b/src/test/java/com/rootly/client/model/CustomFormListTest.java index e84dd6e7..e72c56ac 100644 --- a/src/test/java/com/rootly/client/model/CustomFormListTest.java +++ b/src/test/java/com/rootly/client/model/CustomFormListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.CustomFormResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/CustomFormResponseDataTest.java b/src/test/java/com/rootly/client/model/CustomFormResponseDataTest.java index 0c6761af..a5d92c9d 100644 --- a/src/test/java/com/rootly/client/model/CustomFormResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/CustomFormResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFormResponseTest.java b/src/test/java/com/rootly/client/model/CustomFormResponseTest.java index 44de0aad..b04f461b 100644 --- a/src/test/java/com/rootly/client/model/CustomFormResponseTest.java +++ b/src/test/java/com/rootly/client/model/CustomFormResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/CustomFormTest.java b/src/test/java/com/rootly/client/model/CustomFormTest.java index 0397df86..536bbcfe 100644 --- a/src/test/java/com/rootly/client/model/CustomFormTest.java +++ b/src/test/java/com/rootly/client/model/CustomFormTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardListTest.java b/src/test/java/com/rootly/client/model/DashboardListTest.java index a84d5d9a..9c4d47ca 100644 --- a/src/test/java/com/rootly/client/model/DashboardListTest.java +++ b/src/test/java/com/rootly/client/model/DashboardListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.DashboardResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/DashboardPanelListTest.java b/src/test/java/com/rootly/client/model/DashboardPanelListTest.java index fbf37e96..cbbfa6db 100644 --- a/src/test/java/com/rootly/client/model/DashboardPanelListTest.java +++ b/src/test/java/com/rootly/client/model/DashboardPanelListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.DashboardPanelResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/DashboardPanelResponseDataTest.java b/src/test/java/com/rootly/client/model/DashboardPanelResponseDataTest.java index 70caf7d2..a3c26bfb 100644 --- a/src/test/java/com/rootly/client/model/DashboardPanelResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/DashboardPanelResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardPanelResponseTest.java b/src/test/java/com/rootly/client/model/DashboardPanelResponseTest.java index 53193aee..53c17c5c 100644 --- a/src/test/java/com/rootly/client/model/DashboardPanelResponseTest.java +++ b/src/test/java/com/rootly/client/model/DashboardPanelResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardPanelTest.java b/src/test/java/com/rootly/client/model/DashboardPanelTest.java index 050c0eea..6fc7c6fe 100644 --- a/src/test/java/com/rootly/client/model/DashboardPanelTest.java +++ b/src/test/java/com/rootly/client/model/DashboardPanelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardResponseDataTest.java b/src/test/java/com/rootly/client/model/DashboardResponseDataTest.java index 31e7bbb2..a1538b79 100644 --- a/src/test/java/com/rootly/client/model/DashboardResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/DashboardResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardResponseTest.java b/src/test/java/com/rootly/client/model/DashboardResponseTest.java index 02444b9c..d875241e 100644 --- a/src/test/java/com/rootly/client/model/DashboardResponseTest.java +++ b/src/test/java/com/rootly/client/model/DashboardResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DashboardTest.java b/src/test/java/com/rootly/client/model/DashboardTest.java index 829f19fa..b315bb57 100644 --- a/src/test/java/com/rootly/client/model/DashboardTest.java +++ b/src/test/java/com/rootly/client/model/DashboardTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DuplicateIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/DuplicateIncidentDataAttributesTest.java index 131e443f..66a627bf 100644 --- a/src/test/java/com/rootly/client/model/DuplicateIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/DuplicateIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DuplicateIncidentDataTest.java b/src/test/java/com/rootly/client/model/DuplicateIncidentDataTest.java index 677e8d72..966cb4ec 100644 --- a/src/test/java/com/rootly/client/model/DuplicateIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/DuplicateIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/DuplicateIncidentTest.java b/src/test/java/com/rootly/client/model/DuplicateIncidentTest.java index 452ace36..2b623804 100644 --- a/src/test/java/com/rootly/client/model/DuplicateIncidentTest.java +++ b/src/test/java/com/rootly/client/model/DuplicateIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EnvironmentListTest.java b/src/test/java/com/rootly/client/model/EnvironmentListTest.java index 85e6de94..6b20955c 100644 --- a/src/test/java/com/rootly/client/model/EnvironmentListTest.java +++ b/src/test/java/com/rootly/client/model/EnvironmentListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EnvironmentResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/EnvironmentResponseDataTest.java b/src/test/java/com/rootly/client/model/EnvironmentResponseDataTest.java index af569ce5..782a4bfd 100644 --- a/src/test/java/com/rootly/client/model/EnvironmentResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/EnvironmentResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EnvironmentResponseTest.java b/src/test/java/com/rootly/client/model/EnvironmentResponseTest.java index 0eca4127..3ea33932 100644 --- a/src/test/java/com/rootly/client/model/EnvironmentResponseTest.java +++ b/src/test/java/com/rootly/client/model/EnvironmentResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EnvironmentTest.java b/src/test/java/com/rootly/client/model/EnvironmentTest.java index 25f63c9b..aaf04c19 100644 --- a/src/test/java/com/rootly/client/model/EnvironmentTest.java +++ b/src/test/java/com/rootly/client/model/EnvironmentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -106,6 +107,14 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/ErrorsListErrorsInnerTest.java b/src/test/java/com/rootly/client/model/ErrorsListErrorsInnerTest.java index 1bc14337..220b0451 100644 --- a/src/test/java/com/rootly/client/model/ErrorsListErrorsInnerTest.java +++ b/src/test/java/com/rootly/client/model/ErrorsListErrorsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ErrorsListTest.java b/src/test/java/com/rootly/client/model/ErrorsListTest.java index 1cfb7201..dfe460e1 100644 --- a/src/test/java/com/rootly/client/model/ErrorsListTest.java +++ b/src/test/java/com/rootly/client/model/ErrorsListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelListDataInnerTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelListDataInnerTest.java index b4674a3c..f3416743 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.java index e76e1042..d2647add 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyLevelListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseDataTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseDataTest.java index aa61b21b..5521b58f 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseTest.java index 7efcaa8e..bfa9ae96 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java index 5d28ef46..5c940649 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyLevelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyListTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyListTest.java index 0a10e627..afe7652f 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyListTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathListDataInnerTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathListDataInnerTest.java index 7fa2ea33..98927ca0 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathListTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathListTest.java index 0809c59e..582eafe4 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathListTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.EscalationPolicyPathListDataInner; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseDataTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseDataTest.java index ee022226..9d8bc6f5 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseTest.java index 9e5c9e23..cb8ae59e 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerAnyOfTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerAnyOfTest.java deleted file mode 100644 index 33f19af4..00000000 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerAnyOfTest.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 EscalationPolicyPathRulesInnerAnyOf - */ -public class EscalationPolicyPathRulesInnerAnyOfTest { - private final EscalationPolicyPathRulesInnerAnyOf model = new EscalationPolicyPathRulesInnerAnyOf(); - - /** - * Model tests for EscalationPolicyPathRulesInnerAnyOf - */ - @Test - public void testEscalationPolicyPathRulesInnerAnyOf() { - // TODO: test EscalationPolicyPathRulesInnerAnyOf - } - - /** - * Test the property 'ruleType' - */ - @Test - public void ruleTypeTest() { - // TODO: test ruleType - } - - /** - * Test the property 'urgencyIds' - */ - @Test - public void urgencyIdsTest() { - // TODO: test urgencyIds - } - -} diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerTest.java deleted file mode 100644 index 2637ac37..00000000 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathRulesInnerTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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.EscalationPolicyPathRulesInnerAnyOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; -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 EscalationPolicyPathRulesInner - */ -public class EscalationPolicyPathRulesInnerTest { - private final EscalationPolicyPathRulesInner model = new EscalationPolicyPathRulesInner(); - - /** - * Model tests for EscalationPolicyPathRulesInner - */ - @Test - public void testEscalationPolicyPathRulesInner() { - // TODO: test EscalationPolicyPathRulesInner - } - - /** - * Test the property 'ruleType' - */ - @Test - public void ruleTypeTest() { - // TODO: test ruleType - } - - /** - * Test the property 'urgencyIds' - */ - @Test - public void urgencyIdsTest() { - // TODO: test urgencyIds - } - - /** - * Test the property 'withinWorkingHour' - */ - @Test - public void withinWorkingHourTest() { - // TODO: test withinWorkingHour - } - - /** - * Test the property 'jsonPath' - */ - @Test - public void jsonPathTest() { - // TODO: test jsonPath - } - - /** - * Test the property 'operator' - */ - @Test - public void operatorTest() { - // TODO: test operator - } - - /** - * Test the property 'value' - */ - @Test - public void valueTest() { - // TODO: test value - } - -} diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java index 7b9a8f04..014deb1d 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyPathTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,11 +18,13 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.EscalationPolicyPathRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; 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; @@ -64,6 +66,14 @@ public void notificationTypeTest() { // TODO: test notificationType } + /** + * Test the property 'pathType' + */ + @Test + public void pathTypeTest() { + // TODO: test pathType + } + /** * Test the property 'escalationPolicyId' */ @@ -72,6 +82,22 @@ public void escalationPolicyIdTest() { // TODO: test escalationPolicyId } + /** + * Test the property 'afterDeferralBehavior' + */ + @Test + public void afterDeferralBehaviorTest() { + // TODO: test afterDeferralBehavior + } + + /** + * Test the property 'afterDeferralPathId' + */ + @Test + public void afterDeferralPathIdTest() { + // TODO: test afterDeferralPathId + } + /** * Test the property 'matchMode' */ @@ -136,4 +162,20 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'timeRestrictionTimeZone' + */ + @Test + public void timeRestrictionTimeZoneTest() { + // TODO: test timeRestrictionTimeZone + } + + /** + * Test the property 'timeRestrictions' + */ + @Test + public void timeRestrictionsTest() { + // TODO: test timeRestrictions + } + } diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyResponseDataTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyResponseDataTest.java index 7ffafbb2..51c7118d 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java index 4db55f40..7c283ed3 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/EscalationPolicyTest.java b/src/test/java/com/rootly/client/model/EscalationPolicyTest.java index 5ddbd0d9..9fb1c3f2 100644 --- a/src/test/java/com/rootly/client/model/EscalationPolicyTest.java +++ b/src/test/java/com/rootly/client/model/EscalationPolicyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldListTest.java b/src/test/java/com/rootly/client/model/FormFieldListTest.java index 759c55dd..d8bc6f79 100644 --- a/src/test/java/com/rootly/client/model/FormFieldListTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldOptionListTest.java b/src/test/java/com/rootly/client/model/FormFieldOptionListTest.java index d84e64cf..9545d039 100644 --- a/src/test/java/com/rootly/client/model/FormFieldOptionListTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldOptionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldOptionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldOptionResponseDataTest.java b/src/test/java/com/rootly/client/model/FormFieldOptionResponseDataTest.java index fc1035ea..f0fb8a73 100644 --- a/src/test/java/com/rootly/client/model/FormFieldOptionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldOptionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldOptionResponseTest.java b/src/test/java/com/rootly/client/model/FormFieldOptionResponseTest.java index b71b7d0c..5fb9c3d4 100644 --- a/src/test/java/com/rootly/client/model/FormFieldOptionResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldOptionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldOptionTest.java b/src/test/java/com/rootly/client/model/FormFieldOptionTest.java index ef9f59f5..3565c1d0 100644 --- a/src/test/java/com/rootly/client/model/FormFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -37,6 +37,14 @@ public void testFormFieldOption() { // TODO: test FormFieldOption } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + /** * Test the property 'formFieldId' */ diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionListTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionListTest.java index d74eec03..46ecf959 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionListTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPlacementConditionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseDataTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseDataTest.java index 65c47d53..c14786df 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseTest.java index deb8f1db..b1c86916 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionTest.java index e6f95cf8..ba622846 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementConditionTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementListTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementListTest.java index 09527f32..81ab112f 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementListTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPlacementResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementResponseDataTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementResponseDataTest.java index 874b80e0..c5649e3a 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementResponseTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementResponseTest.java index edd72b64..15acd204 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPlacementTest.java b/src/test/java/com/rootly/client/model/FormFieldPlacementTest.java index 3f5b7758..9e8e870a 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPlacementTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPlacementTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -93,4 +93,12 @@ public void placementOperatorTest() { // TODO: test placementOperator } + /** + * Test the property 'nonEditable' + */ + @Test + public void nonEditableTest() { + // TODO: test nonEditable + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldPositionListTest.java b/src/test/java/com/rootly/client/model/FormFieldPositionListTest.java index 62b03b38..510513cf 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPositionListTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPositionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormFieldPositionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormFieldPositionResponseDataTest.java b/src/test/java/com/rootly/client/model/FormFieldPositionResponseDataTest.java index 2244b01b..7f34ba0e 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPositionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPositionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPositionResponseTest.java b/src/test/java/com/rootly/client/model/FormFieldPositionResponseTest.java index b4b33252..70a0ccf9 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPositionResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPositionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldPositionTest.java b/src/test/java/com/rootly/client/model/FormFieldPositionTest.java index b123a173..1023e5a2 100644 --- a/src/test/java/com/rootly/client/model/FormFieldPositionTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldPositionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldResponseDataTest.java b/src/test/java/com/rootly/client/model/FormFieldResponseDataTest.java index 12bfddcc..63af3e20 100644 --- a/src/test/java/com/rootly/client/model/FormFieldResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldResponseTest.java b/src/test/java/com/rootly/client/model/FormFieldResponseTest.java index ec2ca94f..c39e09f4 100644 --- a/src/test/java/com/rootly/client/model/FormFieldResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormFieldTest.java b/src/test/java/com/rootly/client/model/FormFieldTest.java index 59c32f71..5a4428e4 100644 --- a/src/test/java/com/rootly/client/model/FormFieldTest.java +++ b/src/test/java/com/rootly/client/model/FormFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -136,6 +136,14 @@ public void defaultValuesTest() { // TODO: test defaultValues } + /** + * Test the property 'autoSetByCatalogPropertyId' + */ + @Test + public void autoSetByCatalogPropertyIdTest() { + // TODO: test autoSetByCatalogPropertyId + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/FormSetConditionListTest.java b/src/test/java/com/rootly/client/model/FormSetConditionListTest.java index 900a3a0d..9b381a7c 100644 --- a/src/test/java/com/rootly/client/model/FormSetConditionListTest.java +++ b/src/test/java/com/rootly/client/model/FormSetConditionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormSetConditionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormSetConditionResponseDataTest.java b/src/test/java/com/rootly/client/model/FormSetConditionResponseDataTest.java index 2d8d9c53..95418222 100644 --- a/src/test/java/com/rootly/client/model/FormSetConditionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormSetConditionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormSetConditionResponseTest.java b/src/test/java/com/rootly/client/model/FormSetConditionResponseTest.java index 268b1cbd..db708bb6 100644 --- a/src/test/java/com/rootly/client/model/FormSetConditionResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormSetConditionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormSetConditionTest.java b/src/test/java/com/rootly/client/model/FormSetConditionTest.java index c6c167e1..74c0e425 100644 --- a/src/test/java/com/rootly/client/model/FormSetConditionTest.java +++ b/src/test/java/com/rootly/client/model/FormSetConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormSetListTest.java b/src/test/java/com/rootly/client/model/FormSetListTest.java index 81713897..8e0f72f3 100644 --- a/src/test/java/com/rootly/client/model/FormSetListTest.java +++ b/src/test/java/com/rootly/client/model/FormSetListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FormSetResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FormSetResponseDataTest.java b/src/test/java/com/rootly/client/model/FormSetResponseDataTest.java index 2d00bc73..1fce7e93 100644 --- a/src/test/java/com/rootly/client/model/FormSetResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FormSetResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormSetResponseTest.java b/src/test/java/com/rootly/client/model/FormSetResponseTest.java index ed342f09..b809a81a 100644 --- a/src/test/java/com/rootly/client/model/FormSetResponseTest.java +++ b/src/test/java/com/rootly/client/model/FormSetResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FormSetTest.java b/src/test/java/com/rootly/client/model/FormSetTest.java index 77687b0a..6382be97 100644 --- a/src/test/java/com/rootly/client/model/FormSetTest.java +++ b/src/test/java/com/rootly/client/model/FormSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FunctionalityListTest.java b/src/test/java/com/rootly/client/model/FunctionalityListTest.java index 8fd1a33b..ec81a266 100644 --- a/src/test/java/com/rootly/client/model/FunctionalityListTest.java +++ b/src/test/java/com/rootly/client/model/FunctionalityListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.FunctionalityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/FunctionalityResponseDataTest.java b/src/test/java/com/rootly/client/model/FunctionalityResponseDataTest.java index 1ee414cf..7db14942 100644 --- a/src/test/java/com/rootly/client/model/FunctionalityResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/FunctionalityResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FunctionalityResponseTest.java b/src/test/java/com/rootly/client/model/FunctionalityResponseTest.java index cf580aea..1992d673 100644 --- a/src/test/java/com/rootly/client/model/FunctionalityResponseTest.java +++ b/src/test/java/com/rootly/client/model/FunctionalityResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/FunctionalityTest.java b/src/test/java/com/rootly/client/model/FunctionalityTest.java index 248aeab0..edf2488e 100644 --- a/src/test/java/com/rootly/client/model/FunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/FunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -171,19 +172,27 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds + } + + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId } /** @@ -202,6 +211,14 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsModelTest.java deleted file mode 100644 index a00d4486..00000000 --- a/src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsModelTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 GeniusCreateOpenaiChatCompletionTaskParamsModel - */ -public class GeniusCreateOpenaiChatCompletionTaskParamsModelTest { - private final GeniusCreateOpenaiChatCompletionTaskParamsModel model = new GeniusCreateOpenaiChatCompletionTaskParamsModel(); - - /** - * Model tests for GeniusCreateOpenaiChatCompletionTaskParamsModel - */ - @Test - public void testGeniusCreateOpenaiChatCompletionTaskParamsModel() { - // TODO: test GeniusCreateOpenaiChatCompletionTaskParamsModel - } - - /** - * 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/GeniusCreateOpenaiChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsTest.java deleted file mode 100644 index c9b7a08a..00000000 --- a/src/test/java/com/rootly/client/model/GeniusCreateOpenaiChatCompletionTaskParamsTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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.GeniusCreateOpenaiChatCompletionTaskParamsModel; -import java.io.IOException; -import java.util.Arrays; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; - -/** - * Model tests for GeniusCreateOpenaiChatCompletionTaskParams - */ -public class GeniusCreateOpenaiChatCompletionTaskParamsTest { - private final GeniusCreateOpenaiChatCompletionTaskParams model = new GeniusCreateOpenaiChatCompletionTaskParams(); - - /** - * Model tests for GeniusCreateOpenaiChatCompletionTaskParams - */ - @Test - public void testGeniusCreateOpenaiChatCompletionTaskParams() { - // TODO: test GeniusCreateOpenaiChatCompletionTaskParams - } - - /** - * Test the property 'taskType' - */ - @Test - public void taskTypeTest() { - // TODO: test taskType - } - - /** - * Test the property 'model' - */ - @Test - public void modelTest() { - // TODO: test model - } - - /** - * Test the property 'prompt' - */ - @Test - public void promptTest() { - // TODO: test prompt - } - -} diff --git a/src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsModelTest.java b/src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsModelTest.java deleted file mode 100644 index c39e13eb..00000000 --- a/src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsModelTest.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 GeniusCreateWatsonxChatCompletionTaskParamsModel - */ -public class GeniusCreateWatsonxChatCompletionTaskParamsModelTest { - private final GeniusCreateWatsonxChatCompletionTaskParamsModel model = new GeniusCreateWatsonxChatCompletionTaskParamsModel(); - - /** - * Model tests for GeniusCreateWatsonxChatCompletionTaskParamsModel - */ - @Test - public void testGeniusCreateWatsonxChatCompletionTaskParamsModel() { - // TODO: test GeniusCreateWatsonxChatCompletionTaskParamsModel - } - - /** - * 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/GeniusCreateWatsonxChatCompletionTaskParamsTest.java b/src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsTest.java deleted file mode 100644 index 6702a396..00000000 --- a/src/test/java/com/rootly/client/model/GeniusCreateWatsonxChatCompletionTaskParamsTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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.GeniusCreateWatsonxChatCompletionTaskParamsModel; -import java.io.IOException; -import java.util.Arrays; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; - -/** - * Model tests for GeniusCreateWatsonxChatCompletionTaskParams - */ -public class GeniusCreateWatsonxChatCompletionTaskParamsTest { - private final GeniusCreateWatsonxChatCompletionTaskParams model = new GeniusCreateWatsonxChatCompletionTaskParams(); - - /** - * Model tests for GeniusCreateWatsonxChatCompletionTaskParams - */ - @Test - public void testGeniusCreateWatsonxChatCompletionTaskParams() { - // TODO: test GeniusCreateWatsonxChatCompletionTaskParams - } - - /** - * Test the property 'taskType' - */ - @Test - public void taskTypeTest() { - // TODO: test taskType - } - - /** - * Test the property 'model' - */ - @Test - public void modelTest() { - // TODO: test model - } - - /** - * Test the property 'prompt' - */ - @Test - public void promptTest() { - // TODO: test prompt - } - - /** - * Test the property 'projectId' - */ - @Test - public void projectIdTest() { - // TODO: test projectId - } - -} diff --git a/src/test/java/com/rootly/client/model/GetAlertsTaskParamsTest.java b/src/test/java/com/rootly/client/model/GetAlertsTaskParamsTest.java index 33559c03..c3dc780b 100644 --- a/src/test/java/com/rootly/client/model/GetAlertsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/GetAlertsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/GetGithubCommitsTaskParamsTest.java b/src/test/java/com/rootly/client/model/GetGithubCommitsTaskParamsTest.java index f81812d1..6f2172cf 100644 --- a/src/test/java/com/rootly/client/model/GetGithubCommitsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/GetGithubCommitsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/GetGitlabCommitsTaskParamsTest.java b/src/test/java/com/rootly/client/model/GetGitlabCommitsTaskParamsTest.java index 854f8ced..2cc1f449 100644 --- a/src/test/java/com/rootly/client/model/GetGitlabCommitsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/GetGitlabCommitsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTaskTest.java b/src/test/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTaskTest.java index 84316a88..a811b3e1 100644 --- a/src/test/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTaskTest.java +++ b/src/test/java/com/rootly/client/model/GetPulsesTaskParamsParentMessageThreadTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/GetPulsesTaskParamsTest.java b/src/test/java/com/rootly/client/model/GetPulsesTaskParamsTest.java index 671cf56b..3da1c22e 100644 --- a/src/test/java/com/rootly/client/model/GetPulsesTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/GetPulsesTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/HeartbeatListTest.java b/src/test/java/com/rootly/client/model/HeartbeatListTest.java index 3c76862f..02eadfdb 100644 --- a/src/test/java/com/rootly/client/model/HeartbeatListTest.java +++ b/src/test/java/com/rootly/client/model/HeartbeatListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.HeartbeatResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/HeartbeatResponseDataTest.java b/src/test/java/com/rootly/client/model/HeartbeatResponseDataTest.java index c781e1f4..2f0ef830 100644 --- a/src/test/java/com/rootly/client/model/HeartbeatResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/HeartbeatResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/HeartbeatResponseTest.java b/src/test/java/com/rootly/client/model/HeartbeatResponseTest.java index b743d7bd..2670d041 100644 --- a/src/test/java/com/rootly/client/model/HeartbeatResponseTest.java +++ b/src/test/java/com/rootly/client/model/HeartbeatResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/HeartbeatTest.java b/src/test/java/com/rootly/client/model/HeartbeatTest.java index d2f05bdc..595ef833 100644 --- a/src/test/java/com/rootly/client/model/HeartbeatTest.java +++ b/src/test/java/com/rootly/client/model/HeartbeatTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -62,6 +62,14 @@ public void alertSummaryTest() { // TODO: test alertSummary } + /** + * Test the property 'alertDescription' + */ + @Test + public void alertDescriptionTest() { + // TODO: test alertDescription + } + /** * Test the property 'alertUrgencyId' */ @@ -134,6 +142,14 @@ public void secretTest() { // TODO: test secret } + /** + * Test the property 'emailAddress' + */ + @Test + public void emailAddressTest() { + // TODO: test emailAddress + } + /** * Test the property 'lastPingedAt' */ diff --git a/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java b/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java index 277710f3..97ed7ab0 100644 --- a/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/HttpClientTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java b/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java index 370031d7..a6ceab16 100644 --- a/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/InTriageIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InTriageIncidentTest.java b/src/test/java/com/rootly/client/model/InTriageIncidentTest.java index 16f232a7..0d6b31ca 100644 --- a/src/test/java/com/rootly/client/model/InTriageIncidentTest.java +++ b/src/test/java/com/rootly/client/model/InTriageIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentActionItemListTest.java b/src/test/java/com/rootly/client/model/IncidentActionItemListTest.java index d29d8fea..5aaeba7f 100644 --- a/src/test/java/com/rootly/client/model/IncidentActionItemListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentActionItemListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentActionItemResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentActionItemResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentActionItemResponseDataTest.java index fe94da94..c19b1273 100644 --- a/src/test/java/com/rootly/client/model/IncidentActionItemResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentActionItemResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentActionItemResponseTest.java b/src/test/java/com/rootly/client/model/IncidentActionItemResponseTest.java index a5710353..2b371b1b 100644 --- a/src/test/java/com/rootly/client/model/IncidentActionItemResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentActionItemResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentActionItemTest.java b/src/test/java/com/rootly/client/model/IncidentActionItemTest.java index b448d4fd..8d0925b2 100644 --- a/src/test/java/com/rootly/client/model/IncidentActionItemTest.java +++ b/src/test/java/com/rootly/client/model/IncidentActionItemTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.UserFlatResponse; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -65,11 +66,11 @@ public void kindTest() { } /** - * Test the property 'assignedToUserId' + * Test the property 'assignedTo' */ @Test - public void assignedToUserIdTest() { - // TODO: test assignedToUserId + public void assignedToTest() { + // TODO: test assignedTo } /** @@ -112,6 +113,14 @@ public void jiraIssueIdTest() { // TODO: test jiraIssueId } + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + /** * Test the property 'jiraIssueUrl' */ diff --git a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionListTest.java b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionListTest.java index 85c190d7..e38b27e1 100644 --- a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentCustomFieldSelectionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseDataTest.java index 594c5871..fef93c6e 100644 --- a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseTest.java b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseTest.java index 159dce2b..0116e734 100644 --- a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionTest.java index 4c946c7b..00b42a21 100644 --- a/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/IncidentCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityListTest.java b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityListTest.java index 2cbb6124..5c78aed1 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventFunctionalityResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseDataTest.java index c9f3d911..7c98c809 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseTest.java b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseTest.java index 2c8663ce..a8846367 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityTest.java b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityTest.java index 24e95c24..611dde1a 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventFunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventFunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventListTest.java b/src/test/java/com/rootly/client/model/IncidentEventListTest.java index a45c4509..2d562461 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentEventResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentEventResponseDataTest.java index 9f5378f2..46cab96f 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventResponseTest.java b/src/test/java/com/rootly/client/model/IncidentEventResponseTest.java index e2496f7d..bf228fe1 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventServiceListTest.java b/src/test/java/com/rootly/client/model/IncidentEventServiceListTest.java index 5f0e6955..38664b11 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventServiceListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventServiceListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentEventServiceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentEventServiceResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentEventServiceResponseDataTest.java index 463773bb..76cf4cbe 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventServiceResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventServiceResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventServiceResponseTest.java b/src/test/java/com/rootly/client/model/IncidentEventServiceResponseTest.java index 4e7d1eb3..d909f4d2 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventServiceResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventServiceResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventServiceTest.java b/src/test/java/com/rootly/client/model/IncidentEventServiceTest.java index 054487b1..33943822 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventServiceTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentEventTest.java b/src/test/java/com/rootly/client/model/IncidentEventTest.java index 87ac5453..466c3551 100644 --- a/src/test/java/com/rootly/client/model/IncidentEventTest.java +++ b/src/test/java/com/rootly/client/model/IncidentEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFeedbackListTest.java b/src/test/java/com/rootly/client/model/IncidentFeedbackListTest.java index 7af3dbba..df03a79b 100644 --- a/src/test/java/com/rootly/client/model/IncidentFeedbackListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFeedbackListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentFeedbackResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentFeedbackResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentFeedbackResponseDataTest.java index 438ea754..89d3536d 100644 --- a/src/test/java/com/rootly/client/model/IncidentFeedbackResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFeedbackResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFeedbackResponseTest.java b/src/test/java/com/rootly/client/model/IncidentFeedbackResponseTest.java index 2c43e115..2d657be8 100644 --- a/src/test/java/com/rootly/client/model/IncidentFeedbackResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFeedbackResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFeedbackTest.java b/src/test/java/com/rootly/client/model/IncidentFeedbackTest.java index 2d6c9f3d..906596d4 100644 --- a/src/test/java/com/rootly/client/model/IncidentFeedbackTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFeedbackTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionListTest.java b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionListTest.java index c799cbaf..9e268dcf 100644 --- a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentFormFieldSelectionResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseDataTest.java index 16c12f15..aeb6fd01 100644 --- a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseTest.java b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseTest.java index ae5f64e3..7b780326 100644 --- a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionTest.java b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionTest.java index 8325c012..06429e59 100644 --- a/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/IncidentFormFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -112,4 +112,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentListTest.java b/src/test/java/com/rootly/client/model/IncidentListTest.java index 8b74a213..f6c7e5c5 100644 --- a/src/test/java/com/rootly/client/model/IncidentListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanListTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanListTest.java index e1012576..55cb2455 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetBooleanResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseDataTest.java index 51c5b8e8..9e7371c5 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseTest.java index 323eefc0..7857668d 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanTest.java index adce6072..2b7aaf7b 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetBooleanTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetListTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetListTest.java index 4aa8ff59..4b788d62 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceListTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceListTest.java index 121ac205..58992191 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPermissionSetResourceResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseDataTest.java index 8680b6d3..44736e73 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseTest.java index 70e3f0ba..3d7ea6c1 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceTest.java index a68bf37c..506ffe36 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseDataTest.java index eef260da..df42ef28 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseTest.java index 7aae7320..e4b80410 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPermissionSetTest.java b/src/test/java/com/rootly/client/model/IncidentPermissionSetTest.java index 676e5d09..618f4eb4 100644 --- a/src/test/java/com/rootly/client/model/IncidentPermissionSetTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPermissionSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPostMortemListTest.java b/src/test/java/com/rootly/client/model/IncidentPostMortemListTest.java index 2be171c7..9acdff7e 100644 --- a/src/test/java/com/rootly/client/model/IncidentPostMortemListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPostMortemListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentPostMortemResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentPostMortemResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentPostMortemResponseDataTest.java index 1f1f7490..6ea14a6b 100644 --- a/src/test/java/com/rootly/client/model/IncidentPostMortemResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPostMortemResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPostMortemResponseTest.java b/src/test/java/com/rootly/client/model/IncidentPostMortemResponseTest.java index 2bbcb114..5fbcec64 100644 --- a/src/test/java/com/rootly/client/model/IncidentPostMortemResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPostMortemResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentPostMortemTest.java b/src/test/java/com/rootly/client/model/IncidentPostMortemTest.java index 47378ac3..92d2f42e 100644 --- a/src/test/java/com/rootly/client/model/IncidentPostMortemTest.java +++ b/src/test/java/com/rootly/client/model/IncidentPostMortemTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentResponseDataTest.java index 23d46057..925e7362 100644 --- a/src/test/java/com/rootly/client/model/IncidentResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentResponseTest.java b/src/test/java/com/rootly/client/model/IncidentResponseTest.java index dd02a06a..f6b80083 100644 --- a/src/test/java/com/rootly/client/model/IncidentResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseDataTest.java index 2420a056..25997cc7 100644 --- a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseTest.java b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseTest.java index 82ac95c0..57b5778a 100644 --- a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepTest.java b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepTest.java index 65ff1920..19552636 100644 --- a/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRetrospectiveStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleListTest.java b/src/test/java/com/rootly/client/model/IncidentRoleListTest.java index 89721b15..552a0213 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentRoleResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentRoleResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentRoleResponseDataTest.java index d417b5a0..f9ec38ba 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleResponseTest.java b/src/test/java/com/rootly/client/model/IncidentRoleResponseTest.java index 43729df3..50629636 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleTaskListTest.java b/src/test/java/com/rootly/client/model/IncidentRoleTaskListTest.java index 61235c2b..85d744ab 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleTaskListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleTaskListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentRoleTaskResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseDataTest.java index dd4314e1..04cf5381 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseTest.java b/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseTest.java index 4f039a6c..07988260 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleTaskResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleTaskTest.java b/src/test/java/com/rootly/client/model/IncidentRoleTaskTest.java index 1ee70bbd..14a300a9 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleTaskTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentRoleTest.java b/src/test/java/com/rootly/client/model/IncidentRoleTest.java index 029511a1..1b0d436e 100644 --- a/src/test/java/com/rootly/client/model/IncidentRoleTest.java +++ b/src/test/java/com/rootly/client/model/IncidentRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentStatusPageEventListTest.java b/src/test/java/com/rootly/client/model/IncidentStatusPageEventListTest.java index c988d308..860c150b 100644 --- a/src/test/java/com/rootly/client/model/IncidentStatusPageEventListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentStatusPageEventListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentStatusPageEventResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseDataTest.java index b8548f12..d1dd1896 100644 --- a/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseTest.java b/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseTest.java index 9420fffa..e3d67634 100644 --- a/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentStatusPageEventResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentStatusPageEventTest.java b/src/test/java/com/rootly/client/model/IncidentStatusPageEventTest.java index 6bd8782f..18992af4 100644 --- a/src/test/java/com/rootly/client/model/IncidentStatusPageEventTest.java +++ b/src/test/java/com/rootly/client/model/IncidentStatusPageEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentSubStatusListTest.java b/src/test/java/com/rootly/client/model/IncidentSubStatusListTest.java index c7c8b265..78197324 100644 --- a/src/test/java/com/rootly/client/model/IncidentSubStatusListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentSubStatusListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentSubStatusResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentSubStatusResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentSubStatusResponseDataTest.java index 91ed2c34..d1f0ade9 100644 --- a/src/test/java/com/rootly/client/model/IncidentSubStatusResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentSubStatusResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentSubStatusResponseTest.java b/src/test/java/com/rootly/client/model/IncidentSubStatusResponseTest.java index db849082..97df89f3 100644 --- a/src/test/java/com/rootly/client/model/IncidentSubStatusResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentSubStatusResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentSubStatusTest.java b/src/test/java/com/rootly/client/model/IncidentSubStatusTest.java index 56176f1c..478f7933 100644 --- a/src/test/java/com/rootly/client/model/IncidentSubStatusTest.java +++ b/src/test/java/com/rootly/client/model/IncidentSubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentTest.java b/src/test/java/com/rootly/client/model/IncidentTest.java index 8a183401..35f65e2f 100644 --- a/src/test/java/com/rootly/client/model/IncidentTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,6 +21,7 @@ import com.rootly.client.model.EnvironmentResponse; import com.rootly.client.model.FunctionalityResponse; import com.rootly.client.model.IncidentTypeResponse; +import com.rootly.client.model.IncidentZoomMeetingGlobalDialInNumbersInner; import com.rootly.client.model.ServiceResponse; import com.rootly.client.model.SeverityResponse; import com.rootly.client.model.TeamResponse; @@ -46,6 +47,22 @@ public void testIncident() { // TODO: test Incident } + /** + * Test the property 'id' + */ + @Test + public void idTest() { + // TODO: test id + } + + /** + * Test the property 'sequentialId' + */ + @Test + public void sequentialIdTest() { + // TODO: test sequentialId + } + /** * Test the property 'title' */ @@ -102,6 +119,54 @@ public void _privateTest() { // TODO: test _private } + /** + * Test the property 'source' + */ + @Test + public void sourceTest() { + // TODO: test source + } + + /** + * Test the property 'status' + */ + @Test + public void statusTest() { + // TODO: test status + } + + /** + * Test the property 'url' + */ + @Test + public void urlTest() { + // TODO: test url + } + + /** + * Test the property 'shortUrl' + */ + @Test + public void shortUrlTest() { + // TODO: test shortUrl + } + + /** + * Test the property 'publicTitle' + */ + @Test + public void publicTitleTest() { + // TODO: test publicTitle + } + + /** + * Test the property 'user' + */ + @Test + public void userTest() { + // TODO: test user + } + /** * Test the property 'severity' */ @@ -182,6 +247,566 @@ public void slackChannelUrlTest() { // TODO: test slackChannelUrl } + /** + * Test the property 'slackChannelShortUrl' + */ + @Test + public void slackChannelShortUrlTest() { + // TODO: test slackChannelShortUrl + } + + /** + * Test the property 'slackChannelDeepLink' + */ + @Test + public void slackChannelDeepLinkTest() { + // TODO: test slackChannelDeepLink + } + + /** + * Test the property 'slackChannelArchived' + */ + @Test + public void slackChannelArchivedTest() { + // TODO: test slackChannelArchived + } + + /** + * Test the property 'slackLastMessageTs' + */ + @Test + public void slackLastMessageTsTest() { + // TODO: test slackLastMessageTs + } + + /** + * Test the property 'zoomMeetingId' + */ + @Test + public void zoomMeetingIdTest() { + // TODO: test zoomMeetingId + } + + /** + * Test the property 'zoomMeetingStartUrl' + */ + @Test + public void zoomMeetingStartUrlTest() { + // TODO: test zoomMeetingStartUrl + } + + /** + * Test the property 'zoomMeetingJoinUrl' + */ + @Test + public void zoomMeetingJoinUrlTest() { + // TODO: test zoomMeetingJoinUrl + } + + /** + * Test the property 'zoomMeetingPassword' + */ + @Test + public void zoomMeetingPasswordTest() { + // TODO: test zoomMeetingPassword + } + + /** + * Test the property 'zoomMeetingPstnPassword' + */ + @Test + public void zoomMeetingPstnPasswordTest() { + // TODO: test zoomMeetingPstnPassword + } + + /** + * Test the property 'zoomMeetingH323Password' + */ + @Test + public void zoomMeetingH323PasswordTest() { + // TODO: test zoomMeetingH323Password + } + + /** + * Test the property 'zoomMeetingGlobalDialInNumbers' + */ + @Test + public void zoomMeetingGlobalDialInNumbersTest() { + // TODO: test zoomMeetingGlobalDialInNumbers + } + + /** + * Test the property 'googleDriveId' + */ + @Test + public void googleDriveIdTest() { + // TODO: test googleDriveId + } + + /** + * Test the property 'googleDriveParentId' + */ + @Test + public void googleDriveParentIdTest() { + // TODO: test googleDriveParentId + } + + /** + * Test the property 'googleDriveUrl' + */ + @Test + public void googleDriveUrlTest() { + // TODO: test googleDriveUrl + } + + /** + * Test the property 'googleMeetingId' + */ + @Test + public void googleMeetingIdTest() { + // TODO: test googleMeetingId + } + + /** + * Test the property 'googleMeetingUrl' + */ + @Test + public void googleMeetingUrlTest() { + // TODO: test googleMeetingUrl + } + + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + + /** + * Test the property 'jiraIssueId' + */ + @Test + public void jiraIssueIdTest() { + // TODO: test jiraIssueId + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + + /** + * Test the property 'githubIssueId' + */ + @Test + public void githubIssueIdTest() { + // TODO: test githubIssueId + } + + /** + * Test the property 'githubIssueUrl' + */ + @Test + public void githubIssueUrlTest() { + // TODO: test githubIssueUrl + } + + /** + * Test the property 'gitlabIssueId' + */ + @Test + public void gitlabIssueIdTest() { + // TODO: test gitlabIssueId + } + + /** + * Test the property 'gitlabIssueUrl' + */ + @Test + public void gitlabIssueUrlTest() { + // TODO: test gitlabIssueUrl + } + + /** + * Test the property 'asanaTaskId' + */ + @Test + public void asanaTaskIdTest() { + // TODO: test asanaTaskId + } + + /** + * Test the property 'asanaTaskUrl' + */ + @Test + public void asanaTaskUrlTest() { + // TODO: test asanaTaskUrl + } + + /** + * 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 'trelloCardId' + */ + @Test + public void trelloCardIdTest() { + // TODO: test trelloCardId + } + + /** + * Test the property 'trelloCardUrl' + */ + @Test + public void trelloCardUrlTest() { + // TODO: test trelloCardUrl + } + + /** + * Test the property 'zendeskTicketId' + */ + @Test + public void zendeskTicketIdTest() { + // TODO: test zendeskTicketId + } + + /** + * Test the property 'zendeskTicketUrl' + */ + @Test + public void zendeskTicketUrlTest() { + // TODO: test zendeskTicketUrl + } + + /** + * Test the property 'pagerdutyIncidentId' + */ + @Test + public void pagerdutyIncidentIdTest() { + // TODO: test pagerdutyIncidentId + } + + /** + * Test the property 'pagerdutyIncidentNumber' + */ + @Test + public void pagerdutyIncidentNumberTest() { + // TODO: test pagerdutyIncidentNumber + } + + /** + * Test the property 'pagerdutyIncidentUrl' + */ + @Test + public void pagerdutyIncidentUrlTest() { + // TODO: test pagerdutyIncidentUrl + } + + /** + * Test the property 'opsgenieIncidentId' + */ + @Test + public void opsgenieIncidentIdTest() { + // TODO: test opsgenieIncidentId + } + + /** + * Test the property 'opsgenieIncidentUrl' + */ + @Test + public void opsgenieIncidentUrlTest() { + // TODO: test opsgenieIncidentUrl + } + + /** + * Test the property 'opsgenieAlertId' + */ + @Test + public void opsgenieAlertIdTest() { + // TODO: test opsgenieAlertId + } + + /** + * Test the property 'opsgenieAlertUrl' + */ + @Test + public void opsgenieAlertUrlTest() { + // TODO: test opsgenieAlertUrl + } + + /** + * Test the property 'serviceNowIncidentId' + */ + @Test + public void serviceNowIncidentIdTest() { + // TODO: test serviceNowIncidentId + } + + /** + * Test the property 'serviceNowIncidentKey' + */ + @Test + public void serviceNowIncidentKeyTest() { + // TODO: test serviceNowIncidentKey + } + + /** + * Test the property 'serviceNowIncidentUrl' + */ + @Test + public void serviceNowIncidentUrlTest() { + // TODO: test serviceNowIncidentUrl + } + + /** + * Test the property 'mattermostChannelId' + */ + @Test + public void mattermostChannelIdTest() { + // TODO: test mattermostChannelId + } + + /** + * Test the property 'mattermostChannelName' + */ + @Test + public void mattermostChannelNameTest() { + // TODO: test mattermostChannelName + } + + /** + * Test the property 'mattermostChannelUrl' + */ + @Test + public void mattermostChannelUrlTest() { + // TODO: test mattermostChannelUrl + } + + /** + * Test the property 'confluencePageId' + */ + @Test + public void confluencePageIdTest() { + // TODO: test confluencePageId + } + + /** + * Test the property 'confluencePageUrl' + */ + @Test + public void confluencePageUrlTest() { + // TODO: test confluencePageUrl + } + + /** + * Test the property 'datadogNotebookId' + */ + @Test + public void datadogNotebookIdTest() { + // TODO: test datadogNotebookId + } + + /** + * Test the property 'datadogNotebookUrl' + */ + @Test + public void datadogNotebookUrlTest() { + // TODO: test datadogNotebookUrl + } + + /** + * Test the property 'shortcutStoryId' + */ + @Test + public void shortcutStoryIdTest() { + // TODO: test shortcutStoryId + } + + /** + * Test the property 'shortcutStoryUrl' + */ + @Test + public void shortcutStoryUrlTest() { + // TODO: test shortcutStoryUrl + } + + /** + * Test the property 'shortcutTaskId' + */ + @Test + public void shortcutTaskIdTest() { + // TODO: test shortcutTaskId + } + + /** + * Test the property 'shortcutTaskUrl' + */ + @Test + public void shortcutTaskUrlTest() { + // TODO: test shortcutTaskUrl + } + + /** + * Test the property 'motionTaskId' + */ + @Test + public void motionTaskIdTest() { + // TODO: test motionTaskId + } + + /** + * Test the property 'motionTaskUrl' + */ + @Test + public void motionTaskUrlTest() { + // TODO: test motionTaskUrl + } + + /** + * Test the property 'clickupTaskId' + */ + @Test + public void clickupTaskIdTest() { + // TODO: test clickupTaskId + } + + /** + * Test the property 'clickupTaskUrl' + */ + @Test + public void clickupTaskUrlTest() { + // TODO: test clickupTaskUrl + } + + /** + * Test the property 'victorOpsIncidentId' + */ + @Test + public void victorOpsIncidentIdTest() { + // TODO: test victorOpsIncidentId + } + + /** + * Test the property 'victorOpsIncidentUrl' + */ + @Test + public void victorOpsIncidentUrlTest() { + // TODO: test victorOpsIncidentUrl + } + + /** + * Test the property 'quipPageId' + */ + @Test + public void quipPageIdTest() { + // TODO: test quipPageId + } + + /** + * Test the property 'quipPageUrl' + */ + @Test + public void quipPageUrlTest() { + // TODO: test quipPageUrl + } + + /** + * Test the property 'sharepointPageId' + */ + @Test + public void sharepointPageIdTest() { + // TODO: test sharepointPageId + } + + /** + * Test the property 'sharepointPageUrl' + */ + @Test + public void sharepointPageUrlTest() { + // TODO: test sharepointPageUrl + } + + /** + * Test the property 'airtableBaseKey' + */ + @Test + public void airtableBaseKeyTest() { + // TODO: test airtableBaseKey + } + + /** + * Test the property 'airtableTableName' + */ + @Test + public void airtableTableNameTest() { + // TODO: test airtableTableName + } + + /** + * Test the property 'airtableRecordId' + */ + @Test + public void airtableRecordIdTest() { + // TODO: test airtableRecordId + } + + /** + * Test the property 'airtableRecordUrl' + */ + @Test + public void airtableRecordUrlTest() { + // TODO: test airtableRecordUrl + } + + /** + * Test the property 'freshserviceTicketId' + */ + @Test + public void freshserviceTicketIdTest() { + // TODO: test freshserviceTicketId + } + + /** + * Test the property 'freshserviceTicketUrl' + */ + @Test + public void freshserviceTicketUrlTest() { + // TODO: test freshserviceTicketUrl + } + + /** + * Test the property 'freshserviceTaskId' + */ + @Test + public void freshserviceTaskIdTest() { + // TODO: test freshserviceTaskId + } + + /** + * Test the property 'freshserviceTaskUrl' + */ + @Test + public void freshserviceTaskUrlTest() { + // TODO: test freshserviceTaskUrl + } + /** * Test the property 'mitigationMessage' */ @@ -222,6 +847,14 @@ public void scheduledUntilTest() { // TODO: test scheduledUntil } + /** + * Test the property 'mutedServiceIds' + */ + @Test + public void mutedServiceIdsTest() { + // TODO: test mutedServiceIds + } + /** * Test the property 'retrospectiveProgressStatus' */ @@ -230,6 +863,54 @@ public void retrospectiveProgressStatusTest() { // TODO: test retrospectiveProgressStatus } + /** + * Test the property 'inTriageBy' + */ + @Test + public void inTriageByTest() { + // TODO: test inTriageBy + } + + /** + * Test the property 'startedBy' + */ + @Test + public void startedByTest() { + // TODO: test startedBy + } + + /** + * Test the property 'mitigatedBy' + */ + @Test + public void mitigatedByTest() { + // TODO: test mitigatedBy + } + + /** + * Test the property 'resolvedBy' + */ + @Test + public void resolvedByTest() { + // TODO: test resolvedBy + } + + /** + * Test the property 'closedBy' + */ + @Test + public void closedByTest() { + // TODO: test closedBy + } + + /** + * Test the property 'cancelledBy' + */ + @Test + public void cancelledByTest() { + // TODO: test cancelledBy + } + /** * Test the property 'inTriageAt' */ @@ -278,6 +959,14 @@ public void resolvedAtTest() { // TODO: test resolvedAt } + /** + * Test the property 'closedAt' + */ + @Test + public void closedAtTest() { + // TODO: test closedAt + } + /** * Test the property 'cancelledAt' */ diff --git a/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java b/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java index 3f9144ba..f2127dac 100644 --- a/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentTypeListTest.java b/src/test/java/com/rootly/client/model/IncidentTypeListTest.java index f233ffe4..1849fb04 100644 --- a/src/test/java/com/rootly/client/model/IncidentTypeListTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTypeListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.IncidentTypeResponseData; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/IncidentTypeResponseDataTest.java b/src/test/java/com/rootly/client/model/IncidentTypeResponseDataTest.java index 0f79ccc7..e524f5b3 100644 --- a/src/test/java/com/rootly/client/model/IncidentTypeResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTypeResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentTypeResponseTest.java b/src/test/java/com/rootly/client/model/IncidentTypeResponseTest.java index 115164f2..014585b7 100644 --- a/src/test/java/com/rootly/client/model/IncidentTypeResponseTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTypeResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IncidentTypeTest.java b/src/test/java/com/rootly/client/model/IncidentTypeTest.java index 5c380737..6771f759 100644 --- a/src/test/java/com/rootly/client/model/IncidentTypeTest.java +++ b/src/test/java/com/rootly/client/model/IncidentTypeTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -106,6 +107,14 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParamsTest.java index 76fa2551..c37f9723 100644 --- a/src/test/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToMicrosoftTeamsChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParamsTest.java index 2d6505f5..7e8d1c8d 100644 --- a/src/test/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToSlackChannelOpsgenieTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParamsTest.java index dece86f6..00890fbb 100644 --- a/src/test/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToSlackChannelPagerdutyTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParamsTest.java index 387b7e00..8db69d78 100644 --- a/src/test/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToSlackChannelRootlyTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InviteToSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToSlackChannelTaskParamsTest.java index a3c4abdf..09504f88 100644 --- a/src/test/java/com/rootly/client/model/InviteToSlackChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToSlackChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTest.java b/src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTest.java index d41292a7..13207419 100644 --- a/src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/InviteToSlackChannelVictorOpsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IpRangesResponseDataTest.java b/src/test/java/com/rootly/client/model/IpRangesResponseDataTest.java index d6892ebf..502b78a1 100644 --- a/src/test/java/com/rootly/client/model/IpRangesResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/IpRangesResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IpRangesResponseTest.java b/src/test/java/com/rootly/client/model/IpRangesResponseTest.java index 2d5d862d..f064a709 100644 --- a/src/test/java/com/rootly/client/model/IpRangesResponseTest.java +++ b/src/test/java/com/rootly/client/model/IpRangesResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/IpRangesTest.java b/src/test/java/com/rootly/client/model/IpRangesTest.java index 46171e1f..1b8eb263 100644 --- a/src/test/java/com/rootly/client/model/IpRangesTest.java +++ b/src/test/java/com/rootly/client/model/IpRangesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/LinksTest.java b/src/test/java/com/rootly/client/model/LinksTest.java index 564c5765..cbab3d4a 100644 --- a/src/test/java/com/rootly/client/model/LinksTest.java +++ b/src/test/java/com/rootly/client/model/LinksTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterListTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterListTest.java index 62951666..cfecb8da 100644 --- a/src/test/java/com/rootly/client/model/LiveCallRouterListTest.java +++ b/src/test/java/com/rootly/client/model/LiveCallRouterListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; import com.rootly.client.model.LiveCallRouterResponseData; +import com.rootly.client.model.Meta; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterResponseDataTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterResponseDataTest.java index e9b0144f..54c3de14 100644 --- a/src/test/java/com/rootly/client/model/LiveCallRouterResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/LiveCallRouterResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterResponseTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterResponseTest.java index ea995bb2..c81985b5 100644 --- a/src/test/java/com/rootly/client/model/LiveCallRouterResponseTest.java +++ b/src/test/java/com/rootly/client/model/LiveCallRouterResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/LiveCallRouterTest.java b/src/test/java/com/rootly/client/model/LiveCallRouterTest.java index febfb444..26c668b4 100644 --- a/src/test/java/com/rootly/client/model/LiveCallRouterTest.java +++ b/src/test/java/com/rootly/client/model/LiveCallRouterTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,10 +18,12 @@ 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 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; @@ -151,6 +153,22 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'callingTreePrompt' + */ + @Test + public void callingTreePromptTest() { + // TODO: test callingTreePrompt + } + + /** + * Test the property 'pagingTargets' + */ + @Test + public void pagingTargetsTest() { + // TODO: test pagingTargets + } + /** * Test the property 'escalationPolicyTriggerParams' */ diff --git a/src/test/java/com/rootly/client/model/MitigateIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/MitigateIncidentDataAttributesTest.java index d9c3e2c2..2d7afb33 100644 --- a/src/test/java/com/rootly/client/model/MitigateIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/MitigateIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java b/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java index 4309c903..ae0f4e8f 100644 --- a/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/MitigateIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/MitigateIncidentTest.java b/src/test/java/com/rootly/client/model/MitigateIncidentTest.java index 3f7b16d2..610d4007 100644 --- a/src/test/java/com/rootly/client/model/MitigateIncidentTest.java +++ b/src/test/java/com/rootly/client/model/MitigateIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java index f02f2486..0a3d2a36 100644 --- a/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesLabelsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInnerValue; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; diff --git a/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java index 97cc153c..be1d9718 100644 --- a/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -178,4 +179,20 @@ public void dataTest() { // TODO: test data } + /** + * Test the property 'deduplicationKey' + */ + @Test + public void deduplicationKeyTest() { + // TODO: test deduplicationKey + } + + /** + * Test the property 'alertFieldValuesAttributes' + */ + @Test + public void alertFieldValuesAttributesTest() { + // TODO: test alertFieldValuesAttributes + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertDataTest.java b/src/test/java/com/rootly/client/model/NewAlertDataTest.java index 5545687f..7419b25e 100644 --- a/src/test/java/com/rootly/client/model/NewAlertDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertEventDataAttributesTest.java index 8512214f..fe26adef 100644 --- a/src/test/java/com/rootly/client/model/NewAlertEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertEventDataTest.java b/src/test/java/com/rootly/client/model/NewAlertEventDataTest.java index ee795641..ce46f8ca 100644 --- a/src/test/java/com/rootly/client/model/NewAlertEventDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertEventTest.java b/src/test/java/com/rootly/client/model/NewAlertEventTest.java index b0512631..a17727e3 100644 --- a/src/test/java/com/rootly/client/model/NewAlertEventTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInnerTest.java index ef5521b0..443c34ab 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTest.java index 1701ad8c..c52393b9 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTargetsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java index 411c1e78..ecfddeb0 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; +import com.rootly.client.model.NewAlertGroupDataAttributesConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; import java.util.ArrayList; @@ -106,4 +107,12 @@ public void conditionTypeTest() { // TODO: test conditionType } + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupDataTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupDataTest.java index d427f089..f6c4686e 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertGroupTest.java b/src/test/java/com/rootly/client/model/NewAlertGroupTest.java index 3793f5b9..d59bf856 100644 --- a/src/test/java/com/rootly/client/model/NewAlertGroupTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInnerTest.java index 5d850254..7860c271 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesConditionsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesDestinationTest.java b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesDestinationTest.java deleted file mode 100644 index afc41bb7..00000000 --- a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesDestinationTest.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 NewAlertRoutingRuleDataAttributesDestination - */ -public class NewAlertRoutingRuleDataAttributesDestinationTest { - private final NewAlertRoutingRuleDataAttributesDestination model = new NewAlertRoutingRuleDataAttributesDestination(); - - /** - * Model tests for NewAlertRoutingRuleDataAttributesDestination - */ - @Test - public void testNewAlertRoutingRuleDataAttributesDestination() { - // TODO: test NewAlertRoutingRuleDataAttributesDestination - } - - /** - * 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/NewAlertRoutingRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesTest.java index a173b506..93359fe5 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertRouteDataAttributesRulesInnerDestinationsInner; import com.rootly.client.model.NewAlertRoutingRuleDataAttributesConditionsInner; -import com.rootly.client.model.NewAlertRoutingRuleDataAttributesDestination; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -74,6 +74,14 @@ public void alertsSourceIdTest() { // TODO: test alertsSourceId } + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + /** * Test the property 'conditionType' */ diff --git a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataTest.java b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataTest.java index 60cd2479..fee0a2f6 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleTest.java b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleTest.java index d8baa62c..9df07075 100644 --- a/src/test/java/com/rootly/client/model/NewAlertRoutingRuleTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertRoutingRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertTest.java b/src/test/java/com/rootly/client/model/NewAlertTest.java index 3b072b86..66595ac1 100644 --- a/src/test/java/com/rootly/client/model/NewAlertTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertUrgencyDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertUrgencyDataAttributesTest.java index 00666e5b..05fed049 100644 --- a/src/test/java/com/rootly/client/model/NewAlertUrgencyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertUrgencyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertUrgencyDataTest.java b/src/test/java/com/rootly/client/model/NewAlertUrgencyDataTest.java index fd9154d4..2a5a5d3a 100644 --- a/src/test/java/com/rootly/client/model/NewAlertUrgencyDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertUrgencyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertUrgencyTest.java b/src/test/java/com/rootly/client/model/NewAlertUrgencyTest.java index f3f622ad..0dc5273f 100644 --- a/src/test/java/com/rootly/client/model/NewAlertUrgencyTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertUrgencyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInnerTest.java index 58d2aea2..8f679388 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ 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; @@ -61,4 +62,36 @@ public void valueTest() { // TODO: test value } + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * Test the property 'conditionableId' + */ + @Test + public void conditionableIdTest() { + // TODO: test conditionableId + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + + /** + * Test the property 'alertUrgencyId' + */ + @Test + public void alertUrgencyIdTest() { + // TODO: test alertUrgencyId + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributesTest.java index 579825a3..4ad8b87d 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesAlertTemplateAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInnerTest.java index 95b8b99a..2ed67867 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesConditionsAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ 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; @@ -61,4 +62,28 @@ public void valueTest() { // TODO: test value } + /** + * Test the property 'conditionableType' + */ + @Test + public void conditionableTypeTest() { + // TODO: test conditionableType + } + + /** + * Test the property 'conditionableId' + */ + @Test + public void conditionableIdTest() { + // TODO: test conditionableId + } + + /** + * Test the property 'kind' + */ + @Test + public void kindTest() { + // TODO: test kind + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesTest.java index 63b9cd82..66447ab2 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesResolutionRuleAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -23,6 +23,7 @@ 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; @@ -56,6 +57,30 @@ 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' */ diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInnerTest.java index 6853b30c..b62b6c75 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesFieldMappingsAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java index 0c86c70b..c3a0d5a7 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesSourceableAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -23,6 +23,7 @@ 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; diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesTest.java index 902c4b5d..65d5529e 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; @@ -26,6 +27,7 @@ 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; @@ -67,6 +69,38 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'deduplicateAlertsByKey' + */ + @Test + public void deduplicateAlertsByKeyTest() { + // TODO: test deduplicateAlertsByKey + } + + /** + * Test the property 'deduplicationKeyKind' + */ + @Test + public void deduplicationKeyKindTest() { + // TODO: test deduplicationKeyKind + } + + /** + * Test the property 'deduplicationKeyPath' + */ + @Test + public void deduplicationKeyPathTest() { + // TODO: test deduplicationKeyPath + } + + /** + * Test the property 'deduplicationKeyRegexp' + */ + @Test + public void deduplicationKeyRegexpTest() { + // TODO: test deduplicationKeyRegexp + } + /** * Test the property 'ownerGroupIds' */ @@ -107,4 +141,12 @@ public void resolutionRuleAttributesTest() { // TODO: test resolutionRuleAttributes } + /** + * Test the property 'alertSourceFieldsAttributes' + */ + @Test + public void alertSourceFieldsAttributesTest() { + // TODO: test alertSourceFieldsAttributes + } + } diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceDataTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceDataTest.java index f0dae777..b9e06baa 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAlertsSourceTest.java b/src/test/java/com/rootly/client/model/NewAlertsSourceTest.java index 912e5146..3c55e68f 100644 --- a/src/test/java/com/rootly/client/model/NewAlertsSourceTest.java +++ b/src/test/java/com/rootly/client/model/NewAlertsSourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAuthorizationDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewAuthorizationDataAttributesTest.java index 75e6e2d3..901906b9 100644 --- a/src/test/java/com/rootly/client/model/NewAuthorizationDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewAuthorizationDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAuthorizationDataTest.java b/src/test/java/com/rootly/client/model/NewAuthorizationDataTest.java index 449617a4..fde444db 100644 --- a/src/test/java/com/rootly/client/model/NewAuthorizationDataTest.java +++ b/src/test/java/com/rootly/client/model/NewAuthorizationDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewAuthorizationTest.java b/src/test/java/com/rootly/client/model/NewAuthorizationTest.java index bf227375..9110c7f1 100644 --- a/src/test/java/com/rootly/client/model/NewAuthorizationTest.java +++ b/src/test/java/com/rootly/client/model/NewAuthorizationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogDataAttributesTest.java index fc5604e4..ad7ddfd2 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogDataTest.java index 0e2daf77..cc11986a 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesTest.java index 612fc87d..958746fe 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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; @@ -62,4 +65,20 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'backstageId' + */ + @Test + public void backstageIdTest() { + // TODO: test backstageId + } + + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityDataTest.java index b753df67..ce8e243a 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributesTest.java index 1fb333d0..378dfcaf 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataTest.java index 251f630a..f3d466a8 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyTest.java index c5882310..14cd0eb3 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityPropertyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogEntityTest.java b/src/test/java/com/rootly/client/model/NewCatalogEntityTest.java index d758800b..23731c29 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogEntityTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogEntityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCatalogFieldDataAttributesTest.java index 4a1cf8f6..31d14b7e 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -78,4 +78,20 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + } diff --git a/src/test/java/com/rootly/client/model/NewCatalogFieldDataTest.java b/src/test/java/com/rootly/client/model/NewCatalogFieldDataTest.java index 45ac60f7..267d759c 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogFieldTest.java b/src/test/java/com/rootly/client/model/NewCatalogFieldTest.java index 19c17b5d..af09d536 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogFieldTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCatalogTest.java b/src/test/java/com/rootly/client/model/NewCatalogTest.java index e0f0b9d1..e069e83c 100644 --- a/src/test/java/com/rootly/client/model/NewCatalogTest.java +++ b/src/test/java/com/rootly/client/model/NewCatalogTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCauseDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCauseDataAttributesTest.java index 21099f03..a98074f3 100644 --- a/src/test/java/com/rootly/client/model/NewCauseDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCauseDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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; @@ -62,4 +65,12 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewCauseDataTest.java b/src/test/java/com/rootly/client/model/NewCauseDataTest.java index 49be68ea..afe5e129 100644 --- a/src/test/java/com/rootly/client/model/NewCauseDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCauseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCauseTest.java b/src/test/java/com/rootly/client/model/NewCauseTest.java index 0f41e08d..0425faa2 100644 --- a/src/test/java/com/rootly/client/model/NewCauseTest.java +++ b/src/test/java/com/rootly/client/model/NewCauseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldDataAttributesTest.java index ec8b4e32..5517e003 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldDataTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldDataTest.java index 65517629..356620b6 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataAttributesTest.java index 270fced1..bc733683 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataTest.java index 9cd4fd68..554ceeaf 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldOptionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldOptionTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldOptionTest.java index 457e11c1..92185675 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFieldTest.java b/src/test/java/com/rootly/client/model/NewCustomFieldTest.java index 902c798a..63e221f9 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFieldTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFormDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewCustomFormDataAttributesTest.java index 886d4d11..8cb793b4 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFormDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFormDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,14 +46,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/NewCustomFormDataTest.java b/src/test/java/com/rootly/client/model/NewCustomFormDataTest.java index 4d19ed76..5e01716a 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFormDataTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFormDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewCustomFormTest.java b/src/test/java/com/rootly/client/model/NewCustomFormTest.java index edbddffa..07d3c83b 100644 --- a/src/test/java/com/rootly/client/model/NewCustomFormTest.java +++ b/src/test/java/com/rootly/client/model/NewCustomFormTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewDashboardDataAttributesTest.java index e830293f..61c24f46 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardDataTest.java b/src/test/java/com/rootly/client/model/NewDashboardDataTest.java index df129aeb..60b485b0 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardDataTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabelsTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabelsTest.java index 87ecf323..7b2e5563 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabelsTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatalabelsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregateTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregateTest.java index 8b5dab04..92f3bd38 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregateTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerAggregateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInnerTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInnerTest.java index 1d214f94..83031354 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerRulesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerTest.java index 33de5e17..fe7dee08 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerTest.java index a4a3444e..5521e24f 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsDatasetsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerAggregate; import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerFilterInner; +import com.rootly.client.model.NewDashboardPanelDataAttributesParamsDatasetsInnerGroupBy; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegendTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegendTest.java index d8992b26..5c7bdd79 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegendTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsLegendTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsTest.java index 1869b0d2..2215d7f2 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesPositionTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesPositionTest.java index 940ffa52..91222109 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesPositionTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesPositionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesTest.java index 8e485398..4368ef94 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelDataTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelDataTest.java index 6bfce4e6..d87d2a2f 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelDataTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardPanelTest.java b/src/test/java/com/rootly/client/model/NewDashboardPanelTest.java index 1763791d..f3fffc38 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardPanelTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardPanelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewDashboardTest.java b/src/test/java/com/rootly/client/model/NewDashboardTest.java index 726ae5d1..908c8f44 100644 --- a/src/test/java/com/rootly/client/model/NewDashboardTest.java +++ b/src/test/java/com/rootly/client/model/NewDashboardTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInnerTest.java b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInnerTest.java index 5814e1ff..577a14aa 100644 --- a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackAliasesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInnerTest.java b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInnerTest.java index 4be7ff92..70801b64 100644 --- a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesSlackChannelsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesTest.java index 3574510b..9a233ced 100644 --- a/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEnvironmentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -98,4 +99,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewEnvironmentDataTest.java b/src/test/java/com/rootly/client/model/NewEnvironmentDataTest.java index fff670cb..d0e314ff 100644 --- a/src/test/java/com/rootly/client/model/NewEnvironmentDataTest.java +++ b/src/test/java/com/rootly/client/model/NewEnvironmentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEnvironmentTest.java b/src/test/java/com/rootly/client/model/NewEnvironmentTest.java index 118bab21..d9c74864 100644 --- a/src/test/java/com/rootly/client/model/NewEnvironmentTest.java +++ b/src/test/java/com/rootly/client/model/NewEnvironmentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHoursTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHoursTest.java index 0e010f38..611b96e2 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHoursTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesBusinessHoursTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesTest.java index 2a830543..44fc5df5 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataTest.java index bd8d5353..1a9937b8 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyDataTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java index b132cca2..47b1115b 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesTest.java index 5529797d..2a9616b8 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataTest.java index 3b5c2c51..b03d165a 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelTest.java index bd6a30f9..43c8a3ff 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyLevelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1Test.java deleted file mode 100644 index 77a0f0c1..00000000 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1Test.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 - */ -public class NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 model = new NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1(); - - /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 - */ - @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerAnyOf1() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1 - } - - /** - * Test the property 'ruleType' - */ - @Test - public void ruleTypeTest() { - // TODO: test ruleType - } - - /** - * Test the property 'withinWorkingHour' - */ - @Test - public void withinWorkingHourTest() { - // TODO: test withinWorkingHour - } - -} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2Test.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2Test.java deleted file mode 100644 index 8c8e727d..00000000 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2Test.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 - */ -public class NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2Test { - private final NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 model = new NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2(); - - /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 - */ - @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerAnyOf2() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2 - } - - /** - * Test the property 'ruleType' - */ - @Test - public void ruleTypeTest() { - // TODO: test ruleType - } - - /** - * Test the property 'jsonPath' - */ - @Test - public void jsonPathTest() { - // TODO: test jsonPath - } - - /** - * Test the property 'operator' - */ - @Test - public void operatorTest() { - // TODO: test operator - } - - /** - * Test the property 'value' - */ - @Test - public void valueTest() { - // TODO: test value - } - -} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOfTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOfTest.java deleted file mode 100644 index ffd27a61..00000000 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerAnyOfTest.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 NewEscalationPolicyPathDataAttributesRulesInnerAnyOf - */ -public class NewEscalationPolicyPathDataAttributesRulesInnerAnyOfTest { - private final NewEscalationPolicyPathDataAttributesRulesInnerAnyOf model = new NewEscalationPolicyPathDataAttributesRulesInnerAnyOf(); - - /** - * Model tests for NewEscalationPolicyPathDataAttributesRulesInnerAnyOf - */ - @Test - public void testNewEscalationPolicyPathDataAttributesRulesInnerAnyOf() { - // TODO: test NewEscalationPolicyPathDataAttributesRulesInnerAnyOf - } - - /** - * Test the property 'ruleType' - */ - @Test - public void ruleTypeTest() { - // TODO: test ruleType - } - - /** - * Test the property 'urgencyIds' - */ - @Test - public void urgencyIdsTest() { - // TODO: test urgencyIds - } - -} diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java index fa8cc6cc..965dea31 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesRulesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,13 +18,18 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; +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 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; @@ -90,4 +95,52 @@ public void valueTest() { // TODO: test value } + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * Test the property 'fieldableType' + */ + @Test + public void fieldableTypeTest() { + // TODO: test fieldableType + } + + /** + * Test the property 'fieldableId' + */ + @Test + public void fieldableIdTest() { + // TODO: test fieldableId + } + + /** + * Test the property 'serviceIds' + */ + @Test + public void serviceIdsTest() { + // TODO: test serviceIds + } + + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + + /** + * Test the property 'timeBlocks' + */ + @Test + public void timeBlocksTest() { + // TODO: test timeBlocks + } + } diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java index c0575e5a..c4f0bacd 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.NewEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,6 +58,30 @@ public void notificationTypeTest() { // TODO: test notificationType } + /** + * Test the property 'pathType' + */ + @Test + public void pathTypeTest() { + // TODO: test pathType + } + + /** + * Test the property 'afterDeferralBehavior' + */ + @Test + public void afterDeferralBehaviorTest() { + // TODO: test afterDeferralBehavior + } + + /** + * Test the property 'afterDeferralPathId' + */ + @Test + public void afterDeferralPathIdTest() { + // TODO: test afterDeferralPathId + } + /** * Test the property '_default' */ @@ -113,4 +138,20 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'timeRestrictionTimeZone' + */ + @Test + public void timeRestrictionTimeZoneTest() { + // TODO: test timeRestrictionTimeZone + } + + /** + * Test the property 'timeRestrictions' + */ + @Test + public void timeRestrictionsTest() { + // TODO: test timeRestrictions + } + } diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataTest.java index 204793c2..a6bb3cb8 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathTest.java index 7644cb3b..9ef718e0 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyPathTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyPathTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewEscalationPolicyTest.java b/src/test/java/com/rootly/client/model/NewEscalationPolicyTest.java index 28f475ce..d72d3e42 100644 --- a/src/test/java/com/rootly/client/model/NewEscalationPolicyTest.java +++ b/src/test/java/com/rootly/client/model/NewEscalationPolicyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormFieldDataAttributesTest.java index fb39ea6f..1bdad69e 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -128,4 +128,12 @@ public void defaultValuesTest() { // TODO: test defaultValues } + /** + * Test the property 'autoSetByCatalogPropertyId' + */ + @Test + public void autoSetByCatalogPropertyIdTest() { + // TODO: test autoSetByCatalogPropertyId + } + } diff --git a/src/test/java/com/rootly/client/model/NewFormFieldDataTest.java b/src/test/java/com/rootly/client/model/NewFormFieldDataTest.java index ac15c0e0..a97ef10e 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldOptionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormFieldOptionDataAttributesTest.java index 228ae348..a343d137 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldOptionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldOptionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/NewFormFieldOptionDataTest.java index 02668d41..f2b114f4 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldOptionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldOptionTest.java b/src/test/java/com/rootly/client/model/NewFormFieldOptionTest.java index 04c06693..23d59b23 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributesTest.java index b3ed8360..fd17404e 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataTest.java index 5d7211b6..90203630 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionTest.java index d460c31f..30577640 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataAttributesTest.java index 4f5ac150..2b616c4f 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -85,4 +85,12 @@ public void placementOperatorTest() { // TODO: test placementOperator } + /** + * Test the property 'nonEditable' + */ + @Test + public void nonEditableTest() { + // TODO: test nonEditable + } + } diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataTest.java index 618cfb31..87081e3c 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPlacementTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPlacementTest.java index c82c666f..3a788471 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPlacementTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPlacementTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPositionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPositionDataAttributesTest.java index 33bd5b27..40c0af7a 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPositionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPositionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPositionDataTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPositionDataTest.java index 9c9a1b5b..970e59b6 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPositionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPositionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldPositionTest.java b/src/test/java/com/rootly/client/model/NewFormFieldPositionTest.java index 60585c1b..899bbee5 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldPositionTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldPositionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormFieldTest.java b/src/test/java/com/rootly/client/model/NewFormFieldTest.java index 89742431..fa4cf062 100644 --- a/src/test/java/com/rootly/client/model/NewFormFieldTest.java +++ b/src/test/java/com/rootly/client/model/NewFormFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormSetConditionDataAttributesTest.java index 1eac456b..7c8cf7f9 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetConditionDataTest.java b/src/test/java/com/rootly/client/model/NewFormSetConditionDataTest.java index ce047337..05c0422b 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetConditionTest.java b/src/test/java/com/rootly/client/model/NewFormSetConditionTest.java index f34c6ddf..e1f4d230 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetConditionTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFormSetDataAttributesTest.java index 71c784d7..f30d9aeb 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetDataTest.java b/src/test/java/com/rootly/client/model/NewFormSetDataTest.java index fe108519..3a8fcc06 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFormSetTest.java b/src/test/java/com/rootly/client/model/NewFormSetTest.java index 416dc083..449103a5 100644 --- a/src/test/java/com/rootly/client/model/NewFormSetTest.java +++ b/src/test/java/com/rootly/client/model/NewFormSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFunctionalityDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewFunctionalityDataAttributesTest.java index 8c994900..3ce45f27 100644 --- a/src/test/java/com/rootly/client/model/NewFunctionalityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewFunctionalityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -179,19 +180,27 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds + } + + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId } /** @@ -210,4 +219,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/NewFunctionalityDataTest.java index 3e0cead0..fe406e9d 100644 --- a/src/test/java/com/rootly/client/model/NewFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/NewFunctionalityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewFunctionalityTest.java b/src/test/java/com/rootly/client/model/NewFunctionalityTest.java index 9d78f1f1..4ca415be 100644 --- a/src/test/java/com/rootly/client/model/NewFunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/NewFunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewHeartbeatDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewHeartbeatDataAttributesTest.java index d84e1cd2..987e5dd3 100644 --- a/src/test/java/com/rootly/client/model/NewHeartbeatDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewHeartbeatDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -62,6 +62,14 @@ public void alertSummaryTest() { // TODO: test alertSummary } + /** + * Test the property 'alertDescription' + */ + @Test + public void alertDescriptionTest() { + // TODO: test alertDescription + } + /** * Test the property 'alertUrgencyId' */ diff --git a/src/test/java/com/rootly/client/model/NewHeartbeatDataTest.java b/src/test/java/com/rootly/client/model/NewHeartbeatDataTest.java index 5c83c9c4..9383afed 100644 --- a/src/test/java/com/rootly/client/model/NewHeartbeatDataTest.java +++ b/src/test/java/com/rootly/client/model/NewHeartbeatDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewHeartbeatTest.java b/src/test/java/com/rootly/client/model/NewHeartbeatTest.java index 1ab37175..13bf7da1 100644 --- a/src/test/java/com/rootly/client/model/NewHeartbeatTest.java +++ b/src/test/java/com/rootly/client/model/NewHeartbeatTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentActionItemDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentActionItemDataAttributesTest.java index 4bb6d1e5..82668cbf 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentActionItemDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentActionItemDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -112,6 +112,14 @@ public void jiraIssueIdTest() { // TODO: test jiraIssueId } + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + /** * Test the property 'jiraIssueUrl' */ diff --git a/src/test/java/com/rootly/client/model/NewIncidentActionItemDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentActionItemDataTest.java index 77fd31e9..9c830e89 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentActionItemDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentActionItemDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentActionItemTest.java b/src/test/java/com/rootly/client/model/NewIncidentActionItemTest.java index 7132f9eb..23b0bb2c 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentActionItemTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentActionItemTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributesTest.java index e84d1c10..d08c0c2b 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataTest.java index f61a491f..bb5cba03 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionTest.java index e961ee3b..6ccf23b5 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java index e35e8f3d..d2101a76 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -104,6 +104,22 @@ public void severityIdTest() { // TODO: test severityId } + /** + * Test the property 'publicTitle' + */ + @Test + public void publicTitleTest() { + // TODO: test publicTitle + } + + /** + * Test the property 'alertIds' + */ + @Test + public void alertIdsTest() { + // TODO: test alertIds + } + /** * Test the property 'environmentIds' */ @@ -152,6 +168,14 @@ public void causeIdsTest() { // TODO: test causeIds } + /** + * Test the property 'mutedServiceIds' + */ + @Test + public void mutedServiceIdsTest() { + // TODO: test mutedServiceIds + } + /** * Test the property 'labels' */ @@ -168,6 +192,70 @@ public void slackChannelNameTest() { // TODO: test slackChannelName } + /** + * Test the property 'slackChannelId' + */ + @Test + public void slackChannelIdTest() { + // TODO: test slackChannelId + } + + /** + * Test the property 'slackChannelUrl' + */ + @Test + public void slackChannelUrlTest() { + // TODO: test slackChannelUrl + } + + /** + * Test the property 'slackChannelArchived' + */ + @Test + public void slackChannelArchivedTest() { + // TODO: test slackChannelArchived + } + + /** + * Test the property 'googleDriveParentId' + */ + @Test + public void googleDriveParentIdTest() { + // TODO: test googleDriveParentId + } + + /** + * Test the property 'googleDriveUrl' + */ + @Test + public void googleDriveUrlTest() { + // TODO: test googleDriveUrl + } + + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + + /** + * Test the property 'jiraIssueId' + */ + @Test + public void jiraIssueIdTest() { + // TODO: test jiraIssueId + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + /** * Test the property 'notifyEmails' */ @@ -256,6 +344,14 @@ public void resolvedAtTest() { // TODO: test resolvedAt } + /** + * Test the property 'closedAt' + */ + @Test + public void closedAtTest() { + // TODO: test closedAt + } + /** * Test the property 'cancelledAt' */ diff --git a/src/test/java/com/rootly/client/model/NewIncidentDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentDataTest.java index c2c55bbb..83abc249 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventDataAttributesTest.java index 855d2513..9a3fb3bd 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventDataTest.java index 7aa439e4..8db94ed9 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributesTest.java index de4dbee6..5ec84696 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataTest.java index b322b5b6..73e710ed 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityTest.java index d20770df..a76f7320 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventFunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataAttributesTest.java index 220fb594..093a3970 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataTest.java index 093c1452..6375dec8 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventServiceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventServiceTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventServiceTest.java index 599904bf..de27f011 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventServiceTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentEventTest.java b/src/test/java/com/rootly/client/model/NewIncidentEventTest.java index 2b5c563e..1aed7579 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentEventTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataAttributesTest.java index db3acbd3..8f196fbe 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataTest.java index 4f968c4e..a7d8ee93 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFeedbackDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentFeedbackTest.java b/src/test/java/com/rootly/client/model/NewIncidentFeedbackTest.java index 6f8c2c79..5088c7ba 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFeedbackTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFeedbackTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributesTest.java index f6c8276f..0a968121 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -112,4 +112,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataTest.java index 8a87d96f..4b1cd8f0 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionTest.java b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionTest.java index 2a454b7e..ea6f51e3 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentFormFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java index 086b43db..6f5f3af6 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesTest.java index 733af1bd..9f998f68 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataTest.java index b81e94d6..282c1ee9 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanTest.java index a2baa642..dee395e0 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetBooleanTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributesTest.java index b0832887..d79e2e2b 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,14 +48,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataTest.java index 2bf538e0..064604c1 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributesTest.java index 84d3636e..4668f4a4 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataTest.java index a15279f5..e23b40c7 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceTest.java index 96a5e60d..76cda577 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetResourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetTest.java b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetTest.java index 9a7c3c39..30db2a0d 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentPermissionSetTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentPermissionSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleDataAttributesTest.java index 9354da46..b25b7c3d 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleDataTest.java index 231fcb5e..54f47632 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributesTest.java index 68236c3d..c7169f79 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataTest.java index d09e3c02..3dd0536f 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskTest.java index cc4bf702..458f6245 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleTaskTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentRoleTest.java b/src/test/java/com/rootly/client/model/NewIncidentRoleTest.java index 7ebdc611..2ca1c58a 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentRoleTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesTest.java index 53dd7091..33e9b723 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataTest.java index f0d68ca7..71bd863b 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventTest.java b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventTest.java index d2a876a6..95e25344 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentStatusPageEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataAttributesTest.java index 36626254..c4c2d0de 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataTest.java index 3bac6d4d..65da1af2 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentSubStatusDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentSubStatusTest.java b/src/test/java/com/rootly/client/model/NewIncidentSubStatusTest.java index e4b60799..ecc7d53f 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentSubStatusTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentSubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentTest.java b/src/test/java/com/rootly/client/model/NewIncidentTest.java index ae656086..a76897db 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentTypeDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewIncidentTypeDataAttributesTest.java index b6860db2..fcc0b6c9 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentTypeDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentTypeDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -98,4 +99,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewIncidentTypeDataTest.java b/src/test/java/com/rootly/client/model/NewIncidentTypeDataTest.java index 05da9bc2..293a38ff 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentTypeDataTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentTypeDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewIncidentTypeTest.java b/src/test/java/com/rootly/client/model/NewIncidentTypeTest.java index f83ebf9a..a7e6fc6a 100644 --- a/src/test/java/com/rootly/client/model/NewIncidentTypeTest.java +++ b/src/test/java/com/rootly/client/model/NewIncidentTypeTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java index ebcc5a14..153b7d1c 100644 --- a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesTest.java index 02509d06..6373617b 100644 --- a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,8 +19,11 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewLiveCallRouterDataAttributesEscalationPolicyTriggerParams; +import com.rootly.client.model.NewLiveCallRouterDataAttributesPagingTargetsInner; 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; @@ -150,6 +153,30 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'callingTreeEnabled' + */ + @Test + public void callingTreeEnabledTest() { + // TODO: test callingTreeEnabled + } + + /** + * Test the property 'callingTreePrompt' + */ + @Test + public void callingTreePromptTest() { + // TODO: test callingTreePrompt + } + + /** + * Test the property 'pagingTargets' + */ + @Test + public void pagingTargetsTest() { + // TODO: test pagingTargets + } + /** * Test the property 'escalationPolicyTriggerParams' */ diff --git a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataTest.java b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataTest.java index 255e8fb8..70fc9c04 100644 --- a/src/test/java/com/rootly/client/model/NewLiveCallRouterDataTest.java +++ b/src/test/java/com/rootly/client/model/NewLiveCallRouterDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewLiveCallRouterTest.java b/src/test/java/com/rootly/client/model/NewLiveCallRouterTest.java index 679bcbb3..f4c87da5 100644 --- a/src/test/java/com/rootly/client/model/NewLiveCallRouterTest.java +++ b/src/test/java/com/rootly/client/model/NewLiveCallRouterTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java index 6187c2c4..ac068f68 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,19 +48,51 @@ public void nameTest() { } /** - * Test the property 'slug' + * Test the property 'systemRole' */ @Test - public void slugTest() { - // TODO: test slug + public void systemRoleTest() { + // TODO: test systemRole } /** - * Test the property 'systemRole' + * Test the property 'alertFieldsPermissions' */ @Test - public void systemRoleTest() { - // TODO: test systemRole + public void alertFieldsPermissionsTest() { + // TODO: test alertFieldsPermissions + } + + /** + * Test the property 'alertGroupsPermissions' + */ + @Test + public void alertGroupsPermissionsTest() { + // TODO: test alertGroupsPermissions + } + + /** + * Test the property 'alertRoutingRulesPermissions' + */ + @Test + public void alertRoutingRulesPermissionsTest() { + // TODO: test alertRoutingRulesPermissions + } + + /** + * Test the property 'onCallReadinessReportPermissions' + */ + @Test + public void onCallReadinessReportPermissionsTest() { + // TODO: test onCallReadinessReportPermissions + } + + /** + * Test the property 'onCallRolesPermissions' + */ + @Test + public void onCallRolesPermissionsTest() { + // TODO: test onCallRolesPermissions } /** diff --git a/src/test/java/com/rootly/client/model/NewOnCallRoleDataTest.java b/src/test/java/com/rootly/client/model/NewOnCallRoleDataTest.java index eb6eb018..e8507e58 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOnCallRoleTest.java b/src/test/java/com/rootly/client/model/NewOnCallRoleTest.java index f013baf1..55fb508f 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallRoleTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOnCallShadowDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewOnCallShadowDataAttributesTest.java index 304444b7..55907c17 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallShadowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallShadowDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOnCallShadowDataTest.java b/src/test/java/com/rootly/client/model/NewOnCallShadowDataTest.java index 40cb2e72..81ce43fd 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallShadowDataTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallShadowDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOnCallShadowTest.java b/src/test/java/com/rootly/client/model/NewOnCallShadowTest.java index e42ec60c..595a1e9b 100644 --- a/src/test/java/com/rootly/client/model/NewOnCallShadowTest.java +++ b/src/test/java/com/rootly/client/model/NewOnCallShadowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOverrideShiftDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewOverrideShiftDataAttributesTest.java index 3117bfea..f2813340 100644 --- a/src/test/java/com/rootly/client/model/NewOverrideShiftDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewOverrideShiftDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOverrideShiftDataTest.java b/src/test/java/com/rootly/client/model/NewOverrideShiftDataTest.java index 15cceb9a..79cb0819 100644 --- a/src/test/java/com/rootly/client/model/NewOverrideShiftDataTest.java +++ b/src/test/java/com/rootly/client/model/NewOverrideShiftDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewOverrideShiftTest.java b/src/test/java/com/rootly/client/model/NewOverrideShiftTest.java index bd085bf9..f821e1ae 100644 --- a/src/test/java/com/rootly/client/model/NewOverrideShiftTest.java +++ b/src/test/java/com/rootly/client/model/NewOverrideShiftTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java index 62d928ef..7d29fdf1 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookDataTest.java b/src/test/java/com/rootly/client/model/NewPlaybookDataTest.java index 851b27ab..784f8425 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookDataTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewPlaybookTaskDataAttributesTest.java index 0ab40116..6d38b4dc 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookTaskDataTest.java b/src/test/java/com/rootly/client/model/NewPlaybookTaskDataTest.java index 37aae5b9..70ab67ed 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookTaskTest.java b/src/test/java/com/rootly/client/model/NewPlaybookTaskTest.java index 62f9f25b..4baa0f35 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookTaskTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPlaybookTest.java b/src/test/java/com/rootly/client/model/NewPlaybookTest.java index ea9e3d57..d9f38652 100644 --- a/src/test/java/com/rootly/client/model/NewPlaybookTest.java +++ b/src/test/java/com/rootly/client/model/NewPlaybookTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataAttributesTest.java index d25638c0..26c1ffba 100644 --- a/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataTest.java b/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataTest.java index e460d3d6..1f488c12 100644 --- a/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/NewPostMortemTemplateDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPostMortemTemplateTest.java b/src/test/java/com/rootly/client/model/NewPostMortemTemplateTest.java index 91edbb43..5b9a9a39 100644 --- a/src/test/java/com/rootly/client/model/NewPostMortemTemplateTest.java +++ b/src/test/java/com/rootly/client/model/NewPostMortemTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java b/src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java index 864e079c..c6a184b7 100644 --- a/src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewPulseDataAttributesRefsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java index 23e38250..e0346792 100644 --- a/src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewPulseDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import java.io.IOException; import java.time.OffsetDateTime; diff --git a/src/test/java/com/rootly/client/model/NewPulseDataTest.java b/src/test/java/com/rootly/client/model/NewPulseDataTest.java index 99c3ffdc..9c2437be 100644 --- a/src/test/java/com/rootly/client/model/NewPulseDataTest.java +++ b/src/test/java/com/rootly/client/model/NewPulseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewPulseTest.java b/src/test/java/com/rootly/client/model/NewPulseTest.java index 6b565257..2fb05617 100644 --- a/src/test/java/com/rootly/client/model/NewPulseTest.java +++ b/src/test/java/com/rootly/client/model/NewPulseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1Test.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1Test.java index 2cefbe00..84320053 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1Test.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf1Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2Test.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2Test.java index 531f76dd..d4243274 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2Test.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOf2Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOfTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOfTest.java index 7910240a..cd76c77f 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOfTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaOneOfTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaTest.java index bdfd04cc..82a547a0 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesRetrospectiveProcessMatchingCriteriaTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesTest.java index 81128c64..ae3a5458 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataTest.java index 125d2d6e..4701510b 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributesTest.java index 8d5552a3..98595d75 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataTest.java index d91a8872..ac0f1986 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributesTest.java index 262b98cd..4f04f3e8 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataTest.java index 7bfa44e9..d0f453ec 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepTest.java index b582a253..41d72552 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupTest.java index b8d8a439..09ff7175 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessTest.java index e5672b3e..14ae32a5 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveProcessTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveProcessTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataAttributesTest.java index 235faddc..a73dc59b 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataTest.java index 6d8b3c30..0a989958 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveStepDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRetrospectiveStepTest.java b/src/test/java/com/rootly/client/model/NewRetrospectiveStepTest.java index c306c8bf..e51038af 100644 --- a/src/test/java/com/rootly/client/model/NewRetrospectiveStepTest.java +++ b/src/test/java/com/rootly/client/model/NewRetrospectiveStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java index b634e0f5..76b32862 100644 --- a/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,14 +48,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'incidentPermissionSetId' */ @@ -272,4 +264,60 @@ public void workflowsPermissionsTest() { // TODO: test workflowsPermissions } + /** + * Test the property 'catalogsPermissions' + */ + @Test + public void catalogsPermissionsTest() { + // TODO: test catalogsPermissions + } + + /** + * Test the property 'subStatusesPermissions' + */ + @Test + public void subStatusesPermissionsTest() { + // TODO: test subStatusesPermissions + } + + /** + * Test the property 'edgeConnectorPermissions' + */ + @Test + public void edgeConnectorPermissionsTest() { + // TODO: test edgeConnectorPermissions + } + + /** + * Test the property 'slasPermissions' + */ + @Test + public void slasPermissionsTest() { + // TODO: test slasPermissions + } + + /** + * Test the property 'pagingPermissions' + */ + @Test + public void pagingPermissionsTest() { + // TODO: test pagingPermissions + } + + /** + * Test the property 'incidentCommunicationPermissions' + */ + @Test + public void incidentCommunicationPermissionsTest() { + // TODO: test incidentCommunicationPermissions + } + + /** + * Test the property 'communicationPermissions' + */ + @Test + public void communicationPermissionsTest() { + // TODO: test communicationPermissions + } + } diff --git a/src/test/java/com/rootly/client/model/NewRoleDataTest.java b/src/test/java/com/rootly/client/model/NewRoleDataTest.java index 136259ba..b19f024d 100644 --- a/src/test/java/com/rootly/client/model/NewRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewRoleTest.java b/src/test/java/com/rootly/client/model/NewRoleTest.java index 16e97de6..1a84c9e4 100644 --- a/src/test/java/com/rootly/client/model/NewRoleTest.java +++ b/src/test/java/com/rootly/client/model/NewRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java index 92e383cd..0e77f572 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesSlackUserGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java index d1a62fca..7c02e700 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -73,6 +74,14 @@ public void slackUserGroupTest() { // TODO: test slackUserGroup } + /** + * Test the property 'slackChannel' + */ + @Test + public void slackChannelTest() { + // TODO: test slackChannel + } + /** * Test the property 'ownerGroupIds' */ @@ -89,4 +98,20 @@ public void ownerUserIdTest() { // TODO: test ownerUserId } + /** + * Test the property 'shiftStartNotificationsEnabled' + */ + @Test + public void shiftStartNotificationsEnabledTest() { + // TODO: test shiftStartNotificationsEnabled + } + + /** + * Test the property 'shiftUpdateNotificationsEnabled' + */ + @Test + public void shiftUpdateNotificationsEnabledTest() { + // TODO: test shiftUpdateNotificationsEnabled + } + } diff --git a/src/test/java/com/rootly/client/model/NewScheduleDataTest.java b/src/test/java/com/rootly/client/model/NewScheduleDataTest.java index 582a0eab..cd383f59 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInnerTest.java index 7099bbc1..e105cda7 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesActiveTimeAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesTest.java index 3bb20190..be5bf95c 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataTest.java index 28847eeb..8eba1337 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayTest.java index 10bbe204..5347ca80 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationActiveDayTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInnerTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInnerTest.java index 0ea17a26..05d3c289 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInnerTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesActiveTimeAttributesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1Test.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1Test.java index 3ee9b4c8..527fc286 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1Test.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf1Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2Test.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2Test.java index b05a099b..a8f190d8 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2Test.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf2Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3Test.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3Test.java index 1d88e2da..67899625 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3Test.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOf3Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOfTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOfTest.java index 76d8edfd..b4153224 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOfTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesOneOfTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesTest.java index d775a9bb..44f05a69 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesScheduleRotationableAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesTest.java index 77bb5077..f043d414 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,11 +19,14 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationMembersInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -113,4 +116,28 @@ public void scheduleRotationableAttributesTest() { // TODO: test scheduleRotationableAttributes } + /** + * 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 'scheduleRotationMembers' + */ + @Test + public void scheduleRotationMembersTest() { + // TODO: test scheduleRotationMembers + } + } diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationDataTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationDataTest.java index b13e2c39..9e7794fb 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationDataTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationTest.java index 05f4ecf9..f8064d0b 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataAttributesTest.java index 5601d312..b1d34e3a 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataTest.java index a97fb328..642f10c4 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationUserDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleRotationUserTest.java b/src/test/java/com/rootly/client/model/NewScheduleRotationUserTest.java index 340abeaa..ed3dc406 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleRotationUserTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleRotationUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewScheduleTest.java b/src/test/java/com/rootly/client/model/NewScheduleTest.java index 6d98d88b..ebfc5211 100644 --- a/src/test/java/com/rootly/client/model/NewScheduleTest.java +++ b/src/test/java/com/rootly/client/model/NewScheduleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java index cd0eaf9a..7ba80e39 100644 --- a/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewSecretDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSecretDataTest.java b/src/test/java/com/rootly/client/model/NewSecretDataTest.java index caab33c0..7ab41b80 100644 --- a/src/test/java/com/rootly/client/model/NewSecretDataTest.java +++ b/src/test/java/com/rootly/client/model/NewSecretDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSecretTest.java b/src/test/java/com/rootly/client/model/NewSecretTest.java index eec51c90..09f7f9f3 100644 --- a/src/test/java/com/rootly/client/model/NewSecretTest.java +++ b/src/test/java/com/rootly/client/model/NewSecretTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewServiceDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewServiceDataAttributesTest.java index 55f5d808..4df9f2e3 100644 --- a/src/test/java/com/rootly/client/model/NewServiceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewServiceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -211,19 +214,27 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds + } + + /** + * Test the property 'kubernetesDeploymentName' + */ + @Test + public void kubernetesDeploymentNameTest() { + // TODO: test kubernetesDeploymentName } /** @@ -242,6 +253,14 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId + } + /** * Test the property 'slackChannels' */ @@ -258,4 +277,44 @@ 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 + } + } diff --git a/src/test/java/com/rootly/client/model/NewServiceDataTest.java b/src/test/java/com/rootly/client/model/NewServiceDataTest.java index 1c60c46d..02e3d73e 100644 --- a/src/test/java/com/rootly/client/model/NewServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/NewServiceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewServiceTest.java b/src/test/java/com/rootly/client/model/NewServiceTest.java index b83665f5..eca25234 100644 --- a/src/test/java/com/rootly/client/model/NewServiceTest.java +++ b/src/test/java/com/rootly/client/model/NewServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSeverityDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewSeverityDataAttributesTest.java index 5031d131..5b48b3a8 100644 --- a/src/test/java/com/rootly/client/model/NewSeverityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewSeverityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSeverityDataTest.java b/src/test/java/com/rootly/client/model/NewSeverityDataTest.java index f19d9497..32e4ebcb 100644 --- a/src/test/java/com/rootly/client/model/NewSeverityDataTest.java +++ b/src/test/java/com/rootly/client/model/NewSeverityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSeverityTest.java b/src/test/java/com/rootly/client/model/NewSeverityTest.java index 91b6eea6..c4bd3bdf 100644 --- a/src/test/java/com/rootly/client/model/NewSeverityTest.java +++ b/src/test/java/com/rootly/client/model/NewSeverityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewStatusPageDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewStatusPageDataAttributesTest.java index 6317a9cf..c89b303d 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -128,6 +128,14 @@ public void failureMessageTest() { // TODO: test failureMessage } + /** + * Test the property 'authenticationMethod' + */ + @Test + public void authenticationMethodTest() { + // TODO: test authenticationMethod + } + /** * Test the property 'authenticationEnabled' */ @@ -144,6 +152,54 @@ public void authenticationPasswordTest() { // TODO: test authenticationPassword } + /** + * Test the property 'samlIdpSsoServiceUrl' + */ + @Test + public void samlIdpSsoServiceUrlTest() { + // TODO: test samlIdpSsoServiceUrl + } + + /** + * Test the property 'samlIdpSloServiceUrl' + */ + @Test + public void samlIdpSloServiceUrlTest() { + // TODO: test samlIdpSloServiceUrl + } + + /** + * Test the property 'samlIdpCert' + */ + @Test + public void samlIdpCertTest() { + // TODO: test samlIdpCert + } + + /** + * Test the property 'samlNameIdentifierFormat' + */ + @Test + public void samlNameIdentifierFormatTest() { + // TODO: test samlNameIdentifierFormat + } + + /** + * Test the property 'sectionOrder' + */ + @Test + public void sectionOrderTest() { + // TODO: test sectionOrder + } + + /** + * Test the property 'externalDomainNames' + */ + @Test + public void externalDomainNamesTest() { + // TODO: test externalDomainNames + } + /** * Test the property 'websiteUrl' */ diff --git a/src/test/java/com/rootly/client/model/NewStatusPageDataTest.java b/src/test/java/com/rootly/client/model/NewStatusPageDataTest.java index e7d47eb8..cac5a143 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageDataTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataAttributesTest.java index b5e8eda8..c962847b 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -54,6 +54,14 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'updateTitle' + */ + @Test + public void updateTitleTest() { + // TODO: test updateTitle + } + /** * Test the property 'body' */ diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java index 430e0b11..bb1426d9 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageTemplateDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java index a64e4cf8..82b032dc 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewStatusPageTest.java b/src/test/java/com/rootly/client/model/NewStatusPageTest.java index d9e3c5cc..29f6de14 100644 --- a/src/test/java/com/rootly/client/model/NewStatusPageTest.java +++ b/src/test/java/com/rootly/client/model/NewStatusPageTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSubStatusDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewSubStatusDataAttributesTest.java index afbecf8a..aa417378 100644 --- a/src/test/java/com/rootly/client/model/NewSubStatusDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewSubStatusDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,14 +46,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/NewSubStatusDataTest.java b/src/test/java/com/rootly/client/model/NewSubStatusDataTest.java index c2959721..8c47ddf7 100644 --- a/src/test/java/com/rootly/client/model/NewSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/NewSubStatusDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewSubStatusTest.java b/src/test/java/com/rootly/client/model/NewSubStatusTest.java index 5f0c0b04..a532a2a9 100644 --- a/src/test/java/com/rootly/client/model/NewSubStatusTest.java +++ b/src/test/java/com/rootly/client/model/NewSubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java index 5c2494ff..43696d8a 100644 --- a/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewTeamDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -210,4 +213,52 @@ 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 'autoAddMembersWhenAttached' + */ + @Test + public void autoAddMembersWhenAttachedTest() { + // TODO: test autoAddMembersWhenAttached + } + + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/NewTeamDataTest.java b/src/test/java/com/rootly/client/model/NewTeamDataTest.java index 4c07d449..313c05fb 100644 --- a/src/test/java/com/rootly/client/model/NewTeamDataTest.java +++ b/src/test/java/com/rootly/client/model/NewTeamDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewTeamTest.java b/src/test/java/com/rootly/client/model/NewTeamTest.java index cc261fea..8b1f9763 100644 --- a/src/test/java/com/rootly/client/model/NewTeamTest.java +++ b/src/test/java/com/rootly/client/model/NewTeamTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataAttributesTest.java index 9e364e89..d1f71562 100644 --- a/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataTest.java b/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataTest.java index 33d0f929..b975eebe 100644 --- a/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/NewUserNotificationRuleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewUserNotificationRuleTest.java b/src/test/java/com/rootly/client/model/NewUserNotificationRuleTest.java index 3f835ddd..2f8cce67 100644 --- a/src/test/java/com/rootly/client/model/NewUserNotificationRuleTest.java +++ b/src/test/java/com/rootly/client/model/NewUserNotificationRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesTest.java index 26ad83ca..de5143c0 100644 --- a/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataTest.java b/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataTest.java index 761c3b0a..43aa0b8d 100644 --- a/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWebhooksEndpointDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWebhooksEndpointTest.java b/src/test/java/com/rootly/client/model/NewWebhooksEndpointTest.java index 37fbe53b..9507829b 100644 --- a/src/test/java/com/rootly/client/model/NewWebhooksEndpointTest.java +++ b/src/test/java/com/rootly/client/model/NewWebhooksEndpointTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributesTest.java index 80f414eb..bf457fb5 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataTest.java index c8677c37..05ea59bb 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionTest.java index 864d2f60..ac9ebd61 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java index d28b8112..a9df25c3 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,14 +49,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java index 86e64c84..0b23baea 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataAttributesTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,8 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.ActionItemTriggerParams; import com.rootly.client.model.AlertTriggerParams; +import com.rootly.client.model.AlertTriggerParamsAlertFieldConditionsInner; +import com.rootly.client.model.AlertTriggerParamsAlertPayloadConditions; import com.rootly.client.model.IncidentTriggerParams; import com.rootly.client.model.PulseTriggerParams; import com.rootly.client.model.SimpleTriggerParams; @@ -27,6 +29,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; @@ -413,6 +416,22 @@ public void alertLabelsTest() { // TODO: test alertLabels } + /** + * Test the property 'alertConditionUrgency' + */ + @Test + public void alertConditionUrgencyTest() { + // TODO: test alertConditionUrgency + } + + /** + * Test the property 'alertUrgencyIds' + */ + @Test + public void alertUrgencyIdsTest() { + // TODO: test alertUrgencyIds + } + /** * Test the property 'alertConditionPayload' */ @@ -445,6 +464,22 @@ public void alertQueryPayloadTest() { // TODO: test alertQueryPayload } + /** + * Test the property 'alertFieldConditions' + */ + @Test + public void alertFieldConditionsTest() { + // TODO: test alertFieldConditions + } + + /** + * Test the property 'alertPayloadConditions' + */ + @Test + public void alertPayloadConditionsTest() { + // TODO: test alertPayloadConditions + } + /** * Test the property 'pulseCondition' */ diff --git a/src/test/java/com/rootly/client/model/NewWorkflowDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowDataTest.java index c0261153..b8d27411 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributesTest.java index b05173e1..48236d67 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -119,4 +119,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataTest.java index af08f665..4e62b6ef 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionTest.java b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionTest.java index 5c075250..4d63cf9b 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowFormFieldConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowGroupDataAttributesTest.java index da03c147..4c465261 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowGroupDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowGroupDataTest.java index 83960333..bf94de75 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowGroupTest.java b/src/test/java/com/rootly/client/model/NewWorkflowGroupTest.java index 0da92ff9..844d675f 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowGroupTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1Test.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1Test.java index 101f6893..d31cf47d 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1Test.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf1Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2Test.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2Test.java index 8855a569..685d4a78 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2Test.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf2Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3Test.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3Test.java index ebcd5341..6ebcdd18 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3Test.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf3Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4Test.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4Test.java index 31889f41..4c0e0bb2 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4Test.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf4Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5Test.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5Test.java index d9b3b2cf..19a8ac63 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5Test.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOf5Test.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOfTest.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOfTest.java index f1555f79..9752946b 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOfTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesAnyOfTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesTest.java index 5d794234..d4a1ecce 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowRunDataTest.java index ae697f96..738159a9 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowRunTest.java b/src/test/java/com/rootly/client/model/NewWorkflowRunTest.java index d4fdf406..426d5fd9 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowRunTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowRunTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java index ecd7fd6f..351fe457 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParams; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.AddMicrosoftTeamsChatTabTaskParams; import com.rootly.client.model.AddMicrosoftTeamsTabTaskParams; import com.rootly.client.model.AddRoleTaskParams; import com.rootly.client.model.AddRoleTaskParamsAssignedToUser; @@ -36,10 +37,13 @@ import com.rootly.client.model.CallPeopleTaskParams; import com.rootly.client.model.ChangeSlackChannelPrivacyTaskParams; import com.rootly.client.model.CreateAirtableTableRecordTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParamsModel; import com.rootly.client.model.CreateAsanaSubtaskTaskParams; import com.rootly.client.model.CreateAsanaTaskTaskParams; import com.rootly.client.model.CreateClickupTaskTaskParams; import com.rootly.client.model.CreateCodaPageTaskParams; +import com.rootly.client.model.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateConfluencePageTaskParams; import com.rootly.client.model.CreateDatadogNotebookTaskParams; import com.rootly.client.model.CreateDropboxPaperPageTaskParams; @@ -49,25 +53,29 @@ import com.rootly.client.model.CreateGoogleCalendarEventTaskParams; import com.rootly.client.model.CreateGoogleDocsPageTaskParams; import com.rootly.client.model.CreateGoogleDocsPermissionsTaskParams; +import com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParams; import com.rootly.client.model.CreateGoogleMeetingTaskParams; import com.rootly.client.model.CreateIncidentPostmortemTaskParams; -import com.rootly.client.model.CreateIncidentPostmortemTaskParamsTemplate; import com.rootly.client.model.CreateIncidentTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsIssueType; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraSubtaskTaskParams; +import com.rootly.client.model.CreateJsmopsAlertTaskParams; import com.rootly.client.model.CreateLinearIssueCommentTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; import com.rootly.client.model.CreateLinearSubtaskIssueTaskParams; import com.rootly.client.model.CreateMicrosoftTeamsChannelTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParamsMembersInner; import com.rootly.client.model.CreateMicrosoftTeamsMeetingTaskParams; +import com.rootly.client.model.CreateMistralChatCompletionTaskParams; import com.rootly.client.model.CreateMotionTaskTaskParams; import com.rootly.client.model.CreateNotionPageTaskParams; import com.rootly.client.model.CreateNotionPageTaskParamsParentPage; +import com.rootly.client.model.CreateOpenaiChatCompletionTaskParams; import com.rootly.client.model.CreateOpsgenieAlertTaskParams; import com.rootly.client.model.CreateOutlookEventTaskParams; import com.rootly.client.model.CreatePagerdutyStatusUpdateTaskParams; @@ -79,17 +87,16 @@ import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; import com.rootly.client.model.CreateSlackChannelTaskParams; +import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParamsArchivation; import com.rootly.client.model.CreateTrelloCardTaskParamsBoard; import com.rootly.client.model.CreateTrelloCardTaskParamsList; +import com.rootly.client.model.CreateWatsonxChatCompletionTaskParams; import com.rootly.client.model.CreateWebexMeetingTaskParams; import com.rootly.client.model.CreateZendeskJiraLinkTaskParams; import com.rootly.client.model.CreateZendeskTicketTaskParams; import com.rootly.client.model.CreateZoomMeetingTaskParams; -import com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParamsModel; import com.rootly.client.model.GetAlertsTaskParams; import com.rootly.client.model.GetGithubCommitsTaskParams; import com.rootly.client.model.GetGitlabCommitsTaskParams; @@ -101,6 +108,7 @@ import com.rootly.client.model.InviteToSlackChannelRootlyTaskParams; import com.rootly.client.model.InviteToSlackChannelTaskParams; import com.rootly.client.model.InviteToSlackChannelVictorOpsTaskParams; +import com.rootly.client.model.PageJsmopsOnCallRespondersTaskParams; import com.rootly.client.model.PageOpsgenieOnCallRespondersTaskParams; import com.rootly.client.model.PagePagerdutyOnCallRespondersTaskParams; import com.rootly.client.model.PageRootlyOnCallRespondersTaskParams; @@ -115,6 +123,7 @@ import com.rootly.client.model.SendDashboardReportTaskParams; import com.rootly.client.model.SendEmailTaskParams; import com.rootly.client.model.SendMicrosoftTeamsBlocksTaskParams; +import com.rootly.client.model.SendMicrosoftTeamsChatMessageTaskParams; import com.rootly.client.model.SendMicrosoftTeamsMessageTaskParams; import com.rootly.client.model.SendSlackBlocksTaskParams; import com.rootly.client.model.SendSlackMessageTaskParams; @@ -132,7 +141,12 @@ import com.rootly.client.model.UpdateAttachedAlertsTaskParams; import com.rootly.client.model.UpdateClickupTaskTaskParams; import com.rootly.client.model.UpdateCodaPageTaskParams; +import com.rootly.client.model.UpdateConfluencePageTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate; +import com.rootly.client.model.UpdateDropboxPaperPageTaskParams; import com.rootly.client.model.UpdateGithubIssueTaskParams; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; import com.rootly.client.model.UpdateGitlabIssueTaskParams; import com.rootly.client.model.UpdateGoogleCalendarEventTaskParams; import com.rootly.client.model.UpdateGoogleDocsPageTaskParams; @@ -141,13 +155,16 @@ import com.rootly.client.model.UpdateIncidentTaskParams; import com.rootly.client.model.UpdateJiraIssueTaskParams; import com.rootly.client.model.UpdateLinearIssueTaskParams; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; import com.rootly.client.model.UpdateMotionTaskTaskParams; import com.rootly.client.model.UpdateNotionPageTaskParams; import com.rootly.client.model.UpdateOpsgenieAlertTaskParams; import com.rootly.client.model.UpdateOpsgenieIncidentTaskParams; import com.rootly.client.model.UpdatePagerdutyIncidentTaskParams; import com.rootly.client.model.UpdatePagertreeAlertTaskParams; +import com.rootly.client.model.UpdateQuipPageTaskParams; import com.rootly.client.model.UpdateServiceNowIncidentTaskParams; +import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; @@ -156,6 +173,7 @@ import com.rootly.client.model.UpdateVictorOpsIncidentTaskParams; import com.rootly.client.model.UpdateZendeskTicketTaskParams; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -705,6 +723,14 @@ public void folderIdTest() { // TODO: test folderId } + /** + * Test the property 'doc' + */ + @Test + public void docTest() { + // TODO: test doc + } + /** * Test the property 'namespace' */ @@ -737,6 +763,14 @@ public void repositoryTest() { // TODO: test repository } + /** + * Test the property 'labels' + */ + @Test + public void labelsTest() { + // TODO: test labels + } + /** * Test the property 'issueType' */ @@ -746,11 +780,11 @@ public void issueTypeTest() { } /** - * Test the property 'labels' + * Test the property 'parentIssueNumber' */ @Test - public void labelsTest() { - // TODO: test labels + public void parentIssueNumberTest() { + // TODO: test parentIssueNumber } /** @@ -809,6 +843,14 @@ public void excludeWeekendsTest() { // TODO: test excludeWeekends } + /** + * Test the property 'enableOnlineMeeting' + */ + @Test + public void enableOnlineMeetingTest() { + // TODO: test enableOnlineMeeting + } + /** * Test the property 'calendarId' */ @@ -977,6 +1019,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'subject' */ @@ -1121,6 +1171,38 @@ public void issueIdTest() { // TODO: test issueId } + /** + * Test the property 'topic' + */ + @Test + public void topicTest() { + // TODO: test topic + } + + /** + * Test the property 'chatType' + */ + @Test + public void chatTypeTest() { + // TODO: test chatType + } + + /** + * Test the property 'members' + */ + @Test + public void membersTest() { + // TODO: test members + } + + /** + * Test the property 'chat' + */ + @Test + public void chatTest() { + // TODO: test chat + } + /** * Test the property 'emails' */ @@ -1161,6 +1243,14 @@ public void textTest() { // TODO: test text } + /** + * Test the property 'chats' + */ + @Test + public void chatsTest() { + // TODO: test chats + } + /** * Test the property 'attachments' */ @@ -1217,14 +1307,6 @@ public void _listTest() { // TODO: test _list } - /** - * Test the property 'topic' - */ - @Test - public void topicTest() { - // TODO: test topic - } - /** * Test the property 'password' */ @@ -1505,6 +1587,14 @@ public void opsgenieIncidentIdTest() { // TODO: test opsgenieIncidentId } + /** + * Test the property 'functionalityTarget' + */ + @Test + public void functionalityTargetTest() { + // TODO: test functionalityTarget + } + /** * Test the property 'alertUrgencyId' */ @@ -1833,6 +1923,14 @@ public void taskIdTest() { // TODO: test taskId } + /** + * Test the property 'labelsMode' + */ + @Test + public void labelsModeTest() { + // TODO: test labelsMode + } + /** * Test the property 'startedAt' */ @@ -1969,6 +2067,14 @@ public void modelTest() { // TODO: test model } + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + /** * Test the property 'prompt' */ @@ -1977,6 +2083,46 @@ public void promptTest() { // TODO: test prompt } + /** + * Test the property 'temperature' + */ + @Test + public void temperatureTest() { + // TODO: test temperature + } + + /** + * Test the property 'maxTokens' + */ + @Test + public void maxTokensTest() { + // TODO: test maxTokens + } + + /** + * Test the property 'topP' + */ + @Test + public void topPTest() { + // TODO: test topP + } + + /** + * Test the property 'reasoningEffort' + */ + @Test + public void reasoningEffortTest() { + // TODO: test reasoningEffort + } + + /** + * Test the property 'reasoningSummary' + */ + @Test + public void reasoningSummaryTest() { + // TODO: test reasoningSummary + } + /** * Test the property 'projectId' */ diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTest.java index d2acfd76..1f486210 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataTest.java index ae9ab4db..db80dd25 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTaskTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTaskTest.java index 9a2d10f1..b2dc0329 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTaskTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/NewWorkflowTest.java b/src/test/java/com/rootly/client/model/NewWorkflowTest.java index 4428854c..dcf2d537 100644 --- a/src/test/java/com/rootly/client/model/NewWorkflowTest.java +++ b/src/test/java/com/rootly/client/model/NewWorkflowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallRoleListTest.java b/src/test/java/com/rootly/client/model/OnCallRoleListTest.java index 22ba68f9..b7cbce70 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleListTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OnCallRoleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/OnCallRoleRelationshipDataTest.java b/src/test/java/com/rootly/client/model/OnCallRoleRelationshipDataTest.java index 37732238..992e0b6f 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleRelationshipDataTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleRelationshipDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallRoleRelationshipTest.java b/src/test/java/com/rootly/client/model/OnCallRoleRelationshipTest.java index 7ae90d76..277f077f 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleRelationshipTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleRelationshipTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallRoleResponseDataTest.java b/src/test/java/com/rootly/client/model/OnCallRoleResponseDataTest.java index d4de3aa6..22af5434 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallRoleResponseTest.java b/src/test/java/com/rootly/client/model/OnCallRoleResponseTest.java index 83fc2612..10137afe 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleResponseTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallRoleTest.java b/src/test/java/com/rootly/client/model/OnCallRoleTest.java index b09d2acf..455727c4 100644 --- a/src/test/java/com/rootly/client/model/OnCallRoleTest.java +++ b/src/test/java/com/rootly/client/model/OnCallRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -79,6 +79,46 @@ public void alertUrgencyPermissionsTest() { // TODO: test alertUrgencyPermissions } + /** + * Test the property 'alertFieldsPermissions' + */ + @Test + public void alertFieldsPermissionsTest() { + // TODO: test alertFieldsPermissions + } + + /** + * Test the property 'alertGroupsPermissions' + */ + @Test + public void alertGroupsPermissionsTest() { + // TODO: test alertGroupsPermissions + } + + /** + * Test the property 'alertRoutingRulesPermissions' + */ + @Test + public void alertRoutingRulesPermissionsTest() { + // TODO: test alertRoutingRulesPermissions + } + + /** + * Test the property 'onCallReadinessReportPermissions' + */ + @Test + public void onCallReadinessReportPermissionsTest() { + // TODO: test onCallReadinessReportPermissions + } + + /** + * Test the property 'onCallRolesPermissions' + */ + @Test + public void onCallRolesPermissionsTest() { + // TODO: test onCallRolesPermissions + } + /** * Test the property 'alertsPermissions' */ diff --git a/src/test/java/com/rootly/client/model/OnCallShadowResponseDataTest.java b/src/test/java/com/rootly/client/model/OnCallShadowResponseDataTest.java index cd842084..58dbedc0 100644 --- a/src/test/java/com/rootly/client/model/OnCallShadowResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/OnCallShadowResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallShadowResponseTest.java b/src/test/java/com/rootly/client/model/OnCallShadowResponseTest.java index 5796192e..1b482ec6 100644 --- a/src/test/java/com/rootly/client/model/OnCallShadowResponseTest.java +++ b/src/test/java/com/rootly/client/model/OnCallShadowResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallShadowTest.java b/src/test/java/com/rootly/client/model/OnCallShadowTest.java index 95fc4fac..cbd46f05 100644 --- a/src/test/java/com/rootly/client/model/OnCallShadowTest.java +++ b/src/test/java/com/rootly/client/model/OnCallShadowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallShadowsListDataInnerTest.java b/src/test/java/com/rootly/client/model/OnCallShadowsListDataInnerTest.java index 08204825..ff431741 100644 --- a/src/test/java/com/rootly/client/model/OnCallShadowsListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/OnCallShadowsListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OnCallShadowsListTest.java b/src/test/java/com/rootly/client/model/OnCallShadowsListTest.java index 9d53aac4..f64b2701 100644 --- a/src/test/java/com/rootly/client/model/OnCallShadowsListTest.java +++ b/src/test/java/com/rootly/client/model/OnCallShadowsListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OnCallShadowsListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/OverrideShiftListTest.java b/src/test/java/com/rootly/client/model/OverrideShiftListTest.java index 8fdead0c..1bff44ac 100644 --- a/src/test/java/com/rootly/client/model/OverrideShiftListTest.java +++ b/src/test/java/com/rootly/client/model/OverrideShiftListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.OverrideShiftResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/OverrideShiftResponseDataTest.java b/src/test/java/com/rootly/client/model/OverrideShiftResponseDataTest.java index db0b907c..3fb8b061 100644 --- a/src/test/java/com/rootly/client/model/OverrideShiftResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/OverrideShiftResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OverrideShiftResponseTest.java b/src/test/java/com/rootly/client/model/OverrideShiftResponseTest.java index 2b0effb2..9ff749aa 100644 --- a/src/test/java/com/rootly/client/model/OverrideShiftResponseTest.java +++ b/src/test/java/com/rootly/client/model/OverrideShiftResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/OverrideShiftTest.java b/src/test/java/com/rootly/client/model/OverrideShiftTest.java index 1544bf05..27f86870 100644 --- a/src/test/java/com/rootly/client/model/OverrideShiftTest.java +++ b/src/test/java/com/rootly/client/model/OverrideShiftTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -104,6 +104,14 @@ public void shiftOverrideTest() { // TODO: test shiftOverride } + /** + * Test the property 'userId' + */ + @Test + public void userIdTest() { + // TODO: test userId + } + /** * Test the property 'user' */ diff --git a/src/test/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParamsTest.java b/src/test/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParamsTest.java index ff801328..74cdf27d 100644 --- a/src/test/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PageOpsgenieOnCallRespondersTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParamsTest.java b/src/test/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParamsTest.java index c8d916c7..0123df27 100644 --- a/src/test/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PagePagerdutyOnCallRespondersTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParamsTest.java b/src/test/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParamsTest.java index 38fda233..b247c094 100644 --- a/src/test/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PageRootlyOnCallRespondersTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -78,6 +78,14 @@ public void groupTargetTest() { // TODO: test groupTarget } + /** + * Test the property 'functionalityTarget' + */ + @Test + public void functionalityTargetTest() { + // TODO: test functionalityTarget + } + /** * Test the property 'alertUrgencyId' */ diff --git a/src/test/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsTest.java b/src/test/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsTest.java index 431851cb..328ff502 100644 --- a/src/test/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PageVictorOpsOnCallRespondersTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookListTest.java b/src/test/java/com/rootly/client/model/PlaybookListTest.java index 78423e46..72196afd 100644 --- a/src/test/java/com/rootly/client/model/PlaybookListTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PlaybookResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/PlaybookResponseDataTest.java b/src/test/java/com/rootly/client/model/PlaybookResponseDataTest.java index 81c906ed..3d2505b8 100644 --- a/src/test/java/com/rootly/client/model/PlaybookResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookResponseTest.java b/src/test/java/com/rootly/client/model/PlaybookResponseTest.java index 1319d2cf..ca70180c 100644 --- a/src/test/java/com/rootly/client/model/PlaybookResponseTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookTaskListTest.java b/src/test/java/com/rootly/client/model/PlaybookTaskListTest.java index a4f00925..d1c825ed 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTaskListTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTaskListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PlaybookTaskResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/PlaybookTaskResponseDataTest.java b/src/test/java/com/rootly/client/model/PlaybookTaskResponseDataTest.java index f1d6546a..3c645f4e 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTaskResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTaskResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookTaskResponseTest.java b/src/test/java/com/rootly/client/model/PlaybookTaskResponseTest.java index 01ec1cfc..30f82f9a 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTaskResponseTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTaskResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookTaskTest.java b/src/test/java/com/rootly/client/model/PlaybookTaskTest.java index eedc9678..9eb0e488 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTaskTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PlaybookTest.java b/src/test/java/com/rootly/client/model/PlaybookTest.java index 2428b077..214cf892 100644 --- a/src/test/java/com/rootly/client/model/PlaybookTest.java +++ b/src/test/java/com/rootly/client/model/PlaybookTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PostMortemTemplateListTest.java b/src/test/java/com/rootly/client/model/PostMortemTemplateListTest.java index 35c7cf14..562b3091 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTemplateListTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTemplateListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PostMortemTemplateResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/PostMortemTemplateResponseDataTest.java b/src/test/java/com/rootly/client/model/PostMortemTemplateResponseDataTest.java index 1ea77c4a..4d61a3a8 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTemplateResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTemplateResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PostMortemTemplateResponseTest.java b/src/test/java/com/rootly/client/model/PostMortemTemplateResponseTest.java index b1b69073..d4fd7516 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTemplateResponseTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTemplateResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PostMortemTemplateTest.java b/src/test/java/com/rootly/client/model/PostMortemTemplateTest.java index 90cffabf..5194cb40 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTemplateTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -70,6 +70,22 @@ public void contentTest() { // TODO: test content } + /** + * Test the property 'contentHtml' + */ + @Test + public void contentHtmlTest() { + // TODO: test contentHtml + } + + /** + * Test the property 'contentJson' + */ + @Test + public void contentJsonTest() { + // TODO: test contentJson + } + /** * Test the property 'format' */ diff --git a/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java b/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java index c2831e61..7c294d5f 100644 --- a/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/PostMortemTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PrintTaskParamsTest.java b/src/test/java/com/rootly/client/model/PrintTaskParamsTest.java index 63803c14..9023e5a9 100644 --- a/src/test/java/com/rootly/client/model/PrintTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PrintTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java index 03c8fe9f..aaf3402b 100644 --- a/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/PublishIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PulseListTest.java b/src/test/java/com/rootly/client/model/PulseListTest.java index 1128231d..b38d2801 100644 --- a/src/test/java/com/rootly/client/model/PulseListTest.java +++ b/src/test/java/com/rootly/client/model/PulseListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.PulseResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/PulseResponseDataTest.java b/src/test/java/com/rootly/client/model/PulseResponseDataTest.java index d157138a..726db5a0 100644 --- a/src/test/java/com/rootly/client/model/PulseResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/PulseResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PulseResponseTest.java b/src/test/java/com/rootly/client/model/PulseResponseTest.java index f6ba41da..11ebb148 100644 --- a/src/test/java/com/rootly/client/model/PulseResponseTest.java +++ b/src/test/java/com/rootly/client/model/PulseResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/PulseTest.java b/src/test/java/com/rootly/client/model/PulseTest.java index c05de27d..01b003af 100644 --- a/src/test/java/com/rootly/client/model/PulseTest.java +++ b/src/test/java/com/rootly/client/model/PulseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,7 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Environment; -import com.rootly.client.model.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import com.rootly.client.model.Service; import java.io.IOException; diff --git a/src/test/java/com/rootly/client/model/PulseTriggerParamsTest.java b/src/test/java/com/rootly/client/model/PulseTriggerParamsTest.java index d4de4c90..9a16a673 100644 --- a/src/test/java/com/rootly/client/model/PulseTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/PulseTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RedisClientTaskParamsTest.java b/src/test/java/com/rootly/client/model/RedisClientTaskParamsTest.java index 5778777c..90447b7f 100644 --- a/src/test/java/com/rootly/client/model/RedisClientTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RedisClientTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParamsTest.java b/src/test/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParamsTest.java index d5c0f4d0..29ddb25e 100644 --- a/src/test/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RemoveGoogleDocsPermissionsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RemoveSubscribersDataAttributesTest.java b/src/test/java/com/rootly/client/model/RemoveSubscribersDataAttributesTest.java index b9b4e71d..11360a33 100644 --- a/src/test/java/com/rootly/client/model/RemoveSubscribersDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/RemoveSubscribersDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RemoveSubscribersDataTest.java b/src/test/java/com/rootly/client/model/RemoveSubscribersDataTest.java index e353a733..83e7e253 100644 --- a/src/test/java/com/rootly/client/model/RemoveSubscribersDataTest.java +++ b/src/test/java/com/rootly/client/model/RemoveSubscribersDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RemoveSubscribersTest.java b/src/test/java/com/rootly/client/model/RemoveSubscribersTest.java index 116a7f87..0a75ea0b 100644 --- a/src/test/java/com/rootly/client/model/RemoveSubscribersTest.java +++ b/src/test/java/com/rootly/client/model/RemoveSubscribersTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParamsTest.java index f8b43cc1..3cf2f84a 100644 --- a/src/test/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RenameMicrosoftTeamsChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java b/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java index 304152f0..965ec546 100644 --- a/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RenameSlackChannelTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java index 8f4cc83e..487d158f 100644 --- a/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/ResolveAlertDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveAlertDataTest.java b/src/test/java/com/rootly/client/model/ResolveAlertDataTest.java index 92c5d6fc..1a3a8ab5 100644 --- a/src/test/java/com/rootly/client/model/ResolveAlertDataTest.java +++ b/src/test/java/com/rootly/client/model/ResolveAlertDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveAlertTest.java b/src/test/java/com/rootly/client/model/ResolveAlertTest.java index 5ec52525..3d31fadb 100644 --- a/src/test/java/com/rootly/client/model/ResolveAlertTest.java +++ b/src/test/java/com/rootly/client/model/ResolveAlertTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/ResolveIncidentDataAttributesTest.java index 10045d7e..0f332f46 100644 --- a/src/test/java/com/rootly/client/model/ResolveIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/ResolveIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java b/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java index 50720d00..b8c313a6 100644 --- a/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/ResolveIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ResolveIncidentTest.java b/src/test/java/com/rootly/client/model/ResolveIncidentTest.java index f902169d..24dc40bd 100644 --- a/src/test/java/com/rootly/client/model/ResolveIncidentTest.java +++ b/src/test/java/com/rootly/client/model/ResolveIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java b/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java index 7b83d6d6..ea677f89 100644 --- a/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/RestartIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RestartIncidentTest.java b/src/test/java/com/rootly/client/model/RestartIncidentTest.java index d870c794..0a9624b2 100644 --- a/src/test/java/com/rootly/client/model/RestartIncidentTest.java +++ b/src/test/java/com/rootly/client/model/RestartIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListDataInnerTest.java b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListDataInnerTest.java index f4caa4c9..55a42bd9 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListTest.java b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListTest.java index 1afd8724..d8ab4bce 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseDataTest.java b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseDataTest.java index 97e2c25e..d4d4f1fe 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseTest.java b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseTest.java index 7a0cc0d0..308482d6 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationTest.java b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationTest.java index 2c3abff6..d3c4779c 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveConfigurationTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveConfigurationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupListTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupListTest.java index 05c2de2d..b91615be 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupListTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessGroupResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseDataTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseDataTest.java index c3625113..481fc52b 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseTest.java index a9811705..41277160 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepListTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepListTest.java index 590c6d89..41b1e714 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepListTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessGroupStepResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseDataTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseDataTest.java index e483fb2f..e1ee327d 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseTest.java index e47c4ff7..5e07080a 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepTest.java index 65f0b61d..a671459a 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupTest.java index ca3f42ad..3b4da8a5 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessListDataInnerTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessListDataInnerTest.java index 26095181..ed2b8c33 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessListTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessListTest.java index f98b10f7..5d96e70e 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessListTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveProcessListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseDataTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseDataTest.java index daa761de..d1ccbb8e 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseTest.java index bd5a36cc..951a82aa 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveProcessTest.java b/src/test/java/com/rootly/client/model/RetrospectiveProcessTest.java index 75d4a9df..f15239f6 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveProcessTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveProcessTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveStepListTest.java b/src/test/java/com/rootly/client/model/RetrospectiveStepListTest.java index 95a3b990..5d5ff7d9 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveStepListTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveStepListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RetrospectiveStepResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/RetrospectiveStepResponseDataTest.java b/src/test/java/com/rootly/client/model/RetrospectiveStepResponseDataTest.java index c05ea753..a4969d2a 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveStepResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveStepResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveStepResponseTest.java b/src/test/java/com/rootly/client/model/RetrospectiveStepResponseTest.java index b0d7f28e..25fe0e26 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveStepResponseTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveStepResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RetrospectiveStepTest.java b/src/test/java/com/rootly/client/model/RetrospectiveStepTest.java index 105fd8e7..4e3b39be 100644 --- a/src/test/java/com/rootly/client/model/RetrospectiveStepTest.java +++ b/src/test/java/com/rootly/client/model/RetrospectiveStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RoleListTest.java b/src/test/java/com/rootly/client/model/RoleListTest.java index c5ad21fc..98c80921 100644 --- a/src/test/java/com/rootly/client/model/RoleListTest.java +++ b/src/test/java/com/rootly/client/model/RoleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.RoleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/RoleRelationshipDataTest.java b/src/test/java/com/rootly/client/model/RoleRelationshipDataTest.java index af984cbe..d72f43ee 100644 --- a/src/test/java/com/rootly/client/model/RoleRelationshipDataTest.java +++ b/src/test/java/com/rootly/client/model/RoleRelationshipDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RoleRelationshipTest.java b/src/test/java/com/rootly/client/model/RoleRelationshipTest.java index 41d4b028..6931b29b 100644 --- a/src/test/java/com/rootly/client/model/RoleRelationshipTest.java +++ b/src/test/java/com/rootly/client/model/RoleRelationshipTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RoleResponseDataTest.java b/src/test/java/com/rootly/client/model/RoleResponseDataTest.java index 51bc1bf0..88b4d9f4 100644 --- a/src/test/java/com/rootly/client/model/RoleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/RoleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RoleResponseTest.java b/src/test/java/com/rootly/client/model/RoleResponseTest.java index f0e41706..9324f2b2 100644 --- a/src/test/java/com/rootly/client/model/RoleResponseTest.java +++ b/src/test/java/com/rootly/client/model/RoleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/RoleTest.java b/src/test/java/com/rootly/client/model/RoleTest.java index 66050ee5..5a18c1dc 100644 --- a/src/test/java/com/rootly/client/model/RoleTest.java +++ b/src/test/java/com/rootly/client/model/RoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -288,6 +288,62 @@ public void workflowsPermissionsTest() { // TODO: test workflowsPermissions } + /** + * Test the property 'catalogsPermissions' + */ + @Test + public void catalogsPermissionsTest() { + // TODO: test catalogsPermissions + } + + /** + * Test the property 'subStatusesPermissions' + */ + @Test + public void subStatusesPermissionsTest() { + // TODO: test subStatusesPermissions + } + + /** + * Test the property 'edgeConnectorPermissions' + */ + @Test + public void edgeConnectorPermissionsTest() { + // TODO: test edgeConnectorPermissions + } + + /** + * Test the property 'slasPermissions' + */ + @Test + public void slasPermissionsTest() { + // TODO: test slasPermissions + } + + /** + * Test the property 'pagingPermissions' + */ + @Test + public void pagingPermissionsTest() { + // TODO: test pagingPermissions + } + + /** + * Test the property 'incidentCommunicationPermissions' + */ + @Test + public void incidentCommunicationPermissionsTest() { + // TODO: test incidentCommunicationPermissions + } + + /** + * Test the property 'communicationPermissions' + */ + @Test + public void communicationPermissionsTest() { + // TODO: test communicationPermissions + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/RunCommandHerokuTaskParamsTest.java b/src/test/java/com/rootly/client/model/RunCommandHerokuTaskParamsTest.java index 42dec07a..ba27e022 100644 --- a/src/test/java/com/rootly/client/model/RunCommandHerokuTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/RunCommandHerokuTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleListDataInnerTest.java b/src/test/java/com/rootly/client/model/ScheduleListDataInnerTest.java index 79ccd113..d35eed7f 100644 --- a/src/test/java/com/rootly/client/model/ScheduleListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleListTest.java b/src/test/java/com/rootly/client/model/ScheduleListTest.java index 53259b75..95ce8117 100644 --- a/src/test/java/com/rootly/client/model/ScheduleListTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/ScheduleResponseDataTest.java b/src/test/java/com/rootly/client/model/ScheduleResponseDataTest.java index 5dbf28f8..9e1782a3 100644 --- a/src/test/java/com/rootly/client/model/ScheduleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleResponseTest.java b/src/test/java/com/rootly/client/model/ScheduleResponseTest.java index d2a94750..1c2d51b6 100644 --- a/src/test/java/com/rootly/client/model/ScheduleResponseTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInnerTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInnerTest.java index e9109258..e9c87b1c 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListTest.java index deb64205..7a2c96ab 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationActiveDayListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseDataTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseDataTest.java index 6bc36536..3e41ebe8 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseTest.java index fee7799b..52bd3e33 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java index f6b1f7e3..b76bdeb3 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationActiveDayTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationListTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationListTest.java index f8355c88..7cd9f862 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationListTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java index f1121ca0..df9f9476 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java index 16013ecb..aea94300 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationTest.java index e7e61b2b..76cf3246 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,9 +21,11 @@ import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -121,4 +123,20 @@ public void scheduleRotationableAttributesTest() { // TODO: test scheduleRotationableAttributes } + /** + * 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/ScheduleRotationUserListDataInnerTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationUserListDataInnerTest.java index e97fd46e..ebbe73aa 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationUserListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationUserListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationUserListTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationUserListTest.java index 356324ac..65dd0dec 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationUserListTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationUserListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ScheduleRotationUserListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationUserResponseTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationUserResponseTest.java index 6e05d810..ab4ecf4c 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationUserResponseTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationUserResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleRotationUserTest.java b/src/test/java/com/rootly/client/model/ScheduleRotationUserTest.java index 6dce61a6..f4405d33 100644 --- a/src/test/java/com/rootly/client/model/ScheduleRotationUserTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleRotationUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleSlackUserGroupTest.java b/src/test/java/com/rootly/client/model/ScheduleSlackUserGroupTest.java index 4a064b06..8acf98ee 100644 --- a/src/test/java/com/rootly/client/model/ScheduleSlackUserGroupTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleSlackUserGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ScheduleTest.java b/src/test/java/com/rootly/client/model/ScheduleTest.java index d38d8d0f..68de8019 100644 --- a/src/test/java/com/rootly/client/model/ScheduleTest.java +++ b/src/test/java/com/rootly/client/model/ScheduleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.ScheduleSlackChannel; import com.rootly.client.model.ScheduleSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -73,6 +74,14 @@ public void slackUserGroupTest() { // TODO: test slackUserGroup } + /** + * Test the property 'slackChannel' + */ + @Test + public void slackChannelTest() { + // TODO: test slackChannel + } + /** * Test the property 'ownerGroupIds' */ @@ -89,6 +98,22 @@ public void ownerUserIdTest() { // TODO: test ownerUserId } + /** + * Test the property 'shiftStartNotificationsEnabled' + */ + @Test + public void shiftStartNotificationsEnabledTest() { + // TODO: test shiftStartNotificationsEnabled + } + + /** + * Test the property 'shiftUpdateNotificationsEnabled' + */ + @Test + public void shiftUpdateNotificationsEnabledTest() { + // TODO: test shiftUpdateNotificationsEnabled + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/SecretListTest.java b/src/test/java/com/rootly/client/model/SecretListTest.java index 9f8f817b..17260e80 100644 --- a/src/test/java/com/rootly/client/model/SecretListTest.java +++ b/src/test/java/com/rootly/client/model/SecretListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SecretResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/SecretResponseDataTest.java b/src/test/java/com/rootly/client/model/SecretResponseDataTest.java index d3dddf6b..06e1788b 100644 --- a/src/test/java/com/rootly/client/model/SecretResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/SecretResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SecretResponseTest.java b/src/test/java/com/rootly/client/model/SecretResponseTest.java index 4553e0cf..30c4fef2 100644 --- a/src/test/java/com/rootly/client/model/SecretResponseTest.java +++ b/src/test/java/com/rootly/client/model/SecretResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SecretTest.java b/src/test/java/com/rootly/client/model/SecretTest.java index b9ad9132..617db91e 100644 --- a/src/test/java/com/rootly/client/model/SecretTest.java +++ b/src/test/java/com/rootly/client/model/SecretTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendDashboardReportTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendDashboardReportTaskParamsTest.java index 31f4d3d3..b31ce8b9 100644 --- a/src/test/java/com/rootly/client/model/SendDashboardReportTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendDashboardReportTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendEmailTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendEmailTaskParamsTest.java index 534f552e..bb7e8c52 100644 --- a/src/test/java/com/rootly/client/model/SendEmailTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendEmailTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParamsTest.java index 2e0d7731..45860a07 100644 --- a/src/test/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsBlocksTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParamsTest.java index c845b1ba..9b9c3489 100644 --- a/src/test/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendMicrosoftTeamsMessageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendSlackBlocksTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendSlackBlocksTaskParamsTest.java index a4504b70..9f0e50ea 100644 --- a/src/test/java/com/rootly/client/model/SendSlackBlocksTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendSlackBlocksTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendSlackMessageTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendSlackMessageTaskParamsTest.java index afa308f8..57a64ec6 100644 --- a/src/test/java/com/rootly/client/model/SendSlackMessageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendSlackMessageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendSmsTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendSmsTaskParamsTest.java index 1487b782..dbafcdef 100644 --- a/src/test/java/com/rootly/client/model/SendSmsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendSmsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SendWhatsappMessageTaskParamsTest.java b/src/test/java/com/rootly/client/model/SendWhatsappMessageTaskParamsTest.java index 0a89bc73..93a233d5 100644 --- a/src/test/java/com/rootly/client/model/SendWhatsappMessageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SendWhatsappMessageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ServiceListTest.java b/src/test/java/com/rootly/client/model/ServiceListTest.java index eac3287b..85dd5820 100644 --- a/src/test/java/com/rootly/client/model/ServiceListTest.java +++ b/src/test/java/com/rootly/client/model/ServiceListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.ServiceResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/ServiceResponseDataTest.java b/src/test/java/com/rootly/client/model/ServiceResponseDataTest.java index 9390657c..526b3695 100644 --- a/src/test/java/com/rootly/client/model/ServiceResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/ServiceResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ServiceResponseTest.java b/src/test/java/com/rootly/client/model/ServiceResponseTest.java index c9bc98ca..1c5312de 100644 --- a/src/test/java/com/rootly/client/model/ServiceResponseTest.java +++ b/src/test/java/com/rootly/client/model/ServiceResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ServiceTest.java b/src/test/java/com/rootly/client/model/ServiceTest.java index 6e9ff42e..e5c2254c 100644 --- a/src/test/java/com/rootly/client/model/ServiceTest.java +++ b/src/test/java/com/rootly/client/model/ServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.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; @@ -178,6 +181,14 @@ public void gitlabRepositoryBranchTest() { // TODO: test gitlabRepositoryBranch } + /** + * Test the property 'kubernetesDeploymentName' + */ + @Test + public void kubernetesDeploymentNameTest() { + // TODO: test kubernetesDeploymentName + } + /** * Test the property 'environmentIds' */ @@ -195,19 +206,19 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds } /** @@ -218,6 +229,14 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId + } + /** * Test the property 'alertsEmailEnabled' */ @@ -250,6 +269,46 @@ 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' */ diff --git a/src/test/java/com/rootly/client/model/SeverityListTest.java b/src/test/java/com/rootly/client/model/SeverityListTest.java index c76e4215..fd8b1f77 100644 --- a/src/test/java/com/rootly/client/model/SeverityListTest.java +++ b/src/test/java/com/rootly/client/model/SeverityListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SeverityResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/SeverityResponseDataTest.java b/src/test/java/com/rootly/client/model/SeverityResponseDataTest.java index a3e72d05..6c40c16f 100644 --- a/src/test/java/com/rootly/client/model/SeverityResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/SeverityResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SeverityResponseTest.java b/src/test/java/com/rootly/client/model/SeverityResponseTest.java index fdfa49d2..7eb55a49 100644 --- a/src/test/java/com/rootly/client/model/SeverityResponseTest.java +++ b/src/test/java/com/rootly/client/model/SeverityResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SeverityTest.java b/src/test/java/com/rootly/client/model/SeverityTest.java index 7edd1b6e..b226d65b 100644 --- a/src/test/java/com/rootly/client/model/SeverityTest.java +++ b/src/test/java/com/rootly/client/model/SeverityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ShiftListDataInnerTest.java b/src/test/java/com/rootly/client/model/ShiftListDataInnerTest.java index fd1849da..e596dfcc 100644 --- a/src/test/java/com/rootly/client/model/ShiftListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/ShiftListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Shift; +import com.rootly.client.model.ShiftRelationships; import java.io.IOException; import java.util.Arrays; import org.junit.jupiter.api.Disabled; @@ -62,4 +63,12 @@ public void attributesTest() { // TODO: test attributes } + /** + * Test the property 'relationships' + */ + @Test + public void relationshipsTest() { + // TODO: test relationships + } + } diff --git a/src/test/java/com/rootly/client/model/ShiftListTest.java b/src/test/java/com/rootly/client/model/ShiftListTest.java index c61eec25..ee3587d2 100644 --- a/src/test/java/com/rootly/client/model/ShiftListTest.java +++ b/src/test/java/com/rootly/client/model/ShiftListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.Meta; import com.rootly.client.model.ShiftListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -48,4 +49,12 @@ 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/ShiftOverrideResponseDataTest.java b/src/test/java/com/rootly/client/model/ShiftOverrideResponseDataTest.java index 719faf2a..92feaead 100644 --- a/src/test/java/com/rootly/client/model/ShiftOverrideResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/ShiftOverrideResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ShiftOverrideResponseTest.java b/src/test/java/com/rootly/client/model/ShiftOverrideResponseTest.java index 54f5f544..8fe9c812 100644 --- a/src/test/java/com/rootly/client/model/ShiftOverrideResponseTest.java +++ b/src/test/java/com/rootly/client/model/ShiftOverrideResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ShiftOverrideTest.java b/src/test/java/com/rootly/client/model/ShiftOverrideTest.java index 7cbd67f6..0e5c1206 100644 --- a/src/test/java/com/rootly/client/model/ShiftOverrideTest.java +++ b/src/test/java/com/rootly/client/model/ShiftOverrideTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/ShiftTest.java b/src/test/java/com/rootly/client/model/ShiftTest.java index da3b46d7..3a64a362 100644 --- a/src/test/java/com/rootly/client/model/ShiftTest.java +++ b/src/test/java/com/rootly/client/model/ShiftTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,8 +18,6 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.ShiftOverrideResponse; -import com.rootly.client.model.UserResponse; import java.io.IOException; import java.util.Arrays; import org.openapitools.jackson.nullable.JsonNullable; @@ -81,19 +79,19 @@ public void isOverrideTest() { } /** - * Test the property 'shiftOverride' + * Test the property 'isShadow' */ @Test - public void shiftOverrideTest() { - // TODO: test shiftOverride + public void isShadowTest() { + // TODO: test isShadow } /** - * Test the property 'user' + * Test the property 'userId' */ @Test - public void userTest() { - // TODO: test user + public void userIdTest() { + // TODO: test userId } } diff --git a/src/test/java/com/rootly/client/model/SimpleTriggerParamsTest.java b/src/test/java/com/rootly/client/model/SimpleTriggerParamsTest.java index fa8f0569..f53574e5 100644 --- a/src/test/java/com/rootly/client/model/SimpleTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/SimpleTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SnapshotDatadogGraphTaskParamsTest.java b/src/test/java/com/rootly/client/model/SnapshotDatadogGraphTaskParamsTest.java index 330b4913..3d4cc335 100644 --- a/src/test/java/com/rootly/client/model/SnapshotDatadogGraphTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SnapshotDatadogGraphTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParamsTest.java b/src/test/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParamsTest.java index faa58692..c5583995 100644 --- a/src/test/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SnapshotGrafanaDashboardTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SnapshotLookerLookTaskParamsTest.java b/src/test/java/com/rootly/client/model/SnapshotLookerLookTaskParamsTest.java index def0490d..cbf410a5 100644 --- a/src/test/java/com/rootly/client/model/SnapshotLookerLookTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SnapshotLookerLookTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParamsTest.java b/src/test/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParamsTest.java index 4831565c..9933dff9 100644 --- a/src/test/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/SnapshotNewRelicGraphTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageListTest.java b/src/test/java/com/rootly/client/model/StatusPageListTest.java index 9edd16d4..2703bf54 100644 --- a/src/test/java/com/rootly/client/model/StatusPageListTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.StatusPageResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/StatusPageResponseDataTest.java b/src/test/java/com/rootly/client/model/StatusPageResponseDataTest.java index 7524bbda..42adfa45 100644 --- a/src/test/java/com/rootly/client/model/StatusPageResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageResponseTest.java b/src/test/java/com/rootly/client/model/StatusPageResponseTest.java index 6a31526d..6657fe8e 100644 --- a/src/test/java/com/rootly/client/model/StatusPageResponseTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageTemplateListDataInnerTest.java b/src/test/java/com/rootly/client/model/StatusPageTemplateListDataInnerTest.java index ce61a308..23fa570a 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTemplateListDataInnerTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTemplateListDataInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java b/src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java index df8ed3c1..d6d2db88 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTemplateListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.StatusPageTemplateListDataInner; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java b/src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java index 130ef371..81d7addd 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTemplateResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageTemplateResponseTest.java b/src/test/java/com/rootly/client/model/StatusPageTemplateResponseTest.java index 565158be..80bde2a6 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTemplateResponseTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTemplateResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/StatusPageTemplateTest.java b/src/test/java/com/rootly/client/model/StatusPageTemplateTest.java index 0ef09188..c04b785f 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTemplateTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -54,6 +54,14 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'updateTitle' + */ + @Test + public void updateTitleTest() { + // TODO: test updateTitle + } + /** * Test the property 'body' */ diff --git a/src/test/java/com/rootly/client/model/StatusPageTest.java b/src/test/java/com/rootly/client/model/StatusPageTest.java index 023dcc42..c977b78a 100644 --- a/src/test/java/com/rootly/client/model/StatusPageTest.java +++ b/src/test/java/com/rootly/client/model/StatusPageTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,7 +21,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; @@ -48,6 +50,14 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'slug' + */ + @Test + public void slugTest() { + // TODO: test slug + } + /** * Test the property 'publicTitle' */ @@ -128,6 +138,14 @@ public void failureMessageTest() { // TODO: test failureMessage } + /** + * Test the property 'authenticationMethod' + */ + @Test + public void authenticationMethodTest() { + // TODO: test authenticationMethod + } + /** * Test the property 'authenticationEnabled' */ @@ -144,6 +162,54 @@ public void authenticationPasswordTest() { // TODO: test authenticationPassword } + /** + * Test the property 'samlIdpSsoServiceUrl' + */ + @Test + public void samlIdpSsoServiceUrlTest() { + // TODO: test samlIdpSsoServiceUrl + } + + /** + * Test the property 'samlIdpSloServiceUrl' + */ + @Test + public void samlIdpSloServiceUrlTest() { + // TODO: test samlIdpSloServiceUrl + } + + /** + * Test the property 'samlIdpCert' + */ + @Test + public void samlIdpCertTest() { + // TODO: test samlIdpCert + } + + /** + * Test the property 'samlIdpCertFingerprint' + */ + @Test + public void samlIdpCertFingerprintTest() { + // TODO: test samlIdpCertFingerprint + } + + /** + * Test the property 'samlNameIdentifierFormat' + */ + @Test + public void samlNameIdentifierFormatTest() { + // TODO: test samlNameIdentifierFormat + } + + /** + * Test the property 'sectionOrder' + */ + @Test + public void sectionOrderTest() { + // TODO: test sectionOrder + } + /** * Test the property 'websiteUrl' */ @@ -216,6 +282,14 @@ public void externalDomainNamesTest() { // TODO: test externalDomainNames } + /** + * Test the property 'cnameRecords' + */ + @Test + public void cnameRecordsTest() { + // TODO: test cnameRecords + } + /** * Test the property 'enabled' */ diff --git a/src/test/java/com/rootly/client/model/SubStatusListTest.java b/src/test/java/com/rootly/client/model/SubStatusListTest.java index d1f814db..36c522e0 100644 --- a/src/test/java/com/rootly/client/model/SubStatusListTest.java +++ b/src/test/java/com/rootly/client/model/SubStatusListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.SubStatusResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/SubStatusResponseDataTest.java b/src/test/java/com/rootly/client/model/SubStatusResponseDataTest.java index 0dd7fecd..fc50c32b 100644 --- a/src/test/java/com/rootly/client/model/SubStatusResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/SubStatusResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SubStatusResponseTest.java b/src/test/java/com/rootly/client/model/SubStatusResponseTest.java index 47a860ca..ce969e93 100644 --- a/src/test/java/com/rootly/client/model/SubStatusResponseTest.java +++ b/src/test/java/com/rootly/client/model/SubStatusResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/SubStatusTest.java b/src/test/java/com/rootly/client/model/SubStatusTest.java index 98e99de2..faa1a41d 100644 --- a/src/test/java/com/rootly/client/model/SubStatusTest.java +++ b/src/test/java/com/rootly/client/model/SubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/TeamListTest.java b/src/test/java/com/rootly/client/model/TeamListTest.java index 4ba517db..4b6fdaf9 100644 --- a/src/test/java/com/rootly/client/model/TeamListTest.java +++ b/src/test/java/com/rootly/client/model/TeamListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.TeamResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/TeamResponseDataTest.java b/src/test/java/com/rootly/client/model/TeamResponseDataTest.java index ad0eaecb..cea3b772 100644 --- a/src/test/java/com/rootly/client/model/TeamResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/TeamResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/TeamResponseTest.java b/src/test/java/com/rootly/client/model/TeamResponseTest.java index f280f34f..a3284190 100644 --- a/src/test/java/com/rootly/client/model/TeamResponseTest.java +++ b/src/test/java/com/rootly/client/model/TeamResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/TeamTest.java b/src/test/java/com/rootly/client/model/TeamTest.java index 05127da2..08ea1f9e 100644 --- a/src/test/java/com/rootly/client/model/TeamTest.java +++ b/src/test/java/com/rootly/client/model/TeamTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.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; @@ -218,6 +221,54 @@ 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 'autoAddMembersWhenAttached' + */ + @Test + public void autoAddMembersWhenAttachedTest() { + // TODO: test autoAddMembersWhenAttached + } + + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/TriggerWorkflowTaskParamsTest.java b/src/test/java/com/rootly/client/model/TriggerWorkflowTaskParamsTest.java index ab3670ad..de5f7289 100644 --- a/src/test/java/com/rootly/client/model/TriggerWorkflowTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/TriggerWorkflowTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/TweetTwitterMessageTaskParamsTest.java b/src/test/java/com/rootly/client/model/TweetTwitterMessageTaskParamsTest.java index fc2a54ba..e740c992 100644 --- a/src/test/java/com/rootly/client/model/TweetTwitterMessageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/TweetTwitterMessageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataAttributesTest.java b/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataAttributesTest.java index c26125a4..0168001a 100644 --- a/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataTest.java b/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataTest.java index 929c148e..21d7efba 100644 --- a/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataTest.java +++ b/src/test/java/com/rootly/client/model/UnassignRoleFromUserDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UnassignRoleFromUserTest.java b/src/test/java/com/rootly/client/model/UnassignRoleFromUserTest.java index 1f428e97..2e976034 100644 --- a/src/test/java/com/rootly/client/model/UnassignRoleFromUserTest.java +++ b/src/test/java/com/rootly/client/model/UnassignRoleFromUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateActionItemTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateActionItemTaskParamsTest.java index c85847cf..2ba34add 100644 --- a/src/test/java/com/rootly/client/model/UpdateActionItemTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateActionItemTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParamsTest.java index eb829d17..32bbbfd4 100644 --- a/src/test/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAirtableTableRecordTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java index 5d6f18f9..985db06c 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesAlertFieldValuesAttributesInner; import com.rootly.client.model.NewAlertDataAttributesLabelsInner; import java.io.IOException; import java.time.OffsetDateTime; @@ -154,4 +155,20 @@ public void dataTest() { // TODO: test data } + /** + * Test the property 'deduplicationKey' + */ + @Test + public void deduplicationKeyTest() { + // TODO: test deduplicationKey + } + + /** + * Test the property 'alertFieldValuesAttributes' + */ + @Test + public void alertFieldValuesAttributesTest() { + // TODO: test alertFieldValuesAttributes + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java index f2973710..a1f53fc3 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java index cbc6b8dc..1f2bcfba 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java index 51fa0632..d09f37b3 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertEventTest.java b/src/test/java/com/rootly/client/model/UpdateAlertEventTest.java index ec51118b..6e12fc93 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertEventTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java index 4e251739..e7f7aa87 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewAlertGroupDataAttributesAttributesInner; +import com.rootly.client.model.NewAlertGroupDataAttributesConditionsInner; import com.rootly.client.model.NewAlertGroupDataAttributesTargetsInner; import java.io.IOException; import java.util.ArrayList; @@ -106,4 +107,12 @@ public void conditionTypeTest() { // TODO: test conditionType } + /** + * Test the property 'conditions' + */ + @Test + public void conditionsTest() { + // TODO: test conditions + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java index c5d638e2..c0a7aa99 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertGroupTest.java b/src/test/java/com/rootly/client/model/UpdateAlertGroupTest.java index 7b7aa64d..c5f45f5c 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertGroupTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInnerTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInnerTest.java index e38c2026..e8da3e1d 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInnerTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesConditionsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestinationTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestinationTest.java index f25e973b..729fda60 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestinationTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesDestinationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesTest.java index 8056a7cf..67b286d0 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -66,6 +66,14 @@ public void alertsSourceIdTest() { // TODO: test alertsSourceId } + /** + * Test the property 'position' + */ + @Test + public void positionTest() { + // TODO: test position + } + /** * Test the property 'owningTeamIds' */ diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java index 2479d3e5..6b75139d 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleTest.java b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleTest.java index f6432e43..2f87ec4f 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertRoutingRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertTest.java b/src/test/java/com/rootly/client/model/UpdateAlertTest.java index a59be754..e93b80b0 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributesTest.java index 4bc4a81e..d571e0b1 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java index 46aa1d1b..3db4f612 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyTest.java b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyTest.java index 6d8c9b2c..fff821e0 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertUrgencyTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertUrgencyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java index 426c2138..8f0198bf 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertsSourceDataAttributesAlertSourceFieldsAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertSourceUrgencyRulesAttributesInner; import com.rootly.client.model.NewAlertsSourceDataAttributesAlertTemplateAttributes; import com.rootly.client.model.NewAlertsSourceDataAttributesResolutionRuleAttributes; @@ -26,6 +27,7 @@ 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; @@ -67,6 +69,38 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'deduplicateAlertsByKey' + */ + @Test + public void deduplicateAlertsByKeyTest() { + // TODO: test deduplicateAlertsByKey + } + + /** + * Test the property 'deduplicationKeyKind' + */ + @Test + public void deduplicationKeyKindTest() { + // TODO: test deduplicationKeyKind + } + + /** + * Test the property 'deduplicationKeyPath' + */ + @Test + public void deduplicationKeyPathTest() { + // TODO: test deduplicationKeyPath + } + + /** + * Test the property 'deduplicationKeyRegexp' + */ + @Test + public void deduplicationKeyRegexpTest() { + // TODO: test deduplicationKeyRegexp + } + /** * Test the property 'ownerGroupIds' */ @@ -107,4 +141,12 @@ public void resolutionRuleAttributesTest() { // TODO: test resolutionRuleAttributes } + /** + * Test the property 'alertSourceFieldsAttributes' + */ + @Test + public void alertSourceFieldsAttributesTest() { + // TODO: test alertSourceFieldsAttributes + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java index 14b4a696..200a3c2b 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java b/src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java index de472c3d..e200d576 100644 --- a/src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAlertsSourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAsanaTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateAsanaTaskTaskParamsTest.java index 7984b8e3..bf5264b2 100644 --- a/src/test/java/com/rootly/client/model/UpdateAsanaTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAsanaTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAttachedAlertsTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateAttachedAlertsTaskParamsTest.java index c9db638c..cf1c4ab1 100644 --- a/src/test/java/com/rootly/client/model/UpdateAttachedAlertsTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAttachedAlertsTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataAttributesTest.java index c2bd1b3b..2d64267c 100644 --- a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java index ab1609d5..d0ffd726 100644 --- a/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAuthorizationDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateAuthorizationTest.java b/src/test/java/com/rootly/client/model/UpdateAuthorizationTest.java index 16245321..7684924b 100644 --- a/src/test/java/com/rootly/client/model/UpdateAuthorizationTest.java +++ b/src/test/java/com/rootly/client/model/UpdateAuthorizationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogDataAttributesTest.java index 68f612ca..17de1eb7 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java index 286c5fa3..1347c955 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataAttributesTest.java index e7244d3d..3fdc0fbf 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCatalogEntityDataAttributesPropertiesInner; 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; @@ -62,4 +65,20 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'backstageId' + */ + @Test + public void backstageIdTest() { + // TODO: test backstageId + } + + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java index 2d5ea9ed..ee1731f1 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributesTest.java index cb2abef4..589d3bbe 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java index 75c1e54d..9080afbc 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyTest.java index 133c62f2..80de8806 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityPropertyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogEntityTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogEntityTest.java index a9418961..4f2e7e34 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogEntityTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogEntityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataAttributesTest.java index e5fce02a..3260b8d9 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,14 +46,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'kind' */ @@ -78,4 +70,20 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'required' + */ + @Test + public void requiredTest() { + // TODO: test required + } + + /** + * Test the property 'catalogType' + */ + @Test + public void catalogTypeTest() { + // TODO: test catalogType + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java index 255ec843..224be3af 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogFieldTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogFieldTest.java index 5230728f..eeccb7ea 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogFieldTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCatalogTest.java b/src/test/java/com/rootly/client/model/UpdateCatalogTest.java index 4feb13fa..1884b9f7 100644 --- a/src/test/java/com/rootly/client/model/UpdateCatalogTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCatalogTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCauseDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCauseDataAttributesTest.java index 7f8e80fc..4fb3deda 100644 --- a/src/test/java/com/rootly/client/model/UpdateCauseDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCauseDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; 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; @@ -62,4 +65,12 @@ public void positionTest() { // TODO: test position } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java b/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java index f12dad8c..a50a5826 100644 --- a/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCauseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCauseTest.java b/src/test/java/com/rootly/client/model/UpdateCauseTest.java index 41ceba72..05ae8e63 100644 --- a/src/test/java/com/rootly/client/model/UpdateCauseTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCauseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateClickupTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateClickupTaskTaskParamsTest.java index 654aba43..8d9e26ec 100644 --- a/src/test/java/com/rootly/client/model/UpdateClickupTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateClickupTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCodaPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateCodaPageTaskParamsTest.java index 30be0af2..c6ab2a09 100644 --- a/src/test/java/com/rootly/client/model/UpdateCodaPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCodaPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataAttributesTest.java index 68058c05..bd22de8d 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,14 +48,6 @@ public void labelTest() { // TODO: test label } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java index b863898a..e3b7c2fa 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributesTest.java index 8f8d01cf..aaed4bfe 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java index 09f9f96b..85765a32 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionTest.java index 9f9f86f2..88e9a03e 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFieldTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFieldTest.java index 9f495c5a..e634a12c 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFieldTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFormDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFormDataAttributesTest.java index 4aaf92eb..e964ba6b 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFormDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFormDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,14 +46,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java index fbb49fb8..728e84e3 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFormDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateCustomFormTest.java b/src/test/java/com/rootly/client/model/UpdateCustomFormTest.java index 0ee3316f..bf299cfd 100644 --- a/src/test/java/com/rootly/client/model/UpdateCustomFormTest.java +++ b/src/test/java/com/rootly/client/model/UpdateCustomFormTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardDataAttributesTest.java index 7cf947f7..ff182921 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java index 8b2a593b..cd04cb13 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataAttributesTest.java index 8667ae46..e8c0282c 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java index c67c91b0..88b410e6 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardPanelDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardPanelTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardPanelTest.java index ee59ee45..b14d0c47 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardPanelTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardPanelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateDashboardTest.java b/src/test/java/com/rootly/client/model/UpdateDashboardTest.java index 3f7bb473..08ef87ae 100644 --- a/src/test/java/com/rootly/client/model/UpdateDashboardTest.java +++ b/src/test/java/com/rootly/client/model/UpdateDashboardTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataAttributesTest.java index badefb36..46cc666f 100644 --- a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -98,4 +99,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java index 61197b20..340b3fd7 100644 --- a/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEnvironmentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEnvironmentTest.java b/src/test/java/com/rootly/client/model/UpdateEnvironmentTest.java index 89dc01d5..1e002ec6 100644 --- a/src/test/java/com/rootly/client/model/UpdateEnvironmentTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEnvironmentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributesTest.java index ad67585c..2e2e5ce6 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java index c7349e37..940da724 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java index f911f324..1348e49f 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesNotificationTargetParamsInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesTest.java index 18fcfac5..8748baf8 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java index e1989f33..14fca18f 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelTest.java index 5511bee0..024aa8e8 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyLevelTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java index da6bac3e..0e7d2d87 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesRulesInnerTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,13 +18,18 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf1; -import com.rootly.client.model.NewEscalationPolicyPathDataAttributesRulesInnerAnyOf2; +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 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; @@ -90,4 +95,52 @@ public void valueTest() { // TODO: test value } + /** + * Test the property 'values' + */ + @Test + public void valuesTest() { + // TODO: test values + } + + /** + * Test the property 'fieldableType' + */ + @Test + public void fieldableTypeTest() { + // TODO: test fieldableType + } + + /** + * Test the property 'fieldableId' + */ + @Test + public void fieldableIdTest() { + // TODO: test fieldableId + } + + /** + * Test the property 'serviceIds' + */ + @Test + public void serviceIdsTest() { + // TODO: test serviceIds + } + + /** + * Test the property 'timeZone' + */ + @Test + public void timeZoneTest() { + // TODO: test timeZone + } + + /** + * Test the property 'timeBlocks' + */ + @Test + public void timeBlocksTest() { + // TODO: test timeBlocks + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java index 1eaac04e..01e00eea 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesRulesInner; +import com.rootly.client.model.UpdateEscalationPolicyPathDataAttributesTimeRestrictionsInner; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -57,6 +58,30 @@ public void notificationTypeTest() { // TODO: test notificationType } + /** + * Test the property 'pathType' + */ + @Test + public void pathTypeTest() { + // TODO: test pathType + } + + /** + * Test the property 'afterDeferralBehavior' + */ + @Test + public void afterDeferralBehaviorTest() { + // TODO: test afterDeferralBehavior + } + + /** + * Test the property 'afterDeferralPathId' + */ + @Test + public void afterDeferralPathIdTest() { + // TODO: test afterDeferralPathId + } + /** * Test the property '_default' */ @@ -113,4 +138,20 @@ public void rulesTest() { // TODO: test rules } + /** + * Test the property 'timeRestrictionTimeZone' + */ + @Test + public void timeRestrictionTimeZoneTest() { + // TODO: test timeRestrictionTimeZone + } + + /** + * Test the property 'timeRestrictions' + */ + @Test + public void timeRestrictionsTest() { + // TODO: test timeRestrictions + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java index ab6f1d13..f1bc730d 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathTest.java index 9f7cd805..32297f7e 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyPathTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyTest.java b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyTest.java index 877c57bb..85f03bb8 100644 --- a/src/test/java/com/rootly/client/model/UpdateEscalationPolicyTest.java +++ b/src/test/java/com/rootly/client/model/UpdateEscalationPolicyTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldDataAttributesTest.java index 961e34ee..ccdb49d1 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -128,4 +128,12 @@ public void defaultValuesTest() { // TODO: test defaultValues } + /** + * Test the property 'autoSetByCatalogPropertyId' + */ + @Test + public void autoSetByCatalogPropertyIdTest() { + // TODO: test autoSetByCatalogPropertyId + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java index 87bf709f..334cfa08 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributesTest.java index dd63cfa8..1d3bf203 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java index ccbef467..a8f5d932 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionTest.java index 8045ae7b..b83ceb75 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldOptionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldOptionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributesTest.java index e2e64d1a..51af1f7b 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java index 65f2bce6..057191e5 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionTest.java index a4bd4310..951d11ee 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributesTest.java index 2daa0c32..a5b38803 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -85,4 +85,12 @@ public void placementOperatorTest() { // TODO: test placementOperator } + /** + * Test the property 'nonEditable' + */ + @Test + public void nonEditableTest() { + // TODO: test nonEditable + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java index 1123ca45..d0fa7e40 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementTest.java index f20f1479..a5e1a0bb 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPlacementTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributesTest.java index 718d329d..c02a431b 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java index 35e23e30..ada8155a 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionTest.java index 4639a50e..d6cd1c45 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldPositionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldPositionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormFieldTest.java b/src/test/java/com/rootly/client/model/UpdateFormFieldTest.java index a9a25f63..47df719a 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormFieldTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormFieldTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataAttributesTest.java index 98bf86bd..2cc2c3dc 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java index a2a23608..00320182 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetConditionTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetConditionTest.java index 7e66a85e..c4168b0b 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetConditionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetDataAttributesTest.java index ea6d5b6a..3df842e0 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java index 4c4ec9ba..0d38de0b 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFormSetTest.java b/src/test/java/com/rootly/client/model/UpdateFormSetTest.java index e29c3bc9..ddf74269 100644 --- a/src/test/java/com/rootly/client/model/UpdateFormSetTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFormSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataAttributesTest.java index 74cb3d4f..7aed2646 100644 --- a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -163,19 +164,27 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds + } + + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId } /** @@ -194,4 +203,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java index c34821f1..bc522c81 100644 --- a/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFunctionalityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateFunctionalityTest.java b/src/test/java/com/rootly/client/model/UpdateFunctionalityTest.java index 72cd14ae..59edf98d 100644 --- a/src/test/java/com/rootly/client/model/UpdateFunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/UpdateFunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsTest.java index d9d33440..7ab69638 100644 --- a/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateGithubIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,8 +19,12 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.CreateGithubIssueTaskParamsIssueType; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; 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; @@ -54,6 +58,14 @@ public void issueIdTest() { // TODO: test issueId } + /** + * Test the property 'repository' + */ + @Test + public void repositoryTest() { + // TODO: test repository + } + /** * Test the property 'title' */ @@ -70,6 +82,30 @@ public void bodyTest() { // TODO: test body } + /** + * Test the property 'labels' + */ + @Test + public void labelsTest() { + // TODO: test labels + } + + /** + * Test the property 'labelsMode' + */ + @Test + public void labelsModeTest() { + // TODO: test labelsMode + } + + /** + * Test the property 'issueType' + */ + @Test + public void issueTypeTest() { + // TODO: test issueType + } + /** * Test the property 'completion' */ diff --git a/src/test/java/com/rootly/client/model/UpdateGitlabIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateGitlabIssueTaskParamsTest.java index 1425cd17..080842ba 100644 --- a/src/test/java/com/rootly/client/model/UpdateGitlabIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateGitlabIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParamsTest.java index 8068990d..32f5201e 100644 --- a/src/test/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateGoogleCalendarEventTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParamsTest.java index c13530fa..e73e6af1 100644 --- a/src/test/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateGoogleDocsPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataAttributesTest.java index 00c06885..0dc5b811 100644 --- a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -62,6 +62,14 @@ public void alertSummaryTest() { // TODO: test alertSummary } + /** + * Test the property 'alertDescription' + */ + @Test + public void alertDescriptionTest() { + // TODO: test alertDescription + } + /** * Test the property 'alertUrgencyId' */ diff --git a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java index 9e552377..b48498ad 100644 --- a/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateHeartbeatDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateHeartbeatTest.java b/src/test/java/com/rootly/client/model/UpdateHeartbeatTest.java index f77c9897..974df26e 100644 --- a/src/test/java/com/rootly/client/model/UpdateHeartbeatTest.java +++ b/src/test/java/com/rootly/client/model/UpdateHeartbeatTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributesTest.java index 78eef23c..86fd1386 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -112,6 +112,14 @@ public void jiraIssueIdTest() { // TODO: test jiraIssueId } + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + /** * Test the property 'jiraIssueUrl' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java index 90472614..80d5fc6c 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemTest.java index f7d5855c..7f584d31 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentActionItemTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentActionItemTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributesTest.java index 6da68a0c..01b939b2 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java index 40244235..aa34f5ee 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionTest.java index d21424ca..9abe0167 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java index 4037e2db..7554a736 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -104,6 +104,22 @@ public void severityIdTest() { // TODO: test severityId } + /** + * Test the property 'publicTitle' + */ + @Test + public void publicTitleTest() { + // TODO: test publicTitle + } + + /** + * Test the property 'alertIds' + */ + @Test + public void alertIdsTest() { + // TODO: test alertIds + } + /** * Test the property 'environmentIds' */ @@ -136,6 +152,14 @@ public void functionalityIdsTest() { // TODO: test functionalityIds } + /** + * Test the property 'mutedServiceIds' + */ + @Test + public void mutedServiceIdsTest() { + // TODO: test mutedServiceIds + } + /** * Test the property 'groupIds' */ @@ -184,6 +208,54 @@ public void slackChannelUrlTest() { // TODO: test slackChannelUrl } + /** + * Test the property 'slackChannelArchived' + */ + @Test + public void slackChannelArchivedTest() { + // TODO: test slackChannelArchived + } + + /** + * Test the property 'googleDriveParentId' + */ + @Test + public void googleDriveParentIdTest() { + // TODO: test googleDriveParentId + } + + /** + * Test the property 'googleDriveUrl' + */ + @Test + public void googleDriveUrlTest() { + // TODO: test googleDriveUrl + } + + /** + * Test the property 'jiraIssueKey' + */ + @Test + public void jiraIssueKeyTest() { + // TODO: test jiraIssueKey + } + + /** + * Test the property 'jiraIssueId' + */ + @Test + public void jiraIssueIdTest() { + // TODO: test jiraIssueId + } + + /** + * Test the property 'jiraIssueUrl' + */ + @Test + public void jiraIssueUrlTest() { + // TODO: test jiraIssueUrl + } + /** * Test the property 'scheduledFor' */ @@ -248,6 +320,14 @@ public void resolvedAtTest() { // TODO: test resolvedAt } + /** + * Test the property 'closedAt' + */ + @Test + public void closedAtTest() { + // TODO: test closedAt + } + /** * Test the property 'cancelledAt' */ @@ -256,4 +336,28 @@ public void cancelledAtTest() { // TODO: test cancelledAt } + /** + * Test the property 'mitigationMessage' + */ + @Test + public void mitigationMessageTest() { + // TODO: test mitigationMessage + } + + /** + * Test the property 'resolutionMessage' + */ + @Test + public void resolutionMessageTest() { + // TODO: test resolutionMessage + } + + /** + * Test the property 'cancellationMessage' + */ + @Test + public void cancellationMessageTest() { + // TODO: test cancellationMessage + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java index f939e615..0805d3d8 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataAttributesTest.java index 0aac6120..5904eb70 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java index 4b56ec30..0c89ce94 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributesTest.java index 03146adf..dde7c58f 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java index f251f66d..14c12b71 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityTest.java index 326a4152..8a7d8034 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventFunctionalityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributesTest.java index 214e9d15..ba37f31d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java index 018011f1..3e5d823d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceTest.java index 40ae27cf..07576aa6 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentEventTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentEventTest.java index 4e6e9c2c..cd351937 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentEventTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributesTest.java index 8697e947..bb574a30 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java index 7eea5d10..ced71c3e 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackTest.java index db05f5c1..202d7969 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFeedbackTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributesTest.java index 502c6619..f7d7c392 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -96,4 +96,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java index 33dc74ec..535ea311 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionTest.java index 576ef117..ab7cb1a5 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentFormFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java index f019ac78..39b8e31a 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesSeverityParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesTest.java index 6b1e191f..ee7bf546 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java index 73463aa6..ec3989eb 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanTest.java index 8ada23b3..8e8e8e78 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetBooleanTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributesTest.java index 7a87119b..5a4403ed 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -48,14 +48,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java index 1361f9e0..8206c648 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributesTest.java index 5878a18c..eeafa8ab 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java index 42be2f90..410a1ba4 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceTest.java index e8bc93fe..432e5a2d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetResourceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetTest.java index 32a6b7d1..9ecb54f8 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPermissionSetTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java index 90f7558b..5896566b 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java index 05638c53..6e7bfc3f 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemTest.java index 8252e33e..63712987 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostMortemTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParamsTest.java index 31bd997a..806b1f21 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentPostmortemTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributesTest.java index f415e157..0c411e86 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java index 1a088736..897325f5 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepTest.java index b379563c..2069954d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRetrospectiveStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataAttributesTest.java index 3acc206d..cd7a1036 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java index c328d0a5..855a91b1 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributesTest.java index c9951e68..52f65532 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java index ddb4a847..c32f0b40 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskTest.java index a2874ea0..872c94a6 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTest.java index 2a376008..54a647e2 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentRoleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributesTest.java index 934f2aef..123f65ba 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java index 1fd4ca29..a440a6f4 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventTest.java index d3d26fdd..ce0ccbe4 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentStatusPageEventTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParamsTest.java index a9cb46be..acd2c75d 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentStatusTimestampTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributesTest.java index fa5b040f..3a1d20a1 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java index fa4ba177..1aabed35 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusTest.java index 82d0a937..700b926a 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentSubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTaskParamsTest.java index b9e264ce..91fd8584 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTest.java index 5ed86abd..79e85020 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataAttributesTest.java index 7ab25510..6ed98a80 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; import java.io.IOException; @@ -98,4 +99,12 @@ public void slackAliasesTest() { // TODO: test slackAliases } + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java index c4198a63..b095c383 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTypeDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateIncidentTypeTest.java b/src/test/java/com/rootly/client/model/UpdateIncidentTypeTest.java index 6abd1bd6..00f28173 100644 --- a/src/test/java/com/rootly/client/model/UpdateIncidentTypeTest.java +++ b/src/test/java/com/rootly/client/model/UpdateIncidentTypeTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateJiraIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateJiraIssueTaskParamsTest.java index 852128ed..0b521283 100644 --- a/src/test/java/com/rootly/client/model/UpdateJiraIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateJiraIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraIssueTaskParamsStatus; import java.io.IOException; @@ -48,6 +49,14 @@ public void taskTypeTest() { // TODO: test taskType } + /** + * Test the property 'integration' + */ + @Test + public void integrationTest() { + // TODO: test integration + } + /** * Test the property 'issueId' */ diff --git a/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsTest.java index c357a489..1936aea3 100644 --- a/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLinearIssueTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -21,11 +21,12 @@ import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; 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; diff --git a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java index ce3506f3..507488ea 100644 --- a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesEscalationPolicyTriggerParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesTest.java index 8b3c64b3..56b59922 100644 --- a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -18,10 +18,12 @@ 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 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; @@ -143,6 +145,30 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'callingTreeEnabled' + */ + @Test + public void callingTreeEnabledTest() { + // TODO: test callingTreeEnabled + } + + /** + * Test the property 'callingTreePrompt' + */ + @Test + public void callingTreePromptTest() { + // TODO: test callingTreePrompt + } + + /** + * Test the property 'pagingTargets' + */ + @Test + public void pagingTargetsTest() { + // TODO: test pagingTargets + } + /** * Test the property 'escalationPolicyTriggerParams' */ diff --git a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java index fd77f7c0..9855f895 100644 --- a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterTest.java b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterTest.java index ab906b47..1270055b 100644 --- a/src/test/java/com/rootly/client/model/UpdateLiveCallRouterTest.java +++ b/src/test/java/com/rootly/client/model/UpdateLiveCallRouterTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateMotionTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateMotionTaskTaskParamsTest.java index b2c1887b..f3177fa2 100644 --- a/src/test/java/com/rootly/client/model/UpdateMotionTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateMotionTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateNotionPageTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateNotionPageTaskParamsTest.java index c4a4af26..1441a582 100644 --- a/src/test/java/com/rootly/client/model/UpdateNotionPageTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateNotionPageTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -69,6 +69,14 @@ public void postMortemTemplateIdTest() { // TODO: test postMortemTemplateId } + /** + * Test the property 'content' + */ + @Test + public void contentTest() { + // TODO: test content + } + /** * Test the property 'showTimelineAsTable' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java index aace4d6d..2a3dc09a 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -47,14 +47,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'systemRole' */ @@ -79,6 +71,46 @@ public void alertUrgencyPermissionsTest() { // TODO: test alertUrgencyPermissions } + /** + * Test the property 'alertFieldsPermissions' + */ + @Test + public void alertFieldsPermissionsTest() { + // TODO: test alertFieldsPermissions + } + + /** + * Test the property 'alertGroupsPermissions' + */ + @Test + public void alertGroupsPermissionsTest() { + // TODO: test alertGroupsPermissions + } + + /** + * Test the property 'alertRoutingRulesPermissions' + */ + @Test + public void alertRoutingRulesPermissionsTest() { + // TODO: test alertRoutingRulesPermissions + } + + /** + * Test the property 'onCallReadinessReportPermissions' + */ + @Test + public void onCallReadinessReportPermissionsTest() { + // TODO: test onCallReadinessReportPermissions + } + + /** + * Test the property 'onCallRolesPermissions' + */ + @Test + public void onCallRolesPermissionsTest() { + // TODO: test onCallRolesPermissions + } + /** * Test the property 'alertsPermissions' */ diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java index 752f49d0..1769dcdc 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallRoleTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallRoleTest.java index a7228357..296ce128 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallRoleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataAttributesTest.java index 820dadac..8ef53f9f 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java index b5f0d306..81acf6fb 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallShadowDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOnCallShadowTest.java b/src/test/java/com/rootly/client/model/UpdateOnCallShadowTest.java index 8644634d..27090374 100644 --- a/src/test/java/com/rootly/client/model/UpdateOnCallShadowTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOnCallShadowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParamsTest.java index 51aaf827..25df8c86 100644 --- a/src/test/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOpsgenieAlertTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParamsTest.java index cd2379c6..b694df05 100644 --- a/src/test/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOpsgenieIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ 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; diff --git a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataAttributesTest.java index 65d34744..18ab67d9 100644 --- a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java index 809e4f4d..ac34f244 100644 --- a/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOverrideShiftDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateOverrideShiftTest.java b/src/test/java/com/rootly/client/model/UpdateOverrideShiftTest.java index 081af42c..ef217079 100644 --- a/src/test/java/com/rootly/client/model/UpdateOverrideShiftTest.java +++ b/src/test/java/com/rootly/client/model/UpdateOverrideShiftTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParamsTest.java index 247fa416..55b11510 100644 --- a/src/test/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePagerdutyIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePagertreeAlertTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdatePagertreeAlertTaskParamsTest.java index e7c961a4..7ca1edf9 100644 --- a/src/test/java/com/rootly/client/model/UpdatePagertreeAlertTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePagertreeAlertTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java index 7a0e97f2..ab7554f3 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java index 046816a3..5b5172c7 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributesTest.java index c86a3dc2..97889728 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java index 6063614e..d467c255 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskTest.java index 639f9e94..c64951c9 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookTaskTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePlaybookTest.java b/src/test/java/com/rootly/client/model/UpdatePlaybookTest.java index 428adb87..f215b798 100644 --- a/src/test/java/com/rootly/client/model/UpdatePlaybookTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePlaybookTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributesTest.java index d55c68df..876ad759 100644 --- a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java index 9a1ce156..ff2145dd 100644 --- a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateTest.java b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateTest.java index 7a6173e7..a96044a7 100644 --- a/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePostMortemTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePulseDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdatePulseDataAttributesTest.java index 039522fe..fe1e71f8 100644 --- a/src/test/java/com/rootly/client/model/UpdatePulseDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePulseDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewAlertDataAttributesLabelsInner; +import com.rootly.client.model.NewPulseDataAttributesLabelsInner; import com.rootly.client.model.NewPulseDataAttributesRefsInner; import java.io.IOException; import java.time.OffsetDateTime; diff --git a/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java b/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java index 42ea366e..ca6c2734 100644 --- a/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePulseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdatePulseTest.java b/src/test/java/com/rootly/client/model/UpdatePulseTest.java index a0305b3a..2a5a2498 100644 --- a/src/test/java/com/rootly/client/model/UpdatePulseTest.java +++ b/src/test/java/com/rootly/client/model/UpdatePulseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributesTest.java index a25a6e5f..49650930 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java index 70fe0f22..0cd9873c 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationTest.java index 4e19b2de..4f148ba2 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveConfigurationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributesTest.java index a2d371e1..24b8bd12 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java index 56d627fc..2f588852 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributesTest.java index 7a52fa82..f9f1306f 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java index 0dcc568c..5db381a7 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributesTest.java index 6b75d5cf..da4000e7 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java index 937557d2..2995244c 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepTest.java index 8e93c4dc..7ae1bd81 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupTest.java index 3be77608..4e7c0fdc 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessTest.java index dce3b9a7..63951295 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveProcessTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributesTest.java index 53e0c809..e836675f 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java index 4968b188..34c20244 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepTest.java b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepTest.java index 780e8418..da351541 100644 --- a/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRetrospectiveStepTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java index b030b295..fd589607 100644 --- a/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRoleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,19 +49,27 @@ public void nameTest() { } /** - * Test the property 'slug' + * Test the property 'incidentPermissionSetId' */ @Test - public void slugTest() { - // TODO: test slug + public void incidentPermissionSetIdTest() { + // TODO: test incidentPermissionSetId } /** - * Test the property 'incidentPermissionSetId' + * Test the property 'isDeletable' */ @Test - public void incidentPermissionSetIdTest() { - // TODO: test incidentPermissionSetId + public void isDeletableTest() { + // TODO: test isDeletable + } + + /** + * Test the property 'isEditable' + */ + @Test + public void isEditableTest() { + // TODO: test isEditable } /** @@ -256,4 +264,60 @@ public void workflowsPermissionsTest() { // TODO: test workflowsPermissions } + /** + * Test the property 'catalogsPermissions' + */ + @Test + public void catalogsPermissionsTest() { + // TODO: test catalogsPermissions + } + + /** + * Test the property 'subStatusesPermissions' + */ + @Test + public void subStatusesPermissionsTest() { + // TODO: test subStatusesPermissions + } + + /** + * Test the property 'edgeConnectorPermissions' + */ + @Test + public void edgeConnectorPermissionsTest() { + // TODO: test edgeConnectorPermissions + } + + /** + * Test the property 'slasPermissions' + */ + @Test + public void slasPermissionsTest() { + // TODO: test slasPermissions + } + + /** + * Test the property 'pagingPermissions' + */ + @Test + public void pagingPermissionsTest() { + // TODO: test pagingPermissions + } + + /** + * Test the property 'incidentCommunicationPermissions' + */ + @Test + public void incidentCommunicationPermissionsTest() { + // TODO: test incidentCommunicationPermissions + } + + /** + * Test the property 'communicationPermissions' + */ + @Test + public void communicationPermissionsTest() { + // TODO: test communicationPermissions + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java b/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java index 71ddeb5a..aee4a915 100644 --- a/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRoleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateRoleTest.java b/src/test/java/com/rootly/client/model/UpdateRoleTest.java index f9d6934a..cb2d109e 100644 --- a/src/test/java/com/rootly/client/model/UpdateRoleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateRoleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java index 42f41ea1..2ddc51e7 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewScheduleDataAttributesSlackChannel; import com.rootly.client.model.NewScheduleDataAttributesSlackUserGroup; import java.io.IOException; import java.util.ArrayList; @@ -73,6 +74,14 @@ public void slackUserGroupTest() { // TODO: test slackUserGroup } + /** + * Test the property 'slackChannel' + */ + @Test + public void slackChannelTest() { + // TODO: test slackChannel + } + /** * Test the property 'ownerGroupIds' */ @@ -89,4 +98,20 @@ public void ownerUserIdTest() { // TODO: test ownerUserId } + /** + * Test the property 'shiftStartNotificationsEnabled' + */ + @Test + public void shiftStartNotificationsEnabledTest() { + // TODO: test shiftStartNotificationsEnabled + } + + /** + * Test the property 'shiftUpdateNotificationsEnabled' + */ + @Test + public void shiftUpdateNotificationsEnabledTest() { + // TODO: test shiftUpdateNotificationsEnabled + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java index ea72aa09..c6599db8 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributesTest.java index 7026545d..a5a822b4 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java index 2dd33eaf..d4d4b179 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayTest.java index 9a1a3001..dba21dc8 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationActiveDayTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataAttributesTest.java index 82997113..98ae4e90 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,11 +19,14 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.NewScheduleRotationDataAttributesActiveTimeAttributesInner; +import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationMembersInner; import com.rootly.client.model.NewScheduleRotationDataAttributesScheduleRotationableAttributes; 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 org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -113,4 +116,28 @@ public void scheduleRotationableAttributesTest() { // TODO: test scheduleRotationableAttributes } + /** + * 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 'scheduleRotationMembers' + */ + @Test + public void scheduleRotationMembersTest() { + // TODO: test scheduleRotationMembers + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java index b60db6e7..041c72e5 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationTest.java index f6879ea5..b5e81e05 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributesTest.java index e05e79fe..d24ca7d4 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java index 43832c07..8d0c6baa 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserTest.java index 47fec0d2..e56b9aba 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleRotationUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateScheduleTest.java b/src/test/java/com/rootly/client/model/UpdateScheduleTest.java index 3119ab21..e7befd5b 100644 --- a/src/test/java/com/rootly/client/model/UpdateScheduleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateScheduleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java index 4ce4e751..14f88de5 100644 --- a/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSecretDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java b/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java index b6ca9f96..96067023 100644 --- a/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSecretDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSecretTest.java b/src/test/java/com/rootly/client/model/UpdateSecretTest.java index 35a13354..7bf13d8d 100644 --- a/src/test/java/com/rootly/client/model/UpdateSecretTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSecretTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateServiceDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateServiceDataAttributesTest.java index 1a422cdc..07227919 100644 --- a/src/test/java/com/rootly/client/model/UpdateServiceDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateServiceDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -187,19 +190,19 @@ public void serviceIdsTest() { } /** - * Test the property 'ownersGroupIds' + * Test the property 'ownerGroupIds' */ @Test - public void ownersGroupIdsTest() { - // TODO: test ownersGroupIds + public void ownerGroupIdsTest() { + // TODO: test ownerGroupIds } /** - * Test the property 'ownersUserIds' + * Test the property 'ownerUserIds' */ @Test - public void ownersUserIdsTest() { - // TODO: test ownersUserIds + public void ownerUserIdsTest() { + // TODO: test ownerUserIds } /** @@ -218,6 +221,22 @@ public void alertUrgencyIdTest() { // TODO: test alertUrgencyId } + /** + * Test the property 'escalationPolicyId' + */ + @Test + public void escalationPolicyIdTest() { + // TODO: test escalationPolicyId + } + + /** + * Test the property 'kubernetesDeploymentName' + */ + @Test + public void kubernetesDeploymentNameTest() { + // TODO: test kubernetesDeploymentName + } + /** * Test the property 'slackChannels' */ @@ -234,4 +253,44 @@ 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 + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java b/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java index 95fa2c33..234991f1 100644 --- a/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateServiceDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParamsTest.java index 4110b734..77b68442 100644 --- a/src/test/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateServiceNowIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateServiceTest.java b/src/test/java/com/rootly/client/model/UpdateServiceTest.java index f21b889f..1bc273c3 100644 --- a/src/test/java/com/rootly/client/model/UpdateServiceTest.java +++ b/src/test/java/com/rootly/client/model/UpdateServiceTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSeverityDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateSeverityDataAttributesTest.java index b8218ae9..29f9131a 100644 --- a/src/test/java/com/rootly/client/model/UpdateSeverityDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSeverityDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java b/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java index 885fe45c..43cfa20f 100644 --- a/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSeverityDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSeverityTest.java b/src/test/java/com/rootly/client/model/UpdateSeverityTest.java index e6ccf779..d731148f 100644 --- a/src/test/java/com/rootly/client/model/UpdateSeverityTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSeverityTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateShortcutStoryTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateShortcutStoryTaskParamsTest.java index 50c39f2d..e9bfc3b6 100644 --- a/src/test/java/com/rootly/client/model/UpdateShortcutStoryTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateShortcutStoryTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateShortcutTaskTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateShortcutTaskTaskParamsTest.java index 261f00d0..77f794b1 100644 --- a/src/test/java/com/rootly/client/model/UpdateShortcutTaskTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateShortcutTaskTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java index 1ee821a4..81f8eaf5 100644 --- a/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSlackChannelTopicTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageDataAttributesTest.java index 11dd9ac1..3f620741 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -128,6 +128,14 @@ public void failureMessageTest() { // TODO: test failureMessage } + /** + * Test the property 'authenticationMethod' + */ + @Test + public void authenticationMethodTest() { + // TODO: test authenticationMethod + } + /** * Test the property 'authenticationEnabled' */ @@ -144,6 +152,54 @@ public void authenticationPasswordTest() { // TODO: test authenticationPassword } + /** + * Test the property 'samlIdpSsoServiceUrl' + */ + @Test + public void samlIdpSsoServiceUrlTest() { + // TODO: test samlIdpSsoServiceUrl + } + + /** + * Test the property 'samlIdpSloServiceUrl' + */ + @Test + public void samlIdpSloServiceUrlTest() { + // TODO: test samlIdpSloServiceUrl + } + + /** + * Test the property 'samlIdpCert' + */ + @Test + public void samlIdpCertTest() { + // TODO: test samlIdpCert + } + + /** + * Test the property 'samlNameIdentifierFormat' + */ + @Test + public void samlNameIdentifierFormatTest() { + // TODO: test samlNameIdentifierFormat + } + + /** + * Test the property 'sectionOrder' + */ + @Test + public void sectionOrderTest() { + // TODO: test sectionOrder + } + + /** + * Test the property 'externalDomainNames' + */ + @Test + public void externalDomainNamesTest() { + // TODO: test externalDomainNames + } + /** * Test the property 'websiteUrl' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java index 84e04372..2fc452ff 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributesTest.java index cf34b5b7..c7d2f46b 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,6 +46,14 @@ public void titleTest() { // TODO: test title } + /** + * Test the property 'updateTitle' + */ + @Test + public void updateTitleTest() { + // TODO: test updateTitle + } + /** * Test the property 'body' */ diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java index a7354bc8..90151cd4 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java index 446d24c0..7c95dda3 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTemplateTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateStatusPageTest.java b/src/test/java/com/rootly/client/model/UpdateStatusPageTest.java index 82b831a8..a76c1528 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusPageTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusPageTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateStatusTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateStatusTaskParamsTest.java index 882a4c7e..24baf606 100644 --- a/src/test/java/com/rootly/client/model/UpdateStatusTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateStatusTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSubStatusDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateSubStatusDataAttributesTest.java index fb3911bd..62ac3294 100644 --- a/src/test/java/com/rootly/client/model/UpdateSubStatusDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSubStatusDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -46,14 +46,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java b/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java index fd8315a0..a8f5c26e 100644 --- a/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSubStatusDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateSubStatusTest.java b/src/test/java/com/rootly/client/model/UpdateSubStatusTest.java index 3a9669d7..aae6f7f9 100644 --- a/src/test/java/com/rootly/client/model/UpdateSubStatusTest.java +++ b/src/test/java/com/rootly/client/model/UpdateSubStatusTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java index 22ba6de7..d45597cd 100644 --- a/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTeamDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -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.NewCauseDataAttributesPropertiesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackAliasesInner; import com.rootly.client.model.NewEnvironmentDataAttributesSlackChannelsInner; +import com.rootly.client.model.NewServiceDataAttributesAlertBroadcastChannel; +import com.rootly.client.model.NewServiceDataAttributesIncidentBroadcastChannel; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -202,4 +205,52 @@ 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 'autoAddMembersWhenAttached' + */ + @Test + public void autoAddMembersWhenAttachedTest() { + // TODO: test autoAddMembersWhenAttached + } + + /** + * Test the property 'properties' + */ + @Test + public void propertiesTest() { + // TODO: test properties + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java b/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java index 2da6ded8..68aca3a1 100644 --- a/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTeamDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateTeamTest.java b/src/test/java/com/rootly/client/model/UpdateTeamTest.java index 42349bf3..e8810171 100644 --- a/src/test/java/com/rootly/client/model/UpdateTeamTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTeamTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateTrelloCardTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateTrelloCardTaskParamsTest.java index ce21c1cd..88814527 100644 --- a/src/test/java/com/rootly/client/model/UpdateTrelloCardTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateTrelloCardTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateUserDataAttributesTest.java index 84de8502..144754f0 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserDataTest.java index 955e7d9d..d2a1e22d 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributesTest.java index 1abcb749..5efd8098 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java index 342f8954..7e80af7b 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleTest.java b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleTest.java index 271f6acf..62681fac 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserNotificationRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateUserTest.java b/src/test/java/com/rootly/client/model/UpdateUserTest.java index 5e6d568e..a45bebbd 100644 --- a/src/test/java/com/rootly/client/model/UpdateUserTest.java +++ b/src/test/java/com/rootly/client/model/UpdateUserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParamsTest.java index 19192862..c3dda396 100644 --- a/src/test/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateVictorOpsIncidentTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributesTest.java index c3c7cfe0..fb4fdb24 100644 --- a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java index 9fca095f..7c56c62f 100644 --- a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointTest.java b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointTest.java index 1af13450..4bce87b3 100644 --- a/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWebhooksEndpointTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributesTest.java index ffbe48fc..1276b9b0 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java index a55e3299..b35a67b2 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionTest.java index fdedce9b..4b1a7c6a 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java index 2a4741b3..80b44ffa 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -49,14 +49,6 @@ public void nameTest() { // TODO: test name } - /** - * Test the property 'slug' - */ - @Test - public void slugTest() { - // TODO: test slug - } - /** * Test the property 'description' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowDataTest.java index 8a3f0aa8..4640a14a 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributesTest.java index 42130bd9..6137763b 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -103,4 +103,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java index 6a953d7f..23f131a9 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionTest.java index d95a2a86..673f0e99 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowFormFieldConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributesTest.java index a14df660..084255b0 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java index df57ec02..47c23349 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupTest.java index abfa2117..2f1f47d2 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowGroupTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java index 60a0e3d0..34587f2f 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -20,6 +20,7 @@ import com.google.gson.stream.JsonWriter; import com.rootly.client.model.AddActionItemTaskParams; import com.rootly.client.model.AddActionItemTaskParamsPostToSlackChannelsInner; +import com.rootly.client.model.AddMicrosoftTeamsChatTabTaskParams; import com.rootly.client.model.AddMicrosoftTeamsTabTaskParams; import com.rootly.client.model.AddRoleTaskParams; import com.rootly.client.model.AddRoleTaskParamsAssignedToUser; @@ -36,10 +37,13 @@ import com.rootly.client.model.CallPeopleTaskParams; import com.rootly.client.model.ChangeSlackChannelPrivacyTaskParams; import com.rootly.client.model.CreateAirtableTableRecordTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParams; +import com.rootly.client.model.CreateAnthropicChatCompletionTaskParamsModel; import com.rootly.client.model.CreateAsanaSubtaskTaskParams; import com.rootly.client.model.CreateAsanaTaskTaskParams; import com.rootly.client.model.CreateClickupTaskTaskParams; import com.rootly.client.model.CreateCodaPageTaskParams; +import com.rootly.client.model.CreateCodaPageTaskParamsDoc; import com.rootly.client.model.CreateConfluencePageTaskParams; import com.rootly.client.model.CreateDatadogNotebookTaskParams; import com.rootly.client.model.CreateDropboxPaperPageTaskParams; @@ -49,25 +53,29 @@ import com.rootly.client.model.CreateGoogleCalendarEventTaskParams; import com.rootly.client.model.CreateGoogleDocsPageTaskParams; import com.rootly.client.model.CreateGoogleDocsPermissionsTaskParams; +import com.rootly.client.model.CreateGoogleGeminiChatCompletionTaskParams; import com.rootly.client.model.CreateGoogleMeetingTaskParams; import com.rootly.client.model.CreateIncidentPostmortemTaskParams; -import com.rootly.client.model.CreateIncidentPostmortemTaskParamsTemplate; import com.rootly.client.model.CreateIncidentTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParams; import com.rootly.client.model.CreateJiraIssueTaskParamsIntegration; import com.rootly.client.model.CreateJiraIssueTaskParamsIssueType; import com.rootly.client.model.CreateJiraIssueTaskParamsPriority; import com.rootly.client.model.CreateJiraSubtaskTaskParams; +import com.rootly.client.model.CreateJsmopsAlertTaskParams; import com.rootly.client.model.CreateLinearIssueCommentTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParams; import com.rootly.client.model.CreateLinearIssueTaskParamsProject; -import com.rootly.client.model.CreateLinearIssueTaskParamsState; import com.rootly.client.model.CreateLinearSubtaskIssueTaskParams; import com.rootly.client.model.CreateMicrosoftTeamsChannelTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParams; +import com.rootly.client.model.CreateMicrosoftTeamsChatTaskParamsMembersInner; import com.rootly.client.model.CreateMicrosoftTeamsMeetingTaskParams; +import com.rootly.client.model.CreateMistralChatCompletionTaskParams; import com.rootly.client.model.CreateMotionTaskTaskParams; import com.rootly.client.model.CreateNotionPageTaskParams; import com.rootly.client.model.CreateNotionPageTaskParamsParentPage; +import com.rootly.client.model.CreateOpenaiChatCompletionTaskParams; import com.rootly.client.model.CreateOpsgenieAlertTaskParams; import com.rootly.client.model.CreateOutlookEventTaskParams; import com.rootly.client.model.CreatePagerdutyStatusUpdateTaskParams; @@ -79,17 +87,16 @@ import com.rootly.client.model.CreateShortcutStoryTaskParams; import com.rootly.client.model.CreateShortcutTaskTaskParams; import com.rootly.client.model.CreateSlackChannelTaskParams; +import com.rootly.client.model.CreateSubIncidentTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParams; import com.rootly.client.model.CreateTrelloCardTaskParamsArchivation; import com.rootly.client.model.CreateTrelloCardTaskParamsBoard; import com.rootly.client.model.CreateTrelloCardTaskParamsList; +import com.rootly.client.model.CreateWatsonxChatCompletionTaskParams; import com.rootly.client.model.CreateWebexMeetingTaskParams; import com.rootly.client.model.CreateZendeskJiraLinkTaskParams; import com.rootly.client.model.CreateZendeskTicketTaskParams; import com.rootly.client.model.CreateZoomMeetingTaskParams; -import com.rootly.client.model.GeniusCreateOpenaiChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParams; -import com.rootly.client.model.GeniusCreateWatsonxChatCompletionTaskParamsModel; import com.rootly.client.model.GetAlertsTaskParams; import com.rootly.client.model.GetGithubCommitsTaskParams; import com.rootly.client.model.GetGitlabCommitsTaskParams; @@ -101,6 +108,7 @@ import com.rootly.client.model.InviteToSlackChannelRootlyTaskParams; import com.rootly.client.model.InviteToSlackChannelTaskParams; import com.rootly.client.model.InviteToSlackChannelVictorOpsTaskParams; +import com.rootly.client.model.PageJsmopsOnCallRespondersTaskParams; import com.rootly.client.model.PageOpsgenieOnCallRespondersTaskParams; import com.rootly.client.model.PagePagerdutyOnCallRespondersTaskParams; import com.rootly.client.model.PageRootlyOnCallRespondersTaskParams; @@ -115,6 +123,7 @@ import com.rootly.client.model.SendDashboardReportTaskParams; import com.rootly.client.model.SendEmailTaskParams; import com.rootly.client.model.SendMicrosoftTeamsBlocksTaskParams; +import com.rootly.client.model.SendMicrosoftTeamsChatMessageTaskParams; import com.rootly.client.model.SendMicrosoftTeamsMessageTaskParams; import com.rootly.client.model.SendSlackBlocksTaskParams; import com.rootly.client.model.SendSlackMessageTaskParams; @@ -132,7 +141,12 @@ import com.rootly.client.model.UpdateAttachedAlertsTaskParams; import com.rootly.client.model.UpdateClickupTaskTaskParams; import com.rootly.client.model.UpdateCodaPageTaskParams; +import com.rootly.client.model.UpdateConfluencePageTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParams; +import com.rootly.client.model.UpdateDatadogNotebookTaskParamsTemplate; +import com.rootly.client.model.UpdateDropboxPaperPageTaskParams; import com.rootly.client.model.UpdateGithubIssueTaskParams; +import com.rootly.client.model.UpdateGithubIssueTaskParamsRepository; import com.rootly.client.model.UpdateGitlabIssueTaskParams; import com.rootly.client.model.UpdateGoogleCalendarEventTaskParams; import com.rootly.client.model.UpdateGoogleDocsPageTaskParams; @@ -141,13 +155,16 @@ import com.rootly.client.model.UpdateIncidentTaskParams; import com.rootly.client.model.UpdateJiraIssueTaskParams; import com.rootly.client.model.UpdateLinearIssueTaskParams; +import com.rootly.client.model.UpdateLinearIssueTaskParamsState; import com.rootly.client.model.UpdateMotionTaskTaskParams; import com.rootly.client.model.UpdateNotionPageTaskParams; import com.rootly.client.model.UpdateOpsgenieAlertTaskParams; import com.rootly.client.model.UpdateOpsgenieIncidentTaskParams; import com.rootly.client.model.UpdatePagerdutyIncidentTaskParams; import com.rootly.client.model.UpdatePagertreeAlertTaskParams; +import com.rootly.client.model.UpdateQuipPageTaskParams; import com.rootly.client.model.UpdateServiceNowIncidentTaskParams; +import com.rootly.client.model.UpdateSharepointPageTaskParams; import com.rootly.client.model.UpdateShortcutStoryTaskParams; import com.rootly.client.model.UpdateShortcutTaskTaskParams; import com.rootly.client.model.UpdateSlackChannelTopicTaskParams; @@ -156,6 +173,7 @@ import com.rootly.client.model.UpdateVictorOpsIncidentTaskParams; import com.rootly.client.model.UpdateZendeskTicketTaskParams; import java.io.IOException; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -705,6 +723,14 @@ public void folderIdTest() { // TODO: test folderId } + /** + * Test the property 'doc' + */ + @Test + public void docTest() { + // TODO: test doc + } + /** * Test the property 'namespace' */ @@ -737,6 +763,14 @@ public void repositoryTest() { // TODO: test repository } + /** + * Test the property 'labels' + */ + @Test + public void labelsTest() { + // TODO: test labels + } + /** * Test the property 'issueType' */ @@ -746,11 +780,11 @@ public void issueTypeTest() { } /** - * Test the property 'labels' + * Test the property 'parentIssueNumber' */ @Test - public void labelsTest() { - // TODO: test labels + public void parentIssueNumberTest() { + // TODO: test parentIssueNumber } /** @@ -809,6 +843,14 @@ public void excludeWeekendsTest() { // TODO: test excludeWeekends } + /** + * Test the property 'enableOnlineMeeting' + */ + @Test + public void enableOnlineMeetingTest() { + // TODO: test enableOnlineMeeting + } + /** * Test the property 'calendarId' */ @@ -977,6 +1019,14 @@ public void recordMeetingTest() { // TODO: test recordMeeting } + /** + * Test the property 'recordingMode' + */ + @Test + public void recordingModeTest() { + // TODO: test recordingMode + } + /** * Test the property 'subject' */ @@ -1121,6 +1171,38 @@ public void issueIdTest() { // TODO: test issueId } + /** + * Test the property 'topic' + */ + @Test + public void topicTest() { + // TODO: test topic + } + + /** + * Test the property 'chatType' + */ + @Test + public void chatTypeTest() { + // TODO: test chatType + } + + /** + * Test the property 'members' + */ + @Test + public void membersTest() { + // TODO: test members + } + + /** + * Test the property 'chat' + */ + @Test + public void chatTest() { + // TODO: test chat + } + /** * Test the property 'emails' */ @@ -1161,6 +1243,14 @@ public void textTest() { // TODO: test text } + /** + * Test the property 'chats' + */ + @Test + public void chatsTest() { + // TODO: test chats + } + /** * Test the property 'attachments' */ @@ -1217,14 +1307,6 @@ public void _listTest() { // TODO: test _list } - /** - * Test the property 'topic' - */ - @Test - public void topicTest() { - // TODO: test topic - } - /** * Test the property 'password' */ @@ -1505,6 +1587,14 @@ public void opsgenieIncidentIdTest() { // TODO: test opsgenieIncidentId } + /** + * Test the property 'functionalityTarget' + */ + @Test + public void functionalityTargetTest() { + // TODO: test functionalityTarget + } + /** * Test the property 'alertUrgencyId' */ @@ -1833,6 +1923,14 @@ public void taskIdTest() { // TODO: test taskId } + /** + * Test the property 'labelsMode' + */ + @Test + public void labelsModeTest() { + // TODO: test labelsMode + } + /** * Test the property 'startedAt' */ @@ -1969,6 +2067,14 @@ public void modelTest() { // TODO: test model } + /** + * Test the property 'systemPrompt' + */ + @Test + public void systemPromptTest() { + // TODO: test systemPrompt + } + /** * Test the property 'prompt' */ @@ -1977,6 +2083,46 @@ public void promptTest() { // TODO: test prompt } + /** + * Test the property 'temperature' + */ + @Test + public void temperatureTest() { + // TODO: test temperature + } + + /** + * Test the property 'maxTokens' + */ + @Test + public void maxTokensTest() { + // TODO: test maxTokens + } + + /** + * Test the property 'topP' + */ + @Test + public void topPTest() { + // TODO: test topP + } + + /** + * Test the property 'reasoningEffort' + */ + @Test + public void reasoningEffortTest() { + // TODO: test reasoningEffort + } + + /** + * Test the property 'reasoningSummary' + */ + @Test + public void reasoningSummaryTest() { + // TODO: test reasoningSummary + } + /** * Test the property 'projectId' */ diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTest.java index 59efb91c..bdc93337 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataAttributesTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java index 5c7d5a0c..25247e86 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskTest.java index c265b37b..d994e165 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTaskTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateWorkflowTest.java b/src/test/java/com/rootly/client/model/UpdateWorkflowTest.java index 4791e72b..6607dbff 100644 --- a/src/test/java/com/rootly/client/model/UpdateWorkflowTest.java +++ b/src/test/java/com/rootly/client/model/UpdateWorkflowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UpdateZendeskTicketTaskParamsTest.java b/src/test/java/com/rootly/client/model/UpdateZendeskTicketTaskParamsTest.java index b5a431f9..92053f7f 100644 --- a/src/test/java/com/rootly/client/model/UpdateZendeskTicketTaskParamsTest.java +++ b/src/test/java/com/rootly/client/model/UpdateZendeskTicketTaskParamsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserListTest.java b/src/test/java/com/rootly/client/model/UserListTest.java index 6ffa66c8..8931ccce 100644 --- a/src/test/java/com/rootly/client/model/UserListTest.java +++ b/src/test/java/com/rootly/client/model/UserListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.UserResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/UserNotificationRuleListTest.java b/src/test/java/com/rootly/client/model/UserNotificationRuleListTest.java index 3713f1b9..b9129a54 100644 --- a/src/test/java/com/rootly/client/model/UserNotificationRuleListTest.java +++ b/src/test/java/com/rootly/client/model/UserNotificationRuleListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.UserNotificationRuleResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/UserNotificationRuleResponseDataTest.java b/src/test/java/com/rootly/client/model/UserNotificationRuleResponseDataTest.java index 1253b2ad..69b83421 100644 --- a/src/test/java/com/rootly/client/model/UserNotificationRuleResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/UserNotificationRuleResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserNotificationRuleResponseTest.java b/src/test/java/com/rootly/client/model/UserNotificationRuleResponseTest.java index 8a3c172b..de3f0b9a 100644 --- a/src/test/java/com/rootly/client/model/UserNotificationRuleResponseTest.java +++ b/src/test/java/com/rootly/client/model/UserNotificationRuleResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserNotificationRuleTest.java b/src/test/java/com/rootly/client/model/UserNotificationRuleTest.java index c1ddd504..6a0e3ab6 100644 --- a/src/test/java/com/rootly/client/model/UserNotificationRuleTest.java +++ b/src/test/java/com/rootly/client/model/UserNotificationRuleTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -104,6 +104,14 @@ public void enabledContactTypesTest() { // TODO: test enabledContactTypes } + /** + * Test the property 'notificationType' + */ + @Test + public void notificationTypeTest() { + // TODO: test notificationType + } + /** * Test the property 'createdAt' */ diff --git a/src/test/java/com/rootly/client/model/UserRelationshipsTest.java b/src/test/java/com/rootly/client/model/UserRelationshipsTest.java index d6ecbaba..1c9b5e81 100644 --- a/src/test/java/com/rootly/client/model/UserRelationshipsTest.java +++ b/src/test/java/com/rootly/client/model/UserRelationshipsTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserResponseDataTest.java b/src/test/java/com/rootly/client/model/UserResponseDataTest.java index 706a97c0..6b191f93 100644 --- a/src/test/java/com/rootly/client/model/UserResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/UserResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserResponseTest.java b/src/test/java/com/rootly/client/model/UserResponseTest.java index cd4ddd02..d6d50c7c 100644 --- a/src/test/java/com/rootly/client/model/UserResponseTest.java +++ b/src/test/java/com/rootly/client/model/UserResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/UserTest.java b/src/test/java/com/rootly/client/model/UserTest.java index 459638f2..ba05e4c2 100644 --- a/src/test/java/com/rootly/client/model/UserTest.java +++ b/src/test/java/com/rootly/client/model/UserTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksDeliveryListTest.java b/src/test/java/com/rootly/client/model/WebhooksDeliveryListTest.java index 76bc1cd4..86986302 100644 --- a/src/test/java/com/rootly/client/model/WebhooksDeliveryListTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksDeliveryListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WebhooksDeliveryResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseDataTest.java b/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseDataTest.java index 3cfde7d1..2b719af4 100644 --- a/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseTest.java b/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseTest.java index 881c8901..674a158d 100644 --- a/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksDeliveryResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksDeliveryTest.java b/src/test/java/com/rootly/client/model/WebhooksDeliveryTest.java index 42f6acd3..c2f0efd4 100644 --- a/src/test/java/com/rootly/client/model/WebhooksDeliveryTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksDeliveryTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksEndpointListTest.java b/src/test/java/com/rootly/client/model/WebhooksEndpointListTest.java index 95532aed..bc93b0be 100644 --- a/src/test/java/com/rootly/client/model/WebhooksEndpointListTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksEndpointListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WebhooksEndpointResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WebhooksEndpointResponseDataTest.java b/src/test/java/com/rootly/client/model/WebhooksEndpointResponseDataTest.java index af73953c..46103de1 100644 --- a/src/test/java/com/rootly/client/model/WebhooksEndpointResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksEndpointResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksEndpointResponseTest.java b/src/test/java/com/rootly/client/model/WebhooksEndpointResponseTest.java index 9428ef60..8a85dc15 100644 --- a/src/test/java/com/rootly/client/model/WebhooksEndpointResponseTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksEndpointResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WebhooksEndpointTest.java b/src/test/java/com/rootly/client/model/WebhooksEndpointTest.java index 21728039..1ac5dd44 100644 --- a/src/test/java/com/rootly/client/model/WebhooksEndpointTest.java +++ b/src/test/java/com/rootly/client/model/WebhooksEndpointTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionListTest.java b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionListTest.java index ebb68d80..f7f66415 100644 --- a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowCustomFieldSelectionResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseDataTest.java index a147d135..e7a3c6f7 100644 --- a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseTest.java index 91f43fe4..f46d5e50 100644 --- a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionTest.java b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionTest.java index 69dba9db..584dc31c 100644 --- a/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowCustomFieldSelectionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionListTest.java b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionListTest.java index 5281011f..9021589e 100644 --- a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowFormFieldConditionResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseDataTest.java index d56f91f9..1d820147 100644 --- a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseTest.java index 15adcd89..3e1421f3 100644 --- a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionTest.java b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionTest.java index 00ced239..0b3f2f0b 100644 --- a/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowFormFieldConditionTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -119,4 +119,28 @@ public void selectedUserIdsTest() { // TODO: test selectedUserIds } + /** + * Test the property 'selectedCauseIds' + */ + @Test + public void selectedCauseIdsTest() { + // TODO: test selectedCauseIds + } + + /** + * Test the property 'selectedEnvironmentIds' + */ + @Test + public void selectedEnvironmentIdsTest() { + // TODO: test selectedEnvironmentIds + } + + /** + * Test the property 'selectedIncidentTypeIds' + */ + @Test + public void selectedIncidentTypeIdsTest() { + // TODO: test selectedIncidentTypeIds + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowGroupListTest.java b/src/test/java/com/rootly/client/model/WorkflowGroupListTest.java index 7f8743b4..0cc0132f 100644 --- a/src/test/java/com/rootly/client/model/WorkflowGroupListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowGroupListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowGroupResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowGroupResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowGroupResponseDataTest.java index c12d2466..6bf366df 100644 --- a/src/test/java/com/rootly/client/model/WorkflowGroupResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowGroupResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowGroupResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowGroupResponseTest.java index 9ce69da8..410762e7 100644 --- a/src/test/java/com/rootly/client/model/WorkflowGroupResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowGroupResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowGroupTest.java b/src/test/java/com/rootly/client/model/WorkflowGroupTest.java index e9086002..7f01e907 100644 --- a/src/test/java/com/rootly/client/model/WorkflowGroupTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowGroupTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowListTest.java b/src/test/java/com/rootly/client/model/WorkflowListTest.java index 36841f2d..7959d796 100644 --- a/src/test/java/com/rootly/client/model/WorkflowListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowResponseDataTest.java index e5833e3e..c098df42 100644 --- a/src/test/java/com/rootly/client/model/WorkflowResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowResponseTest.java index b1aad8e4..3776169e 100644 --- a/src/test/java/com/rootly/client/model/WorkflowResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowRunResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowRunResponseDataTest.java index d4c51dfa..692941c8 100644 --- a/src/test/java/com/rootly/client/model/WorkflowRunResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowRunResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowRunResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowRunResponseTest.java index 415293df..d22dbc5a 100644 --- a/src/test/java/com/rootly/client/model/WorkflowRunResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowRunResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowRunTest.java b/src/test/java/com/rootly/client/model/WorkflowRunTest.java index b5faca6b..26d14e41 100644 --- a/src/test/java/com/rootly/client/model/WorkflowRunTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowRunTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowRunsListTest.java b/src/test/java/com/rootly/client/model/WorkflowRunsListTest.java index 20729e56..efbfebc8 100644 --- a/src/test/java/com/rootly/client/model/WorkflowRunsListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowRunsListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowRunResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowTaskListTest.java b/src/test/java/com/rootly/client/model/WorkflowTaskListTest.java index f80bb4dd..a8efcfd1 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTaskListTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTaskListTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * @@ -19,6 +19,7 @@ import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.rootly.client.model.Links; +import com.rootly.client.model.Meta; import com.rootly.client.model.WorkflowTaskResponseData; import java.io.IOException; import java.util.ArrayList; @@ -57,4 +58,12 @@ public void linksTest() { // TODO: test links } + /** + * Test the property 'meta' + */ + @Test + public void metaTest() { + // TODO: test meta + } + } diff --git a/src/test/java/com/rootly/client/model/WorkflowTaskResponseDataTest.java b/src/test/java/com/rootly/client/model/WorkflowTaskResponseDataTest.java index 76665537..eb10b55f 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTaskResponseDataTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTaskResponseDataTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowTaskResponseTest.java b/src/test/java/com/rootly/client/model/WorkflowTaskResponseTest.java index 6491086e..635469c3 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTaskResponseTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTaskResponseTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowTaskTest.java b/src/test/java/com/rootly/client/model/WorkflowTaskTest.java index 7e2728fa..4db226f5 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTaskTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTaskTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * diff --git a/src/test/java/com/rootly/client/model/WorkflowTest.java b/src/test/java/com/rootly/client/model/WorkflowTest.java index b682fea1..9db28ab8 100644 --- a/src/test/java/com/rootly/client/model/WorkflowTest.java +++ b/src/test/java/com/rootly/client/model/WorkflowTest.java @@ -1,6 +1,6 @@ /* * 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 approximately **3000** **GET** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current 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 approximately **3000** **PUT**, **POST**, **PATCH** or **DELETE** calls **per API key** every **60 seconds**. The limit is calculated over a **60-second sliding window** looking back from the current time. While the limit can be configured to support higher thresholds, you must first contact your **Rootly Customer Success Manager** to make any adjustments. - The response to the API call will return 429 HTTP status code - Request Limit Exceeded and Rootly will not ingest the event. - Additional headers will be returned giving you information about the limit: - **RateLimit-Limit** - The maximum number of requests that the consumer is permitted to make. - **RateLimit-Remaining** - The number of requests remaining in the current rate limit window. - **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 ``` + * # 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 * From 2e5661e3682aecf12cfe98c8e2a2b876af541a02 Mon Sep 17 00:00:00 2001 From: Quentin Rousseau Date: Thu, 7 May 2026 01:37:20 -0700 Subject: [PATCH 7/7] chore: delete stale test stubs before regeneration in Makefile --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index e110688b..d19f84be 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ .PHONY: build build: + rm -rf ./src/test/java/com/rootly/client/api/ ./src/test/java/com/rootly/client/model/ + openapi-generator generate \ -i https://rootly-heroku.s3.amazonaws.com/swagger/v1/swagger.json \ -g java \